From: pascale.noyret Date: Thu, 14 Sep 2017 09:09:34 +0000 (+0200) Subject: merge avec les devloppts de l ete X-Git-Tag: preparation_V8_4_mergee^0 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5ed36a9701f60477920d5c33077739aeaa627310;p=tools%2Feficas.git merge avec les devloppts de l ete --- diff --git a/Adao/ADAO_Cata_V0_V7_7_0.py b/Adao/ADAO_Cata_V0_V7_7_0.py index a39d3133..b9e8c02b 100755 --- a/Adao/ADAO_Cata_V0_V7_7_0.py +++ b/Adao/ADAO_Cata_V0_V7_7_0.py @@ -78,7 +78,7 @@ 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(), 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"), + 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 ariable interne de meme 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"), diff --git a/Adao/ADAO_Cata_V0_V8_3_0_DEV.py b/Adao/ADAO_Cata_V0_V8_3_0_DEV.py new file mode 100755 index 00000000..78beda68 --- /dev/null +++ b/Adao/ADAO_Cata_V0_V8_3_0_DEV.py @@ -0,0 +1,1270 @@ +#-*-coding:iso-8859-1-*- +# +# Copyright (C) 2008-2017 EDF R&D +# +# This file is part of SALOME ADAO module +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D + +# -------------------------------------------------------- +# Generated by AdaoCatalogGenerator on 2017-03-06 09:14:06 +# -------------------------------------------------------- + +import os, re +import Accas +from Accas import * + +JdC = JDC_CATA ( + code = 'ADAO', + execmodul = None, + regles = ( AU_MOINS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY'), AU_PLUS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY')), + ) +VERSION_CATALOGUE='V8_3_0' + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +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="f", 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", fv), + ), + ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", + data = F_ScalarSparseMatrix("o", fv), + ), + DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", + data = F_DiagonalSparseMatrix("o", fv), + ), + ) + +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="f", 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", fv), + ), + VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", + data = F_VectorSerie("o", fv), + ), + ) + +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="f", 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", fv), + ), + ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", + data = F_ScalarSparseMatrix("o", fv), + ), + DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", + data = F_DiagonalSparseMatrix("o", fv), + ), + ) + +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="f", 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", fv), + ), + Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", + data = F_Function("o", fv), + ), + ) + +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="f", 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", fv), + ), + ) + +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="f", 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", fv), + ), + VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", + data = F_VectorSerie("o", fv), + ), + ) + +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="f", 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", fv), + ), + VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", + data = F_VectorSerie("o", fv), + ), + ) + +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", fv), + ), + ) + +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="f", 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", fv), + ), + ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", + data = F_ScalarSparseMatrix("o", fv), + ), + DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", + data = F_DiagonalSparseMatrix("o", fv), + ), + ) + +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", fv), + ), + ) + +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="f", 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", fv), + ), + Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", + data = F_Function("o", fv), + ), + ) + +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(), 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(), 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(), 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(), 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")), + AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), + ), + AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), + ), + ), + ) + +def F_InitChoice() : return ("Background", + "BackgroundError", + "Observation", + "ObservationError", + "ObservationOperator", + "EvolutionModel", + "EvolutionError", + "AlgorithmParameters", + "UserPostAnalysis", + ) + +def F_Init(statut) : return FACT(statut = statut, + 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", "ValueAndIndexPrinter", "ValueSeriePrinter", "ValueSaver", "ValueSerieSaver", "ValuePrinterAndSaver", "ValueIndexPrinterAndSaver", "ValueSeriePrinterAndSaver", "ValueGnuPlotter", "ValueSerieGnuPlotter", "ValuePrinterAndGnuPlotter", "ValueSeriePrinterAndGnuPlotter", "ValuePrinterSaverAndGnuPlotter", "ValueSeriePrinterSaverAndGnuPlotter", "ValueMean", "ValueStandardError", "ValueVariance", "ValueL2Norm", "ValueRMS")), + ValuePrinter = BLOC (condition = " Template == 'ValuePrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[-1]))", fr="Imprime sur la sortie standard la valeur courante de la variable", ang="Print on standard output the current value of the variable" ), + ), + ValueAndIndexPrinter = BLOC (condition = " Template == 'ValueAndIndexPrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+(\" index %i:\"%(len(var)-1))+\" \"+str(var[-1]))", fr="Imprime sur la sortie standard la valeur courante de la variable, en ajoutant son index", ang="Print on standard output the current value of the variable, adding its index" ), + ), + ValueSeriePrinter = BLOC (condition = " Template == 'ValueSeriePrinter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[:]))", fr="Imprime sur la sortie standard la série des valeurs de la variable", ang="Print on standard output the value series of the variable" ), + ), + ValueSaver = BLOC (condition = " Template == 'ValueSaver' ", + 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)", fr="Enregistre la valeur courante de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape d'enregistrement", ang="Save the current value of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), + ), + ValueSerieSaver = BLOC (condition = " Template == 'ValueSerieSaver' ", + 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)", fr="Enregistre la série des valeurs de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape", ang="Save the value series of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), + ), + ValuePrinterAndSaver = BLOC (condition = " Template == 'ValuePrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+\" \"+str(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)", fr="Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable", ang="Print on standard output and, in the same time save in a file, the current value of the variable" ), + ), + ValueIndexPrinterAndSaver = BLOC (condition = " Template == 'ValueIndexPrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+(\" index %i:\"%(len(var)-1))+\" \"+str(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)", fr="Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable, en ajoutant son index", ang="Print on standard output and, in the same time save in a file, the current value of the variable, adding its index" ), + ), + ValueSeriePrinterAndSaver = BLOC (condition = " Template == 'ValueSeriePrinterAndSaver' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nprint(str(info)+\" \"+str(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)", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la série des valeurs de la variable", ang="Print on standard output and, in the same time, save in a file the value series of the variable" ), + ), + ValueGnuPlotter = BLOC (condition = " Template == 'ValueGnuPlotter' ", + 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' ) )", fr="Affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Graphically plot with Gnuplot the current value of the variable" ), + ), + ValueSerieGnuPlotter = BLOC (condition = " Template == 'ValueSerieGnuPlotter' ", + 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' ) )", fr="Affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Graphically plot with Gnuplot the value series of the variable" ), + ), + ValuePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(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' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the current value of the variable" ), + ), + ValueSeriePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(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' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the value series of the variable" ), + ), + ValuePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterSaverAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(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' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la valeur courante de la variable ", ang="Print on standard output and, in the same, time save in a file and graphically plot the current value of the variable" ), + ), + ValueSeriePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterSaverAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(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' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la série des valeurs de la variable", ang="Print on standard output and, in the same, time save in a file and graphically plot the value series of the variable" ), + ), + ValueMean = BLOC (condition = " Template == 'ValueMean' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanmean(var[-1])))", fr="Imprime sur la sortie standard la moyenne de la valeur courante de la variable", ang="Print on standard output the mean of the current value of the variable" ), + ), + ValueStandardError = BLOC (condition = " Template == 'ValueStandardError' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanstd(var[-1])))", fr="Imprime sur la sortie standard l'écart-type de la valeur courante de la variable", ang="Print on standard output the standard error of the current value of the variable" ), + ), + ValueVariance = BLOC (condition = " Template == 'ValueVariance' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanvar(var[-1])))", fr="Imprime sur la sortie standard la variance de la valeur courante de la variable", ang="Print on standard output the variance of the current value of the variable" ), + ), + ValueL2Norm = BLOC (condition = " Template == 'ValueL2Norm' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint(str(info)+\" \"+str(float( numpy.linalg.norm(v) )))", fr="Imprime sur la sortie standard la norme L2 de la valeur courante de la variable", ang="Print on standard output the L2 norm of the current value of the variable" ), + ), + ValueRMS = BLOC (condition = " Template == 'ValueRMS' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint(str(info)+\" \"+str(float( numpy.sqrt((1./v.size)*(v*v.T)) )))", fr="Imprime sur la sortie standard la racine de la moyenne des carrés (RMS), ou moyenne quadratique, de la valeur courante de la variable", ang="Print on standard output the root mean square (RMS), or quadratic mean, of the current value of the variable" ), + ), + ) + +def F_Observers(statut) : return FACT( + statut=statut, + SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**",homo="SansOrdreNiDoublon", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'InnovationAtCurrentState', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'Residu'])), + #SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'InnovationAtCurrentState', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'Residu'])), + Analysis = BLOC (condition=" 'Analysis' in set(SELECTION) ", + Analysis_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "Analysis"), + 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(), + ), + ), + 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(), + ), + ), + InnovationAtCurrentState = BLOC (condition=" 'InnovationAtCurrentState' in set(SELECTION) ", + InnovationAtCurrentState_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "InnovationAtCurrentState"), + 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(), + ), + ), + CurrentState = BLOC (condition=" 'CurrentState' in set(SELECTION) ", + CurrentState_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentState"), + 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(), + ), + ), + 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 = "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(), 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(), + ), + ), + SimulatedObservationAtCurrentState = BLOC (condition=" 'SimulatedObservationAtCurrentState' in set(SELECTION) ", + SimulatedObservationAtCurrentState_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentState"), + 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(), + ), + ), + 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 = "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(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + 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 = "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(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + BMA = BLOC (condition=" 'BMA' in set(SELECTION) ", + BMA_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "BMA"), + 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(), + ), + ), + 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(), + ), + ), + CostFunctionJ = BLOC (condition=" 'CostFunctionJ' in set(SELECTION) ", + CostFunctionJ_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJ"), + 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(), + ), + ), + CostFunctionJb = BLOC (condition=" 'CostFunctionJb' in set(SELECTION) ", + CostFunctionJb_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJb"), + 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(), + ), + ), + CostFunctionJo = BLOC (condition=" 'CostFunctionJo' in set(SELECTION) ", + CostFunctionJo_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJo"), + 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(), + ), + ), + GradientOfCostFunctionJ = BLOC (condition=" 'GradientOfCostFunctionJ' in set(SELECTION) ", + GradientOfCostFunctionJ_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJ"), + 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(), + ), + ), + GradientOfCostFunctionJb = BLOC (condition=" 'GradientOfCostFunctionJb' in set(SELECTION) ", + GradientOfCostFunctionJb_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJb"), + 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(), + ), + ), + GradientOfCostFunctionJo = BLOC (condition=" 'GradientOfCostFunctionJo' in set(SELECTION) ", + GradientOfCostFunctionJo_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJo"), + 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(), + ), + ), + SigmaObs2 = BLOC (condition=" 'SigmaObs2' in set(SELECTION) ", + SigmaObs2_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaObs2"), + 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(), + ), + ), + SigmaBck2 = BLOC (condition=" 'SigmaBck2' in set(SELECTION) ", + SigmaBck2_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaBck2"), + 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(), + ), + ), + 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(), + ), + ), + APosterioriCovariance = BLOC (condition=" 'APosterioriCovariance' in set(SELECTION) ", + APosterioriCovariance_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCovariance"), + 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(), + ), + ), + 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(), + ), + ), + Residu = BLOC (condition=" 'Residu' in set(SELECTION) ", + Residu_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "Residu"), + 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 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", fv), + ), + Parameters3DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '3DVAR') ", + 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"), + 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'], fr="Minimiseur utilisé"), + 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"), + 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"), + 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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'Innovation', 'InnovationAtCurrentState', 'CostFunctionJAtCurrentOptimum', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + Parameters4DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '4DVAR') ", + 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"), + CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), + EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), + GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), + 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'], 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="**", into=['BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'IndexOfOptimum', 'CurrentOptimum', 'CostFunctionJAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'Blue') ", + 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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersDerivativeFreeOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'DerivativeFreeOptimization') ", + 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"), + MaximumNumberOfFunctionEvaluations = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal d'évaluations de la fonction"), + 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="BOBYQA", into=['BOBYQA', 'COBYLA', 'NEWUOA', 'POWELL', 'SIMPLEX', 'SUBPLEX'], fr="Minimiseur utilisé"), + QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'DA', 'WeightedLeastSquares', 'WLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), + StateVariationTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=0.0001, fr="Variation relative maximale de l'état lors de l'arrêt"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CostFunctionJAtCurrentOptimum', 'CurrentOptimum', 'IndexOfOptimum', 'InnovationAtCurrentState', 'BMA', 'OMA', 'OMB', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentOptimum', '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", + 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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', '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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', '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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', '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', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersNonLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'NonLinearLeastSquares') ", + 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"), + 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="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersParticleSwarmOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ParticleSwarmOptimization') ", + statut="f", + 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)"), + MaximumNumberOfFunctionEvaluations = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal d'évaluations de la fonction"), + MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=0, 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"), + 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="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', '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') ", + 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-06, fr="Maximum de variation de la fonction d'estimation lors de l'arrêt"), + 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="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersUnscentedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'UnscentedKalmanFilter') ", + statut="f", + Alpha = SIMP(statut="f", typ="R", val_min=0.0001, val_max=1.0, min=1, max=1, defaut=1.0, fr=""), + Beta = SIMP(statut="f", typ="R", min=1, max=1, defaut=2.0, fr=""), + 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"), + 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=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersAdjointTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'AdjointTest') ", + 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"), + 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"), + 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', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + 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"), + SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + 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"), + 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"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + 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"), + 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', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ParametersSamplingTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'SamplingTest') ", + statut="f", + 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é"), + SampleAsExplicitHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable comme une liste"), + SampleAsIndependantRandomVariables = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont les points sur chaque axe proviennent de l'échantillonage indépendant de la variable selon la spécification ['distribution',[parametres],nombre]"), + SampleAsMinMaxStepHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable par un triplet [min,max,step]"), + 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="**", into=['CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CurrentState', 'InnovationAtCurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + 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"), + 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', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + ), + ) + +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", validators=FunctionVal(ChDir), min=1, max=1), + Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), + AlgorithmParameters = F_AlgorithmParameters("o",("3DVAR", "4DVAR", "Blue", "DerivativeFreeOptimization", "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", EvolutionErrorInNS), + ControlInput = F_ControlInput("f"), + UserDataInit = F_Init("f"), + UserPostAnalysis = F_UserPostAnalysis("o"), + InputVariables = F_variables("f"), + OutputVariables = F_variables("f"), + Observers = F_Observers("f") + ) + +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", 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", ), 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/configuration_Adao.py b/Adao/configuration_Adao.py index eacd427b..5e1c7245 100644 --- a/Adao/configuration_Adao.py +++ b/Adao/configuration_Adao.py @@ -20,7 +20,6 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# Author: André Ribes, andre.ribes@edf.fr, EDF R&D """ Ce module sert pour charger les paramètres de configuration d'EFICAS @@ -28,15 +27,12 @@ # Modules Python # print "passage dans la surcharge de configuration pour Adao" import os, sys, string, types, re -import traceback -from daUtils.qtversion import useQT5 -if useQT5: - from PyQt5.QtGui import * -else: - from PyQt4.QtGui import * + # Modules Eficas -from Editeur import utils + + +#from Editeur import Eficas_utils from InterfaceQT4 import configuration # Classe de base permettant de lire, afficher @@ -45,7 +41,6 @@ class CONFIG(configuration.CONFIG_BASE): def __init__(self,appli,repIni): - #self.labels_eficas = ['lang'] self.labels_eficas=['lang','rep_cata','catalogues','closeAutreCommande','closeFrameRechercheCommande','closeEntete','taille'] configuration.CONFIG_BASE.__init__(self,appli,repIni) @@ -62,7 +57,7 @@ class CONFIG(configuration.CONFIG_BASE): # Format des catalogues... # (code, version, catalogue, formatIn, formatOut) # Il faut les mettre dans un tuple - self.catalogues = (("ADAO", "V0", os.path.join(self.rep_ini, 'ADAO_Cata_V0.py'), "adao"),) + #self.catalogues = (("ADAO", "V0", os.path.join(self.rep_ini, 'ADAO_Cata_V0.py'), "adao"),) def make_config(appli,rep): diff --git a/Adao/prefs_Adao.py b/Adao/prefs_Adao.py index 490b46cd..ae4ded16 100644 --- a/Adao/prefs_Adao.py +++ b/Adao/prefs_Adao.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- import os,sys -# repIni sert à localiser le fichier editeur.ini -# Obligatoire +# repIni sert a localiser le fichier editeur.ini + repIni=os.path.dirname(os.path.abspath(__file__)) INSTALLDIR=os.path.join(repIni,'..') sys.path[:0]=[INSTALLDIR] @@ -12,18 +12,22 @@ sys.path[:0]=[INSTALLDIR] encoding='iso-8859-1' # Choix des catalogues -# format du Tuple (code,version,catalogue,formatOut, finit par defaut Ãventuellement) +# format du Tuple (code,version,catalogue,formatOut, finit par defaut eventuellement) catalogues = ( # ('Adao','V1',os.path.join(repIni,'ADAO_Cata_V1.py'),'python','python'), - ('Adao','V770',os.path.join(repIni,'ADAO_Cata_V0_V7_7_0.py'),'python','python'), +# ('Adao','V770',os.path.join(repIni,'ADAO_Cata_V0_V7_7_0.py'),'python','python'), + ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dico','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 +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang + lang='fr' closeAutreCommande = True closeFrameRechercheCommande = True -closeEntete = True - +#closeEntete = True +closeArbre = True +translatorFichier = os.path.join(repIni,'Adao') +nombreDeBoutonParLigne=1 diff --git a/Adao/qtEficas_Adao.py b/Adao/qtEficas_Adao.py index 8091a2c0..03d15b9e 100755 --- a/Adao/qtEficas_Adao.py +++ b/Adao/qtEficas_Adao.py @@ -19,7 +19,6 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # """ - Ce module sert à lancer EFICAS configuré pour Syrthes """ # Modules Python @@ -28,6 +27,10 @@ import prefs name='prefs_'+prefs.code __import__(name) -import sys +#import sys +#reload(sys) +#sys.setdefaultencoding('latin1') + from InterfaceQT4 import eficas_go +print eficas_go eficas_go.lance_eficas(code=prefs.code) diff --git a/Aster/CMakeLists.txt b/Aster/CMakeLists.txt deleted file mode 100644 index a4e9ae01..00000000 --- a/Aster/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -# Installation de tous les fichiers Python, texte et images du repertoire et des sous-repertoires (sauf CVS) -install ( - FILES - configuration_ASTER.py __init__.py prefs_ASTER.py prefs.py - qtEficas_aster.py qtGroup.py style.py - #editeur_salome.ini editeur.ini properties.py - eficas_aster.py - LICENSE.TERMS - DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster - ) -add_subdirectory (Cata) - -### Local Variables: -### mode: cmake -### End: diff --git a/Aster/Cata/CMakeLists.txt b/Aster/Cata/CMakeLists.txt deleted file mode 100644 index 00c30d3f..00000000 --- a/Aster/Cata/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -# Installation de tous les fichiers Python, texte et images du repertoire et des sous-repertoires (sauf CVS) -install ( - FILES - __init__.py cataSTA8c_clefs_docu cataSTA9c_clefs_docu - DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster/Cata - ) -install ( - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Utilitai - ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA10 - ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA9 - ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA11 - DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster/Cata -) - - -### Local Variables: -### mode: cmake -### End: diff --git a/Aster/Cata/__init__.py b/Aster/Cata/__init__.py deleted file mode 100644 index fda01819..00000000 --- a/Aster/Cata/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -#@ MODIF __init__ Cata DATE 20/09/2004 AUTEUR DURAND C.DURAND -# -*- coding: iso-8859-1 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== diff --git a/Aster/Cata/cataSTA11/__init__.py b/Aster/Cata/cataSTA11/__init__.py deleted file mode 100644 index 3cdb1caf..00000000 --- a/Aster/Cata/cataSTA11/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -import os,sys -sys.modules["Cata"]=sys.modules[__name__] -rep_macro = os.path.dirname(__file__) -sys.path.insert(0,rep_macro) -rep_macro=os.path.join(rep_macro,'Macro') -sys.path.insert(0,rep_macro) - -if sys.modules.has_key("SD"): - del sys.modules["SD"] -for k in sys.modules.keys(): - if k[0:3] == "SD.": - del sys.modules[k] - - -from cata import * -from math import ceil -from Extensions import param2 -pi=param2.Variable('pi',pi) diff --git a/Aster/Cata/cataSTA11/cata.py b/Aster/Cata/cataSTA11/cata.py deleted file mode 100755 index 484fc518..00000000 --- a/Aster/Cata/cataSTA11/cata.py +++ /dev/null @@ -1,34413 +0,0 @@ -# coding: utf-8 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -import os -from math import sin, cos, tan, asin, acos, atan2, atan, sinh, cosh, tanh -from math import pi ,exp,log, log10, sqrt - -import Accas -from Accas import * -from Accas import _F -import ops - -try: - import aster - aster_exists = True -except ImportError: - aster = None - aster_exists = False - -# Le catalogue est constitué par concaténation des fichiers .capy -# de catapy/{entete,commun,commande}. - -# Tous les imports globaux devraient être faits ici dans accas.capy. -# Veillez à limiter les imports dans la définition des concepts (co_*.capy) -# au strict nécessaire et les faire sous les méthodes qui en ont -# expressément besoin. - -JdC = JDC_CATA(code='ASTER', - execmodul=None, -# regles=(AU_MOINS_UN('DEBUT', 'POURSUITE'), -# AU_MOINS_UN('FIN'), -# A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN')) - ) - -# Types géométriques -class no(GEOM): - """ - Classe servant à définir le nom d'un noeud dans le fichier de commande - En clair : un chaine de longueur 8. - """ - pass - -class grno(GEOM): - """ - Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - -class ma(GEOM): - """ - Classe servant à définir le nom d'une maille dans le fichier de commande - En clair : un chaine de longueur 8. - """ - pass - -class grma(GEOM): - """ - Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class cabl_precont(ASSD): - cata_sdj = "SD.sd_cabl_precont.sd_cabl_precont" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class cara_elem(ASSD): - cata_sdj = "SD.sd_cara_elem.sd_cara_elem" - - def toEPX(self): - - # Raideurs - ressorts = {} - - try: - EPXnoeud = self.sdj.CARRIGXN.get() - EPXval = self.sdj.CARRIGXV.get() - lenEPXval = len(EPXval) - lenEPXnoeud = len(EPXnoeud)*6 - except: - # s'il y a un problème sur la structure de données ==> - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_98') - # Vérification de la déclaration qui est faite dans 'acearp' - if ( lenEPXval != lenEPXnoeud ): - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_97') - # Tout est OK - i=0 - for no in EPXnoeud : - ressorts[no] = EPXval[i:i+6] - i+=6 - - # Amortissements - amorts = {} - try: - EPXnoeud = self.sdj.CARAMOXN.get() - EPXval = self.sdj.CARAMOXV.get() - lenEPXval = len(EPXval) - lenEPXnoeud = len(EPXnoeud)*6 - except: - # s'il y a un problème sur la structure de données ==> - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_98') - # Vérification de la déclaration qui est faite dans 'acearp' - if ( lenEPXval != lenEPXnoeud ): - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_97') - # Tout est OK - i=0 - for no in EPXnoeud : - amorts[no] = EPXval[i:i+6] - i+=6 - - return ressorts, amorts - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class cham_gd_sdaster(ASSD): - cata_sdj = "SD.sd_champ.sd_champ" - -class carte_sdaster(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_carte_class" - -class cham_elem(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_cham_elem_class" - - def EXTR_COMP(self,comp,lgma,topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de mailles lgma avec eventuellement l'info de la - topologie si topo>0. Si lgma est une liste vide, c'est equivalent - a un TOUT='OUI' dans les commandes aster - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs - Si on a demande la topo : - - self.maille : numero de mailles - - self.point : numero du point dans la maille - - self.sous_point : numero du sous point dans la maille """ - import numpy - if not self.accessible() : - raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'") - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) - - valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) - point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) - sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) - else : - maille=None - point=None - sous_point=None - - aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) - - return post_comp_cham_el(valeurs,maille,point,sous_point) - -class cham_no_sdaster(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_cham_no_class" - - def EXTR_COMP(self,comp=' ',lgno=[],topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de noeuds lgno avec eventuellement l'info de la - topologie si topo>0. Si lgno est une liste vide, c'est equivalent - a un TOUT='OUI' dans les commandes aster - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs - Si on a demande la topo (i.e. self.topo = 1) : - - self.noeud : numero de noeud - Si on demande toutes les composantes (comp = ' ') : - - self.comp : les composantes associees a chaque grandeur pour chaque noeud - """ - import numpy - if not self.accessible() : - raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'") - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) - - valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) - else : - noeud=None - - if comp[:1] == ' ': - comp=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.C')) - aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) - return post_comp_cham_no(valeurs,noeud,comp) - else: - aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) - return post_comp_cham_no(valeurs,noeud) - - def __add__(self, other): - from SD.sd_nume_equa import sd_nume_equa - # on recupere le type - __nume_ddl=sd_nume_equa(self.sdj.REFE.get()[1]) - __gd=__nume_ddl.REFN.get()[1].strip() - __type='NOEU_'+__gd - # on recupere le nom du maillage - __nomMaillage=self.sdj.REFE.get()[0].strip() - # on recupere l'objet du maillage - __maillage=CONTEXT.get_current_step().get_concept(__nomMaillage) - __CHAM = CREA_CHAMP(OPERATION='ASSE', - MAILLAGE=__maillage, - TYPE_CHAM=__type, - INFO=1, - ASSE=(_F(CHAM_GD=self, - TOUT='OUI', - CUMUL='OUI', - COEF_R=1.), - _F(CHAM_GD=other, - TOUT='OUI', - CUMUL='OUI', - COEF_R=1.), - )) - return __CHAM - -# post-traitement : -class post_comp_cham_no : - def __init__(self, valeurs, noeud=None, comp=None) : - self.valeurs = valeurs - self.noeud = noeud - self.comp = comp - -class post_comp_cham_el : - def __init__(self, valeurs, maille=None, point=None, sous_point=None) : - self.valeurs = valeurs - self.maille = maille - self.point = point - self.sous_point = sous_point - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -class cham_mater(ASSD): - cata_sdj = "SD.sd_cham_mater.sd_cham_mater" - - def get_vale_ref(self, nom_varc): - """Retourne la valeur de référence de `nom_varc`.""" - from SD.sd_carte import sd_carte - nom_varc = nom_varc.strip() - varc = self.sdj.varc - nom = [sv.strip() for sv in varc.CVRCNOM.get()] - assert nom_varc in nom, (nom_varc, nom) - idx = nom.index(nom_varc) - novarc = [sv for sv in varc.CVRCVARC.get()] - assert len(novarc) > idx, novarc - nomch = novarc[idx] - # accès à la carte - cartref = sd_carte("%-8s.%-8s.1" % (self.nom, nomch)) - valref = cartref.VALE.get()[0] - return valref - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_acou(ASSD): - cata_sdj = "SD.sd_char_acou.sd_char_acou" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_acou(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_meca(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_ther(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_contact(ASSD): - cata_sdj = "SD.sd_contact.sd_contact" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_meca(ASSD): - cata_sdj = "SD.sd_char_meca.sd_char_meca" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_ther(ASSD): - cata_sdj = "SD.sd_char_ther.sd_char_ther" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class compor_sdaster(ASSD): - cata_sdj = "SD.sd_compor.sd_compor" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class corresp_2_mailla(ASSD): - cata_sdj = "SD.sd_corresp_2_mailla.sd_corresp_2_mailla" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class courbe_sdaster(ASSD): - cata_sdj = "SD.sd_courbe.sd_courbe" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class entier(ASSD): - cata_sdj = "SD.AsBase" - - def __init__(self, valeur=None, **args): - ASSD.__init__(self, **args) - self.valeur = valeur - - def __adapt__(self, validator): - if validator.name == "list": - # validateur liste,cardinalité - return (self, ) - elif validator.name == "type": - # validateur type - return validator.adapt(self.valeur or 0) - else: - # validateur into et valid - return self - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class fiss_xfem(ASSD): - cata_sdj = "SD.sd_xfem.sd_fiss_xfem" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# types 'fonction' : -class fonction_class(ASSD): - cata_sdj = "SD.sd_fonction.sd_fonction_aster" - - def Valeurs(self): - pass - - def Parametres(self): - """ - Retourne un dictionnaire contenant les parametres de la fonction ; - le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, - le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } - objev = '%-19s.PROL' % self.get_name() - prol = self.sdj.PROL.get() - if prol == None: - UTMESS('F', 'SDVERI_2', valk=[objev]) - dico={ - 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:16].strip(), - 'NOM_RESU' : prol[3][0:16].strip(), - 'PROL_DROITE' : TypeProl[prol[4][1]], - 'PROL_GAUCHE' : TypeProl[prol[4][0]], - } - elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : - dico={ - 'INTERPOL' : self.etape['INTERPOL'], - 'NOM_PARA' : self.etape['NOM_PARA'], - 'NOM_RESU' : self.etape['NOM_RESU'], - 'PROL_DROITE' : self.etape['PROL_DROITE'], - 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'], - } - if type(dico['INTERPOL']) == tuple: - dico['INTERPOL']=list(dico['INTERPOL']) - elif type(dico['INTERPOL']) == str: - dico['INTERPOL']=[dico['INTERPOL'],] - if len(dico['INTERPOL'])==1 : - dico['INTERPOL']=dico['INTERPOL']*2 - else: - raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'") - return dico - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une fonction""" - if not self.accessible() : - raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - gr=Graph() - gr.AjoutCourbe(Val=self.Valeurs(), - Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - -class fonction_sdaster(fonction_class): - - def convert(self, arg='real'): - """ - Retourne un objet de la classe t_fonction - représentation python de la fonction - """ - from Cata_Utils.t_fonction import t_fonction, t_fonction_c - class_fonction = t_fonction - if arg == 'complex': - class_fonction = t_fonction_c - absc, ordo = self.Valeurs() - return class_fonction(absc, ordo, self.Parametres(), nom=self.nom) - - def Valeurs(self) : - """ - Retourne deux listes de valeurs : abscisses et ordonnees - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - vale = '%-19s.VALE' % self.get_name() - lbl = self.sdj.VALE.get() - if lbl == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - lbl = list(lbl) - dim = len(lbl)/2 - lx = lbl[0:dim] - ly = lbl[dim:2*dim] - elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' : - if self.etape['VALE'] is not None: - lbl = list(self.etape['VALE']) - dim = len(lbl) - lx = [lbl[i] for i in range(0,dim,2)] - ly = [lbl[i] for i in range(1,dim,2)] - elif self.etape['VALE_PARA'] is not None: - lx = self.etape['VALE_PARA'].Valeurs() - ly = self.etape['VALE_FONC'].Valeurs() - elif self.etape['ABSCISSE'] is not None: - lx = self.etape['ABSCISSE'] - ly = self.etape['ORDONNEE'] - else: - raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le fichier de commandes courant.") - else: - raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le fichier de commandes courant.") - return [lx, ly] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Ordo(self): - """Retourne la liste des ordonnées""" - return self.Valeurs()[1] - - def __call__(self, val, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val, ASSD): - val=val.valeur - __ff=self.convert() - return __ff(val, tol=tol) - - -class fonction_c(fonction_class): - - def convert(self,arg='real'): - """ - Retourne un objet de la classe t_fonction ou t_fonction_c, - représentation python de la fonction complexe - """ - import numpy - from Cata_Utils.t_fonction import t_fonction, t_fonction_c - class_fonction = t_fonction - if arg == 'complex': - class_fonction = t_fonction_c - absc = self.Absc() - para = self.Parametres() - if arg == 'real': - ordo = self.Ordo() - elif arg == 'imag': - ordo = self.OrdoImg() - elif arg == 'modul': - ordo = numpy.sqrt(numpy.array(self.Ordo())**2 + numpy.array(self.OrdoImg())**2) - elif arg == 'phase': - ordo = numpy.arctan2(numpy.array(self.OrdoImg()), numpy.array(self.Ordo())) * 180. / pi - elif arg == 'complex': - ordo = map(complex,self.Ordo(),self.OrdoImg()) - else: - assert False, 'unexpected value for arg: %r' % arg - return class_fonction(self.Absc(), ordo, self.Parametres(), nom=self.nom) - - def Valeurs(self) : - """ - Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - vale = '%-19s.VALE' % self.get_name() - lbl = self.sdj.VALE.get() - if lbl == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - lbl = list(lbl) - dim=len(lbl)/3 - lx=lbl[0:dim] - lr=[] - li=[] - for i in range(dim): - lr.append(lbl[dim+2*i]) - li.append(lbl[dim+2*i+1]) - elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' \ - and self.etape['VALE_C'] is not None: - lbl=list(self.etape['VALE_C']) - dim=len(lbl) - lx=[lbl[i] for i in range(0,dim,3)] - lr=[lbl[i] for i in range(1,dim,3)] - li=[lbl[i] for i in range(2,dim,3)] - else: - raise Accas.AsException("Erreur (fonction_c.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le jdc courant.") - return [lx, lr, li] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Ordo(self): - """Retourne la liste des parties réelles des ordonnées""" - return self.Valeurs()[1] - - def OrdoImg(self): - """Retourne la liste des parties imaginaires des ordonnées""" - return self.Valeurs()[2] - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une fonction complexe""" - if not self.accessible(): - raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - para = self.Parametres() - gr=Graph() - gr.AjoutCourbe(Val=self.Valeurs(), - Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - - def __call__(self, val, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val, ASSD): - val=val.valeur - __ff=self.convert(arg='complex') - return __ff(val, tol=tol) - - -class nappe_sdaster(fonction_class): - - def convert(self): - """ - Retourne un objet de la classe t_nappe, représentation python de la nappe - """ - from Cata_Utils.t_fonction import t_fonction, t_nappe - para = self.Parametres() - vale = self.Valeurs() - l_fonc = [] - i = 0 - for pf in para[1] : - para_f = {'INTERPOL' : pf['INTERPOL_FONC'], - 'PROL_DROITE' : pf['PROL_DROITE_FONC'], - 'PROL_GAUCHE' : pf['PROL_GAUCHE_FONC'], - 'NOM_PARA' : para[0]['NOM_PARA_FONC'], - 'NOM_RESU' : para[0]['NOM_RESU'], - } - l_fonc.append(t_fonction(vale[1][i][0],vale[1][i][1],para_f)) - i += 1 - return t_nappe(vale[0], l_fonc, para[0], nom=self.nom) - - def Valeurs(self): - """ - Retourne la liste des valeurs du parametre, - et une liste de couples (abscisses,ordonnees) de chaque fonction. - """ - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'") - nsd = '%-19s' % self.get_name() - dicv=aster.getcolljev(nsd+'.VALE') - # les cles de dicv sont 1,...,N (indice du parametre) - lpar=aster.getvectjev(nsd+'.PARA') - if lpar == None: - UTMESS('F', 'SDVERI_2', valk=[nsd+'.PARA']) - lval=[] - for k in range(len(dicv)): - lbl=dicv[k+1] - dim=len(lbl)/2 - lval.append([lbl[0:dim],lbl[dim:2*dim]]) - return [list(lpar),lval] - - def Parametres(self): - """ - Retourne un dictionnaire contenant les parametres de la nappe, - le type jeveux (NAPPE) n'est pas retourne, - le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, - et une liste de dictionnaire des parametres de chaque fonction. - """ - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'") - TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } - objev = '%-19s.PROL' % self.get_name() - prol=aster.getvectjev(objev) - if prol == None: - UTMESS('F', 'SDVERI_2', valk=[objev]) - dico={ - 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:16].strip(), - 'NOM_RESU' : prol[3][0:16].strip(), - 'PROL_DROITE' : TypeProl[prol[4][1]], - 'PROL_GAUCHE' : TypeProl[prol[4][0]], - 'NOM_PARA_FONC' : prol[6][0:4].strip(), - } - lparf=[] - nbf=(len(prol)-7)/2 - for i in range(nbf): - dicf={ - 'INTERPOL_FONC' : [prol[7+i*2][0:3],prol[7+i*2][4:7]], - 'PROL_DROITE_FONC' : TypeProl[prol[8+i*2][1]], - 'PROL_GAUCHE_FONC' : TypeProl[prol[8+i*2][0]], - } - lparf.append(dicf) - return [dico,lparf] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une nappe""" - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - gr=Graph() - lv=self.Valeurs()[1] - dp=self.Parametres()[0] - for lx,ly in lv: - gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - - def __call__(self, val1, val2, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val1, ASSD): - val1=val1.valeur - if isinstance(val2, ASSD): - val2=val2.valeur - __ff=self.convert() - return __ff(val1, val2, tol=tol) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class fond_fiss(ASSD): - cata_sdj = "SD.sd_fond_fiss.sd_fond_fiss" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class gfibre_sdaster(ASSD): - cata_sdj = "SD.sd_gfibre.sd_gfibre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class interf_dyna_clas(ASSD): - cata_sdj = "SD.sd_interf_dyna_clas.sd_interf_dyna_clas" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - - -class interspectre(ASSD): - cata_sdj = "SD.sd_interspectre.sd_interspectre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class list_inst(ASSD): - cata_sdj = "SD.sd_list_inst.sd_list_inst" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class listis_sdaster(ASSD): - cata_sdj = "SD.sd_listis.sd_listis" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class listr8_sdaster(ASSD): - cata_sdj = "SD.sd_listr8.sd_listr8" - - def Valeurs(self) : - """ - Retourne la liste des valeurs : [val1, ..., valN] - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'") - from Utilitai.Utmess import UTMESS - t_vale = self.sdj.VALE.get() - if t_vale == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - return list(t_vale) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def VALE_triang2array(vect_VALE, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALE decrivant une matrice pleine - par sa triangulaire sup en numpy.array plein. - """ - import numpy - triang_sup = numpy.array(vect_VALE) - assert dim*(dim+1)/2 == len(triang_sup), \ - 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) - - valeur = numpy.zeros([dim, dim], dtype=dtype) - for i in range(1, dim+1): - for j in range(1, i+1): - k = i*(i-1)/2 + j - valeur[j-1, i-1]=triang_sup[k-1] - valeur = valeur + numpy.transpose(valeur) - for i in range(dim): - valeur[i, i] = 0.5 * valeur[i, i] - return valeur - -class macr_elem_dyna(ASSD): - cata_sdj = "SD.sd_macr_elem_dyna.sd_macr_elem_dyna" - - def EXTR_MATR_GENE(self,typmat) : - """ retourne les valeurs des matrices generalisees reelles - dans un format numpy - typmat='MASS_GENE' pour obtenir la matrice de masse generalisee - typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee - typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'") - - if (typmat=='MASS_GENE') : - macr_elem = self.sdj.MAEL_MASS - elif (typmat=='RIGI_GENE') : - macr_elem = self.sdj.MAEL_RAID - elif (typmat=='AMOR_GENE') : - macr_elem = self.sdj.MAEL_AMOR - else: - raise Accas.AsException("Le type de la matrice est incorrect") - - desc=numpy.array(macr_elem.DESC.get()) - # On teste si le DESC du vecteur existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - - matrice = VALE_triang2array(macr_elem.VALE.get(), desc[1]) - return matrice - - def RECU_MATR_GENE(self,typmat,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices generalisees - reelles definies dans jeveux - typmat='MASS_GENE' pour obtenir la matrice de masse generalisee - typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee - typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'") - - nommacr=self.get_name() - if (typmat=='MASS_GENE') : - macr_elem = self.sdj.MAEL_MASS - elif (typmat=='RIGI_GENE') : - macr_elem = self.sdj.MAEL_RAID - elif (typmat=='AMOR_GENE') : - macr_elem = self.sdj.MAEL_AMOR - else: - raise Accas.AsException("Le type de la matrice est incorrect") - nom_vale = macr_elem.VALE.nomj() - desc=numpy.array(macr_elem.DESC.get()) - - # On teste si le DESC de la matrice jeveux existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la matrice python est de dimension 2 - if (len(numpy.shape(matrice))<>2): - raise Accas.AsException("La dimension de la matrice est incorrecte") - - # On teste si les tailles de la matrice jeveux et python sont identiques - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La dimension de la matrice est incorrecte") - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmp=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmp[k]=matrice[j-1,i] - aster.putvectjev(nom_vale,len(tmp),tuple(( - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class macr_elem_stat(ASSD): - cata_sdj = "SD.sd_macr_elem_stat.sd_macr_elem_stat" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class maillage_sdaster(ASSD): - cata_sdj = "SD.sd_maillage.sd_maillage" - - def LIST_GROUP_NO(self) : - """ retourne la liste des groupes de noeuds sous la forme : - [ (gno1, nb noeuds gno1), ...] """ - if not self.accessible(): - raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'") - dic_gpno = self.sdj.GROUPENO.get() - if dic_gpno is None: - return [] - return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] - - def LIST_GROUP_MA(self) : - """ retourne la liste des groupes de mailles sous la forme : - [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ - if not self.accessible(): - raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'") - ltyma = aster.getvectjev("&CATA.TM.NOMTM") - catama = aster.getcolljev("&CATA.TM.TMDIM") - dic_gpma = self.sdj.GROUPEMA.get() - if dic_gpma is None: - return [] - dimama = [catama[ltyma[ma-1].ljust(24)][0] for ma in self.sdj.TYPMAIL.get()] - ngpma = [] - for grp in dic_gpma.keys(): - dim = max([dimama[ma-1] for ma in dic_gpma[grp]]) - ngpma.append((grp.strip(), len(dic_gpma[grp]),dim)) - return ngpma - -class grille_sdaster(maillage_sdaster): - cata_sdj = "SD.sd_grille.sd_grille" - -class squelette(maillage_sdaster): - cata_sdj = "SD.sd_squelette.sd_squelette" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class mater_sdaster(ASSD): - cata_sdj = "SD.sd_mater.sd_mater" - - def RCVALE(self, phenomene, nompar=(), valpar=(), nomres=(), stop=1): - """Appel à la routine fortran RCVALE pour récupérer les valeurs des - propriétés du matériau. - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans mater.RCVALE en PAR_LOT='OUI'") - from Utilitai.Utmess import UTMESS - # vérification des arguments - if not type(nompar) in (list, tuple): - nompar = [nompar,] - if not type(valpar) in (list, tuple): - valpar = [valpar,] - if not type(nomres) in (list, tuple): - nomres = [nomres,] - nompar = tuple(nompar) - valpar = tuple(valpar) - nomres = tuple(nomres) - if len(nompar) != len(valpar): - vk1=', '.join(nompar) - vk2=', '.join([repr(v) for v in valpar]) - UTMESS('F','SDVERI_4',valk=[vk1,vk2]) - if len(nomres) < 1: - UTMESS('F', 'SDVERI_5') - # appel à l'interface Python/C - return aster.rcvale(self.nom, phenomene, nompar, valpar, nomres, stop) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class matr_asse(ASSD): - cata_sdj = "SD.sd_matr_asse.sd_matr_asse" - - def EXTR_MATR(self) : - """ retourne les valeurs de la matrice dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - from SD.sd_stoc_morse import sd_stoc_morse - - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse.EXTR_MATR en PAR_LOT='OUI'") - - refa = numpy.array(self.sdj.REFA.get()) - ma=refa[0] - nu=refa[1] - smos = sd_stoc_morse(nu[:14]+'.SMOS') - - valm=self.sdj.VALM.get() - smhc=smos.SMHC.get() - smdi=smos.SMDI.get() - - sym=len(valm)==1 - dim=len(smdi) - nnz=smdi[dim-1] - - triang_sup = numpy.array(valm[1]) - if sym: - triang_inf = triang_sup - else: - triang_inf = numpy.array(valm[2]) - - if type(valm[1][0]) == type(1.j) : - dtype=complex - else : - dtype=float - valeur=numpy.zeros([dim, dim], dtype=dtype) - - jcol=1 - for kterm in range(1,nnz+1): - ilig=smhc[kterm-1] - if (smdi[jcol-1] < kterm): - jcol=jcol+1 - valeur[jcol-1,ilig-1]=triang_inf[kterm-1] - valeur[ilig-1,jcol-1]=triang_sup[kterm-1] - - return valeur - -class matr_asse_gd(matr_asse): - cata_sdj = "SD.sd_matr_asse.sd_matr_asse" - -class matr_asse_depl_c(matr_asse_gd): - pass - -class matr_asse_depl_r(matr_asse_gd): - pass - -class matr_asse_pres_c(matr_asse_gd): - pass - -class matr_asse_pres_r(matr_asse_gd): - pass - -class matr_asse_temp_c(matr_asse_gd): - pass - -class matr_asse_temp_r(matr_asse_gd): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def VALM_triang2array(dict_VALM, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALM decrivant une matrice pleine - par sa triangulaire inf (et parfois triang sup) en numpy.array plein. - """ - import numpy - # stockage symetrique ou non (triang inf+sup) - sym = len(dict_VALM) == 1 - triang_sup = numpy.array(dict_VALM[1]) - assert dim*(dim+1)/2 == len(triang_sup), \ - 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) - if sym: - triang_inf = triang_sup - else: - triang_inf = numpy.array(dict_VALM[2]) - valeur=numpy.zeros([dim, dim], dtype=dtype) - for i in range(1, dim+1): - for j in range(1, i+1): - k = i*(i-1)/2 + j - valeur[i-1, j-1]=triang_inf[k-1] - valeur[j-1, i-1]=triang_sup[k-1] - return valeur - -def VALM_diag2array(dict_VALM, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALM decrivant une matrice - diagonale en numpy.array plein. - """ - import numpy - diag = numpy.array(dict_VALM[1]) - assert dim == len(diag), 'Dimension incorrecte : %d != %d' % (dim, len(diag)) - valeur=numpy.zeros([dim, dim], dtype=dtype) - for i in range(dim): - valeur[i,i] = diag[i] - return valeur - -class matr_asse_gene(ASSD): - cata_sdj = "SD.sd_matr_asse_gene.sd_matr_asse_gene" - -class matr_asse_gene_r(matr_asse_gene): - def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee reelle - dans un format numpyal Array - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'") - import numpy - - desc=numpy.array(self.sdj.DESC.get()) - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - # Si le stockage est plein - if desc[2]==2 : - valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1]) - - # Si le stockage est diagonal - elif desc[2]==1 : - valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1]) - - # Sinon on arrete tout - else: - raise KeyError - return valeur - - def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices - generalisees reelles definies dans jeveux - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'") - - ncham=self.get_name() - desc=numpy.array(self.sdj.DESC.get()) - - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la dimension de la matrice python est 2 - if (len(numpy.shape(matrice))<>2) : - raise Accas.AsException("La dimension de la matrice est incorrecte ") - - # On teste si les tailles des matrices jeveux et python sont identiques - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La taille de la matrice est incorrecte ") - - # Si le stockage est plein - if desc[2]==2 : - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmp=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmp[k]=matrice[j-1,i] - aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - # Si le stockage est diagonal - elif desc[2]==1 : - tmp=numpy.zeros(desc[1]) - for j in range(desc[1]): - tmp[j]=matrice[j,j] - aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - # Sinon on arrete tout - else: - raise KeyError - return - -class matr_asse_gene_c(matr_asse_gene): - def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee complexe - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'") - - desc = numpy.array(self.sdj.DESC.get()) - if desc == None: - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster ") - # Si le stockage est plein - if desc[2] == 2 : - valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1], complex) - - # Si le stockage est diagonal - elif desc[2]==1 : - valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1], complex) - - # Sinon on arrete tout - else: - raise KeyError - return valeur - - def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices - generalisees reelles definies dans jeveux - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'") - - numpy.asarray(matrice) - ncham=self.get_name() - desc=numpy.array(self.sdj.DESC.get()) - - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la dimension de la matrice python est 2 - if (len(numpy.shape(matrice))<>2) : - raise Accas.AsException("La dimension de la matrice est incorrecte ") - - # On teste si la taille de la matrice jeveux et python est identique - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La taille de la matrice est incorrecte ") - - # Si le stockage est plein - if desc[2]==2 : - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmpr=numpy.zeros([int(taille)]) - tmpc=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmpr[k]=matrice[j-1,i].real - tmpc[k]=matrice[j-1,i].imag - aster.putvectjev('%-19s.VALM' % ncham, len(tmpr), tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) - # Si le stockage est diagonal - elif desc[2]==1 : - tmpr=numpy.zeros(desc[1]) - tmpc=numpy.zeros(desc[1]) - for j in range(desc[1]): - tmpr[j]=matrice[j,j].real - tmpc[j]=matrice[j,j].imag - aster.putvectjev('%-19s.VALM' % ncham,len(tmpr),tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) - # Sinon on arrete tout - else: - raise KeyError - return - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class matr_elem(ASSD): - cata_sdj = "SD.sd_matr_elem.sd_matr_elem" - -class matr_elem_depl_c(matr_elem): - pass - -class matr_elem_depl_r(matr_elem): - pass - -class matr_elem_pres_c(matr_elem): - pass - -class matr_elem_temp_r(matr_elem): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class melasflu_sdaster(ASSD): - cata_sdj = "SD.sd_melasflu.sd_melasflu" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class mode_cycl(ASSD): - cata_sdj = "SD.sd_mode_cycl.sd_mode_cycl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class modele_gene(ASSD): - cata_sdj = "SD.sd_modele_gene.sd_modele_gene" - - def LIST_SOUS_STRUCT(self) : - """ retourne la liste des sous structures du modele generalise - la liste des macro-elements sous-jacents""" - if not self.accessible(): - raise Accas.AsException("Erreur dans modele_gene.LIST_SOUS_STRUCT en PAR_LOT='OUI'") - nommodgen=self.get_name() - ncham=nommodgen+(8-len(nommodgen))*' ' - ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO') - ssme=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.SSME') - return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))] - - def LIST_LIAIS_STRUCT(self) : - """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme : - [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ - if not self.accessible() : - raise Accas.AsException("Erreur dans modele_gene.LIST_LIAIS_STRUCT en PAR_LOT='OUI'") - nommodgen=self.get_name() - ncham=nommodgen+(8-len(nommodgen))*' ' - lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF') - return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf] - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class modele_sdaster(ASSD): - cata_sdj = "SD.sd_modele.sd_modele" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class nume_ddl_gene(ASSD): - cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class nume_ddl_sdaster(ASSD): - cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class reel(ASSD): - cata_sdj = "SD.AsBase" - - def __init__(self, valeur=None, **args): - ASSD.__init__(self, **args) - self.valeur = valeur - - def __call__(self): - return self.valeur - - def __adapt__(self, validator): - if validator.name == "list": - # validateur liste,cardinalité - return (self, ) - elif validator.name == "type": - # validateur type - return validator.adapt(self.valeur or 0.) - else: - # validateur into et valid - return self - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class resultat_sdaster(ASSD): - cata_sdj = "SD.sd_resultat.sd_resultat" - - def LIST_CHAMPS (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "CHAMPS") - - def LIST_NOM_CMP (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "COMPOSANTES") - - def LIST_VARI_ACCES (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "VARI_ACCES") - - def LIST_PARA (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "PARAMETRES") - -class resultat_jeveux(resultat_sdaster): - """Classe permettant d'accéder à un resultat jeveux qui n'a pas d'ASSD associée, - c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" - def __init__(self, nom_jeveux): - resultat_sdaster.__init__(self) - self.set_name(nom_jeveux) - -class comb_fourier(resultat_sdaster): pass -class fourier_elas(resultat_sdaster): pass -class fourier_ther(resultat_sdaster): pass -class mult_elas(resultat_sdaster): pass -class theta_geom(resultat_sdaster): pass - -# resultat_sdaster/evol_sdaster : -class evol_sdaster(resultat_sdaster): pass -class evol_char(evol_sdaster): pass -class evol_elas(evol_sdaster): pass -class evol_noli(evol_sdaster): pass -class evol_ther(evol_sdaster): pass -class evol_varc(evol_sdaster): pass - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: hassan.berro at edf.fr - -class dyna_gene(ASSD): - cata_sdj = "SD.sd_dyna_gene.sd_dyna_gene" - -class dyna_phys(resultat_sdaster): - cata_sdj="SD.sd_dyna_phys.sd_dyna_phys" - -# Concepts généralisés -class harm_gene (dyna_gene) : pass -class tran_gene (dyna_gene) : pass - -# Concepts physiques -class acou_harmo (dyna_phys) : pass -class dyna_harmo (dyna_phys) : pass -class dyna_trans (dyna_phys) : pass -class mode_acou (dyna_phys) : pass -class mode_flamb (dyna_phys) : pass -class mode_meca (dyna_phys) : pass -class mode_meca_c(mode_meca) : pass - -# TODO : convertir mode_gene en format généralisé -class mode_gene (dyna_phys) : pass -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class sd_partit(ASSD): - cata_sdj = "SD.sd_partition.sd_partit" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class spectre_sdaster(ASSD): - cata_sdj = "SD.sd_spectre.sd_spectre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class surface_sdaster(ASSD): - cata_sdj = "SD.sd_surface.sd_surface" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class table_sdaster(ASSD): - cata_sdj = "SD.sd_table.sd_table" - - def __getitem__(self, key): - """Retourne la valeur d'une cellule de la table. - Exemple : TAB['INST', 1] retourne la 1ère valeur de la colonne 'INST'.""" - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'") - assert len(key) == 2 - para, numlign = key - tabnom = self.sdj.TBLP.get() - try: - i = tabnom.index('%-24s' % para) - resu = aster.getvectjev(tabnom[i + 2]) - exist = aster.getvectjev(tabnom[i + 3]) - assert resu is not None - assert exist is not None - assert exist[numlign - 1] != 0 - res = resu[numlign - 1] - except (IndexError, AssertionError): - # pour __getitem__, il est plus logique de retourner KeyError. - raise KeyError - return res - - def TITRE(self): - """Retourne le titre d'une table Aster - (Utile pour récupérer le titre et uniquement le titre d'une table dont - on souhaite manipuler la dérivée). - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans table.TITRE en PAR_LOT='OUI'") - #titj = aster.getvectjev('%-19s.TITR' % self.get_name()) - titj = self.sdj.TITR.get() - if titj != None: - titr = '\n'.join(titj) - else: - titr = '' - return titr - - def EXTR_TABLE(self, para=None) : - """Produit un objet Table à partir du contenu d'une table Aster. - On peut limiter aux paramètres listés dans 'para'. - """ - def Nonefy(l1,l2) : - if l2 == 0: - return None - else: - return l1 - if not self.accessible(): - raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'") - from Utilitai.Table import Table - # titre - titr = self.TITRE() - # récupération des paramètres - #v_tblp = aster.getvectjev('%-19s.TBLP' % self.get_name()) - v_tblp = self.sdj.TBLP.get() - if v_tblp == None: - # retourne une table vide - return Table(titr=titr, nom=self.nom) - tabnom=list(v_tblp) - nparam=len(tabnom)/4 - lparam=[tabnom[4*i:4*i+4] for i in range(nparam)] - # restriction aux paramètres demandés - if para is not None: - if type(para) not in (list, tuple): - para = [para, ] - para = [p.strip() for p in para] - restr = [] - for ip in lparam: - if ip[0].strip() in para: - restr.append(ip) - lparam = restr - dval={} - # liste des paramètres et des types - lpar=[] - ltyp=[] - for i in lparam : - value=list(aster.getvectjev(i[2])) - exist=aster.getvectjev(i[3]) - dval[i[0].strip()] = map(Nonefy, value, exist) - lpar.append(i[0].strip()) - ltyp.append(i[1].strip()) - n=len(dval[lpar[0]]) - # contenu : liste de dict - lisdic=[] - for i in range(n) : - d={} - for p in lpar: - d[p]=dval[p][i] - lisdic.append(d) - return Table(lisdic, lpar, ltyp, titr, self.nom) - -class table_fonction(table_sdaster): - """Table contenant en plus une colonne FONCTION et/ou FONCTION_C dont les - valeurs des cellules sont des noms de fonction_sdaster ou fonction_c.""" - -class table_jeveux(table_sdaster): - """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée, - c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" - def __init__(self, nom_jeveux): - table_sdaster.__init__(self) - self.set_name(nom_jeveux) - -class table_fonction(table_sdaster): - """Table contenant une colonne FONCTION et/ou FONCTION_C dont les - valeurs des cellules sont des noms de fonction_sdaster ou - fonction_c.""" - cata_sdj = "SD.sd_table_fonction.sd_table_fonction" - -class table_container(table_sdaster): - """Table contenant les colonnes NOM_OBJET, TYPE_OBJET et NOM_SD.""" - cata_sdj = "SD.sd_table_container.sd_table_container" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class type_flui_stru(ASSD): - cata_sdj = "SD.sd_type_flui_stru.sd_type_flui_stru" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class vect_asse_gene(ASSD): - cata_sdj = "SD.sd_cham_gene.sd_cham_gene" - - def EXTR_VECT_GENE_R(self) : - """ retourne les valeurs du vecteur generalisee - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'") - #ncham=self.get_name() - #ncham=ncham+(8-len(ncham))*' ' - #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) - valeur = numpy.array(self.sdj.VALE.get()) - return valeur - - def RECU_VECT_GENE_R(self, vecteur) : - """ envoie les valeurs d'un tableau numpy dans un vecteur generalise - reel definie dans jeveux - Attributs ne retourne rien """ - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'") - import numpy - numpy.asarray(vecteur) - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - #desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) - desc = numpy.array(self.sdj.DESC.get()) - # On teste si le DESC du vecteur existe - if (desc==None): - raise Accas.AsException("L'objet vecteur n'existe pas ou \ - est mal cree par Code Aster") - # On teste si la taille du vecteur jeveux et python est identique - if desc[1] != numpy.shape(vecteur)[0] : - raise Accas.AsException("La taille du vecteur python est incorrecte") - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', - len(vecteur), - tuple(range(1, len(vecteur)+1)), - tuple(vecteur), - tuple(vecteur), - 1) - return - - def EXTR_VECT_GENE_C(self) : - """ retourne les valeurs du vecteur generalisee - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'") - - #ncham=self.get_name() - #ncham=ncham+(8-len(ncham))*' ' - #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'), complex) - valeur=numpy.array(self.sdj.VALE.get(), complex) - - return valeur - - def RECU_VECT_GENE_C(self,vecteur) : - """ envoie les valeurs d'un tableau numpy dans un vecteur generalise - complexe definie dans jeveux - Attributs ne retourne rien """ - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'") - import numpy - numpy.asarray(vecteur) - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet vecteur n'existe pas ou \ - est mal cree par Code Aster") - # On teste si la taille de la matrice jeveux et python est identique - if desc[1]<>numpy.shape(vecteur)[0] : - raise Accas.AsException("La taille du vecteur python est incorrecte") - tmpr=vecteur.real - tmpc=vecteur.imag - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', - len(tmpr), - tuple(range(1, len(tmpr)+1)), - tuple(tmpr), - tuple(tmpc), - 1) - return - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class vect_elem(ASSD): - cata_sdj = "SD.sd_vect_elem.sd_vect_elem" - -class vect_elem_depl_r(vect_elem): - pass - -class vect_elem_pres_r(vect_elem): - pass - -class vect_elem_pres_c(vect_elem): - pass - -class vect_elem_temp_r(vect_elem): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_AFFICHAGE() : return FACT(statut='f',max=1, - INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - INFO_TEMPS = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - UNITE = SIMP(statut='f',typ='I',val_min=1), - PAS = SIMP(statut='f',typ='I',val_min=1), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_ARCHIVAGE() : return FACT(statut='d',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - CHAM_EXCLU = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -def C_COMPORTEMENT(COMMAND=None) : #COMMUN# - - assert COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC','CALC_G','POST_GP','CALC_ESSAI_GEOMECA','CALC_EUROPLEXUS', - 'CALC_POINT_MAT','SIMU_POINT_MAT', 'DYNA_NON_LINE','STAT_NON_LINE','CALCUL','CALC_FORC_NONL', - 'CALC_IFS_DNL','CALC_PRECONT','CREA_RESU','LIRE_RESU','MACR_ECREVISSE','TEST_COMPOR',None) - - if COMMAND !='CALC_EUROPLEXUS': - mcfact = FACT(statut='f',min=1,max='**', - - RELATION =SIMP( statut='o',typ='TXM',defaut="ELAS",into=C_RELATION(COMMAND)), - b_monox = BLOC(condition = "RELATION == 'MONOCRISTAL' ", - fr="SD issue de DEFI_COMPOR", - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), - b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ", - fr="SD issue de DEFI_COMPOR", - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), - b_zmat = BLOC(condition = "RELATION == 'ZMAT' ", - fr="Comportement de la bibliotheque Zmat", - NB_VARI =SIMP(statut='o',typ='I',max=1), - UNITE =SIMP(statut='o',typ='I',max=1),), - b_umat = BLOC(condition = "RELATION == 'UMAT' ", - fr="Comportement utilisateur de type UMAT", - NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), - LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), - fr="Chemin vers la bibliothèque dynamique définissant le comportement UMAT"), - NOM_ROUTINE = SIMP(statut='o', typ='TXM', - fr="Nom de la routine UMAT dans la bibliothèque"),), - b_mfront = BLOC(condition = "RELATION == 'MFRONT' ", - fr="Comportement utilisateur de type MFRONT", - NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), - LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), - fr="Chemin vers la bibliothèque dynamique définissant le comportement MFRONT"), - NOM_ROUTINE = SIMP(statut='o', typ='TXM', - fr="Nom de la routine MFRONT dans la bibliothèque"),), - -# KITs - b_kit_ddi = BLOC(condition = "RELATION == 'KIT_DDI' ", - fr="relations de couplage fluage-plasticite", - RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=( - "VMIS_CINE_LINE", - "VMIS_ISOT_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "GLRC_DM", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "BETON_UMLV_FP", - "ROUSS_PR", - "BETON_DOUBLE_DP", - "ENDO_ISOT_BETON", - "MAZARS" - ),), - ), - b_kit_cg= BLOC(condition = "RELATION == 'KIT_CG' ", - fr="relations pour elements cables gaines", - RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=( - "CABLE_GAINE_FROT", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - "VMIS_CINE_LINE", - "PINTO_MENEGOTTO", - "ELAS", - "SANS" - ),), - ), - - b_kit_thm = BLOC(condition = "RELATION in ['KIT_HHM','KIT_HH','KIT_H','KIT_HM','KIT_THHM', \ - 'KIT_THH','KIT_THM','KIT_THV']", - fr="lois de comportements thermo-hydro-mecaniques", - RELATION_KIT =SIMP(statut='o',typ='TXM',max=9,validators=NoRepeat(), - into=( -# MECA - "ELAS", - "CJS", - "HUJEUX", - "CAM_CLAY", - "BARCELONE", - "LAIGLE", - "LETK", - "DRUCK_PRAGER", - "DRUCK_PRAG_N_A", - "VISC_DRUC_PRAG", - "ELAS_GONF", - "HOEK_BROWN_EFF", - "HOEK_BROWN_TOT", - "MAZARS", - "ENDO_ISOT_BETON", - "JOINT_BANDIS", - "CZM_LIN_REG", - "CZM_EXP_REG", -# THMC - "GAZ", - "LIQU_SATU", - "LIQU_GAZ_ATM", - "LIQU_VAPE_GAZ", - "LIQU_AD_GAZ_VAPE", - "LIQU_AD_GAZ", - "LIQU_VAPE", - "LIQU_GAZ", -# HYDR - "HYDR_UTIL", - "HYDR_VGM", - "HYDR_VGC", - "HYDR", - "HYDR_ENDO", - ),), - ), - b_kit_meta = BLOC(condition = "RELATION in ('META_LEMA_ANI','META_P_CL_PT_RE','META_P_CL_PT','META_P_CL_RE','META_P_CL',\ - 'META_P_IL_PT_RE','META_P_IL_PT','META_P_IL_RE','META_P_IL','META_P_INL_PT_RE','META_P_INL_PT','META_P_INL_RE','META_P_INL',\ - 'META_V_CL_PT_RE','META_V_CL_PT','META_V_CL_RE','META_V_CL','META_V_IL_PT_RE','META_V_IL_PT','META_V_IL_RE','META_V_IL',\ - 'META_V_INL_PT_RE','META_V_INL_PT','META_V_INL_RE','META_V_INL')", - fr="nombre de phases metallurgiques", - RELATION_KIT =SIMP(statut='o',typ='TXM',max=1,validators=NoRepeat(), - into=("ACIER","ZIRC"),), - ), - - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT", - into=("PETIT","PETIT_REAC","GROT_GDEP","SIMO_MIEHE","GDEF_HYPO_ELAS","GDEF_LOG")), - - # gestion des contraintes planes par la méthode itérative - - RESI_CPLAN_MAXI =SIMP(statut='f',typ='R', - fr="Critère d'arret absolu pour assurer la condition de contraintes planes"), - - b_resi_cplan =BLOC(condition = " RESI_CPLAN_MAXI == None ", - - RESI_CPLAN_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6, - fr="Critère d'arret relatif pour assurer la condition de contraintes planes"), - ), - - ITER_CPLAN_MAXI =SIMP(statut='f',typ='I',defaut= 1, - fr="Nombre d'itérations maxi pour assurer la condition de contraintes planes"), - # - RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 20 ), - - b_redec_local = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GROT_GDEP')", - fr="Nombre de redécoupages internes du pas de temps", - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - ALGO_INTE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE", "SECANTE", "DEKKER", "NEWTON_1D","BRENT", - "NEWTON", "NEWTON_RELI", "NEWTON_PERT", "RUNGE_KUTTA", - "SPECIFIQUE", "SANS_OBJET")), - - TYPE_MATR_TANG =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")), - - b_perturb =BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ", - fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation", - VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-5), - ), - - b_tangsec = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ", - fr="Modification evolutive de la matrice tangente/secante", - SEUIL =SIMP(statut='f',typ='R',defaut= 3. ), - AMPLITUDE =SIMP(statut='f',typ='R',defaut= 1.5 ), - TAUX_RETOUR =SIMP(statut='f',typ='R',defaut= 0.05 ), - ), - - b_crirupt = BLOC(condition = - " RELATION in ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',)", - fr="Critere de rupture selon une contrainte critique", - POST_ITER =SIMP(statut='f',typ='TXM',into=("CRIT_RUPT",), ), - ), - - PARM_THETA =SIMP(statut='f',typ='R',val_min=0.,val_max=1., defaut= 1.), - PARM_ALPHA =SIMP(statut='f',typ='R',defaut= 1. ), - - b_radi =BLOC(condition = "TYPE_MATR_TANG == None", - RESI_RADI_RELA =SIMP(statut='f',typ='R', ), - ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - ) - - else: - mcfact = FACT(statut='o',min=1,max='**', #COMMUN# - - RELATION = SIMP( statut='o',typ='TXM',defaut="ELAS",into=('ELAS','GLRC_DAMAGE')), - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ) - - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_CONVERGENCE() : return FACT(statut='d', - regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),), - b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", - regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE','FORC_REFE', - 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE','LAGR_REFE'),), - FORC_REFE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Force et Moment de référence pour les éléments de structure."), - SIGM_REFE =SIMP(statut='f',typ='R'), - DEPL_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - VARI_REFE =SIMP(statut='f',typ='R'), - LAGR_REFE =SIMP(statut='f',typ='R'), - ), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - RESI_COMP_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_INCREMENT(TYPE_CMD) : #COMMUN# -# - assert TYPE_CMD in ('THERMIQUE','MECANIQUE',) - kwargs = {} - statut_liste_inst = ' ' - -# La liste d'instants est facultative en thermique et obligatoire en mecanique - - if TYPE_CMD in ('THERMIQUE'): - statut_liste_inst = 'f' - elif TYPE_CMD in ('MECANIQUE'): - statut_liste_inst = 'o' - - kwargs['LIST_INST'] =SIMP(statut=statut_liste_inst,typ=(listr8_sdaster,list_inst)) - kwargs['NUME_INST_INIT'] =SIMP(statut='f',typ='I') - kwargs['INST_INIT'] =SIMP(statut='f',typ='R') - kwargs['NUME_INST_FIN'] =SIMP(statut='f',typ='I') - kwargs['INST_FIN'] =SIMP(statut='f',typ='R') - kwargs['PRECISION'] =SIMP(statut='f',typ='R',defaut=1.0E-6 ) - - mcfact = FACT(statut=statut_liste_inst,max='**', - regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), - EXCLUS('NUME_INST_FIN','INST_FIN'),), - **kwargs) - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_NEWTON() : return FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1,val_min=0), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOLE") ), - MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), - PAS_MINI_ELAS =SIMP(statut='f',typ='R',val_min=0.0), - REAC_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), - REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0,val_min=0), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -class NOM_CHAM_INTO: #COMMUN# - """ - """ - def Tous(self): - """ Tous les champs - """ - self.all_phenomenes = ('CONTRAINTE', 'DEFORMATION', 'ENERGIE', 'CRITERES', - 'VARI_INTERNE', 'HYDRAULIQUE', 'THERMIQUE', - 'ACOUSTIQUE', 'FORCE', 'ERREUR', 'DEPLACEMENT', - 'METALLURGIE', 'AUTRES') - d = {} - d['CONTRAINTE'] = { - "EFGE_ELGA": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux points de Gauss"), ), - "EFGE_ELNO": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux noeuds par élément"), ), - "EFGE_NOEU": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux noeuds"), ), - "SIEF_ELGA": ( ("lin",), - _(u"Contraintes et efforts aux points de Gauss"), ), - "SIEF_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes et efforts aux noeuds par élément"), ), - "SIEF_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes et efforts aux noeuds"), ), - "SIGM_ELGA": ( ("lin", "nonlin",), - _(u"Contraintes aux points de Gauss"), ), - "SIGM_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds par élément"), ), - "SIGM_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds"), ), - "SIPM_ELNO": ( ("lin","nonlin"), - _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), - "SIPO_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), - "SIPO_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds pour les éléments de poutre"), ), - "SIRO_ELEM": ( ("lin", "nonlin",), - _(u"Contraintes de rosette par élément"), ), - } - d['DEFORMATION'] = { - "DEGE_ELGA": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux points de Gauss"), ), - "DEGE_ELNO": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux noeuds par élément"), ), - "DEGE_NOEU": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux noeuds"), ), - "EPFD_ELGA": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux points de Gauss"), ), - "EPFD_ELNO": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux noeuds par élément"), ), - "EPFD_NOEU": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux noeuds"), ), - "EPFP_ELGA": ( ("nonlin",), - _(u"Déformations de fluage propre aux points de Gauss"), ), - "EPFP_ELNO": ( ("nonlin",), - _(u"Déformations de fluage propre aux noeuds par élément"), ), - "EPFP_NOEU": ( ("nonlin",), - _(u"Déformations de fluage propre aux noeuds"), ), - "EPME_ELGA": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux points de Gauss"), ), - "EPME_ELNO": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux noeuds par élément"), ), - "EPME_NOEU": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux noeuds"), ), - "EPMG_ELGA": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux points de Gauss"), ), - "EPMG_ELNO": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux noeuds par élément"), ), - "EPMG_NOEU": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux noeuds"), ), - "EPSG_ELGA": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux points de Gauss"), ), - "EPSG_ELNO": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux noeuds par élément"), ), - "EPSG_NOEU": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux noeuds"), ), - "EPSI_ELGA": ( ("lin", "nonlin",), - _(u"Déformations aux points de Gauss"), ), - "EPSI_ELNO": ( ("lin", "nonlin",), - _(u"Déformations aux noeuds par élément"), ), - "EPSI_NOEU": ( ("lin", "nonlin",), - _(u"Déformations aux noeuds"), ), - "EPSP_ELGA": ( ("nonlin",), - _(u"Déformations anélastique aux points de Gauss"), ), - "EPSP_ELNO": ( ("nonlin",), - _(u"Déformations anélastique aux noeuds par élément"), ), - "EPSP_NOEU": ( ("nonlin",), - _(u"Déformations anélastique aux noeuds"), ), - "EPVC_ELGA": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux points de Gauss"), ), - "EPVC_ELNO": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux noeuds par élément"), ), - "EPVC_NOEU": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux noeuds"), ), - } - d['ENERGIE'] = { - "DISS_ELEM": ( ("lin", "nonlin",), - _(u"Énergie de dissipation par élément"), ), - "DISS_ELGA": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux points de Gauss"), ), - "DISS_ELNO": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux noeuds par élément"), ), - "DISS_NOEU": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux noeuds"), ), - "ECIN_ELEM": ( ("lin",), - _(u"Énergie cinétique par élément"), ), - "ENEL_ELEM": ( ("lin", "nonlin",), - _(u"Énergie élastique par élément"), ), - "ENEL_ELGA": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux points de Gauss"), ), - "ENEL_ELNO": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux noeuds par élément"), ), - "ENEL_NOEU": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux noeuds"), ), - "EPOT_ELEM": ( ("lin",), - _(u"Énergie potentielle de déformation élastique par élément"), ), - "ETOT_ELEM": ( ("lin", "nonlin",), - _(u"Incrément d'énergie de déformation totale par élément"), ), - "ETOT_ELGA": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux points de Gauss"), ), - "ETOT_ELNO": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux noeuds par élément"), ), - "ETOT_NOEU": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux noeuds"), ), - } - d['CRITERES'] = { - "DERA_ELGA": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux points de Gauss"), ), - "DERA_ELNO": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux noeuds par élément"), ), - "DERA_NOEU": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux noeuds"), ), - "ENDO_ELGA": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux points de Gauss"), ), - "ENDO_ELNO": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux noeuds par élément"), ), - "ENDO_NOEU": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux noeuds"), ), - "EPEQ_ELGA": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux points de Gauss"), ), - "EPEQ_ELNO": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux noeuds par élément"), ), - "EPEQ_NOEU": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux noeuds"), ), - "EPMQ_ELGA": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux points de Gauss"), ), - "EPMQ_ELNO": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux noeuds par élément"), ), - "EPMQ_NOEU": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux noeuds"), ), - "INDL_ELGA": ( ("nonlin",), - _(u"Indicateur de localisation aux points de Gauss"), ), - "PDIL_ELGA": ( ("nonlin",), - _(u"Module de rigidité de micro-dilatation"), ), - "SIEQ_ELGA": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux points de Gauss"), ), - "SIEQ_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux noeuds par élément"), ), - "SIEQ_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux noeuds"), ), - } - d['VARI_INTERNE'] = { - "VAEX_ELGA": ( ("nonlin",), - _(u"Extraction d'une variable interne aux points de Gauss"), ), - "VAEX_ELNO": ( ("nonlin",), - _(u"Extraction d'une variable interne aux noeuds pas élément"), ), - "VAEX_NOEU": ( ("nonlin",), - _(u"Extraction d'une variable interne aux noeuds"), ), - "VARC_ELGA": ( ("lin", "nonlin",), - _(u"Variables de commande aux points de Gauss"), ), - "VARI_ELNO": ( ("nonlin",), - _(u"Variables internes aux noeuds pas élément"), ), - "VARI_NOEU": ( ("nonlin",), - _(u"Variables internes aux noeuds"), ), - } - d['HYDRAULIQUE'] = { - "FLHN_ELGA": ( ("nonlin",), - _(u"Flux hydrauliques aux points de Gauss"), ), - } - d['THERMIQUE'] = { - "TEMP_ELGA": ( (), - _(u"Température aux points de Gauss"), ), - "FLUX_ELGA": ( (), - _(u"Flux thermique aux points de Gauss"), ), - "FLUX_ELNO": ( (), - _(u"Flux thermique aux noeuds par élément"), ), - "FLUX_NOEU": ( (), - _(u"Flux thermique aux noeuds"), ), - "HYDR_NOEU": ( (), - _(u"Hydratation aux noeuds"), ), - "SOUR_ELGA": ( (), - _(u"Source de chaleur à partir d'un potentiel électrique"), ), - "ETHE_ELEM": ( (), - _(u"Énergie dissipée thermiquement"), ), - } - d['ACOUSTIQUE'] = { - "PRAC_ELNO": ( (), - _(u"Pression acoustique aux noeuds par élément"), ), - "PRAC_NOEU": ( (), - _(u"Pression acoustique aux noeuds"), ), - "PRME_ELNO": ( (), - _(u"Pression aux noeuds par élément pour les éléments FLUIDE"), ), - "INTE_ELNO": ( (), - _(u"Intensité acoustique aux noeuds par élément"), ), - "INTE_NOEU": ( (), - _(u"Intensité acoustique aux noeuds"), ), - } - d['FORCE'] = { - "FORC_NODA": ( (), - _(u"Forces nodales"), ), - "REAC_NODA": ( (), - _(u"Réactions nodales"), ), - } - d['ERREUR'] = { - "SIZ1_NOEU": ( (), - _(u"Contraintes lissées de Zhu-Zienkiewicz version 1 aux noeuds"), ), - "ERZ1_ELEM": ( (), - _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 1 par élément"), ), - "SIZ2_NOEU": ( (), - _(u"Contraintes lissées de Zhu-Zienkiewicz version 2 aux noeuds"), ), - "ERZ2_ELEM": ( (), - _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 2 par élément"), ), - "ERME_ELEM": ( (), - _(u"Indicateur d'erreur en résidu en mécanique par élément"), ), - "ERME_ELNO": ( (), - _(u"Indicateur d'erreur en résidu en mécanique aux noeuds par élément"), ), - "ERME_NOEU": ( (), - _(u"Indicateur d'erreur en résidu en mécanique aux noeuds"), ), - "QIRE_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu par élément"), ), - "QIRE_ELNO": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds par élément"), ), - "QIRE_NOEU": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds"), ), - "QIZ1_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 1 par élément"), ), - "QIZ2_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 2 par élément"), ), - "SING_ELEM": ( (), - _(u"Degré de singularité par élément"), ), - "SING_ELNO": ( (), - _(u"Degré de singularité aux noeuds par élément"), ), - "ERTH_ELEM": ( (), - _(u"Indicateur d'erreur en résidu en thermique par élément"), ), - "ERTH_ELNO": ( (), - _(u"Indicateur d'erreur en résidu en thermique aux noeuds par élément"), ), - "ERTH_NOEU": ( (), - _(u"Indicateur d'erreur en résidu en thermique aux noeuds"), ), - } - d['METALLURGIE'] = { - "DURT_ELNO": ( (), - _(u"Dureté aux noeuds par élément"), ), - "DURT_NOEU": ( (), - _(u"Dureté aux noeuds"), ), - "META_ELNO": ( (), - _(u"Proportion de phases métallurgiques aux noeuds par élément"), ), - "META_NOEU": ( (), - _(u"Proportion de phases métallurgiques aux noeuds"), ), - } - d['DEPLACEMENT'] = { - "ACCE": ( (), - _(u"Accélération aux noeuds"), ), - "ACCE_ABSOLU": ( (), - _(u"Accélération absolue aux noeuds"), ), - "DEPL": ( (), - _(u"Déplacements aux noeuds"), ), - "DEPL_ABSOLU": ( (), - _(u"Déplacements absolus aux noeuds"), ), - "STRX_ELGA": ( (), - _(u"Efforts généralisés à partir des déplacements en linéaire aux points de Gauss"), ), - "TEMP": ( (), - _(u"Température aux noeuds"), ), - "VITE": ( (), - _(u"Vitesse aux noeuds"), ), - "VALE_CONT": ( (), - _(u"Statuts de contact"), ), - "VARI_ELGA": ( (), - _(u"Variables internes aux points de Gauss"), ), - "VITE_ABSOLU": ( (), - _(u"Vitesse absolue aux noeuds"), ), - } - d['AUTRES'] = { - "COMPORTEMENT": ( (), - _(u"Carte de comportement mécanique"), ), - "COMPORTHER": ( (), - _(u"Carte de comportement thermique"), ), - "DEPL_VIBR": ( (), - _(u"Déplacement pour mode vibratoire"), ), - "DIVU": ( (), - _(u"Déformation volumique en THM"), ), - "EPSA_ELNO": ( (), - _(u"Déformations anélastique aux noeuds par élément"), ), - "EPSA_NOEU": ( (), - _(u"Déformations anélastique aux noeuds"), ), - "FERRAILLAGE": ( ("lin",), - _(u"Densité de ferraillage"), ), - "FSUR_2D": ( (), - _(u"Chargement de force surfacique en 2D"), ), - "FSUR_3D": ( (), - _(u"Chargement de force surfacique en 3D"), ), - "FVOL_2D": ( (), - _(u"Chargement de force volumique en 2D"), ), - "FVOL_3D": ( (), - _(u"Chargement de force volumique en 3D"), ), - "HYDR_ELNO": ( (), - _(u"Hydratation aux noeuds par élément"), ), - "IRRA": ( (), - _(u"Irradition aux noeuds"), ), - "MODE_FLAMB": ( (), - _(u"Mode de flambement"), ), - "MODE_STAB": ( (), - _(u"Mode de stabilité"), ), - "NEUT": ( (), - _(u"Variable de commande 'neutre'"), ), - "PRES": ( (), - _(u"Chargement de pression"), ), - "PTOT": ( (), - _(u"Pression totale de fluide en THM"), ), - "SISE_ELNO": ( (), - _(u"Contraintes aux noeuds par sous-élément"), ), - "SPMX_ELGA": ( (), - _(u"Valeurs maximum sur un sous-point"), ), - "THETA": ( (), - _(u"Champ theta"), ), - "VITE_VENT": ( (), - _(u"Chargement vitesse du vent"), ), - } - for typ in ('ELGA', 'ELNO', 'ELEM', 'NOEU', 'CART'): - for i in range(1, 11): - d['AUTRES']['UT%02d_%s' % (i, typ)]=( (), - _(u"Champ utilisateur numéro %02d_%s" % (i, typ)), ) - self.d_all = d - return - - def CheckPhenom(self): - """ Vérification de la cohérence entre les phenomènes et les clés - """ - l_keys = list(self.d_all.keys()) - l_phen = list(self.all_phenomenes) - uniq_keys = set(l_keys) - uniq_phen = set(l_phen) - if len(l_keys) != len(uniq_keys) or len(l_phen) != len(uniq_phen) : - for i in uniq_keys : - l_keys.remove(i) - assert len(l_keys) == 0, 'Keys must be unique: %s' % l_keys - for i in uniq_phen : - l_phen.remove(i) - assert len(l_phen) == 0, 'Phenomenon must be unique: %s' % l_phen - if len(l_keys) > len(l_phen) : - for i in l_phen : - l_keys.remove(i) - assert len(l_keys) == 0, 'Key %s not listed in the list of phenomenons' % l_keys - if len(l_keys) < len(l_phen) : - for i in l_keys: - l_phen.remove(i) - assert len(l_phen) == 0, 'Phenomenon %s not known as a key' % l_phen - - - def CheckField(self): - """ Vérification des doublons dans les noms des champs - """ - l_cham = [] - for phen in self.all_phenomenes: - l_cham.extend(self.d_all[phen].keys()) - uniq = set(l_cham) - if len(l_cham) != len(uniq): - for i in uniq: - l_cham.remove(i) - assert len(l_cham) == 0, 'Field names must be unique: %s' % l_cham - - - def InfoChamps(self, l_nom_cham): - """ on renvoie juste les informations relatives au(x) champ(s) - """ - d_cham = {}.fromkeys( l_nom_cham, ( '', '', '' ) ) - for nom_cham in l_nom_cham: - for phen in self.all_phenomenes: - for cham in self.d_all[phen].keys(): - if nom_cham == cham: - cate = self.d_all[phen][cham][0] - helptxt = self.d_all[phen][cham][1] - d_cham[nom_cham] = ( phen, cate, helptxt ) - return d_cham - - def Filtre(self, *l_typ_cham, **kwargs): - """ Check des doublons - """ - phenomene = kwargs.get('phenomene') - categorie = kwargs.get('categorie') - # Construction de la liste des champs en tenant compte des eventuels filtre (phenomene, categorie, l_typ_cham) - # ------------------------------------------------------------------------------------------------------------ - l_cham = [] - # Filtre par phenomene - if phenomene is None: - l_phen = self.all_phenomenes - else: - l_phen = [ phenomene ] - for phen in l_phen: - # parcours de tous les champs - for cham in self.d_all[phen].keys(): - isok = True - # Filtre par categorie - if categorie is not None: - lcat = self.d_all[phen][cham][0] - if type(lcat) not in (tuple, list): - lcat = [lcat, ] - if categorie in lcat: - isok = True - else: - isok = False - if isok: - l_cham.append(cham) - l_cham.sort() - # Filtre sur les types de champs - if len(l_typ_cham) == 0: - return tuple(l_cham) - l_ncham = [] - for typ in l_typ_cham : - for cham in l_cham : - if typ in cham.split('_'): - l_ncham.append(cham) - return tuple(l_ncham) - - def __init__(self): - self.Tous() - # check les doublons (fonctionnalite developpeur permettant de detecter les doublons dans les champs) - if 1: - self.CheckPhenom() - self.CheckField() - - def __call__(self, *l_typ_cham, **kwargs): - """Cette fonction retourne la liste des "into" possibles pour le mot-clé NOM_CHAM. - C'est à dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD). - l_typ_cham : rien ou un ou plusieurs parmi 'ELGA', 'ELNO', 'NOEU', 'ELEM'. - kwargs : un dictionnaire de mot-cles, les cles parmis : - 'phenomene' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le suivant) - 'categorie' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le precedent) - 'l_nom_cham' : (une liste ou un string) retourne uniqement les informations relatives au champ precise en argument - """ - l_nom_cham = kwargs.get('l_nom_cham') - if type(l_nom_cham) == str: - l_nom_cham = [ l_nom_cham ] - if l_nom_cham: - return self.InfoChamps(l_nom_cham) - else: - return self.Filtre(*l_typ_cham, **kwargs) - - -C_NOM_CHAM_INTO = NOM_CHAM_INTO() - -# person_in_charge: xavier.desroches at edf.fr -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# ce fichier contient la liste des noms des grandeurs de CODE_ASTER -def C_NOM_GRANDEUR() : return ( #COMMUN# -"ABSC_R", -"ADRSJEVE", -"ADRSJEVN", -"CAARPO", -"CACABL", -"CACOQU", -"CADISA", -"CADISK", -"CADISM", -"CAFI_R", -"CAGEBA", -"CAGEPO", -"CAGNBA", -"CAGNPO", -"CAMASS", -"CAORIE", -"CAPOUF", -"CARCRI", -"CASECT", -"CHLI_R", -"CODE_I", -"COEH_F", -"COEH_R", -"COMPOR", -"CORR_R", -"CRRU_R", -"DBEL_R", -"DCEL_I", -"DDLI_C", -"DDLI_F", -"DDLI_R", -"DDLM_C", -"DDLM_R", -"DEPL_C", -"DEPL_F", -"DEPL_R", -"DISS_R", -"DOMA_R", -"DURT_R", -"ENDO_R", -"ENER_R", -"EPSI_C", -"EPSI_F", -"EPSI_R", -"ERRE_R", -"FACY_R", -"FELECR", -"FER2_R", -"FISS_R", -"FLAPLA", -"FLUN_F", -"FLUN_R", -"FLUX_F", -"FLUX_R", -"FORC_C", -"FORC_F", -"FORC_R", -"FREQ_R", -"FTHM_F", -"FTHM_R", -"G", -"GEOM_R", -"G_DEPL_R", -"HARMON", -"HYDR_R", -"IMPE_C", -"IMPE_F", -"IMPE_R", -"INDL_R", -"INFC_R", -"INST_R", -"INTE_R", -"INTLOC", -"IRRA_R", -"ITECREL", -"ITEDEC", -"J", -"LISTMA", -"MACOMP", -"MASS_R", -"MATE_F", -"NBSP_I", -"NEUT_F", -"NEUT_I", -"NEUT_K16", -"NEUT_K24", -"NEUT_K8", -"NEUT_R", -"NUMC_I", -"NUMMOD", -"ONDE_F", -"ONDE_R", -"PESA_R", -"PDIL_R", -"PILO_K", -"PILO_R", -"POSI", -"PREC", -"PRES_C", -"PRES_F", -"PRES_R", -"RAYO_F", -"RAYO_R", -"RCCM_K", -"RCCM_R", -"RESCREL", -"RICE_TRA", -"ROTA_R", -"SECTION", -"SIEF_C", -"SIEF_R", -"SIZZ_R", -"SOUR_F", -"SOUR_R", -"SPMX_R", -"STRX_R", -"STAOUDYN", -"TEMP_C", -"TEMP_F", -"TEMP_R", -"THETA", -"VALO_R", -"VANL_R", -"VAR2_R", -"VARI_R", -"VENTCX_F", -"VNOR_C", -"VNOR_F", -"VOISIN", -"WEIBULL", -"XCONTAC", - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_OBSERVATION() : return FACT(statut='f',max=99, - TITRE =SIMP(statut='f',typ='TXM',max=1), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - into=("VALE_CONT","FORC_NODA", - "DEPL","VITE","ACCE","TEMP", - "SIEF_ELGA","VARI_ELGA", - "DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)), - - EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), - - NOM_CMP =SIMP(statut='o',typ='TXM',max=20), - EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("VALE","FORMULE",),), - - b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", - FORMULE = SIMP(statut='o',typ=formule,max=1), - ), - - b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ - (NOM_CHAM=='VITE') or \ - (NOM_CHAM=='ACCE') or \ - (NOM_CHAM=='TEMP') or \ - (NOM_CHAM=='FORC_NODA') or \ - (NOM_CHAM=='VALE_CONT') or \ - (NOM_CHAM=='DEPL_ABSOLU') or \ - (NOM_CHAM=='VITE_ABSOLU') or \ - (NOM_CHAM=='ACCE_ABSOLU')", - regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ - (NOM_CHAM=='VARI_ELGA')", - regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","VALE",),), - b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", - POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), - SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - ), - ), - - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - PAS_OBSE =SIMP(statut='f',typ='I'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - - ); - -# person_in_charge: mathieu.courtois at edf.fr -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes -def C_PARA_FONCTION() : return ( #COMMUN# - "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC", - "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP", - "AMOR","ABSC","ABSC_CURV","SIGM","HYDR","SECH","PORO","SAT", - "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO", - "NORM","EPAIS","NEUT1","NEUT2",) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: kyrylo.kazymyrenko at edf.fr -def C_PILOTAGE() : return FACT(statut='f', - regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION", - "ANA_LIM","SAUT_IMPO","SAUT_LONG_ARC") ), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), - EVOL_PARA =SIMP(statut='f',typ='TXM',defaut="SANS", into=("SANS","CROISSANT","DECROISSANT") ), - ETA_PILO_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_MIN =SIMP(statut='f',typ='R'), - ETA_PILO_R_MAX=SIMP(statut='f',typ='R'), - ETA_PILO_R_MIN=SIMP(statut='f',typ='R'), - PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", - into=("RESIDU","MIXTE","ANGL_INCR_DEPL","NORM_INCR_DEPL")), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - DIRE_PILO =SIMP(statut='f',typ='TXM',max='**'), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_RECH_LINEAIRE() : return FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE","PILOTAGE") ), - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3,val_max=999), - RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), - RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), - RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix@edf.fr -# -def C_RELATION( COMMAND ): - - if COMMAND in ('CALC_G',): - return ( "ELAS", #COMMUN# - "ELAS_VMIS_LINE", - "ELAS_VMIS_TRAC", - "ELAS_VMIS_PUIS", - "ELAS_HYPER", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - # relations interdites depuis issue21711, elles - # devront etre introduites dans le F90 si besoin - #"VMIS_CINE_LINE", - #"VMIS_ISOT_PUIS", - ) - elif COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC',): - return ( "ELAS", - "ELAS_VMIS_TRAC", - "VMIS_ISOT_TRAC", - ) - elif COMMAND =='DEFI_COMPOR' : - return ( "ELAS", #uniquement ce qui a du sens (cf doc) et qui fait l'objet d'un test - "BETON_UMLV_FP", - "BETON_DOUBLE_DP", - "CORR_ACIER", - "GRANGER_FP", - "GRANGER_FP_V", - "GRANGER_FP_INDT", - "GRAN_IRRA_LOG", - "MAZARS_GC", - "VISC_IRRA_LOG", - "VMIS_CINE_GC", - "VMIS_CINE_LINE", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - "VMIS_ISOT_PUIS", - ) - else : - return ( "ELAS", - "ELAS_VMIS_LINE", - "ELAS_VMIS_TRAC", - "ELAS_VMIS_PUIS", - "ELAS_HYPER", - "ELAS_POUTRE_GR", - "CABLE", - "ARME", - "ASSE_CORN", - "BARCELONE", - "BETON_BURGER_FP", - "BETON_DOUBLE_DP", - "BETON_RAG", - "BETON_REGLE_PR", - "BETON_UMLV_FP", - "CABLE_GAINE_FROT", - "CAM_CLAY", - "CJS", - "CORR_ACIER", - "CZM_EXP", - "CZM_EXP_REG", - "CZM_FAT_MIX", - "CZM_LIN_REG", - "CZM_OUV_MIX", - "CZM_TAC_MIX", - "CZM_LAB_MIX", - "CZM_TRA_MIX", - "DIS_BILI_ELAS", - "DIS_CHOC", - "DIS_ECRO_CINE", - "DIS_GOUJ2E_ELAS", - "DIS_GOUJ2E_PLAS", - "DIS_GRICRA", - "DIS_VISC", - "DRUCK_PRAGER", - "DRUCK_PRAG_N_A", - "ELAS_GONF", - "ELAS_HYPER", - "ENDO_CARRE", - "ENDO_FISS_EXP", - "ENDO_FRAGILE", - "ENDO_HETEROGENE", - "ENDO_ISOT_BETON", - "ENDO_ORTH_BETON", - "ENDO_SCALAIRE", - "GATT_MONERIE", - "GLRC_DAMAGE", - "GLRC_DM", - "DHRC", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "GRAN_IRRA_LOG", - "GRILLE_CINE_LINE", - "GRILLE_ISOT_LINE", - "GRILLE_PINTO_MEN", - "HAYHURST", - "HOEK_BROWN", - "HOEK_BROWN_EFF", - "HOEK_BROWN_TOT", - "HUJEUX", - "IRRAD3M", - "JOINT_BA", - "JOINT_BANDIS", - "JOINT_MECA_RUPT", - "JOINT_MECA_FROT", - "KIT_CG", - "KIT_DDI", - "KIT_HH", - "KIT_H", - "KIT_HHM", - "KIT_HM", - "KIT_THH", - "KIT_THHM", - "KIT_THM", - "KIT_THV", - "LAIGLE", - "LEMAITRE", - "LEMAITRE_IRRA", - "LEMA_SEUIL", - "LETK", - "LMARC_IRRA", - "MAZARS", - "MAZARS_GC", - "META_LEMA_ANI", - "META_P_CL", - "META_P_CL_PT", - "META_P_CL_PT_RE", - "META_P_CL_RE", - "META_P_IL", - "META_P_IL_PT", - "META_P_IL_PT_RE", - "META_P_IL_RE", - "META_P_INL", - "META_P_INL_PT", - "META_P_INL_PT_RE", - "META_P_INL_RE", - "META_V_CL", - "META_V_CL_PT", - "META_V_CL_PT_RE", - "META_V_CL_RE", - "META_V_IL", - "META_V_IL_PT", - "META_V_IL_PT_RE", - "META_V_IL_RE", - "META_V_INL", - "META_V_INL_PT", - "META_V_INL_PT_RE", - "META_V_INL_RE", - "MOHR_COULOMB", - "MONOCRISTAL", - "MULTIFIBRE", - "NORTON", - "NORTON_HOFF", - "PINTO_MENEGOTTO", - "POLYCRISTAL", - "ROUSSELIER", - "ROUSS_PR", - "ROUSS_VISC", - "RUPT_FRAG", - "SANS", - "VENDOCHAB", - "VISC_ENDO_LEMA", - "VISCOCHAB", - "VISC_CIN1_CHAB", - "VISC_CIN2_CHAB", - "VISC_CIN2_MEMO", - "VISC_CIN2_NRAD", - "VISC_MEMO_NRAD", - "VISC_DRUC_PRAG", - "VISC_IRRA_LOG", - "VISC_ISOT_LINE", - "VISC_ISOT_TRAC", - "VISC_TAHERI", - "VMIS_ASYM_LINE", - "VMIS_CIN1_CHAB", - "VMIS_CIN2_CHAB", - "VMIS_CINE_GC", - "VMIS_CIN2_MEMO", - "VMIS_CIN2_NRAD", - "VMIS_MEMO_NRAD", - "VMIS_CINE_LINE", - "VMIS_ECMI_LINE", - "VMIS_ECMI_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "VMIS_ISOT_TRAC", - "VMIS_JOHN_COOK", - "ZMAT", - "UMAT", - "MFRONT", - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: olivier.boiteau at edf.fr - -def C_SOLVEUR( COMMAND, BASE=None ) : #COMMUN# - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# VERIFICATIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - assert COMMAND in ('CALC_ERREUR', - 'CALC_FORC_AJOU', - 'CALC_IFS_DNL', - 'CALC_MATR_AJOU', - 'CALC_PRECONT', - 'CREA_ELEM_SSD', - 'DEFI_BASE_MODALE', - 'DYNA_LINE_HARM', - 'DYNA_LINE_TRAN', - 'DYNA_NON_LINE', - 'DYNA_TRAN_MODAL', - 'INFO_MODE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'MACRO_MATR_AJOU', - 'MECA_STATIQUE', - 'MODE_ITER_SIMULT', - 'MODE_ITER_INV', - 'MODE_STATIQUE', - 'MODE_NON_LINE', - 'STAT_NON_LINE', - 'THER_LINEAIRE', - 'THER_NON_LINE', - 'THER_NON_LINE_MO', - ) - - if BASE != None: - assert COMMAND == 'DYNA_LINE_HARM' - assert BASE in ('GENE','PHYS') - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# CLASSIFICATION EN 3 CATEGORIES : -# - solveurs directs uniquement -# - solveurs pour le linéaire -# - solveurs pour le non-linéaire -# -# GESTION DES EXCEPTIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _type = None - -# Classification ('SD'/'LIN'/'NL') - if COMMAND in ('CREA_ELEM_SSD', - 'DEFI_BASE_MODALE', - 'DYNA_LINE_HARM', - 'DYNA_TRAN_MODAL', - 'INFO_MODE', - 'MODE_ITER_SIMULT', - 'MODE_ITER_INV', - ): - _type = 'SD' - elif COMMAND in ('CALC_ERREUR', - 'CALC_FORC_AJOU', - 'CALC_MATR_AJOU', - 'DYNA_LINE_TRAN', - 'MACRO_MATR_AJOU', - 'MECA_STATIQUE', - 'MODE_STATIQUE', - 'THER_LINEAIRE', - 'THER_NON_LINE_MO', - ): - _type = 'LIN' - elif COMMAND in ('CALC_IFS_DNL', - 'CALC_PRECONT', - 'DYNA_NON_LINE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'STAT_NON_LINE', - 'THER_NON_LINE', - 'MODE_NON_LINE', - ): - _type = 'NL' - else: - assert False - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _dist = False - -# MATR_DISTRIBUEE ne fonctionnent que dans MECA_STATIQUE et MECA_NON_LINE - if COMMAND in ('CALC_IFS_DNL', - 'CALC_PRECONT', - 'DYNA_NON_LINE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'MECA_STATIQUE', - 'STAT_NON_LINE', - ): - _dist = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _gene = False - _ldlt = False - -# Avec des matrices généralisées, MULT_FRONT n'est pas permis, LDLT est donc par défaut - if BASE == 'GENE': - _gene = True - _ldlt = True - -# LDLT est le solveur par défaut dans DYNA_TRAN_MODAL (systèmes linéaires petits) - if COMMAND == 'DYNA_TRAN_MODAL': - _ldlt = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _syme = False - -# Seuls les opérateurs non-linéaires produisent des matrices non-symétriques - if _type == 'NL': - _syme = True - if COMMAND == 'THER_NON_LINE_MO': - _syme = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _singu = True - _rcmk = True - _resol = True - _cmodal = False - -# Avec les solveurs modaux STOP_SINGULIER n'existe pas, de plus RCMK n'est pas disponible - if COMMAND in ('INFO_MODE','MODE_ITER_INV','MODE_ITER_SIMULT'): - _cmodal= True - _singu = False - _rcmk = False -# Dans INFO_MODE on ne fait que factoriser - if COMMAND == 'INFO_MODE': - _resol = False - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _singu_non = False - -# Dans DEFI_BASE_MODALE, NON est le défaut de STOP_SINGULIER - if COMMAND == 'DEFI_BASE_MODALE': - _singu_non = True - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# INITIALISATIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# Mot-clés simples - _MotCleSimples={} - -# Solveurs - _BlocMF={} - _BlocLD={} - _BlocMU={} - _BlocGC={} - _BlocPE={} - -# Préconditionneurs - _BlocGC_INC={} - _BlocPE_INC={} - _BlocXX_SP={} - _BlocPE_ML={} - _BlocPE_BOOMER={} - _BlocXX_Autres={} - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MOT-CLES SIMPLES : METHODE -# SYME -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# METHODE - if (_ldlt): - _defaut = "LDLT" - else: - _defaut = "MULT_FRONT" - - if _type == 'SD': - _into = ("MULT_FRONT", "LDLT", "MUMPS", ) - if _gene: - _into = ("LDLT", "MUMPS", ) - else: - _into = ("MULT_FRONT", "LDLT", "MUMPS", "GCPC", "PETSC", ) - - if COMMAND =='MODE_NON_LINE': - _defaut = "MUMPS" - _into = ("MUMPS",) - - _MotCleSimples['METHODE'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - -# SYME - if _syme: - _MotCleSimples['SYME'] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MULT_FRONT/LDLT/MUMPS (RENUM/NPREC/STOP_SINGULIER) -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# RENUM - _BlocMF['RENUM'] = SIMP(statut='f', typ='TXM', defaut="METIS", into=("MD", "MDA", "METIS", ), ) - - if _rcmk: - _into = ("RCMK", "SANS", ) - _defaut = "RCMK" - else: - _into = ("SANS",) - _defaut = "SANS" - - _BlocLD['RENUM'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - - _BlocMU['RENUM'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("AMD", "AMF", "PORD", "METIS", "QAMD", "SCOTCH", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# NPREC - _BlocMF['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - _BlocLD['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - _BlocMU['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# ELIM_LAGR - - if not _cmodal : - _BlocPE['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocMF['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocLD['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("OUI", "NON", "LAGR2"), ) - else : - _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("NON", "LAGR2"), ) - - -# ---------------------------------------------------------------------------------------------------------------------------------- -# STOP_SINGULIER - _into = ("OUI", "NON", ) - _defaut = "OUI" - - if _singu_non: - _defaut = "NON" - - if _singu: - _BlocMF['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - _BlocLD['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - _BlocMU['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MUMPS (MOT-CLES RESTANT) -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['TYPE_RESOL' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("NONSYM", "SYMGEN", "SYMDEF", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['PRETRAITEMENTS' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _resol: - _BlocMU['POSTTRAITEMENTS'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", "FORCE", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['PCENT_PIVOT' ] = SIMP(statut='f', typ='I' , defaut=20, val_min=1, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _resol: - if _type == 'LIN': - _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=1.0E-6, ) - else: - _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=-1.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['GESTION_MEMOIRE'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("IN_CORE", "OUT_OF_CORE", "AUTO", "EVAL"), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _type == 'NL': - _BlocMU['FILTRAGE_MATRICE'] = SIMP(statut='f', typ='R' , defaut=-1.0, ) - _BlocMU['MIXER_PRECISION' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _dist: - _BlocMU['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - _BlocPE['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# GCPC/PETSC -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE['ALGORITHME'] = SIMP(statut='f', typ='TXM', defaut="GMRES", into=("CG", "CR", "GMRES", "GCR", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_INC", into=("LDLT_INC", "LDLT_SP", ), ) - _BlocPE['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_SP" , - into=("LDLT_INC", "LDLT_SP", "JACOBI", "SOR", "ML", "BOOMER", "SANS", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) - _BlocPE['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) - _BlocPE['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# Mot-cle cache pour desactiver le critere en norme non preconditionnee dans PETSC - - if _type == 'NL': - _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= -1.0, ) - else: - _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= 0.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) - _BlocPE_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) - _BlocPE_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_INC['REMPLISSAGE'] = SIMP(statut='f', typ='R', defaut= 1.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocXX_SP['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - _BlocXX_SP['REAC_PRECOND'] = SIMP(statut='f', typ='I', defaut=30, ) - _BlocXX_SP['PCENT_PIVOT' ] = SIMP(statut='f', typ='I', defaut=20, val_min=1, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_ML['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_BOOMER['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocXX_Autres['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS","RCMK", ), ) - - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# PREPARATION DU MOT-CLE FACTEUR -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - mcfact = FACT(statut='d', - b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - **_BlocMF - ), - b_ldlt = BLOC(condition = "METHODE == 'LDLT' ", - fr="Paramètres de la méthode LDLT", - **_BlocLD - ), - b_mumps = BLOC(condition = "METHODE == 'MUMPS' ", - fr="Paramètres de la méthode MUMPS", - **_BlocMU - ), - b_gcpc = BLOC(condition = "METHODE == 'GCPC' ", - fr="Paramètres de la méthode du gradient conjugué", - b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", - fr="Paramètres de la factorisation incomplète", - **_BlocGC_INC - ), - b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", - fr="Paramètres de la factorisation simple précision", - **_BlocXX_SP - ), - **_BlocGC - ), - b_petsc = BLOC(condition = "METHODE == 'PETSC' ", - fr="Paramètres de la méthode PETSC", - b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", - fr="Paramètres de la factorisation incomplète", - **_BlocPE_INC - ), - b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", - fr="Paramètres de la factorisation simple précision", - **_BlocXX_SP - ), - b_ml = BLOC(condition = "PRE_COND == 'ML' ", - fr="Paramètres du multigrille algébrique ML", - **_BlocPE_ML - ), - b_boomer = BLOC(condition = "PRE_COND == 'BOOMER' ", - fr="Paramètres du multigrille algébrique HYPRE", - **_BlocPE_BOOMER - ), - b_autres = BLOC(condition = "PRE_COND == 'JACOBI' or \ - PRE_COND == 'SOR' or \ - PRE_COND == 'SANS'", - **_BlocXX_Autres - ), - **_BlocPE - ), - **_MotCleSimples - ) - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_SUIVI_DDL() : return FACT(statut='f',max=4, - - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - into=("DEPL","VITE","ACCE", - "FORC_NODA", - "SIEF_ELGA","VARI_ELGA",)), - - EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), - - NOM_CMP =SIMP(statut='o',typ='TXM',max=20), - EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("VALE","FORMULE",),), - - b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", - FORMULE = SIMP(statut='o',typ=formule,max=1), - ), - - b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ - (NOM_CHAM=='VITE') or \ - (NOM_CHAM=='ACCE') or \ - (NOM_CHAM=='FORC_NODA') or \ - (NOM_CHAM=='VALE_CONT')", - regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ - (NOM_CHAM=='VARI_ELGA')", - regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","VALE",),), - b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", - POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), - SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - ), - ), - - TITRE = SIMP(statut='f',typ='TXM',max=3), - - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def C_TEST_REFERENCE(keyword, max=1): #COMMUN# - """Mots-clés communs pour TEST_RESU, TEST_TABLE, TEST_FONCTION. - On retourne un bloc pour ajouter la règle UN_PARMI.""" - assert keyword in ('CHAM_NO', 'CHAM_ELEM', 'CARTE', 'RESU', 'GENE', 'OBJET', - 'TABLE', 'FONCTION', 'FICHIER') - with_int = keyword not in ('FONCTION', 'FICHIER') - with_complex = keyword not in ('OBJET', 'FICHIER') - with_string = keyword in ('FICHIER', 'TABLE') - vale_abs = keyword not in ('CARTE', 'FICHIER') - type_test = keyword not in ('CARTE', 'GENE', 'OBJET') - multi_prec = keyword in ('RESU', 'GENE') - reference = keyword not in ('FICHIER', ) - un_parmi = keyword not in ('FICHIER', ) - - opts = {} - opts_ref = {} - types = ['',] - def add_type(typ): - ttyp = typ == 'K' and 'TXM' or typ - types.append('_' + typ) - opts['VALE_CALC_' + typ] = SIMP(statut='f',typ=ttyp,max=max) - opts_ref['VALE_REFE_' + typ] = SIMP(statut='f',typ=ttyp,max=max) - if with_int: - add_type('I') - if with_complex: - add_type('C') - if with_string: - add_type('K') - if vale_abs: - opts['VALE_ABS'] = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")) - if type_test: - opts['TYPE_TEST'] = SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")) - if not multi_prec: - opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',defaut=1.e-6) - opts['CRITERE'] = SIMP(statut='f',typ='TXM',defaut='RELATIF',into=("RELATIF","ABSOLU")) - else: - opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',max=2) - opts['CRITERE'] = SIMP(statut='f',typ='TXM',max=2,into=("RELATIF","ABSOLU")) - if un_parmi: - opts['regles'] = (UN_PARMI(*['VALE_CALC' + t for t in types])) - opts_ref['regles'] = (UN_PARMI(*['VALE_REFE' + t for t in types])) - if reference: - opts['b_reference'] = BLOC(condition = "REFERENCE != None", - VALE_REFE = SIMP(statut='f',typ='R',max=max), - PRECISION = SIMP(statut='f',typ='R',defaut=1.e-3), - **opts_ref) - opts['REFERENCE'] = SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER","NON_DEFINI")) - kwargs = { - 'b_values' : BLOC(condition = "True", - VALE_CALC = SIMP(statut='f',typ='R',max=max), - LEGENDE = SIMP(statut='f',typ='TXM'), - **opts - ) - } - return kwargs - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM -def C_TYPE_CHAM_INTO( type_cham=None ) : #COMMUN# -# Si aucun argument n'est passe, on utilise tous les types de champs possibles - if ( type_cham is None ) : - l_cham = ["ELEM", "ELNO", "ELGA", "CART", "NOEU"] -# Sinon, on n'utilise que les types passes en argument - else : - l_cham = [] - for typ in type_cham : - l_cham.append(typ) - - l = [] - for gd in C_NOM_GRANDEUR() : - if gd != "VARI_R" : - for typ in l_cham : - l.append(typ+"_"+gd) - else : - # il ne peut pas exister NOEU_VARI_R ni CART_VARI_R (il faut utiliser VAR2_R): - for typ in l_cham : - if typ not in ("CART", "NOEU") : - l.append(typ+"_"+gd) - - return tuple(l) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# 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 caracteristiques a des elements de structure", - reentrant='n', - UIinfo ={"groupes":("Modélisation",)}, - regles = (AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', - 'GRILLE','MEMBRANE','MULTIFIBRE','RIGI_PARASOL'), - PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'), - EXCLUS('DISCRET','DISCRET_2D'),), - MODELE = SIMP(statut='o',typ=modele_sdaster ), - INFO = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), - VERIF = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ), - -# ============================================================================ - POUTRE = FACT(statut= 'f',max= '**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'), - GROUP_MA = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), - SECTION = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), - b_generale = BLOC(condition = " SECTION == 'GENERALE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), - PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), - TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), - NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), - CARA = SIMP(statut= 'f',typ= 'TXM',validators= NoRepeat(),min= 4 ,max= 15, - fr= "A,IY,IZ,JX sont des paramètres obligatoires", - into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", - "JG","IYR2","IZR2","AI") ), - VALE = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 8 ,max= 30, - fr= "A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires", - into= ("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", - "RZ1","RT1","JG1","IYR21","IZR21","AI1", - "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", - "RZ2","RT2","JG2","IYR22","IZR22","AI2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 8 ,max= 30),), - ), - b_rectangle = BLOC(condition = "SECTION == 'RECTANGLE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 4, - into= ("H","EP", "HY","HZ","EPY","EPZ") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 8, - into= ("H1","HZ1","HY1","EP1","EPY1","EPZ1", - "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 8), ), - b_affine = BLOC(condition = "VARI_SECT == 'AFFINE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 3 ,max= 6, - into= ("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 3 ,max= 6), ), - ), - b_cercle = BLOC(condition = " SECTION == 'CERCLE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 2, - fr= "R est un paramètre obligatoire", - into= ("R","EP") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 2), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 4, - fr= "R1, R2 sont des paramètres obligatoires", - into= ("R1","R2","EP1","EP2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 4), ), - MODI_METRIQUE = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), - FCX = SIMP(statut= 'f',typ= (fonction_sdaster,nappe_sdaster,formule) ), - TUYAU_NSEC = SIMP(statut= 'f',typ= 'I',val_max= 32,defaut= 16), - TUYAU_NCOU = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), - ), - ), - -# ============================================================================ - BARRE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SECTION = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), - b_generale = BLOC(condition = "SECTION=='GENERALE'", - regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), - PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), - TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), - NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), - CARA = SIMP(statut='f',typ='TXM',into=("A",) ), - VALE = SIMP(statut='f',typ='R',min=1,max=1 ), ), - b_rectangle = BLOC(condition = "SECTION=='RECTANGLE'", - CARA = SIMP(statut='o',typ='TXM', - into=("H","EP","HZ","HY","EPY","EPZ"), - validators=NoRepeat(),min=1,max=4 ), - VALE = SIMP(statut='o',typ='R',min=1,max=4 ), ), - b_cercle = BLOC(condition = "SECTION=='CERCLE'", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ), - VALE = SIMP(statut='o',typ='R',min=1,max=2 ), ), - FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -# ============================================================================ - COQUE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA' ), - EXCLUS('ANGL_REP','VECTEUR'), - PRESENT_PRESENT( 'EXCENTREMENT', 'INER_ROTA' ), - PRESENT_PRESENT( 'EXCENTREMENT_FO','INER_ROTA' ), - UN_PARMI('EPAIS','EPAIS_FO' ), - EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - EPAIS = SIMP(statut='f',typ='R' ), - EPAIS_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_REP = SIMP(statut='f',typ='R',min=2,max=2), - VECTEUR = SIMP(statut='f',typ='R',min=3,max=3), - A_CIS = SIMP(statut='f',typ='R',defaut= 0.8333333E0), - COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-5 ), - COQUE_NCOU = SIMP(statut='f',typ='I',defaut= 1 ), - EXCENTREMENT = SIMP(statut='f',typ='R' ), - EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - INER_ROTA = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MODI_METRIQUE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - -# ============================================================================ - CABLE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - N_INIT = SIMP(statut='f',typ='R',defaut= 5000. ), - SECTION = SIMP(statut='f',typ='R' ), - FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -# ============================================================================ - DISCRET = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - b_SYME_OUI = BLOC(condition="SYME=='OUI'", - fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE - b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", - fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", - fr="SEGMENT: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 78 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=78,max=78),), - # Affection des caractéristiques de MASSE - b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", - fr="NOEUD: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", - fr="SEGMENT: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", - fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentrement", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=10,max=10),), - b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", - fr="SEGMENT: 1 valeur de masse, 3 valeurs du tenseur d'inertie", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4,max=4),), - ), - # éléments à matrice non-symétrique - # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' - # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' - # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' - # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' - b_SYME_NON = BLOC(condition="SYME=='NON'", - fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE - b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 9 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=9 ,max=9 ),), - b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 144 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=144,max=144),), - ), - ), -# ============================================================================ - DISCRET_2D = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - b_SYME_OUI = BLOC(condition="SYME=='OUI'", - fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE - b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", - fr="NOEUD: 2 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", - fr="SEGMENT: 2 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", - fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 10 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=10,max=10),), - b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6),), - b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - # Affection des caractéristiques de MASSE - b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", - fr="NOEUD: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", - fr="SEGMENT: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", - fr="NOEUD: 1 valeur de masse, 1 valeur d'inertie, 2 composantes du vecteur d'excentrement", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), - b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", - fr="SEGMENT: 1 valeur de masse, 1 valeur d'inertie", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - ), - # éléments à matrice non-symétrique - # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' - # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' - # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' - # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' - b_SYME_NON = BLOC(condition="SYME=='NON'", - fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE - b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 4 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), - b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 16 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=16,max=16),), - b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 9 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=9 ,max=9),), - b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - ), - ), -# ============================================================================ - ORIENTATION = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - CARA = SIMP(statut='o',typ='TXM', - into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ), - VALE = SIMP(statut='o',typ='R',max='**'), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-4 ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -# ============================================================================ - DEFI_ARC = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE', - 'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'), - PRESENT_PRESENT('ORIE_ARC','RAYON'), - EXCLUS('COEF_FLEX','COEF_FLEX_XY'), - EXCLUS('COEF_FLEX','COEF_FLEX_XZ'), - EXCLUS('INDI_SIGM','INDI_SIGM_XY'), - EXCLUS('INDI_SIGM','INDI_SIGM_XZ'), - PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'), - PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ORIE_ARC = SIMP(statut='f',typ='R'), - CENTRE = SIMP(statut='f',typ='R',max='**'), - NOEUD_CENTRE = SIMP(statut='f',typ=no), - GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), - POIN_TANG = SIMP(statut='f',typ='R',max='**'), - NOEUD_POIN_TANG = SIMP(statut='f',typ=no), - GROUP_NO_POIN_TG = SIMP(statut='f',typ=grno), - RAYON = SIMP(statut='f',typ='R'), - COEF_FLEX = SIMP(statut='f',typ='R'), - INDI_SIGM = SIMP(statut='f',typ='R'), - COEF_FLEX_XY = SIMP(statut='f',typ='R'), - INDI_SIGM_XY = SIMP(statut='f',typ='R'), - COEF_FLEX_XZ = SIMP(statut='f',typ='R'), - INDI_SIGM_XZ = SIMP(statut='f',typ='R'), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -#============================================================================ - MASSIF = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'), - EXCLUS('ANGL_REP','ANGL_EULER'), - EXCLUS('ANGL_REP','ANGL_AXE'), - EXCLUS('ANGL_REP','ORIG_AXE'), - PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ANGL_REP = SIMP(statut='f',typ='R',max=3), - ANGL_EULER = SIMP(statut='f',typ='R',min=3,max=3), - ANGL_AXE = SIMP(statut='f',typ='R',max=2), - ORIG_AXE = SIMP(statut='f',typ='R',max=3), - ), - -# ============================================================================ - POUTRE_FLUI = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - B_T = SIMP(statut='o',typ='R'), - B_N = SIMP(statut='o',typ='R'), - B_TN = SIMP(statut='o',typ='R',defaut= 0.E+0 ), - A_FLUI = SIMP(statut='o',typ='R'), - A_CELL = SIMP(statut='o',typ='R'), - COEF_ECHELLE = SIMP(statut='o',typ='R'), - ), - -# ============================================================================ - GRILLE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - EXCLUS('ANGL_REP','AXE'), - UN_PARMI('SECTION','SECTION_FO' ), - EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'), ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SECTION = SIMP(statut='f',typ='R'), - SECTION_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_REP = SIMP(statut='f',typ='R',max=2), - EXCENTREMENT = SIMP(statut='f',typ='R'), - EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - AXE = SIMP(statut='f',typ='R',max='**'), - COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-10 ), - ), - -# ============================================================================ - MEMBRANE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - EXCLUS('ANGL_REP','AXE'), - ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ANGL_REP = SIMP(statut='f',typ='R',max=2), - AXE = SIMP(statut='f',typ='R',max='**'), - ), - -#============================================================================ - RIGI_PARASOL = FACT(statut='f',max='**', - regles = (UN_PARMI('COEF_GROUP','FONC_GROUP'), - UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), - EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),), - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Surface servant à répartir les caractéristiques des discrets"), - GROUP_MA_POI1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type point correspondant aux discrets"), - GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type seg2 correspondant aux discrets"), - FONC_GROUP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_GROUP = SIMP(statut='f',typ='R',max='**'), - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2, - into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", - "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"), - fr="Choix des types de discrets du tapis de ressorts." ), - b_cara= BLOC(condition =""" au_moins_un(CARA, ["K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", - "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"]) or \ - (len(CARA)==2 and CARA[0][2:]==CARA[1][2:])""", - fr="Valeurs pour les discrets du tapis de ressorts.", - VALE = SIMP(statut='o',typ='R',max='**', - fr="Valeurs pour les discrets du tapis de ressorts.",), - ), - GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), - NOEUD_CENTRE = SIMP(statut='f',typ=no), - COOR_CENTRE = SIMP(statut='f',typ='R',min=2,max=3), - EUROPLEXUS = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), - UNITE = SIMP(statut='f',typ='I',val_min=1), - ), - -#============================================================================ - RIGI_MISS_3D = FACT(statut='f',max='**', - GROUP_MA_POI1 = SIMP(statut='o',typ=grma,max=1), - GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,max=1), - FREQ_EXTR = SIMP(statut='o',typ='R',max=1), - UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=30), - ), - -#============================================================================ - MASS_AJOU = FACT(statut='f',max='**', - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Surface servant à répartir les caractéristiques des discrets"), - GROUP_MA_POI1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type point correspondant aux discrets"), - FONC_GROUP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -#============================================================================ - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, - fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"), - - MULTIFIBRE = FACT(statut='f',max='**', - regles = (AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_FIBRE = SIMP(statut='o',typ='TXM',max='**'), - PREC_AIRE = SIMP(statut= 'f',typ= 'R',defaut= 0.01), - PREC_INERTIE = SIMP(statut= 'f',typ= 'R',defaut= 0.1), - ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# -AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, - fr="Affectation de charges et conditions aux limites acoustiques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Acoustique",)}, - regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les pressions imposées", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - PRES_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='C' ), - ), - VITE_FACE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ='C' ), - ), - IMPE_FACE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ='C' ), - ), - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args): - if MECA_IMPO != None : return char_cine_meca - if THER_IMPO != None : return char_cine_ther - if ACOU_IMPO != None : return char_cine_acou - if EVOL_IMPO != None : - if AsType(EVOL_IMPO) in (evol_elas,evol_noli) : - return char_cine_meca - elif AsType(EVOL_IMPO) in (evol_ther,) : - return char_cine_ther - else : - raise AsException("Extension à faire ...") - - raise AsException("type de concept resultat non prevu") - - -AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod - ,fr="Affectation de conditions aux limites cinématiques (U=U0) pour un traitement sans dualisation", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'), - ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - - MECA_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF', - 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', - 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - UI2 =SIMP(statut='f',typ='R' ), - UI3 =SIMP(statut='f',typ='R' ), - UI4 =SIMP(statut='f',typ='R' ), - UI5 =SIMP(statut='f',typ='R' ), - UI6 =SIMP(statut='f',typ='R' ), - UO2 =SIMP(statut='f',typ='R' ), - UO3 =SIMP(statut='f',typ='R' ), - UO4 =SIMP(statut='f',typ='R' ), - UO5 =SIMP(statut='f',typ='R' ), - UO6 =SIMP(statut='f',typ='R' ), - VI2 =SIMP(statut='f',typ='R' ), - VI3 =SIMP(statut='f',typ='R' ), - VI4 =SIMP(statut='f',typ='R' ), - VI5 =SIMP(statut='f',typ='R' ), - VI6 =SIMP(statut='f',typ='R' ), - VO2 =SIMP(statut='f',typ='R' ), - VO3 =SIMP(statut='f',typ='R' ), - VO4 =SIMP(statut='f',typ='R' ), - VO5 =SIMP(statut='f',typ='R' ), - VO6 =SIMP(statut='f',typ='R' ), - WI2 =SIMP(statut='f',typ='R' ), - WI3 =SIMP(statut='f',typ='R' ), - WI4 =SIMP(statut='f',typ='R' ), - WI5 =SIMP(statut='f',typ='R' ), - WI6 =SIMP(statut='f',typ='R' ), - WO2 =SIMP(statut='f',typ='R' ), - WO3 =SIMP(statut='f',typ='R' ), - WO4 =SIMP(statut='f',typ='R' ), - WO5 =SIMP(statut='f',typ='R' ), - WO6 =SIMP(statut='f',typ='R' ), - WO =SIMP(statut='f',typ='R' ), - WI1 =SIMP(statut='f',typ='R' ), - WO1 =SIMP(statut='f',typ='R' ), - GONF =SIMP(statut='f',typ='R' ), - H1X =SIMP(statut='f',typ='R' ), - H1Y =SIMP(statut='f',typ='R' ), - H1Z =SIMP(statut='f',typ='R' ), - E1X =SIMP(statut='f',typ='R' ), - E1Y =SIMP(statut='f',typ='R' ), - E1Z =SIMP(statut='f',typ='R' ), - E2X =SIMP(statut='f',typ='R' ), - E2Y =SIMP(statut='f',typ='R' ), - E2Z =SIMP(statut='f',typ='R' ), - E3X =SIMP(statut='f',typ='R' ), - E3Y =SIMP(statut='f',typ='R' ), - E3Z =SIMP(statut='f',typ='R' ), - E4X =SIMP(statut='f',typ='R' ), - E4Y =SIMP(statut='f',typ='R' ), - E4Z =SIMP(statut='f',typ='R' ), - V11 =SIMP(statut='f',typ='R' ), - V12 =SIMP(statut='f',typ='R' ), - V13 =SIMP(statut='f',typ='R' ), - V21 =SIMP(statut='f',typ='R' ), - V22 =SIMP(statut='f',typ='R' ), - V23 =SIMP(statut='f',typ='R' ), - V31 =SIMP(statut='f',typ='R' ), - V32 =SIMP(statut='f',typ='R' ), - V33 =SIMP(statut='f',typ='R' ), - PRES11 =SIMP(statut='f',typ='R' ), - PRES12 =SIMP(statut='f',typ='R' ), - PRES13 =SIMP(statut='f',typ='R' ), - PRES21 =SIMP(statut='f',typ='R' ), - PRES22 =SIMP(statut='f',typ='R' ), - PRES23 =SIMP(statut='f',typ='R' ), - PRES31 =SIMP(statut='f',typ='R' ), - PRES32 =SIMP(statut='f',typ='R' ), - PRES33 =SIMP(statut='f',typ='R' ), - LH1 =SIMP(statut='f',typ='R' ), - GLIS =SIMP(statut='f',typ='R' ), - ), - - THER_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ='R' ), - TEMP_MIL =SIMP(statut='f',typ='R' ), - TEMP_SUP =SIMP(statut='f',typ='R' ), - TEMP_INF =SIMP(statut='f',typ='R' ), - ), - - ACOU_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='C' ), - ), - - EVOL_IMPO =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer les ddls d'un evol_xxx"), - b_evol_impo = BLOC ( condition = "EVOL_IMPO != None", - NOM_CMP =SIMP(statut='f',typ='TXM',max='**',), # pour n'imposer que certaines CMPS (par défaut : toutes) - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args): - if MECA_IMPO != None : return char_cine_meca - if THER_IMPO != None : return char_cine_ther - raise AsException("type de concept resultat non prevu") - -AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_prod, - fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres" - +" pour un traitement sans dualisation", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(UN_PARMI('MECA_IMPO','THER_IMPO')), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - MECA_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF', - 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', - 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V11 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V12 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V13 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V21 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V22 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V23 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V31 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V32 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V33 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES11=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES12=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES13=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES21=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES22=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES23=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES31=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES32=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES33=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - LH1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - ), - THER_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('EVOL_CHAR','PESANTEUR','ROTATION','DDL_IMPO','DDL_POUTRE','FACE_IMPO', - 'CHAMNO_IMPO','ARETE_IMPO', - 'LIAISON_DDL','LIAISON_OBLIQUE','LIAISON_GROUP','LIAISON_MAIL', - 'LIAISON_CYCL','LIAISON_SOLIDE','LIAISON_ELEM','LIAISON_UNIF', - 'LIAISON_CHAMNO','LIAISON_RBE3','LIAISON_INTERF', - 'VECT_ASSE', - 'FORCE_NODALE','FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', - 'PRE_SIGM','PRES_REP','EFFE_FOND','PRE_EPSI','FORCE_POUTRE','FORCE_TUYAU', - 'FORCE_COQUE','LIAISON_COQUE','RELA_CINE_BP','FORCE_ELEC','INTE_ELEC', - 'IMPE_FACE','VITE_FACE','ONDE_FLUI','FLUX_THM_REP','FORCE_SOL',), - ), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - EVOL_CHAR =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul", - typ=evol_char ), - - PESANTEUR =FACT(statut='f',max=1,fr="Champ de pesanteur", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GRAVITE =SIMP(statut='o',typ='R',min=1,max=1), - DIRECTION =SIMP(statut='o',typ='R',min=3,max=3),), - - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - ROTATION =FACT(statut='f', max=1, - fr="Définition d'un chargement de rotation", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(), max='**'), - MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VITESSE =SIMP(statut='o', typ='R',min=1,max=1), - AXE =SIMP(statut='o', typ='R',min=2, max=3), - CENTRE =SIMP(statut='f',typ='R',min=2, max=3), - b_rotation_tout=BLOC(condition="(GROUP_MA == None) and (MAILLE ==None)", - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),),), - - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON', - 'H1X','H1Y','H1Z','H2X','H2Y','H2Z','H3X','H3Y','H3Z','H4X','H4Y','H4Z', - 'E1X','E1Y','E1Z','E2X','E2Y','E2Z','E3X','E3Y','E3Z','E4X','E4Y','E4Z', - 'LAGS_C','LAGS_F1','LAGS_F2','LAG2_C','LAG2_F1','LAG2_F2','LAG3_C','LAG3_F1', - 'V11','V12','V13','V21','V22','V23','V31','V32','V33', - 'PRES11','PRES12','PRES13','PRES21','PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - UI2 =SIMP(statut='f',typ='R' ), - UI3 =SIMP(statut='f',typ='R' ), - UI4 =SIMP(statut='f',typ='R' ), - UI5 =SIMP(statut='f',typ='R' ), - UI6 =SIMP(statut='f',typ='R' ), - UO2 =SIMP(statut='f',typ='R' ), - UO3 =SIMP(statut='f',typ='R' ), - UO4 =SIMP(statut='f',typ='R' ), - UO5 =SIMP(statut='f',typ='R' ), - UO6 =SIMP(statut='f',typ='R' ), - VI2 =SIMP(statut='f',typ='R' ), - VI3 =SIMP(statut='f',typ='R' ), - VI4 =SIMP(statut='f',typ='R' ), - VI5 =SIMP(statut='f',typ='R' ), - VI6 =SIMP(statut='f',typ='R' ), - VO2 =SIMP(statut='f',typ='R' ), - VO3 =SIMP(statut='f',typ='R' ), - VO4 =SIMP(statut='f',typ='R' ), - VO5 =SIMP(statut='f',typ='R' ), - VO6 =SIMP(statut='f',typ='R' ), - WI2 =SIMP(statut='f',typ='R' ), - WI3 =SIMP(statut='f',typ='R' ), - WI4 =SIMP(statut='f',typ='R' ), - WI5 =SIMP(statut='f',typ='R' ), - WI6 =SIMP(statut='f',typ='R' ), - WO2 =SIMP(statut='f',typ='R' ), - WO3 =SIMP(statut='f',typ='R' ), - WO4 =SIMP(statut='f',typ='R' ), - WO5 =SIMP(statut='f',typ='R' ), - WO6 =SIMP(statut='f',typ='R' ), - WO =SIMP(statut='f',typ='R' ), - WI1 =SIMP(statut='f',typ='R' ), - WO1 =SIMP(statut='f',typ='R' ), - GONF =SIMP(statut='f',typ='R' ), - H1X =SIMP(statut='f',typ='R' ), - H1Y =SIMP(statut='f',typ='R' ), - H1Z =SIMP(statut='f',typ='R' ), - H2X =SIMP(statut='f',typ='R' ), - H2Y =SIMP(statut='f',typ='R' ), - H2Z =SIMP(statut='f',typ='R' ), - H3X =SIMP(statut='f',typ='R' ), - H3Y =SIMP(statut='f',typ='R' ), - H3Z =SIMP(statut='f',typ='R' ), - H4X =SIMP(statut='f',typ='R' ), - H4Y =SIMP(statut='f',typ='R' ), - H4Z =SIMP(statut='f',typ='R' ), - E1X =SIMP(statut='f',typ='R' ), - E1Y =SIMP(statut='f',typ='R' ), - E1Z =SIMP(statut='f',typ='R' ), - E2X =SIMP(statut='f',typ='R' ), - E2Y =SIMP(statut='f',typ='R' ), - E2Z =SIMP(statut='f',typ='R' ), - E3X =SIMP(statut='f',typ='R' ), - E3Y =SIMP(statut='f',typ='R' ), - E3Z =SIMP(statut='f',typ='R' ), - E4X =SIMP(statut='f',typ='R' ), - E4Y =SIMP(statut='f',typ='R' ), - E4Z =SIMP(statut='f',typ='R' ), - LAGS_C =SIMP(statut='f',typ='R' ), - LAGS_F1 =SIMP(statut='f',typ='R' ), - LAGS_F2 =SIMP(statut='f',typ='R' ), - LAG2_C =SIMP(statut='f',typ='R' ), - LAG2_F1 =SIMP(statut='f',typ='R' ), - LAG2_F2 =SIMP(statut='f',typ='R' ), - LAG3_C =SIMP(statut='f',typ='R' ), - LAG3_F1 =SIMP(statut='f',typ='R' ), - V11 =SIMP(statut='f',typ='R' ), - V12 =SIMP(statut='f',typ='R' ), - V13 =SIMP(statut='f',typ='R' ), - V21 =SIMP(statut='f',typ='R' ), - V22 =SIMP(statut='f',typ='R' ), - V23 =SIMP(statut='f',typ='R' ), - V31 =SIMP(statut='f',typ='R' ), - V32 =SIMP(statut='f',typ='R' ), - V33 =SIMP(statut='f',typ='R' ), - PRES11 =SIMP(statut='f',typ='R' ), - PRES12 =SIMP(statut='f',typ='R' ), - PRES13 =SIMP(statut='f',typ='R' ), - PRES21 =SIMP(statut='f',typ='R' ), - PRES22 =SIMP(statut='f',typ='R' ), - PRES23 =SIMP(statut='f',typ='R' ), - PRES31 =SIMP(statut='f',typ='R' ), - PRES32 =SIMP(statut='f',typ='R' ), - PRES33 =SIMP(statut='f',typ='R' ), - LH1 =SIMP(statut='f',typ='R' ), - GLIS =SIMP(statut='f',typ='R' ), - ), - - - - DDL_POUTRE =FACT(statut='f',max='**', - fr="Bloque des DDLs dans un repère local d'une poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'), - UN_PARMI('VECT_Y','ANGL_VRIL'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), -# définition du repère local - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R',), -# restriction sur les mailles servant à définir le repère local - GROUP_MA_REPE =SIMP(statut='f',typ=grma,), - MAILLE_REPE =SIMP(statut='f',typ=ma,), - ), - - - - FACE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)", - regles=(UN_PARMI('GROUP_MA','MAILLE',), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','DNOR','DTAN'), - EXCLUS('DNOR','DX'), - EXCLUS('DNOR','DY'), - EXCLUS('DNOR','DZ'), - EXCLUS('DNOR','DRX'), - EXCLUS('DNOR','DRY'), - EXCLUS('DNOR','DRZ'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'), - EXCLUS('DTAN','DRX'), - EXCLUS('DTAN','DRY'), - EXCLUS('DTAN','DRZ'),), -# rajout d'un mot clé REPERE :/ LOCAL /GLOBAL - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - DNOR =SIMP(statut='f',typ='R' ), - DTAN =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - ), - - CHAMNO_IMPO =FACT(statut='f',max='**', - fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster", -# type de cham_no_sdaster CO() - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() - COEF_MULT =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - ARETE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une arete des elements 3D une ou plusieurs valeurs de déplacement", - regles=(UN_PARMI('GROUP_MA','MAILLE',), - AU_MOINS_UN('DX','DY','DZ','DTAN','PRES','PHI','TEMP','PRE1','PRE2'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DTAN =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - ), - - LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante" - +" dans un repère oblique quelconque", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds", - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_1 =SIMP(statut='o',typ='R' ,max='**'), - DDL_2 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_2 =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - - LIAISON_MAIL =FACT(statut='f',max='**', - fr="Définit des relations linéaires permettant de recoller deux bords d'une structure", - regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL')), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TYPE_RACCORD =SIMP(statut='o',typ='TXM',defaut="MASSIF",into=("MASSIF","COQUE","COQUE_MASSIF","MASSIF_COQUE",)), - - b_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'MASSIF'", - regles=( PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),), - TRAN =SIMP(statut='f',typ='R',max=3 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), - CENTRE =SIMP(statut='f',typ='R',max=3 ), - DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - ), - b_COQUE_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'COQUE_MASSIF'", - EPAIS =SIMP(statut='o',typ='R'), - CHAM_NORMALE =SIMP(statut='o',typ=cham_no_sdaster), - ), - ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - LIAISON_CYCL =FACT(statut='f',max='**', - fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques", - regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'), - ), - GROUP_MA_MAIT1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TRAN =SIMP(statut='f',typ='R',max=3 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), - CENTRE =SIMP(statut='f',typ='R',max=3 ), - COEF_MAIT1 =SIMP(statut='f',typ='R',max=1 ), - COEF_MAIT2 =SIMP(statut='f',typ='R',max=1 ), - COEF_ESCL =SIMP(statut='f',typ='R',max=1 ), - DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - ), - - - LIAISON_SOLIDE =FACT(statut='f',max='**', - fr="Modélise une partie indéformable d'une structure." - +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TRAN =SIMP(statut='f',typ='R',max=3 ), - DIST_MIN =SIMP(statut='f',typ='R'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_ELEM =FACT(statut='f',max='**', - fr="Modélise le raccord : d'une partie massive 3D avec une poutre ou avec un tuyau, d'une coque" - +" avec une poutre ou avec un tuyau, d'une plaque avec une poutre", - regles =(UN_PARMI('GROUP_MA_1','MAILLE_1'), UN_PARMI('GROUP_NO_2','NOEUD_2'),), - OPTION =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","2D_POU","COQ_POU","COQ_TUYAU","PLAQ_POUT_ORTH") ), - - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - b_plaq_pout_orth =BLOC( condition = "OPTION == 'PLAQ_POUT_ORTH'", - VERIF_EXCENT =SIMP(statut='o',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - b_cara_pout =BLOC( condition = "OPTION == 'COQ_POU' or OPTION == '3D_TUYAU' or OPTION == 'COQ_TUYAU'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - AXE_POUTRE =SIMP(statut='o',typ='R',max=3), - ), - - - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), - - LIAISON_CHAMNO =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO", -# type de cham_no_sdaster CO() - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() - COEF_IMPO =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_RBE3 =FACT(statut='f',max='**', - fr="""Modélise des relations linéaires de type RBE3 entre - les degrés de liberté d'un noeud maître et des noeuds esclaves.""", - regles =(UN_PARMI('GROUP_NO_MAIT','NOEUD_MAIT'), UN_PARMI('GROUP_NO_ESCL','NOEUD_ESCL'),), - GROUP_NO_MAIT =SIMP(statut='f',typ=grno,max=1), - NOEUD_MAIT =SIMP(statut='f',typ=no ,max=1), - DDL_MAIT =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=6,into=('DX','DY','DZ','DRX','DRY','DRZ')), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),min=1,max='**'), - DDL_ESCL =SIMP(statut='o',typ='TXM',min=1,max='**'), - COEF_ESCL =SIMP(statut='f',typ='R',min=1,max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_INTERF =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre les DDLs d'interface à partir d'un MACRELEM", - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna), - TYPE_LIAISON =SIMP(statut='f',typ='TXM',defaut="RIGIDE",into=("RIGIDE","SOUPLE") ), - ), - -# SIMP(statut='f',typ='TXM',defaut="NON" ), - - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster ), -# -# FORCES -# - FORCE_NODALE =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**', - regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - ), - - FORCE_FACE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur une face d'élément volumique", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_ARETE =FACT(statut='f',max='**', - fr="Applique des forces linéiques à une arete d'élément volumique ou de coque", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_CONTOUR =FACT(statut='f',max='**', - fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_INTERNE =FACT(statut='f',max='**', - fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - ), - - PRE_SIGM =FACT(statut='f',max='**', - fr="Applique des contraintes volumiques (2D ou 3D) à un domaine volumique", - #INST =SIMP(statut='f',typ='R' ), - SIGM =SIMP(statut='o',typ=(cham_elem,carte_sdaster)), - ), - - PRES_REP =FACT(statut='f',max='**', - fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), - AU_MOINS_UN('PRES','CISA_2D' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), - PRES =SIMP(statut='f',typ='R' ), - CISA_2D =SIMP(statut='f',typ='R' ), - ), - - EFFE_FOND =FACT(statut='f',max='**', - fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='R' ), - ), - - PRE_EPSI =FACT(statut='f',max='**', - fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX', - 'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - EPXX =SIMP(statut='f',typ='R' ), - EPYY =SIMP(statut='f',typ='R' ), - EPZZ =SIMP(statut='f',typ='R' ), - EPXY =SIMP(statut='f',typ='R' ), - EPXZ =SIMP(statut='f',typ='R' ), - EPYZ =SIMP(statut='f',typ='R' ), - EPX =SIMP(statut='f',typ='R' ), - KY =SIMP(statut='f',typ='R' ), - KZ =SIMP(statut='f',typ='R' ), - EXX =SIMP(statut='f',typ='R' ), - EYY =SIMP(statut='f',typ='R' ), - EXY =SIMP(statut='f',typ='R' ), - KXX =SIMP(statut='f',typ='R' ), - KYY =SIMP(statut='f',typ='R' ), - KXY =SIMP(statut='f',typ='R' ), - ), - - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ), -# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL - b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", - regles=( - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - N =SIMP(statut='f',typ='R' ), - VY =SIMP(statut='f',typ='R' ), - VZ =SIMP(statut='f',typ='R' ), - MT =SIMP(statut='f',typ='R' ), - MFY =SIMP(statut='f',typ='R' ), - MFZ =SIMP(statut='f',typ='R' ), - ), - b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", - regles=( - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY','FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ',),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ), - - FORCE_TUYAU =FACT(statut='f',max='**', - fr="Applique une pression sur des éléments TUYAU", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='f',typ='R' ), - ), - - FORCE_COQUE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur des éléments de types coques", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), -# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - - F1 =SIMP(statut='f',typ='R' ), - F2 =SIMP(statut='f',typ='R' ), - F3 =SIMP(statut='f',typ='R' ), - MF1 =SIMP(statut='f',typ='R' ), - MF2 =SIMP(statut='f',typ='R' ), - - PRES =SIMP(statut='f',typ='R' ), - PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ), - ), - - LIAISON_COQUE =FACT(statut='f',max='**', - fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", - regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', - 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - RELA_CINE_BP =FACT(statut='f',max='**', - fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier" - +" la prise en compte des contraintes initiales dans les cables", - CABLE_BP =SIMP(statut='o',typ=cabl_precont ), - SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - DIST_MIN =SIMP(statut='f',typ='R'), - ), - - FORCE_ELEC =FACT(statut='f',max='**', - fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" - +" secondaire droit", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ), - b_fxyz =BLOC ( condition = "POSITION == None", - FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FY =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - b_para =BLOC ( condition = "POSITION == 'PARA'", - regles=(UN_PARMI('TRANS','DIST'),), - TRANS =SIMP(statut='f',typ='R',max=3), - DIST =SIMP(statut='f',typ='R' ), - b_point2 =BLOC ( condition = "DIST != None", - POINT2 =SIMP(statut='o',typ='R',max=3), - ), - ), - b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')", - POINT1 =SIMP(statut='o',typ='R',max=3), - POINT2 =SIMP(statut='o',typ='R',max=3), - ), - ), - - - - - INTE_ELEC =FACT(statut='f',max='**', - fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" - +" secondaire non nécessairement droit", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'), - EXCLUS('TRANS','SYME'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TRANS =SIMP(statut='f',typ='R' ,max='**'), - SYME =SIMP(statut='f',typ='R' ,max='**'), - ), - - - IMPE_FACE =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ='R' ), - ), - - VITE_FACE =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ='R' ), - ), - - - - ONDE_FLUI =FACT(statut='f',max='**', - fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='R' ), - ), - - FLUX_THM_REP =FACT(statut='f',max='**', - fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide" - +" (flux hydraulique)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ='R' ), - FLUN_HYDR1 =SIMP(statut='f',typ='R' ), - FLUN_HYDR2 =SIMP(statut='f',typ='R' ), - ), - FORCE_SOL =FACT(statut='f',max=1, - fr="Définition des impédances et forces de sol temporelles", - regles=(UN_PARMI('GROUP_NO_INTERF','SUPER_MAILLE'), - AU_MOINS_UN('UNITE_RESU_MASS','UNITE_RESU_RIGI','UNITE_RESU_AMOR'),), - GROUP_NO_INTERF =SIMP(statut='f',typ=grno,), - SUPER_MAILLE =SIMP(statut='f',typ=ma,), - UNITE_RESU_MASS =SIMP(statut='f',typ='I', ), - UNITE_RESU_RIGI =SIMP(statut='f',typ='I', ), - UNITE_RESU_AMOR =SIMP(statut='f',typ='I', ), - UNITE_RESU_FORC =SIMP(statut='f',typ='I', ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques complexes", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON','GLIS' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ='C' ), - DY =SIMP(statut='f',typ='C' ), - DZ =SIMP(statut='f',typ='C' ), - DRX =SIMP(statut='f',typ='C' ), - DRY =SIMP(statut='f',typ='C' ), - DRZ =SIMP(statut='f',typ='C' ), - GRX =SIMP(statut='f',typ='C' ), - PRES =SIMP(statut='f',typ='C' ), - PHI =SIMP(statut='f',typ='C' ), - GLIS =SIMP(statut='f',typ='C' ), - ), - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY', 'FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), - FX =SIMP(statut='f',typ='C' ), - FY =SIMP(statut='f',typ='C' ), - FZ =SIMP(statut='f',typ='C' ), - N =SIMP(statut='f',typ='C' ), - VY =SIMP(statut='f',typ='C' ), - VZ =SIMP(statut='f',typ='C' ), - ), - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD', ),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='C' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', - 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', - 'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE', - 'LIAISON_OBLIQUE','PRE_EPSI','LIAISON_GROUP','LIAISON_UNIF', - 'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU', - 'EFFE_FOND','FLUX_THM_REP',),), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - MODELE =SIMP(statut='o',typ=modele_sdaster), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies" - +" par l'intermédiaire d'un concept fonction ", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','GONF','LIAISON','H1X', - 'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - LAGS_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FACE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)" - +" fournies par l'intérmédiaire d'un concept fonction", - regles=(UN_PARMI('GROUP_MA','MAILLE'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'), - EXCLUS('DNOR','DX'), - EXCLUS('DNOR','DY'), - EXCLUS('DNOR','DZ'), - EXCLUS('DNOR','DRX'), - EXCLUS('DNOR','DRY'), - EXCLUS('DNOR','DRZ'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'), - EXCLUS('DTAN','DRX'), - EXCLUS('DTAN','DRY'), - EXCLUS('DTAN','DRZ'),), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DNOR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DTAN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par" - +" l'intermediaire d'un concept de type fonction", - regles=(UN_PARMI('GROUP_NO','NOEUD'),UN_PARMI('COEF_MULT','COEF_MULT_FONC'),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='f',typ='R',max='**'), - COEF_MULT_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique" - +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par" - +" l'intermédiaire de concept fonction", - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), - - - LIAISON_SOLIDE =FACT(statut='f',max='**', - fr="Modélise une partie indéformable d'une structure." - +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TRAN =SIMP(statut='f',typ='R',max=3 ), - DIST_MIN =SIMP(statut='f',typ='R'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - - - FORCE_NODALE =FACT(statut='f',max='**', - fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire" - +" d'un concept fonction", - regles=(UN_PARMI('GROUP_NO','NOEUD'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_NAUT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ), - ), - - FORCE_FACE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies" - +" par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - FORCE_ARETE =FACT(statut='f',max='**', - fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont" - +" fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - FORCE_CONTOUR =FACT(statut='f',max='**', - fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes" - +" sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_INTERNE =FACT(statut='f',max='**', - fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies" - +" par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRES_REP =FACT(statut='f',max='**', - fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les" - +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), - AU_MOINS_UN('PRES','CISA_2D'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - EFFE_FOND =FACT(statut='f',max='**', - fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise" - +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRE_EPSI =FACT(statut='f',max='**', - fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes" - +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - EPXX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par" - +" l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - - ), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), - # moment interdit avec VENT - b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", - regles=( - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MFY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MFZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", - regles=( - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY','FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ',),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), - - FORCE_TUYAU =FACT(statut='f',max='**', - fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_COQUE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par" - +" l'intermédiaires d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MF1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MF2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL", - into=("SUP","INF","MOY","MAIL") ), - ), - - LIAISON_COQUE =FACT(statut='f',max='**', - fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", - regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', - 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), - ), - - - VITE_FACE =FACT(statut='f',max='**', - fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par" - +" l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - IMPE_FACE =FACT(statut='f',max='**', - fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire" - +" d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ONDE_PLANE =FACT(statut='f',max=1, - fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire" - +" d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - DIRECTION =SIMP(statut='o',typ='R',min=3, max=3), - TYPE_ONDE =SIMP(statut='o',typ='TXM', into=("S", "P", "SV", "SH",) ), - FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - - FLUX_THM_REP =FACT(statut='f',max='**', - fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)" - +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_HYDR1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_HYDR2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther - ,fr="Affectation de charges et conditions aux limites thermiques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Thermique",)}, - regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE', - 'ECHANGE_PAROI','PRE_GRAD_TEMP','LIAISON_DDL','LIAISON_GROUP', - 'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les températures imposées", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - TEMP_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ='R'), - TEMP_MIL =SIMP(statut='f',typ='R'), - TEMP_INF =SIMP(statut='f',typ='R'), - TEMP_SUP =SIMP(statut='f',typ='R'), ), - - FLUX_REP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_PRESENT('CARA_TORSION','GROUP_MA'), - AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ='R'), - FLUN_INF =SIMP(statut='f',typ='R'), - FLUN_SUP =SIMP(statut='f',typ='R'), - CARA_TORSION =SIMP(statut='f',typ=table_sdaster), - ), - - - RAYONNEMENT =FACT(statut='f',max='**', - fr="Attention, exprimer les températures en Celsius si rayonnement", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SIGMA =SIMP(statut='o',typ='R'), - EPSILON =SIMP(statut='o',typ='R'), - TEMP_EXT =SIMP(statut='o',typ='R'), - ), - - ECHANGE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), - ENSEMBLE('COEF_H','TEMP_EXT',), - ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), - ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_H =SIMP(statut='f',typ='R'), - TEMP_EXT =SIMP(statut='f',typ='R'), - COEF_H_INF =SIMP(statut='f',typ='R'), - TEMP_EXT_INF =SIMP(statut='f',typ='R'), - COEF_H_SUP =SIMP(statut='f',typ='R'), - TEMP_EXT_SUP =SIMP(statut='f',typ='R'), - ), - - SOURCE =FACT(statut='f',max='**', - regles=(UN_PARMI('SOUR','SOUR_CALCULEE',), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='f',typ='R'), - SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem) ), - ), - - PRE_GRAD_TEMP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUX_X =SIMP(statut='f',typ='R' ), - FLUX_Y =SIMP(statut='f',typ='R' ), - FLUX_Z =SIMP(statut='f',typ='R' ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD', ),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**', - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",) ), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - - LIAISON_MAIL =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL', - 'NOEUD_ESCL'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TRAN =SIMP(statut='f',typ='R',max='**' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**' ), - CENTRE =SIMP(statut='f',typ='R',max='**' ), - ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - ECHANGE_PAROI =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), - UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), -# ---------------------- - b_paroi_maillee =BLOC( - condition = "FISSURE == None", - COEF_H =SIMP(statut='o',typ='R'), - TRAN =SIMP(statut='f',typ='R',min=2,max=3), - ), -# ---------------------- - b_xfem =BLOC( - condition = "FISSURE != None", - regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), - COEF_H =SIMP(statut='f',typ='R'), - TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - ), - - LIAISON_CHAMNO =FACT(statut='f',max='**', - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno" - COEF_IMPO =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_sdaster) ), - ), - - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther, - fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)" - +" paramètres (temps, ...)", - reentrant='n', - UIinfo={"groupes":("Chargements","Thermique",)}, - regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','SOUR_NL','FLUX_REP','FLUX_NL','ECHANGE', - 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF', - 'PRE_GRAD_TEMP','RAYONNEMENT'),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - - TEMP_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FLUX_REP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FLUX_NL =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - RAYONNEMENT =FACT(statut='f',max='**', - fr="Attention, exprimer les températures en Celsius si rayonnement", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SIGMA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPSILON =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - - ECHANGE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), - ENSEMBLE('COEF_H','TEMP_EXT'), - ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), - ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_H_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_H_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - SOURCE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - SOUR_NL =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRE_GRAD_TEMP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ECHANGE_PAROI =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), - UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), -# ---------------------- - b_paroi_maillee =BLOC( - condition = "FISSURE == None", - COEF_H =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TRAN =SIMP(statut='f',typ='R',min=2,max=3), - ), -# ---------------------- - b_xfem =BLOC( - condition = "FISSURE != None", - regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='f',typ='TXM',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - ), - - CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=cham_no_sdaster ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater, - fr="Affecter des matériaux à des zones géométriques d'un maillage", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - - # affectation du nom du matériau (par mailles): - # ---------------------------------------------- - AFFE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - MATER =SIMP(statut='o',typ=mater_sdaster,max=30), - ), - - # affectation de comportement (multifibres pour l'instant): - # ---------------------------------------------- - AFFE_COMPOR =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1), - ), - - # affectation des variables de commande : - # -------------------------------------------------- - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), - - AFFE_VARC =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','TOUT'), - PRESENT_ABSENT('MAILLE','TOUT'), - # La règle suivante permet de donner VALE_REF sans donner EVOL ni CHAM_GD - # Elle est nécessaire pour la THM (voir doc U4.43.03) - # Mais on ne peut plus l'écrire depuis de VALE_REF est dans un bloc - # AU_MOINS_UN('EVOL','CHAM_GD','VALE_REF'), - EXCLUS('EVOL','CHAM_GD'), - ), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut] - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster,), - EVOL =SIMP(statut='f',typ=evol_sdaster,), - - B_EVOL =BLOC(condition="EVOL!=None", - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("TEMP","CORR","IRRA","NEUT","GEOM", - "HYDR_ELNO","HYDR_NOEU", - "META_ELNO","META_NOEU", - "EPSA_ELNO","EPSA_NOEU","PTOT","DIVU",)), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP','SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - - ), - - # mots clés cachés pour les variables de commande NEUT1/NEUT2 : - # -------------------------------------------------------------- - VARC_NEUT1 =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT1"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")), - ), - VARC_NEUT2 =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT2"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")), - ), - - # mots clés cachés pour variable de commande TEMP : - # -------------------------------------------------- - VARC_TEMP =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="TEMP"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), - ), - - # mots clés cachés pour variable de commande GEOM : - # -------------------------------------------------- - VARC_GEOM =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="GEOM"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="GEOM_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), - ), - - # mots clés cachés pour variable de commande PTOT : - # ------------------------------------------------- - VARC_PTOT =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="PTOT"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="DEPL_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), - ), - - # mots clés cachés pour variable de commande SECH : - # -------------------------------------------------- - VARC_SECH =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="SECH"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)), - ), - - # mots clés cachés pour variable de commande HYDR : - # -------------------------------------------------- - VARC_HYDR =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="HYDR"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="HYDR_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), - ), - - # mots clés cachés pour variable de commande CORR : - # -------------------------------------------------- - VARC_CORR =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="CORR"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="CORR_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), - ), - - # mots clés cachés pour variable de commande IRRA : - # -------------------------------------------------- - VARC_IRRA =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="IRRA"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="IRRA_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), - ), - - # mots clés cachés pour variable de commande DIVU : - # -------------------------------------------------- - VARC_DIVU =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="DIVU"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), - ), - - # mots clés cachés pour variable de commande EPSA : - # -------------------------------------------------- - VARC_EPSA =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="EPSA"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPSAXX","EPSAYY","EPSAZZ","EPSAXY","EPSAXZ","EPSAYZ",)), - ), - # mots clés cachés pour variable de commande metallurgique ACIER : - # ----------------------------------------------------------------- - VARC_M_ACIER =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ACIER"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("V1","V2","V3","V4","V5","V6","V7")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("PFERRITE","PPERLITE","PBAINITE", - "PMARTENS","TAUSTE","TRANSF","TACIER",)), - ), - # mots clés cachés pour variable de commande metallurgique ZIRCALOY : - # -------------------------------------------------------------------- - VARC_M_ZIRC =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ZIRC"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("V1","V2","V3","V4")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("ALPHPUR","ALPHBETA","TZIRC","TEMPS")), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, - UIinfo={"groupes":("Modélisation",)}, - fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n', - regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - GRILLE =SIMP(statut='f',typ=grille_sdaster), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), -# -#==== -# Définition des grandeurs caractéristiques -#==== -# - GRANDEUR_CARA =FACT(statut='f',max=1, - fr="Grandeurs caractéristiques pour l'adimensionnement des indicateurs d'erreur HM", - ang="Characteristic data for HM error estimators adimensionalisation", -# - LONGUEUR =SIMP(statut='f',typ='R',val_min=0, - fr ="Longueur caractéristique", - ang="Characteristic length",), - PRESSION =SIMP(statut='f',typ='R',val_min=0, - fr ="Pression caractéristique", - ang="Characteristic pressure",), - TEMPERATURE =SIMP(statut='f',typ='R',val_min=0, - fr ="Température caractéristique", - ang="Characteristic temperature",),), -# - AFFE_SOUS_STRUC =FACT(statut='f', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), - ), - AFFE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='o',typ='TXM', - into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ), - b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", - fr="modélisations mécaniques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "2D_DIS_T", # RESP. : FLEJOU J.L.FLEJOU - "2D_DIS_TR", # RESP. : FLEJOU J.L.FLEJOU - "2D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA - "2D_FLUI_PESA", # RESP. : GREFFET N.GREFFET - "2D_FLUI_STRU", # RESP. : GREFFET N.GREFFET - "2D_FLUIDE", # RESP. : GREFFET N.GREFFET - "3D", # RESP. : DESROCHES X.DESROCHES - "3D_ABSO", # RESP. : DEVESA G.DEVESA - "3D_FAISCEAU", # RESP. : VOLDOIRE F.VOLDOIRE - "3D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA - "3D_FLUIDE", # RESP. : GREFFET N.GREFFET - "3D_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "3D_SI", # RESP. : DESROCHES X.DESROCHES - "3D_GRAD_EPSI", # RESP. : MICHEL S.MICHEL - "3D_GRAD_VARI", # RESP. : MICHEL S.MICHEL - "3D_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "3D_JOINT", # RESP. : LAVERNE J.LAVERNE - "3D_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE - "3D_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "3D_INTERFACE_S", # RESP. : LAVERNE J.LAVERNE - "AXIS", # RESP. : LEFEBVRE J.P.LEFEBVRE - "AXIS_FLUI_STRU", # RESP. : GREFFET N.GREFFET - "AXIS_FLUIDE", # RESP. : GREFFET N.GREFFET - "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES - "AXIS_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_SI", # RESP. : DESROCHES X.DESROCHES - "AXIS_GRAD_VARI", # RESP. : MICHEL S.MICHEL - "AXIS_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "AXIS_JOINT", # RESP. : LAVERNE J.LAVERNE - "AXIS_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "AXIS_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE - "AXIS_ELDI", # RESP. : LAVERNE J.LAVERNE - "BARRE", # RESP. : FLEJOU J.L.FLEJOU - "CABLE_GAINE", # RESP. : - "2D_BARRE", # RESP. : FLEJOU J.L.FLEJOU - "C_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE - "C_PLAN_SI", # RESP. : DESROCHES X.DESROCHES - "C_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL - "CABLE", # RESP. : FLEJOU J.L.FLEJOU - "CABLE_POULIE", # RESP. : None - "COQUE_3D", # RESP. : DESROCHES X.DESROCHES - "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES - "COQUE_C_PLAN", # RESP. : DESROCHES X.DESROCHES - "COQUE_D_PLAN", # RESP. : DESROCHES X.DESROCHES - "D_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE - "D_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL - "D_PLAN_GRAD_VARI",# RESP. : MICHEL S.MICHEL - "D_PLAN_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "D_PLAN_GRAD_SIGM",# RESP. : GRANET S.GRANET - "PLAN_JOINT", # RESP. : LAVERNE J.LAVERNE - "PLAN_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE - "PLAN_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "PLAN_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE - "PLAN_ELDI", # RESP. : LAVERNE J.LAVERNE - "D_PLAN_ABSO", # RESP. : DEVESA G.DEVESA - "D_PLAN_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_OSGS",# RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_SI", # RESP. : DESROCHES X.DESROCHES - "DIS_T", # RESP. : FLEJOU J.L.FLEJOU - "DIS_TR", # RESP. : FLEJOU J.L.FLEJOU - "DKT", # RESP. : DESROCHES X.DESROCHES - "DKTG", # RESP. : MARKOVIC D.MARKOVIC - "DST", # RESP. : DESROCHES X.DESROCHES - "FLUI_STRU", # RESP. : GREFFET N.GREFFET - "GRILLE_EXCENTRE", # RESP. : ROSPARS C.ROSPARS - "GRILLE_MEMBRANE", # RESP. : ROSPARS C.ROSPARS - "MEMBRANE", # RESP. : ROSPARS C.ROSPARS - "POU_C_T", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_E", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_EM", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_T", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_T_GD", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_TG", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_TGM", # RESP. : FLEJOU J.L.FLEJOU - "Q4G", # RESP. : DESROCHES X.DESROCHES - "Q4GG", # RESP. : DESROCHES X.DESROCHES - "TUYAU_3M", # RESP. : PROIX J.M.PROIX - "TUYAU_6M", # RESP. : PROIX J.M.PROIX - "SHB", # RESP. : DESROCHES X.DESROCHES - "D_PLAN_HHM", # RESP. : GRANET S.GRANET - "D_PLAN_HM", # RESP. : GRANET S.GRANET - "D_PLAN_HM_SI", # RESP. : GRANET S.GRANET - "D_PLAN_THM", # RESP. : GRANET S.GRANET - "D_PLAN_HHMD", # RESP. : GRANET S.GRANET - "D_PLAN_HH2MD", # RESP. : GRANET S.GRANET - "D_PLAN_HMD", # RESP. : GRANET S.GRANET - "D_PLAN_THHD", # RESP. : GRANET S.GRANET - "D_PLAN_THH2D", # RESP. : GRANET S.GRANET - "D_PLAN_THVD", # RESP. : GRANET S.GRANET - "D_PLAN_THH2MD", # RESP. : GRANET S.GRANET - "D_PLAN_THHMD", # RESP. : GRANET S.GRANET - "D_PLAN_THMD", # RESP. : GRANET S.GRANET - "D_PLAN_HHMS", # RESP. : GRANET S.GRANET - "D_PLAN_HH2MS", # RESP. : GRANET S.GRANET - "D_PLAN_HMS", # RESP. : GRANET S.GRANET - "D_PLAN_THHS", # RESP. : GRANET S.GRANET - "D_PLAN_THH2S", # RESP. : GRANET S.GRANET - "D_PLAN_THVS", # RESP. : GRANET S.GRANET - "D_PLAN_THH2MS", # RESP. : GRANET S.GRANET - "D_PLAN_THHMS", # RESP. : GRANET S.GRANET - "D_PLAN_THMS", # RESP. : GRANET S.GRANET - "D_PLAN_HM_P", # RESP. : GRANET S.GRANET - "D_PLAN_HS", # RESP. : GRANET S.GRANET - "D_PLAN_HHD", # RESP. : GRANET S.GRANET - "D_PLAN_HHS", # RESP. : GRANET S.GRANET - "D_PLAN_HH2D", # RESP. : GRANET S.GRANET - "D_PLAN_HH2S", # RESP. : GRANET S.GRANET - "D_PLAN_2DG", # RESP. : GRANET S.GRANET - "D_PLAN_DIL", # RESP. : GRANET S.GRANET - "3D_DIL", # RESP. : GRANET S.GRANET - "AXIS_THM", # RESP. : GRANET S.GRANET - "AXIS_HHM", # RESP. : GRANET S.GRANET - "AXIS_HM", # RESP. : GRANET S.GRANET - "AXIS_HH2MD", # RESP. : GRANET S.GRANET - "AXIS_HHMD", # RESP. : GRANET S.GRANET - "AXIS_HMD", # RESP. : GRANET S.GRANET - "AXIS_THHD", # RESP. : GRANET S.GRANET - "AXIS_THH2D", # RESP. : GRANET S.GRANET - "AXIS_THVD", # RESP. : GRANET S.GRANET - "AXIS_THHMD", # RESP. : GRANET S.GRANET - "AXIS_THH2MD", # RESP. : GRANET S.GRANET - "AXIS_THMD", # RESP. : GRANET S.GRANET - "AXIS_HH2MS", # RESP. : GRANET S.GRANET - "AXIS_HHMS", # RESP. : GRANET S.GRANET - "AXIS_HMS", # RESP. : GRANET S.GRANET - "AXIS_THHS", # RESP. : GRANET S.GRANET - "AXIS_THH2S", # RESP. : GRANET S.GRANET - "AXIS_THVS", # RESP. : GRANET S.GRANET - "AXIS_THHMS", # RESP. : GRANET S.GRANET - "AXIS_THH2MS", # RESP. : GRANET S.GRANET - "AXIS_THMS", # RESP. : GRANET S.GRANET - "AXIS_HHD", # RESP. : GRANET S.GRANET - "AXIS_HHS", # RESP. : GRANET S.GRANET - "AXIS_HH2D", # RESP. : GRANET S.GRANET - "AXIS_HH2S", # RESP. : GRANET S.GRANET - "3D_HHM" , # RESP. : GRANET S.GRANET - "3D_HM", # RESP. : GRANET S.GRANET - "3D_HM_SI", # RESP. : GRANET S.GRANET - "3D_THHM", # RESP. : GRANET S.GRANET - "3D_THM", # RESP. : GRANET S.GRANET - "3D_HHMD", # RESP. : GRANET S.GRANET - "3D_HMD", # RESP. : GRANET S.GRANET - "3D_THHD", # RESP. : GRANET S.GRANET - "3D_THVD", # RESP. : GRANET S.GRANET - "3D_THHMD", # RESP. : GRANET S.GRANET - "3D_THMD", # RESP. : GRANET S.GRANET - "3D_HHMS", # RESP. : GRANET S.GRANET - "3D_HMS", # RESP. : GRANET S.GRANET - "3D_THHS", # RESP. : GRANET S.GRANET - "3D_THVS", # RESP. : GRANET S.GRANET - "3D_THHMS", # RESP. : GRANET S.GRANET - "3D_THMS", # RESP. : GRANET S.GRANET - "3D_THH2MD", # RESP. : GRANET S.GRANET - "3D_THH2MS", # RESP. : GRANET S.GRANET - "3D_HH2MD", # RESP. : GRANET S.GRANET - "3D_HH2MS", # RESP. : GRANET S.GRANET - "3D_THH2S", # RESP. : GRANET S.GRANET - "3D_THH2D", # RESP. : GRANET S.GRANET - "3D_HS", # RESP. : GRANET S.GRANET - "3D_HHD", # RESP. : GRANET S.GRANET - "3D_HHS", # RESP. : GRANET S.GRANET - "3D_HH2D", # RESP. : GRANET S.GRANET - "3D_HH2S", # RESP. : GRANET S.GRANET - "VF1", # RESP. : GRANET S.GRANET - "3D_HH2SUDM", # RESP. : GRANET S.GRANET - "3D_HH2SUDA", # RESP. : GRANET S.GRANET - "3D_HH2SUC", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUDM", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUC", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUDA", # RESP. : GRANET S.GRANET - "PLAN_JHMS", - "AXIS_JHMS", - ) ) ), - - b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", - fr="modélisations thermiques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "3D", # RESP. : DURAND C.DURAND - "3D_DIAG", # RESP. : DURAND C.DURAND - "AXIS", # RESP. : DURAND C.DURAND - "AXIS_DIAG", # RESP. : DURAND C.DURAND - "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES - "COQUE", # RESP. : DESROCHES X.DESROCHES - "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES - "COQUE_PLAN", # RESP. : DESROCHES X.DESROCHES - "PLAN", # RESP. : DURAND C.DURAND - "PLAN_DIAG", # RESP. : DURAND C.DURAND - ),),), - - b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'", - fr="modélisations acoustiques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "3D", # RESP. : None - "PLAN" # RESP. : None - ), ),), - - ), - - PARTITION =FACT(statut='d', - PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", - into=("MAIL_CONTIGU","MAIL_DISPERSE","CENTRALISE","GROUP_ELEM")), - b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", - CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,val_max=100), - ), - ), - - VERI_JACOBIEN =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI', - fr ="Vérification de la forme des mailles (jacobiens tous de meme signe).",), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def appl_cine_matr_prod(MATR_ASSE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c - if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r - if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c - if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r - if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -APPL_CINE_MATR=OPER(nom="APPL_CINE_MATR",op=158,sd_prod=appl_cine_matr_prod, - fr="Appliquer les C.L. cinématiques sur la matrice", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -APPL_CINE_SCMB=OPER(nom="APPL_CINE_SCMB",op=159,sd_prod=cham_no_sdaster,reentrant='f', - fr="Application des C.L. cinématiques au second membre", - UIinfo={"groupes":("Résolution",)}, - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - - -def asse_elem_ssd_prod(self,RESU_ASSE_SSD,**args): - MTYPES = { - 'MODELE' : modele_gene, - 'NUME_DDL_GENE' : nume_ddl_gene, - 'RIGI_GENE' : matr_asse_gene_r, - 'MASS_GENE' : matr_asse_gene_r, - } - for res in RESU_ASSE_SSD: - for mc, typ in MTYPES.items(): - if res[mc]: - self.type_sdprod(res[mc], typ) - return None - -ASSE_ELEM_SSD=MACRO(nom="ASSE_ELEM_SSD", - op=OPS('Macro.asse_elem_ssd_ops.asse_elem_ssd_ops'), - sd_prod=asse_elem_ssd_prod, - reentrant='n', - fr="Enchainer les commandes DEFI_MODELE_GENE, NUME_DDL_GENE et ASSE_MATR_GENE", - UIinfo={"groupes":("Matrices/vecteurs",)}, - -# pour les concepts de sortie - RESU_ASSE_SSD = FACT( statut='o', max=1, - regles=(PRESENT_PRESENT('RIGI_GENE','NUME_DDL_GENE'), - PRESENT_PRESENT('MASS_GENE','NUME_DDL_GENE'),), - MODELE=SIMP(statut='o',typ=CO,defaut=None), - NUME_DDL_GENE=SIMP(statut='f',typ=CO,defaut=None), - RIGI_GENE=SIMP(statut='f',typ=CO,defaut=None), - MASS_GENE=SIMP(statut='f',typ=CO,defaut=None), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - -# pour DEFI_MODELE_GENE - SOUS_STRUC =FACT(statut='o',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - TRANS =SIMP(statut='f',typ='R',max=3), - ), - LIAISON =FACT(statut='o',max='**', - SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), - INTERFACE_1 =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), - INTERFACE_2 =SIMP(statut='o',typ='TXM' ), - regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), - EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), - GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), - ), - VERIF =FACT(statut='d',max=1, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - - -# pour NUME_DDL_GENE - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","ELIMINE") ), - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster, - fr="Assembler deux maillages pour en former un nouveau", - reentrant='n', - UIinfo={"groupes":("Maillage",)}, - MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,), - MAILLAGE_2 = SIMP(statut='o',typ=maillage_sdaster,), - OPERATION = SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),), - b_collage = BLOC(condition = "OPERATION == 'COLLAGE'", - COLLAGE = FACT(statut='o', - GROUP_MA_1 =SIMP(statut='o',typ=grma), - GROUP_MA_2 =SIMP(statut='o',typ=grma), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -def asse_matr_gene_prod(METHODE,**args): - if (METHODE=="INITIAL") : return matr_asse_gene_r - elif (args['OPTION']=="RIGI_GENE_C") : return matr_asse_gene_c - else : return matr_asse_gene_r - -ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod, - fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), - b_option =BLOC(condition = "METHODE == 'CLASSIQUE'", - OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","RIGI_GENE_C","MASS_GENE","AMOR_GENE") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def asse_matrice_prod(MATR_ELEM,**args): - if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r - if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c - if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r - if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, - fr="Construction d'une matrice assemblée",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - MATR_ELEM =SIMP(statut='o', - typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ), - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster), - SYME =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, - fr="Projection des chargements sur la base modale d'une sous structure", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), - b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'", - CHAR_SOUS_STRUC =FACT(statut='o',max='**', - SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - VECT_ASSE =SIMP(statut='o',typ=cham_no_sdaster ), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster, - fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - INFO =SIMP(statut='f',typ='I',into=(1,2,) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -def assemblage_prod(self,NUME_DDL,MATR_ASSE,VECT_ASSE,**args): - if ((not MATR_ASSE) and (not VECT_ASSE)): raise AsException("Aucun concept a assembler") - if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") - if NUME_DDL.is_typco(): - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - - if MATR_ASSE !=None: - for m in MATR_ASSE: - opti=m['OPTION'] - if opti in ( "RIGI_MECA","RIGI_FLUI_STRU", - "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA", - "AMOR_MECA","IMPE_MECA","ONDE_FLUI","MASS_MECA_DIAG", - "MECA_GYRO","RIGI_GYRO" ) : t=matr_asse_depl_r - - if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c - - if opti in ( "RIGI_THER","RIGI_THER_CONV" , - "RIGI_THER_CONV_D",) : t=matr_asse_temp_r - - if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c - - self.type_sdprod(m['MATRICE'],t) - - if VECT_ASSE !=None: - for v in VECT_ASSE: - self.type_sdprod(v['VECTEUR'],cham_no_sdaster) - - return None - -ASSEMBLAGE=MACRO(nom="ASSEMBLAGE", - op=OPS('Macro.assemblage_ops.assemblage_ops'), - UIinfo={"groupes":("Matrices et vecteurs",)}, - sd_prod=assemblage_prod, - regles=(AU_MOINS_UN('MATR_ASSE','VECT_ASSE'),), - fr="Calcul des matrices et vecteurs assemblés ", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - INST =SIMP(statut='f',typ='R',defaut=0.), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), - CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), - NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ), - b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="Paramètres associés à la méthode multifrontale", - RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="Paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), - ), - b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="Paramètres associés à la méthode gradient conjugué", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_petsc =BLOC(condition = "METHODE == 'PETSC'",fr="Paramètres de la méthode PETSC", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - ), - ), - - MATR_ASSE =FACT(statut='f',max='**', - MATRICE =SIMP(statut='o',typ=CO), - OPTION =SIMP(statut='o',typ='TXM', - into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", - "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", - "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", - "RIGI_ROTA","RIGI_GEOM","MECA_GYRO","RIGI_GYRO", - "RIGI_THER","RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) - ), - - b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), - - b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", - SIEF_ELGA =SIMP(statut='o',typ=cham_elem), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), - - b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), -# - ), # fin MATR_ASSE -# - VECT_ASSE =FACT(statut='f',max='**', - VECTEUR =SIMP(statut='o',typ=CO), - OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_ACOU","CHAR_THER") ), - b_char_meca =BLOC(condition = "OPTION == 'CHAR_MECA'", fr="chargement mécanique", - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", fr="chargement thermique", - CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**'), - ), - - b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", fr="chargement acoustique", - CHARGE =SIMP(statut='f',typ=char_acou,validators=NoRepeat(),max='**'), - ), -# - ), # fin VECT_ASSE -# - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, - fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(EXCLUS('AMOR_RAYLEIGH','ENER_SOL',), - EXCLUS('AMOR_RAYLEIGH','AMOR_INTERNE',), - EXCLUS('AMOR_RAYLEIGH','AMOR_SOL',), - PRESENT_PRESENT('ENER_SOL','AMOR_INTERNE'), - PRESENT_PRESENT('ENER_SOL','AMOR_SOL'), - ), - AMOR_RAYLEIGH =FACT(statut='f', - AMOR_ALPHA =SIMP(statut='o',typ='R'), - AMOR_BETA =SIMP(statut='o',typ='R'), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - ), - ENER_SOL =FACT(statut='f', - regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'), - PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'), -# Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ') - PRESENT_PRESENT('KRX','KRY'), - PRESENT_PRESENT('KRX','KRZ'), - PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'), - PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'), - PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),), - METHODE =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_GROUP =SIMP(statut='f',typ='R',max='**'), - KX =SIMP(statut='o',typ='R' ), - KY =SIMP(statut='o',typ='R' ), - KZ =SIMP(statut='o',typ='R' ), - KRX =SIMP(statut='f',typ='R' ), - KRY =SIMP(statut='f',typ='R' ), - KRZ =SIMP(statut='f',typ='R' ), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - COOR_CENTRE =SIMP(statut='f',typ='R',max=3), - ), - AMOR_INTERNE =FACT(statut='f', - ENER_POT =SIMP(statut='o',typ=table_sdaster ), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - ), - AMOR_SOL =FACT(statut='f', - AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FONC_AMOR_GEO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - HOMOGENE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem, - fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Post-traitements",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - INST =SIMP(statut='f',typ='R',defaut= 0.E+0), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - MODE_FOURIER =SIMP(statut='f',typ='I',), - - OPTION =SIMP(statut='o',typ='TXM', - into=("FLUX_ELGA","FLUX_ELNO", - "PRAC_ELNO", - "COOR_ELGA"), ), - - b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO','FLUX_ELGA',)", - TEMP =SIMP(statut='o',typ=(cham_no_sdaster,)), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - ), - - b_acoustique =BLOC(condition="OPTION in ('PRAC_ELNO',)", - PRES =SIMP(statut='o',typ=(cham_no_sdaster,)), - ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def calc_champ_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu : RESULTAT=%s (type %s)" \ - % (RESULTAT, type(RESULTAT))) - -CALC_CHAMP=OPER(nom="CALC_CHAMP",op=52,sd_prod=calc_champ_prod,reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - fr="Completer ou creer un resultat en calculant des champs par elements ou aux noeuds", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - - RESULTAT = SIMP(statut='o',typ=resultat_sdaster,position='global', - fr="Resultat d'une commande globale"), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - ), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM' ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela = BLOC(condition="(CRITERE=='RELATIF')", - PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso = BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION = SIMP(statut='o',typ='R'),), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="le calcul sera effectue sur toutes les mailles"), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectue que sur ces groupes de mailles"), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectue que sur ces mailles"), - - EXCIT = FACT(statut='f',max='**', - fr="Charges contenant les temperatures, les efforts repartis pour les poutres...", - regles=(EXCLUS('FONC_MULT','COEF_MULT',),), - CHARGE = SIMP(statut='o',typ=(char_meca,char_cine_meca),), - FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT = SIMP(statut='f',typ='R'), - TYPE_CHARGE = SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), - - # Bloc lineaire - b_lineaire = BLOC(condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\ - comb_fourier,mult_elas,fourier_elas,mode_flamb)", - CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de contraintes et efforts generalises", - into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='lin'),), - - DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de deformations", - into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='lin'),), - - ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul d'energies", - into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='lin'),), - - CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de criteres", - into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='lin'),), - - VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de variables internes", - into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='lin'),), - ), - - # Bloc non-lineaire - b_non_lin = BLOC(condition = "AsType(RESULTAT) in (evol_noli,)", - CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de contraintes et efforts generalises", - into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='nonlin'),), - - DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de deformations", - into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='nonlin'),), - - ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul d'energies", - into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='nonlin'),), - - CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de criteres", - into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='nonlin'),), - - VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de variables internes", - into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='nonlin'),), - - b_nom_vari = BLOC(condition = "au_moins_un(VARI_INTERNE, ('VAEX_ELNO','VAEX_ELGA','VAEX_NOEU'))", - NOM_VARI = SIMP(statut='o',typ='TXM',min= 1,max='**', - fr="nom de la variable a extraire", - into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX", - "GAMP","PCR","SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV", - "X11","X22","X33","X12","X13","X23","DIST_DEV","DEV_SUR_CRIT","DIST_ISO", - "NB_ITER","ARRET","NB_REDE","SIGNE","RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA", - "IND_1","IND_2","IND_3","IND_4", - ), - ),), - - HYDRAULIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de flux hydraulique", - into=C_NOM_CHAM_INTO(phenomene='HYDRAULIQUE',categorie='nonlin'),), - ), - - # Bloc Thermique - b_ther = BLOC(condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" , - THERMIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', - fr="Options pour le calcul de champs en thermique", - into=C_NOM_CHAM_INTO(phenomene='THERMIQUE',),), - ), - - # Bloc acoustique - b_acou = BLOC(condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,dyna_harmo)", - ACOUSTIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', - fr="Options pour le calcul de champs en acoustique", - into=C_NOM_CHAM_INTO(phenomene='ACOUSTIQUE',),), - ), - - # Bloc FORC_NODA et REAC_NODA - FORCE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour des forces nodales et des reactions nodales", - into=C_NOM_CHAM_INTO(phenomene='FORCE',),), - - # Mot-cle facteur CHAMp UTILisateur - CHAM_UTIL = FACT(statut='f', max='**', - regles = (UN_PARMI('FORMULE', 'CRITERE', 'NORME'), ), - NOM_CHAM = SIMP(statut='o', typ='TXM', - fr="Nom du champ utilisé en donnée",), - FORMULE = SIMP(statut='f', typ=formule, max='**', - fr="Formule permet d'obtenir le critère",), - CRITERE = SIMP(statut='f', typ='TXM', max=1, - into=('TRACE', 'VMIS', 'INVA_2'), - fr="Calcul d'un critère pré-défini",), - NORME = SIMP(statut='f', typ='TXM', max=1, - into=('L2', 'FROBENIUS', ), - fr="Calcul d'une norme pré-définie",), - NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, - fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), - ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), - - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster, - fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -def calc_char_seisme_prod(MATR_MASS,**args ): - if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster - raise AsException("type de concept resultat non prevu") - -CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod, - reentrant='n',fr="Calcul du chargement sismique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ), - DIRECTION =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MODE_STAT =SIMP(statut='f',typ=(mode_meca,) ), - b_mode_stat =BLOC ( condition = "MODE_STAT != None", - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -CALC_CORR_SSD=OPER(nom="CALC_CORR_SSD",op= 91,sd_prod=table_container, - fr="Qualite d'un modele reduit en dynamique", - reentrant='n', - UIinfo={"groupes":("Dynamique",)}, - MODELE_GENE =SIMP(statut='o',typ=modele_gene), - RESU_GENE =SIMP(statut='o',typ=mode_gene ), - UNITE =SIMP(statut='f',typ='I',defaut=6,), - SHIFT =SIMP(statut='f',typ='R',defaut= 1. ), - VERIF =FACT(statut='f',max='**', - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,**args): - - self.type_sdprod(CHARGE_MECA,char_meca) - self.type_sdprod(CHARGE_THER1,char_ther) - self.type_sdprod(CHARGE_THER2,char_ther) - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(DEBIT,table_sdaster) - return None - - - -CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE", - op=OPS('Macro.calc_ecrevisse_ops.calc_ecrevisse_ops'), - sd_prod=calc_ecrevisse_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier",)},fr="Procedure de couplage avec Ecrevisse", - regles = (UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPTS SORTANTS : 2 CHARGEMENTS THERMIQUE + 1 MECANIQUE + 2 TABLES POUR LE POST-TRAITEMENT -# ******************************************** - CHARGE_MECA =SIMP(statut='o',typ=CO), - CHARGE_THER1 =SIMP(statut='o',typ=CO), - CHARGE_THER2 =SIMP(statut='o',typ=CO), - TABLE =SIMP(statut='o',typ=CO), - DEBIT =SIMP(statut='o',typ=CO), - - -# MODELES MECANIQUES -# ******************************************** - MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), - MODELE_THER =SIMP(statut='o',typ=modele_sdaster), - - -# DONNEES GEOMETRIQUES RELATIVES AUX RESULTATS -# ******************************************** - RESULTAT =FACT(statut='o',min=1,max=1, - MECANIQUE =SIMP(statut='o',typ=resultat_sdaster), - THERMIQUE =SIMP(statut='o',typ=resultat_sdaster), - regles=(EXCLUS('NUME_ORDRE','INST'),), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), - ), - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - - FISSURE =FACT(statut='o',min=1,max='**', - PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, - fr="Groupe(s) des noeuds definissant les levres de la fissure"), - GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), - OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), - TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, - fr="Coefficient de tortuosite de la fissure" ), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section", ), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section", ), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - - ECOULEMENT =FACT(statut='o',min=1,max=1, - PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - ), - - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='o',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE =FACT(statut='o',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - -# GENERAL -# ******* - - COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr -def calc_erreur_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - -CALC_ERREUR=OPER(nom="CALC_ERREUR",op=42,sd_prod=calc_erreur_prod,reentrant='f', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Compléter ou créer un résultat en calculant des champs d'erreur", - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Résultat d'une commande globale"), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI"), - -#----------------------------------------------------------------------- -# pour conserver la compatibilité mais ne sert à rien -#----------------------------------------------------------------------- - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='f',max='**', - fr="Charges contenant les températures, les efforts répartis pour les poutres...", - regles=(EXCLUS('FONC_MULT','COEF_MULT',),), - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca),), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT =SIMP(statut='f',typ='R'),), -#----------------------------------------------------------------------- - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='ERREUR',),), - - b_erre_qi =BLOC(condition = "au_moins_un(OPTION, ('QIRE_ELEM','QIZ1_ELEM','QIZ2_ELEM','QIRE_ELNO','QIRE_NOEU'))", - RESU_DUAL=SIMP(statut='o',typ=resultat_sdaster,fr="Résultat du problème dual"),), - - b_sing =BLOC(condition= "au_moins_un(OPTION, 'SING_ELEM')", - PREC_ERR=SIMP(statut='o',typ='R',val_min= 0., - fr="Précision demandée pour calculer la carte de taille des éléments"), - TYPE_ESTI=SIMP(statut='f',typ='TXM',into=("ERME_ELEM","ERZ1_ELEM","ERZ2_ELEM", - "QIRE_ELEM","QIZ1_ELEM","QIZ2_ELEM",), - fr="Choix de l'estimateur d'erreur"),), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR (utilisé actuellement pour estimateur d'erreur ZZ1) - SOLVEUR =C_SOLVEUR('CALC_ERREUR'), -#------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: albert.alarcon at edf.fr - - -def calc_essai_prod(self,RESU_IDENTIFICATION, - RESU_MODIFSTRU, - **args): - - if RESU_IDENTIFICATION != None: - for res in RESU_IDENTIFICATION: - self.type_sdprod(res['TABLE'],interspectre) - - MTYPES = { - 'MODELE' : modele_sdaster, - 'MODE_MECA' : mode_meca, - 'NUME_DDL' : nume_ddl_sdaster, - 'MAILLAGE' : maillage_sdaster, - 'MASS_MECA' : matr_asse_depl_r, - 'RIGI_MECA' : matr_asse_depl_r, - 'AMOR_MECA' : matr_asse_depl_r, - 'MACR_ELEM' : macr_elem_stat, - 'PROJ_MESU' : mode_gene, - 'BASE_ES' : mode_meca, - 'BASE_LMME' : mode_meca, - 'MODE_STA' : mode_meca, - } - if RESU_MODIFSTRU != None: - for res in RESU_MODIFSTRU: - for mc, typ in MTYPES.items(): - if res[mc]: - self.type_sdprod(res[mc], typ) - return None - - -CALC_ESSAI = MACRO(nom = 'CALC_ESSAI', - op = OPS('Macro.calc_essai_ops.calc_essai_ops'), - sd_prod = calc_essai_prod, - reentrant = 'n', - UIinfo = {"groupes":("Outils-métier","Dynamique",)}, - fr = "Outil de post-traitement interactif pour Meidee ", - INTERACTIF = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), - RESU_IDENTIFICATION = FACT( statut='f',max='**', - TABLE = SIMP(statut='f', typ=CO), - ), - RESU_MODIFSTRU = FACT( statut='f', max=1, - MODELE=SIMP(statut='f',typ=CO,defaut=None), - MODE_MECA=SIMP(statut='f',typ=CO,defaut=None), - MAILLAGE=SIMP(statut='f',typ=CO,defaut=None), - NUME_DDL=SIMP(statut='f',typ=CO,defaut=None), - MASS_MECA=SIMP(statut='f',typ=CO,defaut=None), - RIGI_MECA=SIMP(statut='f',typ=CO,defaut=None), - AMOR_MECA=SIMP(statut='f',typ=CO,defaut=None), - MACR_ELEM=SIMP(statut='f',typ=CO,defaut=None), - PROJ_MESU=SIMP(statut='f',typ=CO,defaut=None), - BASE_ES=SIMP(statut='f',typ=CO,defaut=None), - BASE_LMME=SIMP(statut='f',typ=CO,defaut=None), - MODE_STA=SIMP(statut='f',typ=CO,defaut=None), - ), - - b_inter = BLOC( condition="INTERACTIF=='NON'", - - EXPANSION = FACT( statut='f',max='**', - CALCUL = SIMP(statut='o',typ=mode_meca), - NUME_MODE_CALCUL = SIMP(statut='f',typ='I',validators=NoRepeat(), - max='**',defaut=0), - MESURE = SIMP(statut='o',typ=mode_meca), - NUME_MODE_MESURE = SIMP(statut='f',typ='I',validators=NoRepeat(), - max='**',defaut=0), - RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')), - b_reso = BLOC(condition = "RESOLUTION=='SVD'", - EPS = SIMP(statut='f',typ='R', defaut = 0.) - ) - ), - IDENTIFICATION = FACT( statut='f',max='**', - ALPHA = SIMP(statut='f',typ='R', defaut = 0.), - EPS = SIMP(statut='f',typ='R', defaut = 0.), - OBSERVABILITE = SIMP(statut='o',typ=mode_meca), - COMMANDABILITE = SIMP(statut='o',typ=mode_meca), - INTE_SPEC = SIMP(statut='o',typ=interspectre), - RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - BASE = SIMP(statut='o',typ=mode_meca), - ), - MODIFSTRUCT = FACT( statut='f', max=1, - MESURE = SIMP(statut='o', typ=mode_meca), - MODELE_SUP = SIMP(statut='o', typ=modele_sdaster), - MATR_RIGI = SIMP(statut='o', typ=matr_asse_depl_r), - RESOLUTION = SIMP(statut='f', typ='TXM', - into=('ES', 'LMME'), defaut='ES'), - b_resol = BLOC( condition = "RESOLUTION=='LMME'", - MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r), - ), - NUME_MODE_MESU = SIMP(statut='o', typ='I',max='**'), - NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'), - MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster), - ), - # Si on realise une modification structurale, on donne les DDL capteurs et interface - b_modif = BLOC( condition="MODIFSTRUCT!=None", - GROUP_NO_CAPTEURS = FACT( statut='f', max='**', - GROUP_NO = SIMP(statut='o',typ=grno,), - NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), - ), - GROUP_NO_EXTERIEUR = FACT( statut='f', max='**', - GROUP_NO = SIMP(statut='o',typ=grno,), - NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), - ), - ), - ), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sam.cuvilliez at edf.fr - -def calc_essai_geomeca_prod(self, - ESSAI_TD, - ESSAI_TND, - ESSAI_CISA_C, - ESSAI_TND_C, - #ESSAI_XXX, - **args): - List_essais = [] - if ESSAI_TD != None : List_essais += ESSAI_TD.List_F() - if ESSAI_TND != None : List_essais += ESSAI_TND.List_F() - if ESSAI_CISA_C != None : List_essais += ESSAI_CISA_C.List_F() - if ESSAI_TND_C != None : List_essais += ESSAI_TND_C.List_F() - #if ESSAI_XXX != None : List_essais += ESSAI_XXX.List_F() - for DicoEssai in List_essais : - if DicoEssai.has_key('TABLE_RESU'): - for Table in DicoEssai['TABLE_RESU']: - self.type_sdprod(Table,table_sdaster) - return None - - -CALC_ESSAI_GEOMECA = MACRO(nom="CALC_ESSAI_GEOMECA", - op=OPS('Macro.calc_essai_geomeca_ops.calc_essai_geomeca_ops'), - sd_prod=calc_essai_geomeca_prod, - UIinfo={"groupes":("",)}, - reentrant='n', - fr="", - MATER = SIMP(statut='o',typ=mater_sdaster), - COMPORTEMENT = C_COMPORTEMENT(), - CONVERGENCE = C_CONVERGENCE(), - regles=(AU_MOINS_UN('COMPORTEMENT'), # car COMPORTEMENT est facultatif dans C_COMPORTEMENT - AU_MOINS_UN( - 'ESSAI_TD' , - 'ESSAI_TND' , - 'ESSAI_CISA_C', - 'ESSAI_TND_C' , - #'ESSAI_XXX' , - ),), - # --- - # Essai Triaxial Monotone Draine ('TD') - # --- - ESSAI_TD = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',), - defaut=('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai Triaxial Monotone Non Draine ('TND') - # --- - ESSAI_TND = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), - NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',), - defaut=('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai de Cisaillement Cyclique Draine ('CISA_C') - # --- - ESSAI_CISA_C = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - EPSI_ELAS = SIMP(statut='f',typ='R',defaut=1.E-7,val_max=1.E-7), - NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), - NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('EPSXY-SIGXY','EPSXY-G','EPSXY-D',), - defaut=('EPSXY-SIGXY','EPSXY-G','EPSXY-D',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai Triaxial Non Draine Cyclique ('TND_C') - # --- - ESSAI_TND_C = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - SIGM_IMPOSE = SIMP(statut='o',typ='R',max='**',), - BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), - UN_SUR_K = SIMP(statut='o',typ='R',), - NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), - NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',), - defaut=('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai ... ('XXX') - # --- - #ESSAI_XXX = FACT(statut='f',max='**', - # - # PRES_CONF = SIMP(statut='o',typ='R',max='**',), - # ... - # - # TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - # GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - # into= ('XXX','XXX','XXX',), - # defaut=('XXX','XXX','XXX',),), - # TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - # - # ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -def calc_europlexus_prod(self,COURBE=None,**args): - if COURBE is not None: - self.type_sdprod(args['TABLE_COURBE'],table_sdaster) - return evol_noli - -CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS", - op=OPS('Macro.calc_europlexus_ops.calc_europlexus_ops'), - sd_prod=calc_europlexus_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier","Dynamique",)}, - fr="Chainage Code_Aster-Europlexus", - regles=(PRESENT_ABSENT('ETAT_INIT','MODELE'), - PRESENT_ABSENT('ETAT_INIT','CARA_ELEM'), - PRESENT_ABSENT('ETAT_INIT','CHAM_MATER'), - EXCLUS('ETAT_INIT','FONC_PARASOL'), - AU_MOINS_UN('COMPORTEMENT'),), - LOGICIEL = SIMP(statut='f', typ='TXM', defaut='/home/europlex/EPXD/bin/europlexus'), - LANCEMENT = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), - - ETAT_INIT = FACT(statut='f', - RESULTAT = SIMP(statut='o',typ=evol_noli), - CONTRAINTE = SIMP(statut='f', typ='TXM', defaut='NON',into=('OUI','NON')), - EQUILIBRE = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), - b_niter =BLOC(condition = "CONTRAINTE == 'NON' ", - NITER = SIMP(statut='f',typ='I',defaut=1), - ), - ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - - FONC_PARASOL = FACT(statut='f', - regles=(PRESENT_PRESENT('NFKT','NFKR'),), - NFKT = SIMP(statut='f',typ=(fonction_sdaster,)), - NFKR = SIMP(statut='f',typ=(fonction_sdaster,)), - NFAT = SIMP(statut='f',typ=(fonction_sdaster,)), - NFAR = SIMP(statut='f',typ=(fonction_sdaster,)), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - COMPORTEMENT =C_COMPORTEMENT('CALC_EUROPLEXUS'), - - EXCIT = FACT(statut='o',max='**', - CHARGE = SIMP(statut='o',typ=(char_meca,)), - FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,)), - ), - - DIME = FACT(statut='f', regles=(AU_MOINS_UN('UNITE_DIME','Q4GS','FORCE', - 'PT6L','ZONE','POUT','ECRO', - 'APPU','BLOQ','PRESS','PMAT', - 'DKT3','DEPL','FNOM','TABLE','FTAB', - 'MTTI','NEPE','LIAI',), ), - UNITE_DIME=SIMP(statut='f',typ='I'), - - Q4GS = SIMP(statut='f',typ='I'), - FORCE = SIMP(statut='f',typ='I'), - PT6L = SIMP(statut='f',typ='I'), - ZONE = SIMP(statut='f',typ='I'), - POUT = SIMP(statut='f',typ='I'), - ECRO = SIMP(statut='f',typ='I'), - APPU = SIMP(statut='f',typ='I'), - BLOQ = SIMP(statut='f',typ='I'), - PRESS = SIMP(statut='f',typ='I',min=2,max=2,), - PMAT = SIMP(statut='f',typ='I'), - DKT3 = SIMP(statut='f',typ='I'), - DEPL = SIMP(statut='f',typ='I'), - FNOM = SIMP(statut='f',typ='I'), - TABLE = SIMP(statut='f',typ='I',min=2,max=2,), - FTAB = SIMP(statut='f',typ='I'), - MTTI = SIMP(statut='f',typ='I'), - NEPE = SIMP(statut='f',typ='I'), - LIAI = SIMP(statut='f',typ='I'), - ), - - CALCUL = FACT(statut='o', - TYPE_DISCRETISATION = SIMP(statut='o',typ='TXM',defaut='AUTO',into=('AUTO','UTIL')), - INST_FIN = SIMP(statut='o',typ='R'), - INST_INIT = SIMP(statut='o',typ='R'), - NMAX = SIMP(statut='f',typ='R'), - - b_auto =BLOC( condition = "TYPE_DISCRETISATION=='AUTO'", - CSTAB = SIMP(statut='o',typ='R',defaut=0.3), -# DTMAX = SIMP(statut='f',typ='R'), - ), - - b_util =BLOC( condition = "TYPE_DISCRETISATION=='UTIL'", - PASFIX = SIMP(statut='o',typ='R'), - ), - ), - - - OBSERVATION =FACT(statut='f',max='**', - SUIVI_DDL = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), - b_suivi =BLOC(condition = "SUIVI_DDL == 'OUI' ", - regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), - EXCLUS('PAS_NBRE','PAS_INST',), - EXCLUS('GROUP_NO','TOUT_GROUP_NO',), - EXCLUS('GROUP_MA','TOUT_GROUP_MA',), ), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut=('DEPL',),into=('DEPL' - ,'VITE','ACCE','SIEF_ELGA','EPSI_ELGA','VARI_ELGA'),), - PAS_INST = SIMP(statut='f',typ='R'), - PAS_NBRE = SIMP(statut='f',typ='I'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO = SIMP(statut='f',typ='TXM',into=('OUI',),), - TOUT_GROUP_MA = SIMP(statut='f',typ='TXM',into=('OUI',),), - ), - ), - - - ARCHIVAGE =FACT(statut='o', regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), EXCLUS('PAS_NBRE','PAS_INST',), ), - PAS_INST = SIMP(statut='f',typ='R'), - PAS_NBRE = SIMP(statut='f',typ='I'), - CONT_GENER = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), - ), - COURBE = FACT(statut='f',max='**', regles=(EXCLUS('GROUP_NO','GROUP_MA')), - UNITE_ALIT = SIMP(statut='f',typ='I'), - NOM_CHAM = SIMP(statut='f',typ='TXM'), - NOM_CMP = SIMP(statut='f',typ='TXM'), -# NOEUD = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), -# MAILLE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), - - b_maille = BLOC(condition = "GROUP_MA != None", regles=(AU_MOINS_UN('NUM_GAUSS')), - NUM_GAUSS = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),), - ), - b_courbe = BLOC(condition = "COURBE != None", - regles=(AU_MOINS_UN('PAS_NBRE_COURBE','PAS_INST_COURBE',), - AU_MOINS_UN('TABLE_COURBE',)), - PAS_INST_COURBE = SIMP(statut='f',typ='R'), - PAS_NBRE_COURBE = SIMP(statut='f',typ='I'), - TABLE_COURBE = SIMP(statut='f', typ=CO), - ), - DOMAINES = FACT(statut='f',max='**', - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - IDENTIFIANT = SIMP(statut='f',typ='I'),), - INTERFACES = FACT(statut='f',max='**', - GROUP_MA_1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOLE = SIMP(statut='f',typ='R'), - IDENT_DOMAINE_1 = SIMP(statut='f',typ='I'), - IDENT_DOMAINE_2 = SIMP(statut='f',typ='I'),), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: van-xuan.tran at edf.fr -def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args): - if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster - if TYPE_CALCUL == "FATIGUE_VIBR" : return cham_elem - raise AsException("type de calcul non prevu") - -CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n', - fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique" - +" dans lequel le cisaillement est maximal.", - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - TYPE_CALCUL = SIMP(statut='o',typ='TXM', - into=("CUMUL_DOMMAGE","FATIGUE_MULTI","FATIGUE_VIBR") ), - - b_cumul_domma =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'", - fr="Calcul d un champ de dommage subi par une structure.", - regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), - OPTION =SIMP(statut='o',typ='TXM', - into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM", - "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI", - "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ), - - b_sigm =BLOC(condition = "OPTION == 'DOMA_ELNO_SIGM' or OPTION == 'DOMA_ELGA_SIGM'", - fr="Calcul a partir d un champ de contraintes.", - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, - evol_noli) ), - EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", - into=("VMIS_SG",) ), - ), - ), - b_epsi =BLOC(condition = "OPTION != 'DOMA_ELNO_SIGM' and OPTION != 'DOMA_ELGA_SIGM'", - fr="Calcul a partir d un champ de déformations.", - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, - evol_noli) ), - EQUI_GD =SIMP(statut='o',typ='TXM',defaut="INVA_2_SG", - into=("INVA_2_SG",) ), - ), - ), - DOMMAGE =SIMP(statut='o',typ='TXM', - into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON", - "TAHERI_MIXTE",) ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - TAHERI_NAPPE =SIMP(statut='f',typ=(nappe_sdaster,formule) ), - TAHERI_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - b_domma_moda =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_VIBR'", - fr="Calcul d un champ de dommage en dynamique vibratoire", - regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), - OPTION =SIMP(statut='o',typ='TXM', - into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",) ), - CORR_SIGM_MOYE = SIMP(statut='o',typ='TXM',into=("GOODMAN","GERBER")), - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), - MODE_MECA =SIMP(statut='o',typ=(mode_meca) ), - NUME_MODE =SIMP(statut='o',typ='I',min=1 ,max='**'), - FACT_PARTICI =SIMP(statut='o',typ='R',min=1, max='**',defaut=1. ), - EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", - into=("VMIS_SG",) ), - ), - DOMMAGE =SIMP(statut='o',typ='TXM', - into=("WOHLER",) ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - ), - - b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'", - fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.", - TYPE_CHARGE =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ), - OPTION =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ), - RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), - CHAM_MATER =SIMP(statut='f',typ=(cham_mater) ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**' ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**' ), - COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), - b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", - "DANG_VAN_MODI_AC","VMIS_TRESCA","FORMULE_CRITERE") ), - b_fati_p =BLOC(condition = "(CRITERE == 'MATAKE_MODI_AC' or CRITERE == 'DANG_VAN_MODI_AC')", - METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), - ), - - b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - b_fati_pfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - - INST_INIT_CYCL =SIMP(statut='f',typ='R',min=1, max=1), - INST_CRIT =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU",) ), - regles=(PRESENT_PRESENT('INST_INIT_CYCL','INST_CRIT', ),), - b_prec_rela=BLOC(condition="(INST_CRIT=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(INST_CRIT=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM', - into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE","VMIS_TRESCA") ), - b_fati_np =BLOC(condition = - "(CRITERE != 'VMIS_TRESCA')", - PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), - DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - b_fati_npfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def calc_ferraillage_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - - -CALC_FERRAILLAGE=OPER(nom="CALC_FERRAILLAGE",op=175,sd_prod=calc_ferraillage_prod, reentrant='o', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="calcul de cartes de densité de ferraillage ", - - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,) ), - - -#==== -# Sélection des numéros d'ordre pour lesquels on fait le calcul : -#==== - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - -# -#==== -# Définition des grandeurs caractéristiques -#==== -# - TYPE_COMB =SIMP(statut='o',typ='TXM',into=('ELU','ELS')), - -# mot clé facteur répétable pour assigner les caractéristiques locales par zones topologiques (GROUP_MA) - AFFE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ENROBG =SIMP(statut='o',typ='R'), # enrobage - CEQUI =SIMP(statut='f',typ='R'), # coefficient d'équivalence acier/béton (pour ELS) - SIGM_ACIER =SIMP(statut='o',typ='R'), # contrainte admissible dans l'acier - SIGM_BETON =SIMP(statut='o',typ='R'), # contrainte admissible dans le béton - PIVA =SIMP(statut='f',typ='R'), # valeur du pivot a (pour ELU) - PIVB =SIMP(statut='f',typ='R'), # valeur du pivot b (pour ELU) - ES =SIMP(statut='f',typ='R'), # valeur du Module d'Young de l'acier (pour ELU) - ), - ) - - -############################################################################################################## -# Remarques : -#----------- -# l'épaisseur des coques sera récupérée automatiquement -# via le cara_elem sous-jacent au résultat - -# Le résultat produit est un champ constant par éléments associé à la grandeur FER2_R -# qui comporte les composantes : -# -# DNSXI densité d'acier longitudinal suivant X, peau inf -# DNSXS densité d'acier longitudinal suivant X, peau sup -# DNSYI densité d'acier longitudinal suivant Y, peau inf -# DNSYS densité d'acier longitudinal suivant Y, peau sup -# DNST densité d'acier transversal à l'ELU -# SIGMBE contrainte beton -# EPSIBE deformation béton - -# arrêt en erreur si: -# - EFGE_ELNO n'a pas été précédemment calculé et n'est donc pas présent dans la structure de données RESULTAT -# - si aucun CARA_ELEM n'est récupérable via la structure de données RESULTAT - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, - reentrant='n', - fr="Calculer les paramètres modaux d'une structure soumise à un écoulement", - UIinfo={"groupes":("Matrices et vecteurs",)}, - VITE_FLUI =FACT(statut='f', - fr="Définir la plage de vitesse fluide étudiée", - VITE_MIN =SIMP(statut='f',typ='R' ), - VITE_MAX =SIMP(statut='f',typ='R' ), - NB_POIN =SIMP(statut='f',typ='I' ), - ), - BASE_MODALE =FACT(statut='o', - - regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**',val_min=0.E+00), - AMOR_UNIF =SIMP(statut='f',typ='R',val_min=0.E+00 ), - AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00), - ), - TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ), - IMPRESSION =FACT(statut='f', - fr="Choix des informations à imprimer dans le fichier RESULTAT", - PARA_COUPLAGE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args): - if AsType(FONCTION) == nappe_sdaster: - return nappe_sdaster - elif AsType(FONCTION) == fonction_sdaster: - return fonction_sdaster - elif AsType(FONCTION) == fonction_c: - return fonction_c - elif AsType(FONCTION) == formule_c: - return fonction_c - elif AsType(FONCTION) == formule: - if NOM_PARA_FONC != None: - return nappe_sdaster - return fonction_sdaster - raise AsException("type de concept resultat non prevu") - -CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, - docu="U4.32.01",reentrant='n', - fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables", - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), - FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), - VALE_PARA =SIMP(statut='f',typ='R',max='**'), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - NOM_RESU =SIMP(statut='f',typ='TXM'), - NOM_PARA =SIMP(statut='f',typ='TXM'), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM'), - b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None", - regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),), - VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'), - LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_fonction_prod(self, DERIVE, EXTRACTION, INTEGRE, INVERSE, COMB, COMB_C, MULT, - ENVELOPPE, FRACTILE, SPEC_OSCI, ASSE, FFT, COMPOSE, CORR_ACCE, - PUISSANCE, LISS_ENVELOP, ABS, REGR_POLYNOMIALE, DSP, **args): - - if (INTEGRE != None): return fonction_sdaster - if (DERIVE != None): return fonction_sdaster - if (INVERSE != None): return fonction_sdaster - if (COMB != None): - type_vale=AsType(COMB[0]['FONCTION']) - for mcfact in COMB : - if(AsType(mcfact['FONCTION'])!=type_vale): - raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction") - return type_vale - if (COMB_C != None): - vale=COMB_C[0]['FONCTION'] - if(AsType(vale) == nappe_sdaster): - for mcfact in COMB_C[1:] : - if(AsType(mcfact['FONCTION'])!=nappe_sdaster): - raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") - return nappe_sdaster - else: - for mcfact in COMB_C : - if(AsType(mcfact['FONCTION'])==nappe_sdaster): - raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") - return fonction_c - if (ENVELOPPE != None): return AsType(ENVELOPPE[0]['FONCTION']) - if (FRACTILE != None): return AsType(FRACTILE[0] ['FONCTION']) - if (EXTRACTION != None): return fonction_sdaster - if (SPEC_OSCI != None): return nappe_sdaster - if (DSP != None): return fonction_sdaster - if (COMPOSE != None): return fonction_sdaster - if (ASSE != None): return fonction_sdaster - if (MULT != None): - type_vale = AsType(MULT[0]['FONCTION']) - for mcfact in MULT: - if(AsType(mcfact['FONCTION']) != type_vale): - raise AsException("CALC_FONCTION/MULT : pas de types hétérogènes nappe/fonction") - return type_vale - if (FFT != None): - vale=FFT[0]['FONCTION'] - if (AsType(vale) == fonction_sdaster ) : return fonction_c - if (AsType(vale) == fonction_c) : return fonction_sdaster - if (CORR_ACCE != None): return fonction_sdaster - if (LISS_ENVELOP!= None): return nappe_sdaster - if (REGR_POLYNOMIALE != None): return fonction_sdaster - if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION']) - if (ABS != None): return fonction_sdaster - raise AsException("type de concept resultat non prevu") - - -CALC_FONCTION=MACRO(nom="CALC_FONCTION", - op=OPS('Macro.calc_fonction_ops.calc_fonction_ops'), - sd_prod=calc_fonction_prod, - fr="Effectue des opérations mathématiques sur des concepts de type fonction", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('DERIVE', 'INTEGRE', 'SPEC_OSCI', 'DSP', 'FFT', 'CORR_ACCE', - 'COMB', 'COMB_C', 'MULT', 'ASSE', 'INVERSE', 'ABS', - 'ENVELOPPE', 'COMPOSE', 'EXTRACTION', 'PUISSANCE', - 'LISS_ENVELOP', 'FRACTILE', 'REGR_POLYNOMIALE'),), - FFT =FACT(statut='f',fr="Transformée de Fourier ou de son inverse", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ), - b_syme =BLOC ( condition = " AsType(FONCTION)==fonction_c ", - SYME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), - ), - ), - DERIVE =FACT(statut='f',fr="Dérivée d une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - ), - INTEGRE =FACT(statut='f',fr="Intégrale d'une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), - ), - LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe", - NAPPE =SIMP(statut='o',typ=nappe_sdaster ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut =0.2), - FREQ_MAX =SIMP(statut='f',typ='R',defaut =35.5), - ELARG =SIMP(statut='f',typ='R',defaut =0.1 ), - TOLE_LISS =SIMP(statut='f',typ='R',defaut =0.25 ), - ), - REGR_POLYNOMIALE = FACT(statut='f',fr="Régression polynomiale d'une fonction", - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - DEGRE =SIMP(statut='o',typ='I'), - ), - SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur", - METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM","HARMO","RICE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R', max='**'), - NORME =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ), - NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), - b_methode =BLOC(condition = "METHODE !='RICE' ", - NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="ACCE", into=("ACCE",),),), - b_rice =BLOC(condition = "METHODE =='RICE' ", - DUREE =SIMP(statut='o', typ='R', val_min=0., - fr="durée de la phase forte pour facteur de pic"), - NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="DSP", into=("DSP",),),), - ), - DSP =FACT(statut='f', fr="Densité spectrale", - FONCTION =SIMP(statut='o', typ=fonction_sdaster ), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - NORME =SIMP(statut='o', typ='R'), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - FREQ_PAS =SIMP(statut='f', typ='R'), - regles=(UN_PARMI('FREQ_PAS','LIST_FREQ'),), - FREQ_COUP =SIMP(statut='o', typ='R', fr="fréquence de coupure" ), - DUREE =SIMP(statut='o', typ='R', val_min=0., - fr="durée de la phase forte pour facteur de peak"), - FRACT =SIMP(statut='o', typ='R', defaut=0.5, val_min=0., val_max=1., fr="fractile" ), - ), - ABS =FACT(statut='f',fr="Valeur absolue d'une fonction", - FONCTION =SIMP(statut='o',typ=fonction_sdaster,), - ), - COMB =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), - COEF =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), - ), - COMB_C =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions", - regles=(UN_PARMI('COEF_R','COEF_C'),), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), - COEF_R =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), - COEF_C =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ), - ), - MULT =FACT(statut='f',max='**',fr="Produit de fonctions réelles", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), - ), - b_comb =BLOC ( condition = "COMB != None or COMB_C != None " \ - "or REGR_POLYNOMIALE != None or MULT != None", - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - COMPOSE =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)", - FONC_RESU =SIMP(statut='o',typ=fonction_sdaster), - FONC_PARA =SIMP(statut='o',typ=fonction_sdaster), - ), - EXTRACTION =FACT(statut='f',fr="Extraction sur une fonction complexe", - FONCTION =SIMP(statut='o',typ=fonction_c), - PARTIE =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"), - ), - ENVELOPPE =FACT(statut='f',fr="Enveloppe d une famille de fonctions", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ), - ), - FRACTILE =FACT(statut='f',fr="Fractile d une famille de fonctions ou de nappes", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - FRACT =SIMP(statut='o',typ='R',defaut=1.,val_min=0.,val_max=1.,fr="Valeur du fractile" ), - ), - ASSE =FACT(statut='f',fr="Concatenation de fonctions", - FONCTION =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ), - SURCHARGE =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")), - ), - CORR_ACCE =FACT(statut='f',fr="Correction d un accelerogramme reel", - CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - ), - PUISSANCE =FACT(statut='f',fr="Fonction élevée à une puissance", - FONCTION =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ), - EXPOSANT =SIMP(statut='f', typ='I', defaut=1 ), - ), - INVERSE =FACT(statut='f',fr="Inverse d'une fonction", - FONCTION =SIMP(statut='o', typ=fonction_sdaster), - ), - NOM_PARA =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ - "fonction ou bien pour le paramètre de la nappe."), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, - fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure" - +" en analyse sismique", - reentrant ='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - - regles=(EXCLUS('MODE_MECA','MODELE_GENE'), - PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'), - UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'), - UN_PARMI('MONO_APPUI','MODE_STAT')), - - MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), - MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_ther ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - POTENTIEL =SIMP(statut='f',typ=evol_ther ), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - - DIRECTION =SIMP(statut='o',typ='R',max=3), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MODE_STAT =SIMP(statut='f',typ=mode_meca,), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_FORC_AJOU'), -#------------------------------------------------------------------- - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr - -CALC_FORC_NONL=OPER(nom="CALC_FORC_NONL",op= 183,sd_prod=dyna_trans,reentrant='n', - fr="Créer un dyna_trans contenant des champs nommés 'DEPL' correspondant à 'FONL_NOEU' ", - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, defaut="FONL_NOEU", - into=("FONL_NOEU",) ), - - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - COMPORTEMENT =C_COMPORTEMENT(), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster, - fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité" - +" et les facteurs d'intensité de contraintes.", - reentrant='f', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - THETA =FACT(statut='o', - THETA =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),), - FOND_FISS =SIMP(statut='f',typ=fond_fiss,max=1), - FISSURE =SIMP(statut='f',position='global',typ=fiss_xfem,max=1), - NB_POINT_FOND =SIMP(statut='f',typ='I',val_min=2), - regles=( - EXCLUS('FOND_FISS','NB_POINT_FOND'), - UN_PARMI('THETA','FOND_FISS','FISSURE') - ), - b_theta =BLOC(condition="THETA == None",fr="calcul de theta", - regles=(PRESENT_PRESENT('R_INF','R_SUP'), - PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), - NUME_FOND =SIMP(statut='f',typ='I',defaut=1), - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - MODULE =SIMP(statut='f',typ='R',defaut=1.), - DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), - DIRECTION =SIMP(statut='f',typ='R',max=3,min=3), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - b_no_fond_fiss =BLOC(condition="FOND_FISS== None", - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - ), - - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca,mult_elas),), - - b_no_mult =BLOC(condition="(AsType(RESULTAT) != mult_elas)", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', - 'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ'),), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - ), - - b_mult_elas =BLOC(condition="(AsType(RESULTAT) == mult_elas)", - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**' ), - ), - - b_no_mult_elas =BLOC(condition="(AsType(RESULTAT) != mult_elas)", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - ), - - COMPORTEMENT =FACT(statut='f', - RELATION =SIMP( statut='o',typ='TXM',into=C_RELATION('CALC_G')), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - - b_init =BLOC(condition="RELATION=='ELAS'",), - SIGM_INIT=SIMP(statut='f', typ=(cham_no_sdaster,cham_elem)), - ), - -# ETAT_INIT =FACT(statut='f', -# SIGM =SIMP(statut='f',typ=cham_elem), -# DEPL =SIMP(statut='f',typ=cham_no_sdaster), -# ), - LISSAGE =FACT(statut='d', - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE", - "LAGRANGE_NO_NO","LAGRANGE_REGU"),), - b_legen =BLOC(condition="(LISSAGE_THETA=='LEGENDRE') or (LISSAGE_G=='LEGENDRE')", - DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ), - ), - ), - - OPTION =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G', - into=("CALC_G", - "CALC_G_GLOB", - "CALC_K_G", - "G_MAX", - "G_MAX_GLOB", - "G_BILI", - "G_BILI_GLOB", - "CALC_K_MAX"), - ), - - b_g_max =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')", - BORNES =FACT(statut='o',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - ), - b_k_max =BLOC(condition="(OPTION=='CALC_K_MAX')", - SIGNES =FACT(statut='o',max=1, - CHARGE_S =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), - CHARGE_NS =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), - ), - ), - - b_cal_contrainte =BLOC(condition="(COMPORTEMENT!=None and (OPTION=='CALC_G' or OPTION=='CALC_G_GLOB'))", - CALCUL_CONTRAINTE =SIMP(statut='f',typ='TXM',into=("NON",),), - ), - - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -#Quoi qu'il en soit, on sort la table GP -#Si on est sans copeau et que l'utilisateur souhaite verifier -#les copeaux automatiquement crees, il peut grace a CHAMP_COP -def calc_gp_prod(self,TRANCHE_2D,GPMAX, **args): - """Typage des sd_prod - """ - if TRANCHE_2D!=None: - if TRANCHE_2D['ZONE_MAIL']== "NON": - for ss_cop in TRANCHE_2D: - if ss_cop['CHAMP_VISU']!= None: - self.type_sdprod(ss_cop['CHAMP_VISU'], cham_elem) - if GPMAX !=None: - self.type_sdprod(GPMAX, table_sdaster) - return table_sdaster - - -CALC_GP =MACRO(nom="CALC_GP", - op=OPS('Macro.calc_gp_ops.calc_gp_ops'), - sd_prod=calc_gp_prod, -# sd_prod=table_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="calcul du parametre de clivage energetique Gp en 2D et en 3D", - regles=UN_PARMI('TRANCHE_2D','TRANCHE_3D'), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale STAT_NON_LINE"), - LIST_INST = SIMP(statut='o',typ=(listr8_sdaster) ), - PRECISION = SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), - CRITERE = SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), - TRANCHE_2D = FACT(statut='f',max = 1, - ZONE_MAIL = SIMP(statut='o',typ='TXM',into=("NON","OUI") ), - b_cop= BLOC(condition = "ZONE_MAIL=='OUI'", - fr="Les copeaux sont mailles", - GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), - TAILLE =SIMP(statut='o',typ=listr8_sdaster),), - b_ss_cop = BLOC(condition="ZONE_MAIL=='NON'", - fr="Les copeaux ne sont pas mailles", - CENTRE =SIMP(statut='o',typ='R',max=2), - RAYON =SIMP(statut='o',typ='R',max=1), - ANGLE =SIMP(statut='o',typ='R',max=1), - TAILLE =SIMP(statut='o',typ='R',max=1), - NB_ZONE =SIMP(statut='o',typ='I',), - CHAMP_VISU =SIMP(statut='f',typ=CO),), - ), - TRANCHE_3D = FACT(statut='f',max ='**', - GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), - ), - b_tranche_2d = BLOC(condition="TRANCHE_2D!=None", - SYME =SIMP(statut='o',typ='TXM',into=("NON","OUI"), - fr="multiplication par 2 si SYME=OUI"),), - b_tranche_3d = BLOC(condition="TRANCHE_3D!=None", - FOND_FISS =SIMP(statut='o',typ=fond_fiss,max=1,),), - GPMAX = SIMP(statut='f',typ=CO,), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# MACRO DE COUPLAGE IFS AVEC SATURNE VIA YACS -# -CALC_IFS_DNL= MACRO(nom='CALC_IFS_DNL', - op=OPS("Macro.calc_ifs_dnl_ops.calc_ifs_dnl_ops"), - sd_prod=evol_noli, - reentrant='f', - fr="Calcul de l'évolution dynamique d'une structure couplée à un "\ - "domaine fluide (résolu avec le code Saturne) via YACS", - UIinfo={"groupes":("Résolution","Dynamique",)}, - -#IFS -#=> - GROUP_MA_IFS =SIMP(statut='o',typ=grma,max='**'), - NOM_CMP_IFS =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - UNITE_NOEUD =SIMP(statut='f',typ='I',defaut= 81 ), - UNITE_ELEM =SIMP(statut='f',typ='I',defaut= 82 ), - PAS_INIT =SIMP(statut='o',typ='R' ), -#<= -#IFS - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - MODE_STAT =SIMP(statut='f',typ=mode_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), -#IFS -#=> -#(une charge force nodale est fournie par le couplage avec code_saturne - EXCIT =FACT(statut='f',max='**', -#<= -#IFS - regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - ), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), -#IFS -#=> -#(une charge force nodale est fournie par le couplage avec code_saturne -# CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), -#<= -#IFS - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - EXCIT_GENE =FACT(statut='f',max='**', - FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), - AMOR_MODAL =FACT(statut='f', - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - PROJ_MODAL =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), - MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','VITE'), - EXCLUS('EVOL_NOLI','ACCE'), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','VITE'), - EXCLUS('EVOL_NOLI','ACCE'), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- -#IFS : pas besoin d'INCREMENT -# INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - SCHEMA_TEMPS =FACT(statut='o', - SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', - into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), - COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", - PHI =SIMP(statut='f',typ='R',defaut= 1.05),), - - b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), - - b_hht = BLOC(condition="SCHEMA=='HHT'", - ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), - MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), - - b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", - THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), - - b_krenk = BLOC(condition="SCHEMA=='KRENK'", - KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), - - b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", - STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), - - b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", - FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), - ), -#------------------------------------------------------------------- - NEWTON =C_NEWTON(), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('CALC_IFS_DNL'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), - bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), - ), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - MODE_VIBR =FACT(statut='f',min=1,max=1, - MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, - fr="Nombre de fréquences propres à calculer"), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - BANDE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux fréquences délimitant la bande de recherche",), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), -#------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - b_info=BLOC(condition="(INFO==2)", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=interspectre, - fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - INST_FIN =SIMP(statut='o',typ='R' ), - DUREE_ANALYSE =SIMP(statut='f',typ='R' ), - DUREE_DECALAGE =SIMP(statut='f',typ='R' ), - NB_POIN =SIMP(statut='o',typ='I' ), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - - -CALC_MAC3COEUR = MACRO(nom="CALC_MAC3COEUR", - op=OPS("Mac3coeur.calc_mac3coeur_ops.calc_mac3coeur_ops"), - sd_prod=evol_noli, - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR"),position='global' ), - # TYPE DE COEUR A CONSIDERER - TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N - MAILLAGE_N = SIMP(statut='f',typ=maillage_sdaster), # MAILLAGE EN ATTENDANT MIEUX ??? - - LAME = FACT(statut='f',max=1, - fr="Estimation des lames d'eau entre AC", - TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 - MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),), # MAILLAGE EN ATTENDANT MIEUX ??? - - DEFORMATION = FACT(statut='f',max=1, - fr="Estimation des deformations des AC", - RESU_INIT = SIMP(statut='f',typ=resultat_sdaster), - NIVE_FLUENCE = SIMP(statut='o',typ='R',validators=NoRepeat(),max=1), # FLUENCE MAXIMALE DANS LE COEUR - UNITE_THYC = SIMP(statut='o',typ='I', max=1), - - # choix du maintien dans le cas mono-assemblage - b_maintien_mono = BLOC(condition = "TYPE_COEUR == 'MONO'", - - TYPE_MAINTIEN = SIMP(statut='o',typ='TXM',into=("FORCE","DEPL_PSC"), ), - - b_maintien_mono_force = BLOC(condition = "TYPE_MAINTIEN == 'FORCE'", - fr="valeur de l'effort de maintien imposée", - FORCE_MAINTIEN =SIMP(statut='o',typ='R', max=1),), - - ), - - # choix du maintien dans le cas d'un coeur à plusieurs assemblages - b_maintien_coeur = BLOC(condition = "TYPE_COEUR != 'MONO'", - - TYPE_MAINTIEN = SIMP(statut='f',typ='TXM',into=("DEPL_PSC",),defaut="DEPL_PSC" ), - - ), - - ), - -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, - fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'), - PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'), - PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),), - MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), - MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_ther ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ), - POTENTIEL =SIMP(statut='f',typ=evol_ther ), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_MATR_AJOU'), -#------------------------------------------------------------------- -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def calc_matr_elem_prod(OPTION,**args): - if OPTION == "RIGI_MECA" : return matr_elem_depl_r - if OPTION == "RIGI_FLUI_STRU" : return matr_elem_depl_r - if OPTION == "MASS_MECA" : return matr_elem_depl_r - if OPTION == "MASS_FLUI_STRU" : return matr_elem_depl_r - if OPTION == "RIGI_GEOM" : return matr_elem_depl_r - if OPTION == "RIGI_ROTA" : return matr_elem_depl_r - if OPTION == "MECA_GYRO" : return matr_elem_depl_r - if OPTION == "RIGI_GYRO" : return matr_elem_depl_r - if OPTION == "AMOR_MECA" : return matr_elem_depl_r - if OPTION == "IMPE_MECA" : return matr_elem_depl_r - if OPTION == "ONDE_FLUI" : return matr_elem_depl_r - if OPTION == "AMOR_MECA_ABSO" : return matr_elem_depl_r - if OPTION == "RIGI_MECA_HYST" : return matr_elem_depl_c - if OPTION == "RIGI_THER" : return matr_elem_temp_r - if OPTION == "MASS_MECA_DIAG" : return matr_elem_depl_r - if OPTION == "RIGI_ACOU" : return matr_elem_pres_c - if OPTION == "MASS_ACOU" : return matr_elem_pres_c - if OPTION == "AMOR_ACOU" : return matr_elem_pres_c - raise AsException("type de concept resultat non prevu") - -CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod - ,fr="Calcul des matrices élémentaires",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - - OPTION =SIMP(statut='o',typ='TXM', - into=("RIGI_MECA","MASS_MECA","RIGI_GEOM", - "AMOR_MECA","RIGI_THER","IMPE_MECA", - "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU", - "RIGI_ROTA","MECA_GYRO","RIGI_GYRO","MASS_MECA_DIAG","RIGI_ACOU", - "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST") ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - - # mots clés facultatifs que l'on a du mal à mettre dans les blocs - # sans gener MACRO_MATR_ASSE : - #------------------------------------------------------------------ - INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ), - - - b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_mass_meca =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'", - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - SIEF_ELGA =SIMP(statut='o',typ=cham_elem ), - STRX_ELGA =SIMP(statut='f',typ=cham_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_meca_gyro = BLOC( condition = "OPTION=='MECA_GYRO'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_rigi_gyro = BLOC( condition = "OPTION=='RIGI_GYRO'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_amor_meca =BLOC(condition = "OPTION=='AMOR_MECA'", - regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), - ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_amor_meca_abso =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'", - regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), - ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", - CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - RIGI_MECA =SIMP(statut='o',typ=matr_elem_depl_r ), - ), - - b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ), - ), - - b_rigi_acou =BLOC(condition = "OPTION=='RIGI_ACOU'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), - ), - - b_mass_acou =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), - ), - - b_rigi_flui =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'", - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ), - ), - - b_mass_flui =BLOC(condition = "OPTION=='MASS_FLUI_STRU'", - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'), - ), - - b_impe_meca =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', - UIinfo={"groupes":("Post-traitements","Thermique",)}, - fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique", - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - RESULTAT =SIMP(statut='o',typ=evol_ther ), - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='METALLURGIE',),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles là"), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles là"), - - b_meta =BLOC(condition= "au_moins_un(OPTION, ('META_ELNO','META_NOEU'))", - ETAT_INIT =FACT(statut='o', - regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),), - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - META_INIT_ELNO =SIMP(statut='f',typ=carte_sdaster ), - b_etat =BLOC(condition="EVOL_THER != None", - regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),), - NUME_INIT =SIMP(statut='f',typ='I'), - INST_INIT =SIMP(statut='f',typ='R'), - b_inst =BLOC(condition="INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - ), - - COMPORTEMENT =FACT(statut='o',max=1, - RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ), - ACIER =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - ZIRC =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma, validators=NoRepeat(), max='**'), - MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(), max='**'), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def calc_miss_sdprod(self, TYPE_RESU, **kwargs): - """Typage des structures de données produites""" - if TYPE_RESU in ('TABLE', 'TABLE_CONTROL'): - return table_sdaster - elif TYPE_RESU == 'HARM_GENE': - return harm_gene - elif TYPE_RESU == 'TRAN_GENE': - return tran_gene - else: - return None - -CALC_MISS = MACRO(nom="CALC_MISS", - op=OPS('Macro.calc_miss_ops.calc_miss_ops'), - sd_prod=calc_miss_sdprod, - fr="Préparation des données, exécution du logiciel Miss3D, et post-traitement", - UIinfo={"groupes":("Résolution","Outils-métier",)}, - - TYPE_RESU = SIMP(statut='o', typ='TXM', - into=('HARM_GENE', 'TRAN_GENE', 'TABLE', 'TABLE_CONTROL', - 'FICHIER', 'FICHIER_TEMPS'), - fr="Type de résultat produit en post-traitement. FICHIER : pas de post-traitement"), - PROJET = SIMP(statut='f', typ='TXM', defaut='MODELE', - fr="Nom de l'étude Miss"), - REPERTOIRE = SIMP(statut='f', typ='TXM', - fr="Répertoire de travail de Miss"), - VERSION = SIMP(statut='f', typ='TXM', into=("V6.6","V6.5"), defaut="V6.6", - fr="Version de Miss utilisée"), - - TABLE_SOL = SIMP(statut='o', typ=table_sdaster, - fr="Table des propriétés du sol"), - - # pas de post-traitement - b_basic = BLOC(condition="TYPE_RESU in ('FICHIER', 'TABLE_CONTROL')", - regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), - ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='f', typ=mode_meca, - fr="Base de modes"), - b_base_modale = BLOC(condition="BASE_MODALE is not None", - MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), - ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-structure"), - GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-sol"), - GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles sol-sol"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_IMPE = SIMP(statut='f', typ='I', - fr="Unité logique des impédances écrites par Miss"), - UNITE_RESU_FORC = SIMP(statut='f', typ='I', - fr="Unité logique des forces sismiques écrites par Miss"), - ), - # post-traitement : passage du domaine de Laplace au domaine temporel - b_fichier_temps = BLOC(condition="TYPE_RESU == 'FICHIER_TEMPS'", - regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), - AU_MOINS_UN('UNITE_RESU_RIGI','UNITE_RESU_AMOR','UNITE_RESU_MASS'), - PRESENT_PRESENT('UNITE_RESU_AMOR', 'MATR_GENE'), - PRESENT_PRESENT('UNITE_RESU_MASS', 'MATR_GENE'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='f', typ=mode_meca, - fr="Base de modes"), - b_base_modale = BLOC(condition="BASE_MODALE is not None", - MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), - ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_RIGI =SIMP(statut='f',typ='I'), - UNITE_RESU_AMOR =SIMP(statut='f',typ='I'), - UNITE_RESU_MASS =SIMP(statut='f',typ='I'), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - PRECISION = SIMP(statut='f',typ='R',defaut=0.000001), - COEF_SURECH = SIMP(statut='f',typ='I',defaut=1 ), - MATR_GENE =FACT(statut='f', max = 1, - DECOMP_IMPE= SIMP(statut='f',typ='TXM',defaut='PRODUIT',into=('PRODUIT','SANS_PRODUIT')), - AMOR_HYST = SIMP(statut='o',typ='TXM',into=('DANS_IMPEDANCE','DANS_MATR_AMOR'), - fr="Indique comment l'amortissement hysteretique est pris en compte"), - b_amor_nohyst = BLOC(condition="AMOR_HYST == 'DANS_MATR_AMOR'", - MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), - MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - MATR_AMOR = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - ), - b_amor_hyst = BLOC(condition="AMOR_HYST == 'DANS_IMPEDANCE'", - regles = (AU_MOINS_UN('MATR_MASS','MATR_RIGI','MATR_AMOR'),), - MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), - MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - ), - ), - EXCIT_SOL =FACT(statut='f', max = 1, - regles = (AU_MOINS_UN('CHAM_X','CHAM_Y','CHAM_Z'),), - UNITE_RESU_FORC =SIMP(statut='o',typ='I', - fr="Unité logique des forces sismiques écrites par Miss"), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='DEPL', - into=('ACCE','VITE','DEPL') ), - CHAM_X = SIMP(statut='f', typ=fonction_sdaster,), - CHAM_Y = SIMP(statut='f', typ=fonction_sdaster,), - CHAM_Z = SIMP(statut='f', typ=fonction_sdaster,), - ), - ), - # si post-traitement - b_donnees = BLOC(condition="TYPE_RESU not in ('FICHIER', 'FICHIER_TEMPS', 'TABLE_CONTROL')", - regles=(ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'), - UN_PARMI('MATR_AMOR', 'AMOR_REDUIT'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='o', typ=mode_meca, - fr="Base de modes"), - MATR_RIGI = SIMP(statut='o', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r ), - MATR_AMOR = SIMP(statut='f', typ=matr_asse_depl_r ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-structure"), - GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-sol"), - GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles sol-sol"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_IMPE = SIMP(statut='f', typ='I', - fr="Unité logique des impédances à relire."), - UNITE_RESU_FORC = SIMP(statut='f', typ='I', - fr="Unité logique des forces sismiques à relire"), - ), - # Paramètres du calcul Miss - PARAMETRE = FACT(statut='o', - regles=(PRESENT_PRESENT('OFFSET_MAX', 'OFFSET_NB'), - PRESENT_PRESENT('FREQ_MIN', 'FREQ_MAX','FREQ_PAS'), - UN_PARMI('FREQ_MIN', 'LIST_FREQ', 'FREQ_IMAG'), - PRESENT_PRESENT('SPEC_MAX', 'SPEC_NB'),), - FREQ_MIN = SIMP(statut='f', typ='R'), - FREQ_MAX = SIMP(statut='f', typ='R'), - FREQ_PAS = SIMP(statut='f', typ='R'), - LIST_FREQ = SIMP(statut='f', typ='R', max='**'), - FREQ_IMAG = SIMP(statut='f', typ='R'), - Z0 = SIMP(statut='f', typ='R', defaut=0.), - SURF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), - ISSF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), - ALLU = SIMP(statut='f', typ='R', defaut=0.), - RFIC = SIMP(statut='f', typ='R', defaut=0.), - - ALGO = SIMP(statut='f', typ='TXM', into=("DEPL","REGU")), - DREF = SIMP(statut='f', typ='R'), - SPEC_MAX = SIMP(statut='f', typ='R'), - SPEC_NB = SIMP(statut='f', typ='I'), - OFFSET_MAX = SIMP(statut='f', typ='R'), - OFFSET_NB = SIMP(statut='f', typ='I'), - TYPE = SIMP(statut='f', typ='TXM', into=("BINAIRE","ASCII",), defaut="ASCII"), - ), - # Post-traitement type 1 - tran_gene - b_post_tran_gene = BLOC(condition="TYPE_RESU == 'TRAN_GENE'", - regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - ), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='f', typ=grno, max='**',), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), - ), - # Post-traitement type 1 - harm_gene - b_post_harm_gene = BLOC(condition="TYPE_RESU == 'HARM_GENE'", - regles=(#AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z',), - AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X','DEPL_Y','DEPL_Z'), - PRESENT_ABSENT('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z', 'INST_FIN'), - PRESENT_ABSENT('EXCIT_HARMO', 'DEPL_X', 'DEPL_Y', 'DEPL_Z'), - PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - ENSEMBLE('INST_FIN', 'PAS_INST'),), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='f', typ=grno, max='**',), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - # identique à EXCIT de DYNA_LINE_HARM au type attendu pour VECT_ASSE près - EXCIT_HARMO = FACT(statut='f', max='**', - regles=(UN_PARMI('VECT_ASSE', 'CHARGE'), - UN_PARMI('FONC_MULT', 'FONC_MULT_C', 'COEF_MULT', 'COEF_MULT_C'),), - VECT_ASSE = SIMP(statut='f', typ=cham_no_sdaster,), - CHARGE = SIMP(statut='f', typ=char_meca), - FONC_MULT_C = SIMP(statut='f', typ=(fonction_c, formule_c),), - COEF_MULT_C = SIMP(statut='f', typ='C'), - FONC_MULT = SIMP(statut='f', typ=(fonction_sdaster, nappe_sdaster, formule) ), - COEF_MULT = SIMP(statut='f', typ='R'), - PHAS_DEG = SIMP(statut='f', typ='R', defaut=0.), - PUIS_PULS = SIMP(statut='f', typ='I', defaut=0), - ), - ), - # Post-traitement type 2 - b_post_table = BLOC(condition="TYPE_RESU == 'TABLE'", - regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z'),), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='o', typ=grno, max='**', - fr="Liste des groupes de noeud de post-traitement"), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), - NORME = SIMP(statut='o', typ='R', - fr="Valeur de la norme du spectre d'oscillateur" ), - AMOR_SPEC_OSCI = SIMP(statut='o', typ='R', max='**', - fr="Amortissement du spectre d'oscillateur"), - LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, - fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), - ), - - # Post-traitement type 3 - points de controle - b_post_control = BLOC(condition="TYPE_RESU == 'TABLE_CONTROL'", - regles=(PRESENT_PRESENT('ACCE_X', 'INST_FIN'), - PRESENT_PRESENT('ACCE_Y', 'INST_FIN'), - PRESENT_PRESENT('ACCE_Z', 'INST_FIN'), - ENSEMBLE('INST_FIN', 'PAS_INST', 'NORME', 'AMOR_SPEC_OSCI'),), - GROUP_MA_CONTROL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles des points de contrôle"), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - NORME = SIMP(statut='f', typ='R', - fr="Valeur de la norme du spectre d'oscillateur" ), - AMOR_SPEC_OSCI = SIMP(statut='f', typ='R', max='**', - fr="Amortissement du spectre d'oscillateur"), - LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, - fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), - ), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - - -def calc_modal_prod(self,AMORTISSEMENT,**args): - if AMORTISSEMENT=="NON": return mode_meca - if AMORTISSEMENT=="OUI": return mode_meca_c - raise AsException("type de concept resultat non prevu") - - -CALC_MODAL=MACRO(nom="CALC_MODAL", - op=OPS('Macro.calc_modal_ops.calc_modal_ops'), - UIinfo={"groupes":("Résolution","Dynamique",)}, - sd_prod=calc_modal_prod, - fr="Calcul des modes propres reels ou complexes dans une seule commande", - MODELE =SIMP(statut='o',typ=modele_sdaster), - AMORTISSEMENT =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - INST =SIMP(statut='f',typ='R',defaut=0.), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - b_qz =BLOC(condition = "METHODE == 'QZ'", - TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), - ), - MODE_RIGIDE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), - ), - b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des fréquences propres les plus proches d une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des fréquences propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, - fr="Valeurs des deux fréquences délimitant la bande de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mohamed.torkhani at edf.fr - - -CALC_MODE_ROTATION=MACRO(nom="CALC_MODE_ROTATION", - op=OPS('Macro.calc_mode_rotation_ops.calc_mode_rotation_ops'), - sd_prod=table_container, - reentrant='n', - fr="calculer les fréquences et modes d'un système en fonction des " \ - "vitesses de rotation", - UIinfo={"groupes":("Résolution","Dynamique",)}, - - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_GYRO =SIMP(statut='f',typ=matr_asse_depl_r ), - VITE_ROTA =SIMP(statut='f',typ='R',max='**'), - - METHODE =SIMP(statut='f',typ='TXM',defaut="QZ", - into=("QZ","SORENSEN",) ), - - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","CENTRE",), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - ), - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -CALC_POINT_MAT=OPER(nom="CALC_POINT_MAT",op=33,sd_prod=table_sdaster,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Intégrer une loi de comportement", - MATER =SIMP(statut='o',typ=mater_sdaster,max=1), - COMPORTEMENT =C_COMPORTEMENT('CALC_POINT_MAT'), - INCREMENT =C_INCREMENT('MECANIQUE'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - # --MASSIF : orientation du materiau (monocristal, orthotropie) - MASSIF =FACT(statut='f',max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2)), - - regles=( - EXCLUS('SIXX','EPXX',), - EXCLUS('SIYY','EPYY',), - EXCLUS('SIZZ','EPZZ',), - EXCLUS('SIXY','EPXY',), - EXCLUS('SIXZ','EPXZ',), - EXCLUS('SIYZ','EPYZ',), - - ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), - - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - MATR_C1=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - MATR_C2=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - VECT_IMPO=FACT(statut='f',max=6, - VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - ), - SIGM_INIT=FACT(statut='f', - SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - ), - EPSI_INIT=FACT(statut='f', - EPXX = SIMP(statut='o',typ='R',max=1), - EPYY = SIMP(statut='o',typ='R',max=1), - EPZZ = SIMP(statut='o',typ='R',max=1), - EPXY = SIMP(statut='o',typ='R',max=1), - EPXZ = SIMP(statut='o',typ='R',max=1), - EPYZ = SIMP(statut='o',typ='R',max=1), - ), - VARI_INIT=FACT(statut='f', - VALE = SIMP(statut='o',typ='R',max='**'), - ), - FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), - - NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), - - OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), - - ARCHIVAGE =FACT(statut='f', - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - - - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2")), - - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", - "EPSA","NEUT1","NEUT2")), - VALE_FONC = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - ), - - - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - - -CALC_PRECONT=MACRO(nom="CALC_PRECONT", - op=OPS('Macro.calc_precont_ops.calc_precont_ops'), - sd_prod=evol_noli, - fr="Imposer la tension définie par le BPEL dans les cables", - reentrant='f',UIinfo={"groupes":("Modélisation",)}, - reuse =SIMP(statut='f',typ='evol_noli'), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), - CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), - INCREMENT =C_INCREMENT('MECANIQUE'), - RECH_LINEAIRE =C_RECH_LINEAIRE(), - CONVERGENCE =C_CONVERGENCE(), - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(carte_sdaster,cham_elem)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), - METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX")), - b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'", - NEWTON = C_NEWTON(), - ), - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_PRECONT'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_meca), - ), - - COMPORTEMENT =C_COMPORTEMENT(), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: mathieu.corus at edf.fr - - -CALC_SPEC=MACRO(nom="CALC_SPEC", - op=OPS('Macro.calc_spec_ops.calc_spec_ops'), - sd_prod=interspectre, - reentrant='n', - fr="Calcule une matrice interspectrale ou des fonctions de transferts", - UIinfo={"groupes":("Fonctions",)}, - TAB_ECHANT =FACT(statut='f', - NOM_TAB =SIMP(statut='o',typ=table_sdaster), - LONGUEUR_DUREE =SIMP(statut='f',typ='R'), - LONGUEUR_POURCENT =SIMP(statut='f',typ='R'), - LONGUEUR_NB_PTS =SIMP(statut='f',typ='I'), - RECOUVREMENT_DUREE =SIMP(statut='f',typ='R'), - RECOUVREMENT_POURCENT =SIMP(statut='f',typ='R'), - RECOUVREMENT_NB_PTS =SIMP(statut='f',typ='I'), - ), - ECHANT =FACT(statut='f',max='**', - NUME_ORDRE_I =SIMP(statut='o',typ='I' ), - NUME_MES =SIMP(statut='o',typ='I' ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - ), -#-- Cas de la matrice interspectrale --# - INTERSPE =FACT(statut='f', - FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), - BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", - DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - ), - ), -#-- Cas des transferts - estimateurs H1 / H2 / Hv + Coherence --# - TRANSFERT =FACT(statut='f', - ESTIM =SIMP(statut='f',typ='TXM',defaut="H1",into=("H1","H2","CO",)), - REFER =SIMP(statut='o',typ='I',max='**'), - FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), -# DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", - DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -CALC_STABILITE=MACRO(nom="CALC_STABILITE",sd_prod=table_container, - op=OPS('Macro.calc_stabilite_ops.calc_stabilite_ops'), - fr="post-traitement modes non-linéaires : filtre resultats et calcul de stabilité", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - reuse =SIMP(statut='f',typ='table_container'), - - MODE_NON_LINE = SIMP(statut='o',typ=table_container,max=1), - SCHEMA_TEMPS = FACT(statut='d',max=1, - SCHEMA = SIMP(statut='f',typ='TXM',into=('NEWMARK',),defaut='NEWMARK'), - b_newmark= BLOC(condition="SCHEMA=='NEWMARK'", - NB_INST = SIMP(statut='f',typ='I',defaut= 1000 ), - ), - ), - TOLERANCE = SIMP(statut='f',typ='R',defaut= 1.E-2 ), - - FILTRE = FACT(statut='f',max=1,regles=(UN_PARMI('NUME_ORDRE','FREQ_MIN',),), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ_MIN = SIMP(statut='f',typ='R' ), - b_freq_min = BLOC(condition = "FREQ_MIN != None", - FREQ_MAX = SIMP(statut='o',typ='R' ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_table_prod(self, TABLE, ACTION, **kargs): - """Typage du concept produit. - """ - l_typ = [AsType(TABLE),] - for mcf in ACTION: - dmc = mcf.cree_dict_valeurs(mcf.mc_liste) - if dmc.get('TABLE') != None: - l_typ.append(AsType(dmc['TABLE'])) - # une table_fonction étant une table - if table_fonction in l_typ: - return table_fonction - elif table_container in l_typ: - return table_container - else: - return table_sdaster - -CALC_TABLE=MACRO(nom="CALC_TABLE", - op=OPS('Macro.calc_table_ops.calc_table_ops'), - sd_prod=calc_table_prod, - fr="Opérations sur une table", - UIinfo={"groupes":("Tables",)}, - reentrant='f', - TABLE = SIMP(statut='o',typ=table_sdaster), - ACTION = FACT(statut='o', max='**', - fr = "Suite des opérations à effectuer sur la table", - OPERATION = SIMP(statut='o', typ='TXM', - into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT_LIGNE', - 'OPER', 'SUPPRIME', 'AJOUT_COLONNE')), - - b_filtre = BLOC(condition="OPERATION == 'FILTRE'", - fr="Sélectionne les lignes de la table vérifiant un critère", - NOM_PARA = SIMP(statut='o',typ='TXM'), - CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ", - into=('EQ','NE','GT','LT','GE','LE','REGEXP', - 'VIDE','NON_VIDE','MAXI','MAXI_ABS','MINI','MINI_ABS'),), - b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE = SIMP(statut='f',typ='R',max='**'), - VALE_I = SIMP(statut='f',typ='I',max='**'), - VALE_C = SIMP(statut='f',typ='C',max='**'), - VALE_K = SIMP(statut='f',typ='TXM',max='**'), - ), - b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'", - VALE_K = SIMP(statut='o',typ='TXM',), - ), - b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')", - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - ), - - b_extr = BLOC(condition="OPERATION == 'EXTR'", - fr="Extrait une ou plusieurs colonnes de la table", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Noms des colonnes à extraire"), - ), - - b_suppr = BLOC(condition="OPERATION == 'SUPPRIME'", - fr="Supprime une ou plusieurs colonnes de la table", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Noms des colonnes à supprimer"), - ), - - b_renomme = BLOC(condition="OPERATION == 'RENOMME'", - fr="Renomme un ou plusieurs paramètres de la table", - NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2, - fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",), - ), - - b_tri = BLOC(condition="OPERATION == 'TRI'", - fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - ORDRE = SIMP(statut='f',typ='TXM',defaut="CROISSANT", - into=("CROISSANT","DECROISSANT") ), - ), - - b_comb = BLOC(condition="OPERATION == 'COMB'", - fr="Combine deux tables ayant éventuellement des paramètres communs", - TABLE = SIMP(statut='o',typ=table_sdaster, - fr="Table dont les colonnes vont venir surcharger la table initiale"), - NOM_PARA = SIMP(statut='f',typ='TXM',max='**', - fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\ - "pour que les colonnes soient combinées"), - RESTREINT = SIMP(statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON', - fr="Restreint la fusion uniquement aux lignes où les NOM_PARA sont communs"), - FORMAT_R =SIMP(statut='f',typ='TXM'), - ), - - b_ajout_lig = BLOC(condition="OPERATION == 'AJOUT_LIGNE'", - fr="Ajoute une ligne à la table initiale", - NOM_PARA = SIMP(statut='o',typ='TXM',max='**', - fr="Noms des paramètres dont les valeurs sont fournies sous VALE"), - VALE = SIMP(statut='o',typ=not_checked,max='**', fr='Valeurs des paramètres'), - ), - - b_ajout_col = BLOC(condition="OPERATION == 'AJOUT_COLONNE'", - fr="Ajoute une colonne constante à la table initiale", - NOM_PARA = SIMP(statut='o',typ='TXM',max='**', - fr="Noms des paramètres des colonnes à ajouter"), - VALE = SIMP(statut='o', typ=not_checked, max='**', - fr="Valeur constante pour chaque colonne"), - ), - - b_oper = BLOC(condition="OPERATION == 'OPER'", - fr="Applique une formule dans laquelle les variables sont les paramètres de la table", - FORMULE = SIMP(statut='o',typ=formule, - fr="Formule à appliquer aux colonnes de la table"), - NOM_PARA = SIMP(statut='o',typ='TXM', - fr="Nom de la nouvelle colonne"), - NOM_COLONNE = SIMP(statut='f',typ='TXM', max='**', - fr="Nom des colonnes à utiliser en tant que paramètres de la formule"), - ), - ), - - TITRE = SIMP(statut='f',typ='TXM',max='**', - fr="Titre de la table produite"), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Définir un champ theta pour le calcul du taux de restitution d'énergie" - +" ou des facteurs d'intensité de contraintes", - regles=(UN_PARMI('THETA_2D','THETA_3D'), - PRESENT_ABSENT('THETA_2D','DIRE_THETA'), - EXCLUS('DIRECTION','DIRE_THETA'),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - THETA_3D =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), - UN_PARMI('MODULE','MODULE_FO'), - ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='f',typ='R'), - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - b_theta_3d =BLOC(condition="THETA_3D != None", - FOND_FISS =SIMP(statut='o',typ=fond_fiss),), - DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - THETA_2D =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='o',typ='R'), - R_INF =SIMP(statut='o',typ='R'), - R_SUP =SIMP(statut='o',typ='R'), - ), - IMPRESSION =FACT(statut='f', - UNITE =SIMP(statut='f',typ='I',defaut=8), - FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def calc_vect_elem_prod(OPTION,**args): - if OPTION == "CHAR_MECA" : return vect_elem_depl_r - if OPTION == "CHAR_THER" : return vect_elem_temp_r - if OPTION == "CHAR_ACOU" : return vect_elem_pres_c - raise AsException("type de concept resultat non prevu") - -CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Calcul des seconds membres élémentaires", - OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU") ), - b_char_meca =BLOC(condition = "OPTION=='CHAR_MECA'", - regles=(AU_MOINS_UN('CHARGE','MODELE'),), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - MODELE =SIMP(statut='f',typ=modele_sdaster), - b_charge =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure", - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - b_modele =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure", - SOUS_STRUC =FACT(statut='o',min=01, - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - ), - ), - ), - b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CHARGE =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...", - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT", - into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INTE_ELEM","FORC_NODA_ELEM"),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - TABLE =SIMP(statut='f',typ=table_container), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE",)), - - ), - DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - INCR_DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - SIGM =SIMP(statut='o',typ=cham_elem), - VARI =SIMP(statut='o',typ=cham_elem), - INCREMENT =FACT(statut='o', - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - NUME_ORDRE =SIMP(statut='o',typ='I'),), - COMPORTEMENT =C_COMPORTEMENT('CALCUL'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.granet at edf.fr -#from Macro.chainage_thm_ops import chainage_thm_ops - -def chainage_thm_prod(self,TYPE_CHAINAGE,TYPE_RESU = None,**args) : - - if TYPE_CHAINAGE == "MECA_HYDR" : return evol_varc - - if TYPE_CHAINAGE == "HYDR_MECA" : - if TYPE_RESU == "CHAM_NO" : - return cham_no_sdaster - elif TYPE_RESU == "EVOL_VARC" : - return evol_varc - - if TYPE_CHAINAGE == "INIT" : - matr_mh = args['MATR_MH'] - matr_hm1 = args['MATR_HM1'] - matr_hm2 = args['MATR_HM2'] - - self.type_sdprod(matr_mh,corresp_2_mailla) - self.type_sdprod(matr_hm1,corresp_2_mailla) - self.type_sdprod(matr_hm2,corresp_2_mailla) - return None - - raise AsException("type de chainage THM non prevu") - -CHAINAGE_THM=MACRO(nom="CHAINAGE_THM", - op=OPS('Macro.chainage_thm_ops.chainage_thm_ops'), - sd_prod=chainage_thm_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - docu="Ux.xx.xx", - fr="Calcul des variables de commande pour le chaînage THM", - - TYPE_CHAINAGE = SIMP(statut='o',typ='TXM', - into=("HYDR_MECA","MECA_HYDR","INIT",), - fr="Sens du chaînage ou initialisation des matrices de projection"), - - # Cas HYDR_MECA : - - b_hydr_meca = BLOC(condition = "TYPE_CHAINAGE == 'HYDR_MECA'",fr="Chaînage hydraulique vers mécanique", - - RESU_HYDR = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat hydraulique à chaîner" ), - MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée mécanique"), - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("EVOL_VARC","CHAM_NO"),defaut="EVOL_VARC", ), - MATR_HM1 = SIMP(statut='o',typ=corresp_2_mailla,), - MATR_HM2 = SIMP(statut='o',typ=corresp_2_mailla,), - - b_type_resu = BLOC(condition = "TYPE_RESU == 'EVOL_VARC'",fr="Instant obligatoire si TYPE_RESU=EVOL_VARC", - INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), - - ),), - - # Cas MECA_HYDR : - - b_meca_hydr = BLOC(condition = "TYPE_CHAINAGE == 'MECA_HYDR'",fr="Chaînage mécanique vers hydraulique", - - RESU_MECA = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat mécanique à chaîner" ), - MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée hydraulique"), - - MATR_MH = SIMP(statut='o',typ=corresp_2_mailla,), - INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), - ), - - # Cas INIT : - - b_init = BLOC(condition = "TYPE_CHAINAGE == 'INIT'",fr="Calcul des matrices de projection", - - MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle mécanique"), - MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle hydraulique"), - - MATR_MH = SIMP(statut='o',typ=CO,), - MATR_HM1 = SIMP(statut='o',typ=CO,), - MATR_HM2 = SIMP(statut='o',typ=CO,), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, - reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières", - UIinfo={"groupes":("Post-traitements",)}, - RESULTAT =SIMP(statut='o',typ=(fourier_elas,fourier_ther),), - ANGLE =SIMP(statut='o',typ='R',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,into=("DEPL","REAC_NODA", - "SIEF_ELGA","EPSI_ELNO","SIGM_ELNO","TEMP","FLUX_ELNO"),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): - if COMB_C != None: - type_mat = AsType(COMB_C[0]['MATR_ASSE']) - if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c - if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c - if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c - if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c - elif COMB_R != None: - type_mat = AsType(COMB_R[0]['MATR_ASSE']) - if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r - if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r - if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r - if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r - elif CALC_AMOR_GENE != None: return matr_asse_gene_r - raise AsException("type de concept resultat non prevu") - -COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, - fr="Effectuer la combinaison linéaire de matrices assemblées", - reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),), - COMB_R =FACT(statut='f',max='**', - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c - ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), - COEF_R =SIMP(statut='o',typ='R' ), - ), - COMB_C =FACT(statut='f',max='**', - regles=(UN_PARMI('COEF_R','COEF_C' ),), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c - ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), - COEF_R =SIMP(statut='f',typ='R' ), - COEF_C =SIMP(statut='f',typ='C' ), - ), - CALC_AMOR_GENE =FACT(statut='f', - RIGI_GENE = SIMP(statut='o', typ=matr_asse_gene_r), - MASS_GENE = SIMP(statut='o', typ=matr_asse_gene_r), - regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),), - AMOR_REDUIT = SIMP(statut='f',typ='R',max='**'), - LIST_AMOR = SIMP(statut='f',typ=listr8_sdaster ), - ), - SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.audebert at edf.fr -COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_meca, - fr="Réponse sismique par recombinaison modale par une méthode spectrale", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'), - UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ), - UN_PARMI('MONO_APPUI','MULTI_APPUI' ),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - b_freq =BLOC(condition = "FREQ != None or LIST_FREQ != None", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - MODE_CORR =SIMP(statut='f',typ=mode_meca ), - FREQ_COUP = SIMP(statut='f',typ='R',min=1,max=1), - - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), - - MASS_INER =SIMP(statut='f',typ=table_sdaster ), - CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),), - AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",), - TRI_AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",), - TRI_SPEC =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Excitation suivant les trois axes avec trois spectres"), - b_axe =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), - ECHELLE =SIMP(statut='f',typ='R',), - ), - b_tri_axe =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), - ECHELLE =SIMP(statut='f',typ='R',), - ), - b_tri_spec =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes avec trois spectres", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),min=3,max=3 ), - ECHELLE =SIMP(statut='f',typ='R',min=3,max=3), - ), - NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ), - b_mult_appui =BLOC(condition = "(MULTI_APPUI != None)", - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),) - ), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="excitation imposée unique" ), - MULTI_APPUI =SIMP(statut='f',typ='TXM',position='global',into=("DECORRELE","CORRELE"), - fr="excitation imposée unique" ), - b_decorrele =BLOC(condition = "MULTI_APPUI == 'DECORRELE' ", - GROUP_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - - ), - b_correle =BLOC(condition = "MULTI_APPUI == 'CORRELE' ", - COMB_MULT_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),), - ), - - COMB_MODE =FACT(statut='o', - TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC","GUPTA") ), - DUREE =SIMP(statut='f',typ='R' ), - b_gupta =BLOC(condition = "TYPE == 'GUPTA' ", - FREQ_1 =SIMP(statut='o',typ='R',), - FREQ_2 =SIMP(statut='o',typ='R',), - ), - ), - COMB_DIRECTION =FACT(statut='f', - TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ), - ), - COMB_DEPL_APPUI=FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','LIST_CAS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - LIST_CAS =SIMP(statut='f',typ='I',max='**'), - TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), - ), - DEPL_MULT_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - AU_MOINS_UN('DX','DY','DZ' ),), - NOM_CAS =SIMP(statut='o',typ='TXM',max='**'), - NUME_CAS =SIMP(statut='o',typ='I',max='**'), - MODE_STAT =SIMP(statut='o',typ=mode_meca, ), - NOEUD_REFE =SIMP(statut='f',typ=no), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - ), - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9, - into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO","SIEF_ELGA", - "EFGE_ELNO","REAC_NODA","FORC_NODA", - "SIPO_ELNO") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), - IMPRESSION =FACT(statut='f',max='**', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def copier_prod(CONCEPT,**args): - return AsType(CONCEPT) - -# liste des types de concept acceptes par la commande : -copier_ltyp=( - cabl_precont, - listr8_sdaster, - listis_sdaster, - fonction_sdaster, - nappe_sdaster, - table_sdaster, - maillage_sdaster, - modele_sdaster, - evol_elas, - evol_noli, - evol_ther, -) - -COPIER=OPER(nom="COPIER",op= 185,sd_prod=copier_prod,reentrant='f', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Copier un concept utilisateur sous un autre nom", - - CONCEPT = SIMP(statut='o',typ=copier_ltyp,), - INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=1, ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def crea_champ_prod(TYPE_CHAM,**args): - if TYPE_CHAM[0:5] == "CART_" : - return carte_sdaster - elif TYPE_CHAM[0:5] == "NOEU_" : - return cham_no_sdaster - elif TYPE_CHAM[0:2] == "EL" : - return cham_elem - else : - raise AsException("type de concept resultat_sdaster non prevu") - - -CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, - fr="Création d'un champ ",reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - - # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx - # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs - TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), - -# SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS : -# ------------------------------------------------------------------ - regles=(EXCLUS('NUME_DDL','CHAM_NO',)), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ), - CHAM_NO =SIMP(statut='f',typ=(cham_no_sdaster) ), - - -# AUTORISE-T-ON LE PROLONGEMENT DU CHAMP PAR ZERO ? -# ------------------------------------------------------------------ -# CE MOT CLE N'A DE SENS QUE DANS 2 CAS DE FIGURE : -# - POUR LES CHAM_ELEM (AVEC LE MOT CLE MODELE) -# - POUR LES CHAM_NO SI ON IMPOSE LEUR NUMEROTATION - b_prol_zero =BLOC(condition = "NUME_DDL != None or CHAM_NO != None or (TYPE_CHAM != None and TYPE_CHAM[0:2] == 'EL')", - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",)),), - - -# SI CREATION D'UN CHAM_ELEM, POUR POUVOIR AIDER A L'ALLOCATION DU CHAMP : -# (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM) -# ------------------------------------------------------------------ - OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),), - - -# Si creation d'un cham_elem avec sous-points, pour que tous les sous-points -# soient affectes : on duplique la valeur sur tous les sous-points -# ------------------------------------------------------------------ - AFFE_SP =FACT(statut='f',max=1, - CARA_ELEM =SIMP(statut='o',typ=cara_elem,min=1,max=1), - ), - - -# LE MOT-CLE OPERATION EST OBLIGATOIRE. IL PERMET LE BON AIGUILLAGE. -# ------------------------------------------------------------------ - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE","R2C","C2R","COMB") ), - -# ------------------------------------------------------------------ - b_norm =BLOC(condition = "OPERATION == 'NORMALE'", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), -# ------------------------------------------------------------------ - b_affe =BLOC(condition = "OPERATION == 'AFFE'", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - AFFE =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), - UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - VALE =SIMP(statut='f',typ='R',max='**' ), - VALE_I =SIMP(statut='f',typ='I',max='**' ), - VALE_C =SIMP(statut='f',typ='C',max='**' ), - VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), - ), - ), -# ------------------------------------------------------------------ - b_asse =BLOC(condition = "OPERATION == 'ASSE'", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - ASSE =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), - NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ), - CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - COEF_R =SIMP(statut='f',typ='R',defaut= 1. ), - COEF_C =SIMP(statut='f',typ='C',max=1), - ), - ), -# ------------------------------------------------------------------ - b_comb =BLOC(condition = "OPERATION == 'COMB'", - fr="Pour faire une combinaison linéaire de cham_no ayant meme profil", - COMB =FACT(statut='o',max='**', - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - COEF_R =SIMP(statut='o',typ='R'), - ), - ), -# ------------------------------------------------------------------ - b_eval =BLOC(condition = "OPERATION == 'EVAL'", - CHAM_F =SIMP(statut='o',typ=cham_gd_sdaster), - CHAM_PARA =SIMP(statut='o',typ=cham_gd_sdaster,max='**'), - ), -# ------------------------------------------------------------------ - b_r2c =BLOC(condition = "OPERATION == 'R2C'", - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - ), -# ------------------------------------------------------------------ - b_c2r =BLOC(condition = "OPERATION == 'C2R'", - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - PARTIE =SIMP(statut='o',typ='TXM',into=('REEL','IMAG','MODULE','PHASE'),), - ), -# ------------------------------------------------------------------ - b_disc =BLOC(condition = "OPERATION == 'DISC'", - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - ), -# ------------------------------------------------------------------ - b_extr =BLOC(condition = "OPERATION == 'EXTR'", - regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('MAILLAGE','FISSURE','RESULTAT','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('FISSURE','MAILLAGE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('RESULTAT','FISSURE','MAILLAGE','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('TABLE','RESULTAT','FISSURE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('CARA_ELEM','MAILLAGE','TABLE','RESULTAT','FISSURE','CHARGE'), - PRESENT_ABSENT('CHARGE','MAILLAGE','TABLE','RESULTAT','FISSURE','CARA_ELEM'), - ), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - FISSURE =SIMP(statut='f',typ=(fiss_xfem) ), - RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), - TABLE =SIMP(statut='f',typ=(table_sdaster),min=1,max=1), - CARA_ELEM =SIMP(statut='f',typ=(cara_elem),min=1,max=1), - CHARGE =SIMP(statut='f',typ=(char_meca),min=1,max=1), - b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("GEOMETRIE",)), - ), - - b_extr_cara_elem =BLOC(condition = "CARA_ELEM != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), - into=('.CARGENBA', '.CARMASSI', '.CARCABLE', '.CARCOQUE', '.CARGEOBA', '.CARDISCK', - '.CARARCPO', '.CARGENPO', '.CARDISCM', '.CARORIEN', '.CARDISCA', '.CVENTCXF', - '.CARPOUFL', '.CARGEOPO', '.CARDNSCK', '.CARDNSCM', '.CARDNSCA', '.CARDINFO', - '.CAFIBR', '.CANBSP',)), - ), - - b_extr_charge =BLOC(condition = "CHARGE != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), - into=('.CHME.EPSIN', '.CHME.F1D1D', '.CHME.F1D2D', '.CHME.F1D3D', '.CHME.F2D2D', - '.CHME.F2D3D', '.CHME.F3D3D', '.CHME.FCO2D', '.CHME.FCO3D', '.CHME.FELEC', - '.CHME.FL101', '.CHME.FL102', '.CHME.FLUX', '.CHME.FORNO', '.CHME.IMPE', - '.CHME.ONDE', '.CHME.ONDPL', '.CHME.ONDPR', '.CHME.PESAN', '.CHME.PRESS', - '.CHME.ROTAT', '.CHME.SIGIN', '.CHME.SIINT', '.CHME.VNOR',)), - ), - - b_extr_fissure = BLOC(condition = "FISSURE != None", - NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("LTNO","LNNO", - "GRLTNO","GRLNNO","STNO","STNOR","BASLOC","GRI.LNNO","GRI.LTNO","GRI.GRLNNO","GRI.GRLTNO")), - - ), - - b_extr_table =BLOC(condition = "TABLE != None", - MODELE =SIMP(statut='f',typ=(modele_sdaster),), - ), - b_extr_resultat =BLOC(condition = "RESULTAT != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - TYPE_MAXI =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ), - - # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre : - b_type_maxi =BLOC(condition = "TYPE_MAXI != None", - TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ), - - regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST', - 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - INST =SIMP(statut='f',typ='R',max='**'), - FREQ =SIMP(statut='f',typ='R',max='**'), - NUME_MODE =SIMP(statut='f',typ='I',max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), - ANGLE =SIMP(statut='f',typ='R',max='**'), - ), - - # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre : - b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None", - regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - FREQ =SIMP(statut='f',typ='R'), - NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max=2), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ANGLE =SIMP(statut='f',typ='R'), - - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), - ), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - ), # fin bloc b_extr - - - ), -# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT : -#----------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -def crea_elem_ssd_prod(self,NUME_DDL,**args): - if NUME_DDL: - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - return macr_elem_dyna - -CREA_ELEM_SSD=MACRO(nom="CREA_ELEM_SSD", - op=OPS('Macro.crea_elem_ssd_ops.crea_elem_ssd_ops'), - sd_prod=crea_elem_ssd_prod, - reentrant='n', - fr="Creation de macro-element dynamique en enchainant les commandes : "\ - "CALC_MATR_ELEM, NUME_DDL, ASSE_MATRICE, MODE_ITER_SIMULT, "\ - "DEFI_INTERF_DYNA, DEFI_BASE_MODALE et MACR_ELEM_DYNA", - UIinfo={"groupes":("Matrices/vecteurs",)}, - -# pour CAL_MATR_ELEM + NUME_DDL + ASSE_MATRICE + MODE_ITER_SIMULT + MODE_STATIQUE - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=CO,defaut=None), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), - -# pour DEFI_INTERF_DYNA - INTERFACE =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM','TYPE'), - UN_PARMI('NOEUD','GROUP_NO'),), - NOM =SIMP(statut='f',typ='TXM' ), - TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO",) ), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - FREQ =SIMP(statut='f',typ='R',defaut= 1.), - ), - -# pour DEFI_BASE_MODALE - BASE_MODALE = FACT(statut='o',max = 1, - TYPE =SIMP(statut='o',typ='TXM',max=1,into=('CLASSIQUE','RITZ',),), - b_ritz = BLOC(condition = "TYPE == 'RITZ' ",fr="Base de type Ritz", - TYPE_MODE = SIMP(statut='f',typ='TXM',into=('STATIQUE','INTERFACE',),defaut='INTERFACE',), - b_intf = BLOC(condition = "TYPE_MODE == 'INTERFACE' ", - NMAX_MODE_INTF =SIMP(statut='f',typ='I',defaut=10,val_min=1),), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR (pour MODE_ITER_SIMULT, MODE_STATIQUE, DEFI_BASE_MODALE) - SOLVEUR =C_SOLVEUR('CREA_ELEM_SSD'), -#------------------------------------------------------------------- - -# pour le calcul modal - CALC_FREQ =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","SANS"), - fr="Choix de l option et par consequent du shift du probleme modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnee", - FREQ =SIMP(statut='o',typ='R', - fr="Frequence autour de laquelle on cherche les frequences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnee", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 9999,val_min=0 ), - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', - fr="Valeurs des frequences delimitant les bandes de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la resolution du probleme quadratique" ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, - reentrant='n',fr="Crée un maillage à partir d'un maillage existant", - UIinfo={"groupes":("Maillage",)}, - regles=(UN_PARMI('COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1', - 'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE', - 'QUAD_LINE', 'REPERE','RESTREINT','PENTA15_18','GEOM_FIBRE'),), - - - - # le MAILLAGE est inutile si ECLA_PG et GEOM_FIBRE - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster), - - CREA_POI1 =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),), - NOM_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - CREA_MAILLE =FACT(statut='f',max='**',fr="Duplication de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - PREF_MAILLE =SIMP(statut='o',typ='TXM' ), - PREF_NUME =SIMP(statut='f',typ='I' ), - ), - CREA_GROUP_MA =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - NOM =SIMP(statut='o',typ='TXM'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - PREF_MAILLE =SIMP(statut='o',typ='TXM' ), - PREF_NUME =SIMP(statut='f',typ='I' ), - ), - DETR_GROUP_MA =FACT(statut='f',fr="Destruction de groupes de mailles", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0, - fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), - ), - RESTREINT =FACT(statut='f',fr="Restreindre un maillage à des groupes de mailles",max=1, - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - ), - COQU_VOLU =FACT(statut='f', - fr="Creation de mailles volumiques à partir de mailles surfaciques", - NOM =SIMP(statut='o',typ='TXM'), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'), - EPAIS =SIMP(statut='o',typ='R' ), - PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS" ), - PREF_NUME =SIMP(statut='f',typ='I' ,defaut=1 ), - PLAN =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")), - b_MOY =BLOC(condition = "PLAN == 'MOY'", - TRANSLATION =SIMP(statut='o',typ='TXM',into=("SUP","INF") ), - ), - ), - MODI_MAILLE =FACT(statut='f',max='**',fr="Modification du type de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),validators=NoRepeat(), - fr="Choix de la transformation" ), - b_NOS =BLOC(condition = "OPTION == 'TRIA6_7' or OPTION == 'QUAD8_9' or OPTION == 'SEG3_4'", - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'", - PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - ), - CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc", - NOM =SIMP(statut='o',typ='TXM'), - GROUP_NO_1 =SIMP(statut='o',typ=grno), - GROUP_NO_2 =SIMP(statut='o',typ=grno), - PREF_MAILLE =SIMP(statut='o',typ='TXM'), - PREF_NUME =SIMP(statut='f',typ='I',defaut=1 ), - ), - LINE_QUAD =FACT(statut='f',fr="Passage linéaire -> quadratique", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - HEXA20_27 =FACT(statut='f',fr="Passage HEXA20 -> HEXA27", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - PENTA15_18 =FACT(statut='f',fr="Passage PENTA15 -> PENTA18", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - QUAD_LINE =FACT(statut='f',fr="Passage quadratique -> linéaire", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - ), - REPERE =FACT(statut='f',max='**', - fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre", - TABLE =SIMP(statut='o',typ=table_sdaster, - fr="Nom de la table contenant les caractéristiques de la section de poutre" ), - NOM_ORIG =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ), - NOM_ROTA =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére" ), - b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'", - GROUP_MA =SIMP(statut='f',typ=grma, - fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"), - ), - ), - ECLA_PG =FACT(statut='f', - fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss", - MODELE =SIMP(statut='o',typ=modele_sdaster ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), - TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -# - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -def crea_resu_prod(TYPE_RESU,**args): - if TYPE_RESU == "EVOL_ELAS" : return evol_elas - if TYPE_RESU == "EVOL_NOLI" : return evol_noli - if TYPE_RESU == "EVOL_THER" : return evol_ther - if TYPE_RESU == "MULT_ELAS" : return mult_elas - if TYPE_RESU == "MODE_MECA" : return mode_meca - if TYPE_RESU == "DYNA_TRANS" : return dyna_trans - if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo - if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas - if TYPE_RESU == "FOURIER_THER" : return fourier_ther - if TYPE_RESU == "EVOL_VARC" : return evol_varc - if TYPE_RESU == "EVOL_CHAR" : return evol_char - raise AsException("type de concept resultat non prevu") - -CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', - UIinfo={"groupes":("Resultats et champs",)}, - fr="Creer ou enrichir une structure de donnees resultat a partir de champs aux noeuds", - - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",), - fr="choix de la fonction a activer",), - - TYPE_RESU =SIMP(statut='o',position='global',typ='TXM', - into=( - # pour bloc AFFE - "MODE_MECA","MULT_ELAS","EVOL_ELAS","EVOL_NOLI","DYNA_HARMO","DYNA_TRANS", - "FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER" - # pour bloc ASSE - # "EVOL_THER " - # pour bloc ECLA_PG - # "EVOL_ELAS","EVOL_NOLI","EVOL_THER" - # pour bloc PERM_CHAM - # "EVOL_NOLI" - # pour bloc PROL_RTZ - # "EVOL_THER" - # pour bloc PREP_VRC1 - # "EVOL_THER" - # pour bloc PREP_VRC2 - # "EVOL_THER" - ), - ), - - - # Creation par affectation de champs : - #------------------------------------- - b_affe =BLOC(condition = "OPERATION == 'AFFE'", - - b_type_resu =BLOC(condition = "TYPE_RESU == 'EVOL_CHAR'", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("PRES", - "FSUR_2D","FSUR_3D","FVOL_2D","FVOL_3D","VITE_VENT")), - ), - - b_evol_char =BLOC(condition = "TYPE_RESU != 'EVOL_CHAR'", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - ), - - b_mode =BLOC(condition = "au_moins_un(TYPE_RESU, ('MODE_MECA', 'DYNA_HARMO', 'DYNA_TRANS'))", - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,), - ), -# -# pour ajouter un comportement dans la SD -# - COMPORTEMENT =C_COMPORTEMENT(), -# -# pour ajouter une charge dans la SD -# - b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), - ), - - b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - ), - - b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - ), - - - AFFE =FACT(statut='o',max='**', - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - -# - b_mult_elas =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ", - NOM_CAS =SIMP(statut='f',typ='TXM' ), - CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), - ), - b_evol =BLOC(condition = "au_moins_un(TYPE_RESU, ('EVOL_ELAS', 'EVOL_NOLI', \ - 'EVOL_THER', 'EVOL_VARC', 'EVOL_CHAR', 'DYNA_TRANS'))", - regles=(UN_PARMI('INST','LIST_INST'),), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - NUME_INIT =SIMP(statut='f',typ='I', val_min=1), - NUME_FIN =SIMP(statut='f',typ='I', val_min=1), - PRECISION =SIMP(statut='f',typ='R',defaut= 0.0 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - b_fourier_elas =BLOC(condition = "(TYPE_RESU == 'FOURIER_ELAS') ", - NUME_MODE =SIMP(statut='f',typ='I'), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), - ), - b_fourier_ther =BLOC(condition = "(TYPE_RESU == 'FOURIER_THER') ", - NUME_MODE =SIMP(statut='f',typ='I'), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - ), - b_mode =BLOC(condition = "TYPE_RESU == 'MODE_MECA'", - NUME_MODE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_dyna_harmo =BLOC(condition = "TYPE_RESU == 'DYNA_HARMO'", - regles=(UN_PARMI('FREQ','LIST_FREQ',),), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut=0.0), - ), - ), - ), - - - # Creation par assemblage d'evol_ther : - #----------------------------------------- - b_asse =BLOC(condition = "OPERATION == 'ASSE'", - ASSE =FACT(statut='o',max='**', - RESULTAT =SIMP(statut='o',typ=evol_ther), - TRANSLATION =SIMP(statut='f',typ='R',defaut= 0. ), - ), - ), - - - b_ecla_pg =BLOC(condition = "OPERATION == 'ECLA_PG'", - - ECLA_PG =FACT(statut='o', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - MODELE_INIT =SIMP(statut='o',typ=modele_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - RESU_INIT =SIMP(statut='o',typ=resultat_sdaster), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - - - b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'", - - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA","STRX_ELGA"), - validators=NoRepeat(),max='**'), - RESU_INIT =SIMP(statut='o',typ=evol_noli), - INST_INIT =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - MAILLAGE_INIT =SIMP(statut='o',typ=maillage_sdaster,), - RESU_FINAL =SIMP(statut='o',typ=evol_noli,), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), - PERM_CHAM =FACT(statut='o',max='**', - GROUP_MA_FINAL =SIMP(statut='o',typ=grma), - GROUP_MA_INIT =SIMP(statut='o',typ=grma), - TRAN =SIMP(statut='o',typ='R',min=3,max=3), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - ), - ), - - b_prol_rtz =BLOC(condition = "OPERATION == 'PROL_RTZ'", - - PROL_RTZ =FACT(statut='o', - regles=(EXCLUS('INST','LIST_INST'),), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), - TABLE =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), - REPERE =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),), - ORIGINE =SIMP(statut='o',typ='R',min=3,max=3), - AXE_Z =SIMP(statut='o',typ='R',min=3,max=3), - ), - ), - - b_prep_vrc1 =BLOC(condition = "OPERATION == 'PREP_VRC1'", - # calculer la temperature dans les couches des coques multicouche a partir d'un champ de fonctions - # de fonctions du temps et de l'espace (epaisseur) - - PREP_VRC1 =FACT(statut='o',max=1, - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), # carte de fonctions du temps et de l'epaisseur - MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche - CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU - INST =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**'), - ), - ), - - b_prep_vrc2 =BLOC(condition = "OPERATION == 'PREP_VRC2'", - # calculer la temperature dans les couches des coques multicouche a partir d'un evol_ther "coque" - # contenant TEMP_MIL/TEMP_INF/TEMP_SUP - - PREP_VRC2 =FACT(statut='o',max=1, - EVOL_THER =SIMP(statut='o',typ=(evol_ther)), # evol_ther de type "coque" (TEMP_MIL/TEMP_INF/TEMP_SUP) - MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche - CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def crea_table_prod(TYPE_TABLE, **args): - """Typage du concept résultat - """ - if TYPE_TABLE == 'TABLE_FONCTION': - return table_fonction - elif TYPE_TABLE == 'TABLE_CONTENEUR': - return table_container - else: - return table_sdaster - -CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod, - fr="Création d'une table à partir d'une fonction ou de deux listes", - reentrant='f', - UIinfo={"groupes":("Tables",)}, - - regles=(EXCLUS('FONCTION','LISTE','RESU'),), - - LISTE=FACT(statut='f',max='**', - fr="Creation d'une table a partir de listes", - regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), - PARA =SIMP(statut='o',typ='TXM'), - TYPE_K =SIMP(statut='f',typ='TXM',defaut='K8', - into=('K8','K16','K24')), - NUME_LIGN=SIMP(statut='f',typ='I',max='**'), - LISTE_I =SIMP(statut='f',typ='I',max='**'), - LISTE_R =SIMP(statut='f',typ='R',max='**'), - LISTE_K =SIMP(statut='f',typ='TXM', max='**'), - ), - FONCTION=FACT(statut='f', - fr="Creation d'une table a partir d'une fonction", - FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)), - PARA=SIMP(statut='f',typ='TXM',min=2,max=2), - ), - RESU=FACT(statut='f',max=1, - fr="Creation d'une table a partir d'un resultat ou d'un champ", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - UN_PARMI('TOUT_CMP','NOM_CMP'), - PRESENT_ABSENT('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - ), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), - b_resultat =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', - 'MODE','LIST_MODE','FREQ','LIST_FREQ'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE =SIMP(statut='f',typ=(listis_sdaster) ), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - MODE =SIMP(statut='f',typ='I',max='**'), - LIST_MODE =SIMP(statut='f',typ=(listis_sdaster) ), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - b_cham_gd =BLOC(condition = "CHAM_GD != None", - CARA_ELEM =SIMP(statut='f',typ=cara_elem),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - - TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE", - into=('TABLE', 'TABLE_FONCTION', 'TABLE_CONTENEUR'),), - - TITRE=SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -DEBUG=PROC(nom="DEBUG",op=137, - UIinfo={"groupes":("Utilitaires",)}, - fr="Permettre de changer entre 2 commandes quelques variables globales de debug", - - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON')), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON")), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DEBUT=MACRO(nom="DEBUT", - op=OPS("Cata.ops.build_debut"), - repetable='n', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers", - sd_prod=ops.DEBUT, - - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), -# FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', -# typ='TXM',defaut="NON",into=("OUI","NON",) ), - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=1,max=2, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', - into=('GLOBALE','VOLATILE'),), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - CODE =FACT(fr="paramètres réservés aux cas-tests", - statut='f',min=1,max=1, - NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), - VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), - ), - - ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, - ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),), - ), - - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TEST',)), - HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", - statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), - ), - - MESURE_TEMPS =FACT(fr="Pour afficher le temps des principales étapes de calcul", - statut='d',min=1,max=1, - NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", - statut='f',typ='I',into=(0,1,2,3),defaut=1), - # 0 : rien - # 1 : impression en fin de commande des mesures principales - # 2 : impression en fin de commande des mesures principales et secondaires - # 3 : impression des mesures principales et secondaires pour chaque pas de temps - MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", - statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), - ), - - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), - ), - - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), -# par défaut VALE fixée à 10. dans le FORTRAN si CODE présent - VALE =SIMP(statut='f',typ='I',val_min=0,), -# par défaut 10% dans le FORTRAN - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur en secondes de la réserve maximum bornée à 900 secondes - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900),), - - IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), - - LANG = SIMP(statut='f', typ='TXM', - fr="Permet de choisir la langue utilisée pour les messages (si disponible)", - ang="Allows to choose the language used for messages (if available)"), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr -DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=mode_meca, - reentrant='f', - fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale", - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),), - CLASSIQUE =FACT(statut='f', - INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',defaut=10,max='**' ), - ), - RITZ =FACT(statut='f',max='**', - regles=(UN_PARMI('MODE_MECA','BASE_MODALE','MODE_INTF'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',max='**'), - BASE_MODALE =SIMP(statut='f',typ=mode_meca ), - MODE_INTF =SIMP(statut='f',typ=(mode_meca,mult_elas), ), - ), - b_ritz =BLOC(condition = "RITZ != None", - INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ), - NUME_REF =SIMP(statut='f',typ=nume_ddl_sdaster ), - ORTHO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Reorthonormalisation de la base de Ritz" ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - b_ortho =BLOC(condition = "ORTHO == 'OUI' ", - MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - ), - DIAG_MASS =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - MODE_STAT =SIMP(statut='o',typ=mode_meca ), - ), - ORTHO_BASE =FACT(statut='f',max='**', - BASE =SIMP(statut='o',typ=(mode_meca,mult_elas)), - MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DEFI_BASE_MODALE'), -#------------------------------------------------------------------- - - - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - - -DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP", - op=OPS('Macro.defi_cable_bp_ops.defi_cable_bp_ops'), - sd_prod=cabl_precont, - fr="Calculer les profils initiaux de tension le long des cables " \ - "de précontrainte d'une structure en béton", - reentrant='n',UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), - DEFI_CABLE =FACT(statut='o',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - TENSION_CT =SIMP(statut='f',typ=table_sdaster), - ), - ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), - TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - b_adherent=BLOC(condition="(ADHERENT=='OUI')", - TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), - b_relax_bpel =BLOC(condition = "TYPE_RELAX =='BPEL'", - R_J =SIMP(statut='o',typ='R',val_min=0.E+0), - ), - b_relax_etcc =BLOC(condition = "((TYPE_RELAX=='ETCC_DIRECT') or (TYPE_RELAX=='ETCC_REPRISE'))", - NBH_RELAX =SIMP(statut='o',typ='R',val_min=0.E+0), - ), -# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), -# b_pert_elas =BLOC(condition = "PERT_ELAS=='OUI'", -# EP_BETON = SIMP(statut='o',typ='R',val_min=0.E+0), -# ESP_CABLE = SIMP(statut='o',typ='R',val_min=0.E+0) -# ) , - CONE =FACT(statut='f', - RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0 ), - PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), - ), - ), - b_non_adherent=BLOC(condition="(ADHERENT=='NON')", - TYPE_RELAX =SIMP(statut='c',typ='TXM',into=("SANS",),defaut="SANS",), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - -DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n', - fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte" - +" (utilisée par la macro DEFI_CABLE_BP)", - UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), - DEFI_CABLE =FACT(statut='o',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - TENSION_CT =SIMP(statut='f',typ=table_sdaster), - ), - ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), - TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), - R_J =SIMP(statut='f',typ='R',val_min=0.E+0), - NBH_RELAX =SIMP(statut='f',typ='R',val_min=0.E+0), -# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), -# EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0), -# ESP_CABLE =SIMP(statut='f',typ='R',val_min=0.E+0), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - CONE =FACT(statut='f',min=0, - RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), - PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, - fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, -# on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas - regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'), - PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'), - ), - MONOCRISTAL =FACT(statut='f', max=5, - MATER =SIMP(statut='o', typ=mater_sdaster, max=1), - ECOULEMENT =SIMP(statut='o', typ='TXM', max=1, - into=('MONO_VISC1', 'MONO_VISC2', 'MONO_DD_KR', 'MONO_DD_CFC', 'MONO_DD_CFC_IRRA', - 'MONO_DD_CC', 'MONO_DD_CC_IRRA', 'MONO_DD_FAT',), - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"), - ELAS =SIMP(statut='f', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"), - b_non_dd =BLOC(condition="ECOULEMENT=='MONO_VISC1' or ECOULEMENT=='MONO_VISC2'", - ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), - ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','BCC24','CUBIQUE1','CUBIQUE2','ZIRCONIUM','UNIAXIAL','UTILISATEUR'), - ), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_dd_kr =BLOC(condition="ECOULEMENT=='MONO_DD_KR' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('BCC24','UTILISATEUR'),defaut=('BCC24',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_ecp_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_FAT' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), - ), - b_dd_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_CFC' or ECOULEMENT=='MONO_DD_CFC_IRRA'", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_dd_cc =BLOC(condition="ECOULEMENT=='MONO_DD_CC' or ECOULEMENT=='MONO_DD_CC_IRRA' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('CUBIQUE1','UTILISATEUR',),defaut=('CUBIQUE1',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - ), - - MATR_INTER =SIMP(statut='f', typ=table_sdaster, max=1,), - - ROTA_RESEAU =SIMP(statut='f', typ='TXM', max=1,into=('NON','POST','CALC'),defaut='NON', - fr="rotation de reseau : NON, POST, CALC"), - - POLYCRISTAL =FACT(statut='f', max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1), - FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"), - ANGL_REP =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"), - ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"), - ), - - - b_poly =BLOC( condition = "POLYCRISTAL!='None'", - LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',), - fr="Donner le nom de la règle de localisation"), - - b_beta =BLOC( condition = "LOCALISATION=='BETA'", - DL =SIMP(statut='o',typ='R',max=1), - DA =SIMP(statut='o',typ='R',max=1), - ), - ), - -##################################################################################### - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, - fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"), - MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster, - fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"), - MULTIFIBRE = FACT(statut='f',max='**', - GROUP_FIBRE =SIMP(statut='o', typ='TXM', max='**'), - MATER =SIMP(statut='o', typ=mater_sdaster, max=1, - fr="Donner le nom du materiau pour le groupe de fibres"), - RELATION =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",into=C_RELATION('DEFI_COMPOR'), - fr="Donner le nom de la relation incrementale pour le groupe de fibres", - ), - RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=( -# MECA KIT_DDI - "VMIS_ISOT_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "BETON_UMLV_FP", - "ROUSS_PR", - "BETON_DOUBLE_DP", - ),), -# on pourrait ajouter TOUT_GROUP_FIBRE - - ) ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -DEFI_COMPOSITE=OPER(nom="DEFI_COMPOSITE",op=56,sd_prod=mater_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir" - +" des caractéristiques de chaque couche", - COUCHE =FACT(statut='o',max='**', - EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.E+0, - val_min=-90.E+0,val_max=90.E+0 ), - ), - IMPRESSION =FACT(statut='f', - UNITE =SIMP(statut='f',typ='I',defaut=8), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, - fr="Définir la valeur d'une grandeur invariante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='o',typ='R',), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -# -DEFI_CONTACT=OPER(nom = "DEFI_CONTACT", - op = 30, - sd_prod = char_contact, - fr = "Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement", - #en = "Allows the definition of contact surfaces as well as unilateral conditions", - reentrant = 'n', - UIinfo = {"groupes":("Modélisation",)}, - -# MODELE - - MODELE =SIMP(statut='o',typ=modele_sdaster,), - INFO =SIMP(statut='f',typ='I',into=(1,2),), - -# FORMULATION (UNIQUE PAR OCCURRENCE DE DEFI_CONTACT) - - FORMULATION =SIMP(statut='o', - position='global', - typ='TXM', - fr="Choix d'une formulation de contact ou de liaisons unilatérales", - defaut="DISCRETE", - into=("DISCRETE","CONTINUE","XFEM","LIAISON_UNIL",),), - -# PARAMETRE GENERAL : FROTTEMENT - - FROTTEMENT =SIMP(statut='f', - position='global', - typ='TXM', - fr="Choix d'un modèle de frottement (uniquement pour les formulations de contact)", - defaut="SANS", - into=("COULOMB","SANS",)), - -### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT MAILLE, NE DEPENDENT PAS DE LA ZONE DE CONTACT) - - b_contact_mail=BLOC(condition = "((FORMULATION == 'CONTINUE') or (FORMULATION == 'DISCRETE'))", -# ARRET DU CALCUL POUR LE MODE SANS RESOLUTION DU CONTACT - STOP_INTERP = SIMP(statut='f', - typ='TXM', - fr="Arrête le calcul dès qu'une interpénétration est détectée en mode RESOLUTION='NON'", - defaut="NON", - into=("OUI","NON")), -# LISSAGE DES NORMALES PAR MOYENNATION AUX NOEUDS - LISSAGE = SIMP(statut='f', - typ='TXM', - fr="Lissage des normales par moyennation aux noeuds", - defaut="NON", - into=("OUI","NON")), -# VERIFICATION DE L'ORIENTATION ET DE LA COHERENCE DES NORMALES - VERI_NORM =SIMP(statut='f', - typ='TXM', - fr="Vérification de l'orientation (sortante) des normales aux surfaces", - defaut="OUI", - into=("OUI","NON"),), - ), - -### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT, NE DEPENDENT PAS DE LA ZONE DE CONTACT) - - b_contact=BLOC(condition = "FORMULATION != 'LIAISON_UNIL' ", - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas discret - - b_bouc_geom_maild=BLOC(condition = "FORMULATION == 'DISCRETE'", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE",), - defaut="POINT_FIXE"), - REAC_GEOM = SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="AUTOMATIQUE"), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2)), - )), - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas continu - - b_bouc_geom_mailc=BLOC(condition = "FORMULATION == 'CONTINUE'", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE","NEWTON",), - defaut="POINT_FIXE"), - b_algo_reso_geomNE = BLOC(condition = "ALGO_RESO_GEOM=='NEWTON'", - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.000001),), - - b_algo_reso_geomPF = BLOC(condition = "ALGO_RESO_GEOM=='POINT_FIXE'", - REAC_GEOM = SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="AUTOMATIQUE"), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2))) - ), - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas XFEM - - b_bouc_geom_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE",), - defaut="POINT_FIXE"), - REAC_GEOM =SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="SANS", - ), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.0001), - ), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2), - ), - ), - - -# PARAMETRE GENERAL : BOUCLE DE CONTACT - - b_bouc_cont_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - - - b_bouc_cont_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ", - ALGO_RESO_CONT = SIMP(statut='f',typ='TXM',defaut="NEWTON", - into=("POINT_FIXE","NEWTON")), - b_algo_reso_contPF = BLOC(condition = "ALGO_RESO_CONT=='POINT_FIXE'", - ITER_CONT_TYPE = SIMP(statut='f',typ='TXM',defaut="MAXI", - into=("MULT","MAXI")), - b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", - ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), - ), - ) - ), - - b_bouc_cont_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", - ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI", - into=("MULT","MAXI")), - b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", - ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), - ), - ), - -# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas continu - - b_bouc_frot_cont= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'CONTINUE' ", - ALGO_RESO_FROT = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE","NEWTON",), - defaut="NEWTON"), - b_algo_reso_frotPF = BLOC(condition = "ALGO_RESO_FROT=='POINT_FIXE'", - ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ), - b_algo_reso_frotNE = BLOC(condition = "ALGO_RESO_FROT=='NEWTON'", - - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ADAPT_COEF = SIMP(statut='f', - typ='TXM', - defaut="NON", - into=("OUI","NON")), - ), - ), - - -# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas XFEM - - b_bouc_frot_xfem= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'XFEM' ", - ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ), - -# PARAMETRES GENERAUX : METHODES DISCRETES - - b_para_discret = BLOC(condition = "FORMULATION == 'DISCRETE' ", -# ## METHODES DE DUALISATION ## - STOP_SINGULIER= SIMP(statut='f', - typ='TXM', - fr="Tient compte de la singularité de la matrice de contact", - defaut="OUI", - into=("OUI","NON"),), - NB_RESOL = SIMP(statut='f', - typ='I', - fr="Nombre de résolutions simultanées pour la construction du complément de Schur", - defaut=10,), -# ## GCP ## - RESI_ABSO = SIMP(statut='f', - typ='R', - fr="Critère de convergence (niveau d'interpénétration autorisé pour 'GCP')",), - ITER_GCP_MAXI = SIMP(statut='f', - typ='I', - fr="Nombre d'itérations maximal ('GCP')", - defaut=0,), - RECH_LINEAIRE = SIMP(statut='f', - typ='TXM', - fr="Autorisation de sortie du domaine admissible lors de la recherche linéaire", - defaut="ADMISSIBLE", - into=("ADMISSIBLE","NON_ADMISSIBLE"),), - PRE_COND = SIMP(statut='f', - typ='TXM', - fr="Choix d'un préconditionneur (accélère la convergence de 'GCP')", - defaut="SANS", - into=("DIRICHLET","SANS"),), - b_dirichlet = BLOC (condition = "PRE_COND == 'DIRICHLET'", - COEF_RESI = SIMP(statut='f', - typ='R', - fr="Activation du préconditionneur quand le résidu a été divisé par COEF_RESI", - defaut = -1.0,), - ITER_PRE_MAXI = SIMP(statut='f', - typ='I', - fr="Nombre d'itérations maximal pour le préconditionneur ('GCP')", - defaut=0,), - ), - ), - -## AFFECTATIONS (ZONES PAR ZONES) - -# AFFECTATION - CAS LIAISON_UNILATERALE - - b_affe_unil = BLOC(condition = "FORMULATION == 'LIAISON_UNIL'", - ZONE=FACT(statut='o', - max='**', -# -- Liaison unilatérale - regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), -# - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - - - ), - ), - -# AFFECTATION - CAS DISCRET - - b_affe_discret = BLOC(condition = "FORMULATION == 'DISCRETE'", - ZONE=FACT(statut='o', - max='**', -# -- Appariement - APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NODAL","MAIT_ESCL"),), -# - regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), - UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), -# - NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", - into=("MAIT","MAIT_ESCL","ESCL"),), -# - VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", - MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", - MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", - ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", - ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", - into =("PROCHE","FIXE")), - - b_appa_fixe =BLOC(condition = "TYPE_APPA == 'FIXE'", - DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), - ), -# - DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - ), - - DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), -# -- Mode sans calcul - RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_verif=BLOC(condition = "RESOLUTION == 'NON' ", - TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), - ), -# -- Résolution - ALGO_CONT =SIMP(statut='o',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION","GCP"),), - - b_active=BLOC(condition = "ALGO_CONT == 'CONTRAINTE' ", - fr="Paramètres de la méthode des contraintes actives (contact uniquement)", - GLISSIERE=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_glissiere=BLOC(condition = "GLISSIERE == 'OUI' ", - ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), - ), - ), -# - b_penal_contact=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée (contact)", - E_N=SIMP(statut='o',typ='R'), - ), -# - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", - fr="Paramètres du frottement de Coulomb", - COULOMB =SIMP(statut='o',typ='R',), - COEF_MATR_FROT=SIMP(statut='f',typ='R',defaut=0.E+0), - ALGO_FROT =SIMP(statut='o',typ='TXM',defaut="PENALISATION", - into=("PENALISATION","LAGRANGIEN"),), -# - b_penal_frot=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée (frottement)", - E_T=SIMP(statut='o',typ='R'), - ), - ), - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_discret - -# AFFECTATION - CAS CONTINUE - - b_affe_continue = BLOC(condition = "FORMULATION == 'CONTINUE'", - ZONE=FACT(statut='o', - max='**', -# -- Appariement - APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("MAIT_ESCL",)), - - -# - regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), - UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), -# - NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", - into=("MAIT","MAIT_ESCL","ESCL"),), -# - VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", - MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", - MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", - ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", - ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", - into =("PROCHE","FIXE")), - - b_appa_fixe=BLOC(condition = "TYPE_APPA == 'FIXE'", - DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), - ), -# - DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - ), - - DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), -# -- Mode sans calcul - RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_verif=BLOC(condition = "RESOLUTION == 'NON' ", - TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), - ), -# -- Fonctionnalités spécifiques 'CONTINUE' - - INTEGRATION =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","GAUSS","SIMPSON","NCOTES",),), - b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", - fr="Degré du polynôme de Legendre donnant les points de Gauss", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=1,val_max=6), - ), - b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", - fr="Nombre de subdivisions du domaine", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), - ), - b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", - fr="Degré du polynôme interpolateur", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), - ), -# - CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="INTERPENETRE", - into=("OUI","INTERPENETRE","NON"),), -# - GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), -# - ALGO_CONT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - - b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ", - fr="Paramètres de la formulation Lagrangienne", - COEF_CONT = SIMP(statut='f',typ='R',defaut=100.E+0), - ), - b_cont_pena=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée", - COEF_PENA_CONT =SIMP(statut='o',typ='R'), - ), -# - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", - fr="Paramètres du frottement de Coulomb", - COULOMB = SIMP(statut='o',typ='R',), - SEUIL_INIT = SIMP(statut='f',typ='R',defaut=0.E+0), -# - regles=(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),), - SANS_NOEUD_FR =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - b_sans_group_no_frot=BLOC(condition = " SANS_GROUP_NO_FR != None or \ - SANS_NOEUD_FR != None ", - fr="Direction de frottement à exclure (uniquement dans le cas 3D)", - DIRE_EXCL_FROT=SIMP(statut='f',typ='R',min=3,max=3), - ), - - ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - b_frot_std =BLOC(condition = "ALGO_FROT == 'STANDARD' ", - fr="Paramètres de la formulation Lagrangienne", - COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - - b_frot_pena =BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée", - COEF_PENA_FROT =SIMP(statut='o',typ='R'), - ), - - ), #fin bloc b_frottement - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_continue - - -# AFFECTATION - CAS XFEM - - b_affe_xfem =BLOC(condition = "FORMULATION == 'XFEM'", - ZONE=FACT(statut='o', - max='**', -# -- Fissure - FISS_MAIT = SIMP(statut='o',typ=fiss_xfem,max=1), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), - -# -- Fonctionnalités spécifiques 'XFEM' - INTEGRATION = SIMP(statut='f', - typ='TXM', - defaut="GAUSS", - - into=("NOEUD","GAUSS","SIMPSON","NCOTES",),), - b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", - fr="Dégré du polynôme de Legendre donnant les points de Gauss", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=6,val_min=1,val_max=6), - ), - b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", - fr="Nombre de subdivisions du domaine", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), - ), - b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", - fr="Dégré du polynôme interpolateur", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), - ), - - ALGO_LAGR = SIMP(statut='f',typ='TXM',defaut="VERSION1", - into=("NON","VERSION1","VERSION2"),), - - ALGO_CONT = SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION","CZM"),), - - b_cont_nczm =BLOC(condition = "ALGO_CONT!='CZM'", - CONTACT_INIT = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), - GLISSIERE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), - ), - - b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD'", - fr="Parametres de la formulation Lagrangienne", - COEF_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - - b_cont_pen=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètre de la méthode pénalisée", - COEF_PENA_CONT =SIMP(statut='o',typ='R'), - ), - - b_cont_czm=BLOC(condition = "ALGO_CONT == 'CZM'", - fr="Parametres de la formulation cohesive", - RELATION = SIMP(statut='o',typ='TXM', - into=("CZM_EXP_REG","CZM_LIN_REG","CZM_TAC_MIX","CZM_OUV_MIX"),) - ), - - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' and ALGO_CONT != 'CZM' ", - fr="Paramètres du frottement", - COULOMB =SIMP(statut='o',typ='R',), - SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0), - ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - - b_frot_std=BLOC(condition = "ALGO_FROT == 'STANDARD' ", - fr="Parametres de la formulation Lagrangienne", - COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - b_frot_pen=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètre de la méthode pénalisée", - COEF_PENA_FROT =SIMP(statut='o',typ='R'), - ), - ), #fin bloc b_frottement - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_xfem - - ) #fin OPER - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -def DEFIC_prod(self,ACTION,UNITE,**args): - if ACTION == "ASSOCIER" or ACTION == "RESERVER": - if UNITE != None : - return - else : - return entier - elif ACTION == "LIBERER" : - return - else : - raise AsException("ACTION non prevue : %s" % ACTION) - -DEFI_FICHIER=MACRO(nom="DEFI_FICHIER", - op=OPS("Cata.ops.build_DEFI_FICHIER"), - sd_prod=DEFIC_prod, - reentrant='n', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique", - - ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"), - - b_associer =BLOC(condition = "ACTION == 'ASSOCIER'", - fr="Paramètres pour l'ouverture du fichier", - regles=(AU_MOINS_UN('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), - - b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), - ), - b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), - ), - ), - - b_reserver =BLOC(condition = "ACTION == 'RESERVER'", - fr="Paramètres pour la réservation de l'unité du fichier", - regles=(AU_MOINS_UN('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - TYPE =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"), - ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), - ), - - b_liberer =BLOC(condition = "ACTION == 'LIBERER'", - fr="Paramètres pour la fermeture du fichier", - regles=(UN_PARMI('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - ), - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Définition des caratéristiques d'une fissure ou d'une interface avec X-FEM", - regles = EXCLUS('MODELE_GRILLE','FISS_GRILLE'), - -# ------------------------------------------------------------------------------------------------------------------------ -# modele sous-jacent -# ------------------------------------------------------------------------------------------------------------------------ - - MODELE =SIMP(statut='o',typ=modele_sdaster), - -# ------------------------------------------------------------------------------------------------------------------------ -# grille auxiliaire -# ------------------------------------------------------------------------------------------------------------------------ - - MODELE_GRILLE =SIMP(statut='f',typ=modele_sdaster,max=1,position='global'), - FISS_GRILLE =SIMP(statut='f',typ=fiss_xfem,max=1), - -# ------------------------------------------------------------------------------------------------------------------------ -# fissure/interface -# ------------------------------------------------------------------------------------------------------------------------ - - TYPE_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("FISSURE","INTERFACE",) ,defaut="FISSURE",position='global'), - -# ------------------------------------------------------------------------------------------------------------------------ -# caracteristiques de la fissure/interface -# ------------------------------------------------------------------------------------------------------------------------ - - DEFI_FISS =FACT(statut='o',max=1, - - regles =UN_PARMI('GROUP_MA_FISS','FONC_LN','FORM_FISS','CHAM_NO_LSN'), - -# impossible de faire des regles dans des blocs condition, dommage -# b_fissure =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ",fr="Regles pour les fissures", -# regles =(ENSEMBLE('FONC_LN','FONC_LT'), -# ENSEMBLE('CHAM_NO_LSN','CHAM_NO_LST'), -# ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), -# ), -# -# b_interface =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ",fr="Regles pour les interfaces", -# regles =(PRESENT_ABSENT('FONC_LN','FONC_LT'), -# PRESENT_ABSENT('CHAM_NO_LSN','CHAM_NO_LST'), -# PRESENT_ABSENT('GROUP_MA_FISS','GROUP_MA_FOND')), -# ), - - FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - CHAM_NO_LSN =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), - CHAM_NO_LST =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), - GROUP_MA_FISS =SIMP(statut='f',typ=grma,min=1,max=1), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,min=1,max=1), - FORM_FISS =SIMP(statut='f',typ='TXM',into=("ELLIPSE","RECTANGLE","CYLINDRE","DEMI_PLAN", - "SEGMENT","DEMI_DROITE","DROITE","ENTAILLE") ), - b_ellipse =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramètres de la fissure/interface elliptique", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), - b_rectangle =BLOC(condition = "FORM_FISS == 'RECTANGLE' ",fr="Paramètres de la fissure/interface rectangulaire", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - RAYON_CONGE =SIMP(statut='f',typ='R',val_min=0.,defaut=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), - b_entaille =BLOC(condition = "FORM_FISS == 'ENTAILLE' ",fr="Paramètres de l'interface entaille", - DEMI_LONGUEUR =SIMP(statut='o',typ='R',val_min=0.), - RAYON_CONGE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), ), - b_cylindre =BLOC(condition = "FORM_FISS == 'CYLINDRE' ",fr="Paramètres de la fissure cylindrique", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),), - b_demiplan =BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",fr="Paramètres de la fissure plane à front droit", - PFON =SIMP(statut='o',typ='R',min=3,max=3), - NORMALE =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - b_segment =BLOC(condition = "FORM_FISS == 'SEGMENT' ",fr="Paramètres de la fissure 2D segment", - PFON_ORIG =SIMP(statut='o',typ='R',min=3,max=3), - PFON_EXTR =SIMP(statut='o',typ='R',min=3,max=3),), - b_demidroite =BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",fr="Paramètres de la fissure 2D demi-droite", - PFON =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - b_droite =BLOC(condition = "FORM_FISS == 'DROITE' ",fr="Paramètres de l'interface 2D (fissure traversante)", - POINT =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - ), - -# ------------------------------------------------------------------------------------------------------------------------ -# partie du maillage potentiellement enrichie -# ------------------------------------------------------------------------------------------------------------------------ - - GROUP_MA_ENRI =SIMP(statut='f',typ=grma,max=01), - -# ------------------------------------------------------------------------------------------------------------------------ -# types d'enrichissement -# ------------------------------------------------------------------------------------------------------------------------ - - b_enri_inte =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ", - - CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL","SIGM"),defaut="DEPL" ), - - ), - - - b_enri_fiss =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ", - - CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL",),defaut="DEPL" ), - TYPE_ENRI_FOND =SIMP(statut='f',typ='TXM',into=("TOPOLOGIQUE","GEOMETRIQUE"),defaut="TOPOLOGIQUE" ), - - b_enri_geom =BLOC(condition = "TYPE_ENRI_FOND == 'GEOMETRIQUE' ",fr="Paramètres de l enrichissement geometrique", - RAYON_ENRI =SIMP(statut='f',typ='R',val_min=0.E+0), - - b_enri_couches =BLOC(condition = "(RAYON_ENRI == None) ",fr="Paramètres de l enrichissement à n couches", - NB_COUCHES =SIMP(statut='f',typ='I',defaut=4,val_min=1), - - ), - ), - ), - -# ------------------------------------------------------------------------------------------------------------------------ -# branchement -# ------------------------------------------------------------------------------------------------------------------------ - - b_jonction =BLOC(condition = "(MODELE_GRILLE == None) and (FISS_GRILLE == None)", - JONCTION =FACT(statut='f',max=1, - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - POINT =SIMP(statut='o',typ='R',max=3,), - ), - ), -# ------------------------------------------------------------------------------------------------------------------------ -# info -# ------------------------------------------------------------------------------------------------------------------------ - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, - reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement", - UIinfo={"groupes":("Modélisation",)}, - regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), - FAISCEAU_TRANS =FACT(statut='f',max='**', - regles=( ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),), - COUPLAGE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_RHO_F_INT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_RHO_F_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), - COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), - TYPE_PAS =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ), - TYPE_RESEAU =SIMP(statut='f',typ='I' ), - UNITE_CD =SIMP(statut='f',typ='I',defaut=70), - UNITE_CK =SIMP(statut='f',typ='I',defaut=71), - PAS =SIMP(statut='f',typ='R' ), - CSTE_CONNORS =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00), - NB_CONNORS =SIMP(statut='f',typ='I',val_min=2,), - RHO_TUBE =SIMP(statut='f',typ='R' ), - ), - GRAPPE =FACT(statut='f', - regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',), - PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),), -# peut on créer un bloc a partir de la valeur de couplage - COUPLAGE =SIMP(statut='o',typ='TXM',into=("OUI","NON") ), - GRAPPE_2 =SIMP(statut='f',typ='TXM', - into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ), - NOEUD =SIMP(statut='f',typ=no), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), - RHO_FLUI =SIMP(statut='f',typ='R' ), - UNITE_CA =SIMP(statut='f',typ='I',defaut=70), - UNITE_KA =SIMP(statut='f',typ='I',defaut=71), - ), - FAISCEAU_AXIAL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'), - UN_PARMI('CARA_ELEM','RAYON_TUBE'), - ENSEMBLE('RAYON_TUBE','COOR_TUBE'), - PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'), - ENSEMBLE('CARA_PAROI','VALE_PAROI'), - ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG', - 'COOR_GRILLE','TYPE_GRILLE', ),), -# on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TRI_GROUP_MA =SIMP(statut='f',typ='TXM' ), - VECT_X =SIMP(statut='f',typ='R',max=3), - PROF_RHO_FLUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_VISC_CINE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - RAYON_TUBE =SIMP(statut='f',typ='R' ), - COOR_TUBE =SIMP(statut='f',typ='R',max='**'), - PESANTEUR =SIMP(statut='f',typ='R',min=4,max=4), - RUGO_TUBE =SIMP(statut='f',typ='R' ), - CARA_PAROI =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5, - into=("YC","ZC","R","HY","HZ") ), - VALE_PAROI =SIMP(statut='f',typ='R',max=5), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - LONG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - LARG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - EPAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - RUGO_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - COEF_DPOR_TYPG =SIMP(statut='f',typ='R',max='**'), - COOR_GRILLE =SIMP(statut='f',typ='R',max='**'), - TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'), - ), - COQUE_COAX =FACT(statut='f', - MASS_AJOU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - GROUP_MA_INT =SIMP(statut='o',typ=grma), - GROUP_MA_EXT =SIMP(statut='o',typ=grma), - VECT_X =SIMP(statut='o',typ='R',max='**'), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MATER_INT =SIMP(statut='o',typ=mater_sdaster ), - MATER_EXT =SIMP(statut='o',typ=mater_sdaster ), - RHO_FLUI =SIMP(statut='o',typ='R' ), - VISC_CINE =SIMP(statut='o',typ='R' ), - RUGOSITE =SIMP(statut='o',typ='R' ), - PDC_MOY_1 =SIMP(statut='o',typ='R' ), - PDC_DYN_1 =SIMP(statut='o',typ='R' ), - PDC_MOY_2 =SIMP(statut='o',typ='R' ), - PDC_DYN_2 =SIMP(statut='o',typ='R' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.relun at edf.fr - - -DEFI_FONC_ELEC=MACRO(nom="DEFI_FONC_ELEC", - op=OPS('Macro.defi_fonc_elec_ops.defi_fonc_elec_ops'), - sd_prod=fonction_sdaster, - reentrant='n', - UIinfo={"groupes":("Outils-métier",)}, - fr="Définir une fonction du temps intervenant dans le calcul des " \ - "forces de LAPLACE", - regles=(UN_PARMI('COUR_PRIN','COUR'), - EXCLUS('COUR','COUR_SECO'), ), - FREQ =SIMP(statut='f',typ='R',defaut= 50.), - SIGNAL =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ), - COUR =FACT(statut='f',max='**', - fr="Définition du courant de court-circuit", - regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'), - UN_PARMI('PHI_CC_2','INTC_CC_2'),), - INTE_CC_1 =SIMP(statut='o',typ='R'), - TAU_CC_1 =SIMP(statut='o',typ='R'), - PHI_CC_1 =SIMP(statut='f',typ='R'), - INTC_CC_1 =SIMP(statut='f',typ='R'), - INTE_CC_2 =SIMP(statut='o',typ='R'), - TAU_CC_2 =SIMP(statut='o',typ='R'), - PHI_CC_2 =SIMP(statut='f',typ='R'), - INTC_CC_2 =SIMP(statut='f',typ='R'), - INST_CC_INIT =SIMP(statut='o',typ='R'), - INST_CC_FIN =SIMP(statut='o',typ='R'), - ), - COUR_PRIN =FACT(statut='f', - fr="Définition du courant de court-circuit avec réenclenchement", - regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),), - INTE_CC_1 =SIMP(statut='o',typ='R'), - TAU_CC_1 =SIMP(statut='o',typ='R'), - PHI_CC_1 =SIMP(statut='f',typ='R'), - INTC_CC_1 =SIMP(statut='f',typ='R'), - INTE_RENC_1 =SIMP(statut='f',typ='R'), - TAU_RENC_1 =SIMP(statut='f',typ='R'), - PHI_RENC_1 =SIMP(statut='f',typ='R'), - INST_CC_INIT =SIMP(statut='o',typ='R'), - INST_CC_FIN =SIMP(statut='o',typ='R'), - INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0), - INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - COUR_SECO =FACT(statut='f',max='**', - fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN", - regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),), - INTE_CC_2 =SIMP(statut='o',typ='R'), - TAU_CC_2 =SIMP(statut='o',typ='R'), - PHI_CC_2 =SIMP(statut='f',typ='R'), - INTC_CC_2 =SIMP(statut='f',typ='R'), - INTE_RENC_2 =SIMP(statut='f',typ='R'), - TAU_RENC_2 =SIMP(statut='f',typ='R'), - PHI_RENC_2 =SIMP(statut='f',typ='R'), - DIST =SIMP(statut='f',typ='R',defaut=1.0E+0), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, - reentrant='n', - fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre", - UIinfo={"groupes":("Modélisation","Fonctions",)}, - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), - NOEUD_INIT =SIMP(statut='o',typ=no), - NOEUD_FIN =SIMP(statut='o',typ=no), - VITE =FACT(statut='o', - VALE =SIMP(statut='f',typ='R',defaut= 1. ), - PROFIL =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ), - NB_BAV =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ), - ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN", - into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU", - into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM' ,defaut="EXCLU", - into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,ABSCISSE,**args): - if VALE != None : return fonction_sdaster - if VALE_C != None : return fonction_c - if VALE_PARA != None : return fonction_sdaster - if ABSCISSE != None : return fonction_sdaster - if NOEUD_PARA != None : return fonction_sdaster - raise AsException("type de concept resultat non prevu") - -DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod - ,fr="Définit une fonction réelle ou complexe d'une variable réelle", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA','ABSCISSE'),), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Fonction réelle définie par une liste de couples " - "(abscisse,ordonnée)"), - ABSCISSE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Liste d abscisses d une fonction réelle"), - VALE_C =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Fonction complexe définie par une liste de triplets " - "(absc, partie réelle, partie imaginaire)"), - VALE_PARA =SIMP(statut='f',typ=listr8_sdaster, - fr ="Fonction réelle définie par deux concepts de type listr8" ), - b_vale_para =BLOC(condition = "VALE_PARA != None", - VALE_FONC =SIMP(statut='o',typ=listr8_sdaster ), - ), - b_abscisse =BLOC(condition = "ABSCISSE != None", - ORDONNEE =SIMP(statut='o',typ='R',min=2,max='**', - fr ="Liste d ordonnées d une fonction réelle"), - ), - NOEUD_PARA =SIMP(statut='f',typ=no,max='**', - fr ="Fonction réelle définie par une liste de noeuds et un maillage"), - b_noeud_para =BLOC(condition = "NOEUD_PARA != None", - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - VALE_Y =SIMP(statut='o',typ='R',max='**'), - ), - - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS", - op=55, - sd_prod=fond_fiss, - reentrant='n', - UIinfo={"groupes":("Modélisation",)},fr="Définition de lèvres et d'un fond de fissure", - - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - - # definition du fond de fissure - FOND_FISS = FACT(statut='o',max=2, - - TYPE_FOND = SIMP(statut='f',typ='TXM',into=("OUVERT","FERME","INF","SUP"),defaut="OUVERT"), - - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1 ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1 ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - # possibilite d'ordonnencement automatique du fond si groupe de mailles - b_grma = BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND != 'FERME'", - NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), - - # si ordo - b_ordo = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", - NOEUD_EXTR = SIMP(statut='f',typ=no, max=1), - GROUP_NO_EXTR = SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - ), - ), - # possibilite d'ordonnencement automatique du fond si groupe de mailles - b_grma_ferme= BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND == 'FERME'", - NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), - - # si ordo - b_ordo_ferme = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", - MAILLE_ORIG = SIMP(statut='f',typ=ma, max=1), - GROUP_MA_ORIG = SIMP(statut='f',typ=grma, max=1), - regles=(UN_PARMI('MAILLE_ORIG','GROUP_MA_ORIG'),), - ), - ), - # definition des directions des tangentes aux bords (uniquement pour les fonds non fermes) - b_dtan = BLOC(condition = "TYPE_FOND != 'FERME'", - DTAN_ORIG =SIMP(statut='f',typ='R',max='**'), - DTAN_EXTR =SIMP(statut='f',typ='R',max='**'), - VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - regles=(EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'), - EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR'),), - ), - ), - - CONFIG_INIT = SIMP(statut='f',typ='TXM',into=("COLLEE","DECOLLEE"), defaut="COLLEE",position='global'), - - SYME = SIMP(statut='f',typ='TXM',into=("OUI","NON"), defaut="NON", position='global'), - -# remarque : dans le cas symetrique, il faut soit LEVRE_SUP, soit DTAN_ORIG -# mais impossible de faire une regle. - - LEVRE_SUP =FACT(statut='f',max=1, - regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - - b_levre_inf = BLOC(condition = "LEVRE_SUP != None and SYME == 'NON'", - - LEVRE_INF =FACT(statut='o',max=1, - regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - ), - - # dans le cas decolle - b_decolle = BLOC(condition = "CONFIG_INIT == 'DECOLLEE'", - NORMALE =SIMP(statut='o',typ='R',max=3),), - - PREC_NORM = SIMP(statut='f',typ='R',defaut=0.1), - -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr -# -DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op= 119, sd_prod=gfibre_sdaster, - fr="Definition des groupes de fibres pour les elements multifibres", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - regles=(AU_MOINS_UN('SECTION','FIBRE'),), - - INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), -#============================================================================ - SECTION =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'), - PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),), - - GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), - TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_SECT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_SECT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - MAILLAGE_SECT =SIMP(statut='o',typ=maillage_sdaster), - COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), - ), - - -#============================================================================ - FIBRE =FACT(statut='f',max='**', - GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), - CARA =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)), - VALE =SIMP(statut='o',typ='R',max='**'), - COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sebastien.fayolle at edf.fr -DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - fr="Déterminer les caractéristiques homogenéisées du béton armé à partir des propriétés du béton et des " - +" armatures", - reuse = SIMP(statut='f',typ=mater_sdaster), - RELATION = SIMP(statut='o',typ='TXM',defaut="GLRC_DAMAGE", - into=("GLRC_DM","GLRC_DAMAGE"),), - - b_glrc_dm=BLOC(condition = "RELATION == 'GLRC_DM'", - fr="Paramètres de la loi GLRC_DM", - BETON = FACT(statut='o',max=1, - MATER = SIMP(statut='o',typ=(mater_sdaster),), - EPAIS = SIMP(statut='o',typ='R',val_min=0.E+0 ),), - NAPPE = FACT(statut='o',max=1, - MATER = SIMP(statut='o',typ=(mater_sdaster),), - OMY = SIMP(statut='o',typ='R',val_min=0.E+0,), - OMX = SIMP(statut='o',typ='R',val_min=0.E+0,), - RY = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0,), - RX = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0),), - RHO = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_ALPHA = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_BETA = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_HYST = SIMP(statut='f',typ='R',val_min=0.E+0,), - COMPR = SIMP(statut='o',typ='TXM',defaut="GAMMA", - into=("GAMMA","SEUIL")), - b_gamma=BLOC(condition = "COMPR == 'GAMMA'", - fr="Paramètre d'endommagement en compression ", - GAMMA_C = SIMP(statut='o',typ='R',defaut=1.0E+0,val_min=0.0E+0, val_max=1.0E+0),), - b_seuil=BLOC(condition = "COMPR == 'SEUIL'", - fr="Seuil d'endommagement en compression ", - NYC = SIMP(statut='o',typ='R'),), - PENTE = SIMP(statut='o',typ='TXM',defaut="RIGI_ACIER", - into=("PLAS_ACIER","UTIL","RIGI_ACIER")), - b_util = BLOC(condition = "PENTE == 'UTIL'", - fr="Valeur de la déformation maximale de l'élément", - EPSI_MEMB = SIMP(statut='o',typ='R',defaut=0.E+0), - KAPPA_FLEX = SIMP(statut='o',typ='R',defaut=0.E+0),), - CISAIL = SIMP(statut='o',typ='TXM',defaut="NON", - into=("OUI","NON"),), - METHODE_ENDO = SIMP(statut='o',typ='TXM',defaut="ENDO_INTER", - into=("ENDO_NAISS","ENDO_LIM","ENDO_INTER"),), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2),), - ), - b_glrc_damage=BLOC(condition = "RELATION == 'GLRC_DAMAGE'", - fr="Paramètres de la loi GLRC_DAMAGE", - CISAIL_NL =FACT(statut='f',max=1, - BTD1 =SIMP(statut='o',typ='R'), - BTD2 =SIMP(statut='o',typ='R'), - TSD =SIMP(statut='o',typ='R'), - ), - BETON =FACT(statut='o',max=1, - regles=(ENSEMBLE('MP1X', 'MP1Y', 'MP2X', 'MP2Y'), - ENSEMBLE('MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), - PRESENT_ABSENT('MP1X', 'MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), - ENSEMBLE('OMT', 'EAT'), - ENSEMBLE('BT1','BT2'),), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), - GAMMA =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - QP1 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - QP2 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - - C1N1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1N2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1N3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M3 =SIMP(statut='o',typ='R',val_min=0.E+0), - - OMT =SIMP(statut='f',typ='R',val_min=0.E+0), - EAT =SIMP(statut='f',typ='R',val_min=0.E+0), - BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), - BT2 =SIMP(statut='f',typ='R',val_min=0.E+0), - - MP1X =SIMP(statut='f',typ='R'), - MP2X =SIMP(statut='f',typ='R'), - MP1Y =SIMP(statut='f',typ='R'), - MP2Y =SIMP(statut='f',typ='R'), - - MP1X_FO =SIMP(statut='f',typ=fonction_sdaster), - MP2X_FO =SIMP(statut='f',typ=fonction_sdaster), - MP1Y_FO =SIMP(statut='f',typ=fonction_sdaster), - MP2Y_FO =SIMP(statut='f',typ=fonction_sdaster), - ), - NAPPE =FACT(statut='o',max=10, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OMX =SIMP(statut='o',typ='R',val_min=0.E+0), - OMY =SIMP(statut='o',typ='R',val_min=0.E+0), - RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - ), - CABLE_PREC =FACT(statut='f',max=1, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OMX =SIMP(statut='o',typ='R',val_min=0.E+0), - OMY =SIMP(statut='o',typ='R',val_min=0.E+0), - RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - PREX =SIMP(statut='o',typ='R'), - PREY =SIMP(statut='o',typ='R'), - ), - LINER =FACT(statut='f',max=10, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OML =SIMP(statut='o',typ='R',val_min=0.E+0), - RLR =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2),), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -DEFI_GRILLE=OPER(nom="DEFI_GRILLE",op=82,sd_prod=grille_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Définition d'une grille", - - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - - INFO = SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def defi_group_prod(MAILLAGE,GRILLE,**args): - if ( MAILLAGE != None ) : - if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster - if AsType(MAILLAGE) == squelette : return squelette - if ( GRILLE != None ) : - return grille_sdaster - raise AsException("type de concept resultat non prevu") - -DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, - fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage", - reentrant='o', - UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'), - UN_PARMI('MAILLAGE','GRILLE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette) ), - GRILLE =SIMP(statut='f',typ=(grille_sdaster) ), - DETR_GROUP_MA =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),), - DETR_GROUP_NO =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), - - - CREA_GROUP_MA =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), - NOM =SIMP(statut='o',typ=grma), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - INTERSEC =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - UNION =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - DIFFE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_MAILLE =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D", - "POI1","SEG2","SEG3","SEG4","TRIA3","TRIA6","TRIA7", - "QUAD4","QUAD8","QUAD9","TETRA4","TETRA10", - "PENTA6","PENTA15","PENTA18","HEXA8","HEXA20","HEXA27", - "PYRAM5","PYRAM13",),max=1 ), - - OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE", - "BANDE","APPUI_LACHE","APPUI","FISS_XFEM") ), - b_group_ma =BLOC(condition = "GROUP_MA != None", - regles=(EXCLUS('POSITION','NUME_INIT'),), - NUME_INIT =SIMP(statut='f',typ='I'), - POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), - b_nume_init =BLOC(condition = "NUME_INIT != None", - NUME_FIN =SIMP(statut='f',typ='I' ), - ), - ), - b_face_normale =BLOC(condition = "OPTION == 'FACE_NORMALE'", - regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - ANGL_PREC =SIMP(statut='f',typ='R',defaut= 0.5 ), - VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_sphere =BLOC(condition = "OPTION == 'SPHERE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R' ), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - DIST =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_app_lache =BLOC(condition = "OPTION == 'APPUI_LACHE'", - regles=(UN_PARMI('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - b_appui =BLOC(condition = "OPTION == 'APPUI'", - regles=(UN_PARMI('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TYPE_APPUI =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET','MAJORITE')), - ), - b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", - TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,defaut='XFEM', - into=('HEAVISIDE','CRACKTIP','MIXTE','FISSUREE','XFEM',),), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - ), - ), - - - CREA_GROUP_NO =FACT(statut='f',max='**', - OPTION =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN", - "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL", - "INCLUSION","FISS_XFEM","INTERVALLE_VALE") ), - - b_option =BLOC(condition = "OPTION == None" , - regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD', - 'INTERSEC','UNION','DIFFE'),), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - INTERSEC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - UNION =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DIFFE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - - b_nom_group_ma =BLOC(condition = "GROUP_MA != None", - NOM = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS", - into=("TOUS","SOMMET","MILIEU","CENTRE"),), - ), - b_group_no =BLOC(condition = "GROUP_NO != None", - regles=(EXCLUS('POSITION','NUME_INIT'),), - NUME_INIT =SIMP(statut='f',typ='I'), - POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), - b_nume_init =BLOC(condition = "NUME_INIT != None", - NUME_FIN =SIMP(statut='f',typ='I' ), - ), - ), - b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" , - NOM =SIMP(statut='o',typ=grma), - ), - ), - - b_env_sphere =BLOC(condition = "OPTION == 'ENV_SPHERE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - RAYON =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_env_plan =BLOC(condition = "OPTION == 'PLAN'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - ANGL_NAUT =SIMP(statut='f',typ='R' ,max=3), - VECT_NORMALE =SIMP(statut='f',typ='R' ,max=3), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'", - regles=(AU_MOINS_UN('NOEUD','GROUP_NO'), - UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), - NOM =SIMP(statut='o',typ=grno), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - PRECISION =SIMP(statut='o',typ='R' ), - CRITERE =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ), - ), - b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'", - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - NOM =SIMP(statut='o',typ=grno), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: - # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours : - VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR - - ), - b_tunnel =BLOC(condition = "OPTION == 'TUNNEL'", - regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'), - EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),), - NOM =SIMP(statut='o',typ=grma), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_AXE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_AXE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R'), - LONGUEUR =SIMP(statut='f',typ='R'), - ), - b_inclusion =BLOC(condition = "OPTION == 'INCLUSION'", - fr="""crée le groupe des noeuds des mailles de GROUP_MA inclus géométriquement - dans les mailles de GROUP_MA_INCL""", - NOM =SIMP(statut='o',typ=grma), - CAS_FIGURE =SIMP(statut='o',typ='TXM',into=("2D","3D","2.5D",)), - DISTANCE_MAX =SIMP(statut='f',typ='R',), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_INCL =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - MAILLAGE_INCL =SIMP(statut='f',typ=maillage_sdaster), - ), - b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", - NOM =SIMP(statut='o',typ=grma), - TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,into=('HEAVISIDE','CRACKTIP','MIXTE','XFEM','ZONE_MAJ','TORE')), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - b_rayon =BLOC(condition = "TYPE_GROUP == 'TORE'", - RAYON_TORE =SIMP(statut='o',typ='R',max=1,val_min=0.0), - ), - ), - b_intervalle_vale =BLOC(condition = "OPTION == 'INTERVALLE_VALE'", - NOM =SIMP(statut='o',typ=grma), - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - NOM_CMP =SIMP(statut='o',typ='TXM',max=1), - VALE =SIMP(statut='o',typ='R',min=2,max=2), - ), - ), - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115, - sd_prod=interspectre, - reentrant='n', - fr="Définit une matrice interspectrale", - UIinfo={"groupes":("Fonctions",)}, - - DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), - - regles=(UN_PARMI('PAR_FONCTION','KANAI_TAJIMI','CONSTANT'),), - - PAR_FONCTION =FACT(statut='f',max='**', - regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c ),max=1), - ), - - KANAI_TAJIMI =FACT(statut='f',max='**', - regles=(EXCLUS('VALE_R','VALE_C'), - UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), - PAS =SIMP(statut='f',typ='R',defaut= 1. ), - AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.6 ), - FREQ_MOY =SIMP(statut='f',typ='R',defaut= 5. ), - VALE_R =SIMP(statut='f',typ='R' ), - VALE_C =SIMP(statut='f',typ='C' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - CONSTANT =FACT(statut='f',max='**', - regles=(EXCLUS('VALE_R','VALE_C'), - UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), - PAS =SIMP(statut='f',typ='R',defaut= 1. ), - VALE_R =SIMP(statut='f',typ='R' ), - VALE_C =SIMP(statut='f',typ='C' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - fr="Définir les interfaces d'une structure et leur affecter un type", - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - INTERFACE =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM','TYPE'), -# erreur doc U sur la condition qui suit - UN_PARMI('NOEUD','GROUP_NO'),), - NOM =SIMP(statut='f',typ='TXM' ), - TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), -# DDL_ACTIF =SIMP(statut='f',typ='TXM',max='**'), - MASQUE =SIMP(statut='f',typ='TXM',max='**'), - ), - FREQ =SIMP(statut='f',typ='R',defaut= 1.), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, - fr="Définir une liste d'entiers strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - - OPERATION =SIMP(statut='o',typ='TXM',defaut='DEFI',into=('DEFI','NUME_ORDRE',)), - - - # définition d'une liste d'entiers - #---------------------------------- - b_defi =BLOC(condition = "OPERATION == 'DEFI'", - regles=(UN_PARMI('VALE','DEBUT'), - EXCLUS('VALE','INTERVALLE'),), - VALE =SIMP(statut='f',typ='I',max='**'), - DEBUT =SIMP(statut='f',typ='I'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='I'), - NOMBRE =SIMP(statut='f',typ='I',val_min=1,), - PAS =SIMP(statut='f',typ='I',val_min=1,), - ), - ), - - - # extraction d'une liste de nume_ordre dans une sd_resultat : - #------------------------------------------------------------ - b_extr =BLOC(condition = "OPERATION == 'NUME_ORDRE'", - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - PARAMETRE =SIMP(statut='o',typ='TXM',), - INTERV_R =SIMP(statut='o',typ='R',min=2,max=2), - ), - - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr -DEFI_LIST_FREQ=MACRO(nom="DEFI_LIST_FREQ", - op=OPS('Macro.defi_list_freq_ops.defi_list_freq_ops'), - sd_prod=listr8_sdaster, - fr="Définir une liste de fréquences strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','DEBUT',), - EXCLUS('VALE','INTERVALLE'), - ENSEMBLE('DEBUT','INTERVALLE')), - VALE =SIMP(statut='f',typ='R',max='**'), - DEBUT =SIMP(statut='f',typ='R'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='R'), - NOMBRE =SIMP(statut='f',typ='I'), - PAS =SIMP(statut='f',typ='R'), - ), - RAFFINEMENT =FACT(statut='f', - LIST_RAFFINE =SIMP(statut='o',typ='R',max='**'), - NB_POINTS =SIMP(statut='f',typ='I',defaut=5), - PAS_MINI =SIMP(statut='f',typ='R',defaut=0.001), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU","LARGEUR_3DB")), - b_crit_rela_abs=BLOC(condition="(CRITERE=='RELATIF' or CRITERE=='ABSOLU')", - DISPERSION =SIMP(statut='f',typ='R',defaut=0.01),), - b_crit_larg=BLOC(condition="(CRITERE=='LARGEUR_3DB')", - AMOR_MODAL =FACT(statut='o', - regles = UN_PARMI('AMOR_REDUIT','LIST_AMOR'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),),), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - - -# Bloc pour decoupe automatique -bloc_auto =BLOC(fr = "Subdivision de type automatique", - condition = "SUBD_METHODE == 'AUTO'", - SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", - statut = 'f', - typ = 'R', - val_min = 0.0, - max = 1, - defaut = 0., - ), - ) - -# Bloc pour decoupe manuel -bloc_manu =BLOC(fr = "Subdivision de type manuel", - condition = "SUBD_METHODE == 'MANUEL'", - regles = (AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),), - SUBD_PAS = SIMP(fr = "Nombre de subdivision d'un pas de temps", - statut = 'f', - typ = 'I', - val_min = 2, - max = 1, - defaut = 4, - ), - - SUBD_NIVEAU = SIMP(fr = "Nombre maximum de niveau de subdivision d'un pas de temps", - statut = 'f', - typ = 'I', - val_min = 2, - max = 1, - defaut = 3, - ), - SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", - statut = 'f', - typ = 'R', - val_min = 0.0, - max = 1, - defaut = 0., - ), - ) - -# Bloc pour decoupe automatique - Cas de la collision -bloc_auto2 =BLOC(fr = "Subdivision de type automatique", - condition = "SUBD_METHODE == 'AUTO'", - SUBD_INST = SIMP(fr = "Parametre de decoupe fine du pas de temps", - statut = 'o', - typ = 'R', - val_min = 0.0, - max = 1, - ), - SUBD_DUREE = SIMP(fr = "Duree de decoupe apres collision", - statut = 'o', - typ = 'R', - val_min = 0.0, - max = 1, - ), - ) - -# Bloc pour decoupe du pas de temps -bloc_deco =BLOC(fr = "Action de decoupe du pas temps", - condition = "ACTION == 'DECOUPE' or ACTION == 'REAC_PRECOND' or ACTION == 'AUTRE_PILOTAGE'", - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "MANUEL", - ), - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto, - ) - - -# Bloc pour decoupe du pas de temps - special pour collision -bloc_deco2 =BLOC(fr = "Action de decoupe du pas temps", - condition = "ACTION == 'DECOUPE'", - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de collision", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "AUTO", - ), - - - - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto2, - ) - -# Bloc pour extrapolation du nombre d'iterations de Newton -bloc_supp =BLOC(fr = "Action d'extrapolation du nombre d'iterations de Newton", - condition = "ACTION == 'ITER_SUPPL'", - PCENT_ITER_PLUS = SIMP(fr = "Pourcentage d'itérations autorisées en plus", - statut = 'f', - typ = 'I', - val_min = 20, - max = 1, - defaut = 50, - ), - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "MANUEL", - ), - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto, - ) - -# Bloc pour adaptation du coefficient de penalisation -bloc_pene =BLOC(fr = "Action d' adaptation du coefficient de penalisation", - condition = "ACTION == 'ADAPT_COEF_PENA'", - COEF_MAXI = SIMP(fr = "Coefficient multiplicateur maximum du coefficient de penalisation", - statut = 'f', - typ = 'R', - val_min = 1., - max = 1, - defaut = 1E12, - ), - ) - -DEFI_LIST_INST = OPER(nom="DEFI_LIST_INST",op= 28,sd_prod=list_inst,reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - fr="Définition de la gestion de la liste d'instants", - -# ---------------------------------------------------------------------------------------------------------------------------------- -# mot-cle pour la definition a priori de la liste d'instant -# ---------------------------------------------------------------------------------------------------------------------------------- - -DEFI_LIST =FACT(fr = "Definition a priori de la liste d'instants", - statut = 'o', - max = 1, - METHODE = SIMP(fr = "Methode de definition de la liste d'instants", - statut = 'o', - typ = 'TXM', - max = 1, - position = 'global', - into = ("MANUEL","AUTO",), - defaut = "MANUEL", - ), - b_manuel = BLOC(fr = "Liste d'instants donnée par l'utilisateur", - condition = "METHODE == 'MANUEL' ", - regles=(UN_PARMI('LIST_INST','VALE','RESULTAT'), - PRESENT_PRESENT('RESULTAT','SUBD_PAS'),), - VALE = SIMP(statut = 'f', - typ = 'R', - max = '**'), - LIST_INST = SIMP(statut = 'f', - typ = listr8_sdaster, - ), - RESULTAT = SIMP(statut = 'f', - typ = resultat_sdaster, - ), - SUBD_PAS = SIMP(statut = 'f', - typ = 'I', - max = 1, - val_min = 1, - ), - - ), - b_auto = BLOC(fr = "Gestion automatique de la liste d'instants", - condition = "(METHODE == 'AUTO') ", - regles=(UN_PARMI('LIST_INST','VALE',),), - VALE = SIMP(statut = 'f', - typ = 'R', - max = '**'), - LIST_INST = SIMP(statut = 'f', - typ = listr8_sdaster, - ), - PAS_MINI = SIMP(statut = 'f', - typ = 'R', - max = 1, - val_min = 1.e-12, - ), - PAS_MAXI = SIMP(statut = 'f', - typ = 'R', - max = 1, - ), - NB_PAS_MAXI = SIMP(statut = 'f', - typ = 'I', - max = 1, - val_max = 1000000, - defaut = 1000000, - ), - ), - ), -# ---------------------------------------------------------------------------------------------------------------------------------- -# mot-cle pour le comportement en cas d'echec (on doit recommencer le meme instant) -# ---------------------------------------------------------------------------------------------------------------------------------- - -ECHEC =FACT(fr = "Comportement en cas d'echec", - statut = 'd', - max = '**', - EVENEMENT = SIMP(fr = "Type de l'evenement", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("ERREUR","DELTA_GRANDEUR","COLLISION", - "INTERPENETRATION","DIVE_RESI","INSTABILITE"), - defaut = "ERREUR", - ), - b_erreur = BLOC(fr = "Event: erreur ou iter_maxi", - condition = "EVENEMENT == 'ERREUR' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE","REAC_PRECOND", - "ITER_SUPPL","AUTRE_PILOTAGE"), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - b_supp = bloc_supp, - ), - b_edelta = BLOC(fr = "Event: l'increment d'une composante d'un champ depasse le seuil", - condition = "EVENEMENT == 'DELTA_GRANDEUR' ", - VALE_REF = SIMP(fr = "Valeur du seuil", - statut = 'o', - typ = 'R', - max = 1, - ), - NOM_CHAM = SIMP(fr = "Nom du champ", - statut = 'o', - typ = 'TXM', - max = 1, - into = ("DEPL","VARI_ELGA","SIEF_ELGA",), - ), - NOM_CMP = SIMP(fr = "Nom de la composante", - statut = 'o', - typ = 'TXM', - max = 1, - ), - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE",), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - ), - b_colli = BLOC(fr = "Event: collision", - condition = "EVENEMENT == 'COLLISION' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE",), - defaut = "DECOUPE", - ), - b_deco2 = bloc_deco2, - ), - b_penetration = BLOC(fr = "Event: interpenetration des surfaces en contact", - condition = "EVENEMENT == 'INTERPENETRATION' ", - PENE_MAXI = SIMP(fr = "Valeur maxi de l'interpenetration", - statut = 'o', - typ = 'R', - max = 1, - ), - - - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","ADAPT_COEF_PENA",), - defaut = "ADAPT_COEF_PENA", - ), - b_pene = bloc_pene, - ), - b_dive_resi = BLOC(fr = "Event: divergence du residu", - condition = "EVENEMENT == 'DIVE_RESI' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("DECOUPE",), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - ), - b_instabilite = BLOC(fr = "Event: instabilite", - condition = "EVENEMENT == 'INSTABILITE' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","CONTINUE",), - defaut = "CONTINUE", - ), - ), - - ), - -# ---------------------------------------------------------------------------------------------------------------------------------- -# Mot-cle pour le comportement en cas de succes (on a bien converge) -# ---------------------------------------------------------------------------------------------------------------------------------- - -b_adap = BLOC(condition="METHODE == 'AUTO'", - -ADAPTATION =FACT(fr = "Parametres de l'evenement declencheur de l'adaptation du pas de temps", - statut = 'd', - max = '**', - EVENEMENT = SIMP(fr = "Nom de l'evenement declencheur de l'adaptation", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("SEUIL","TOUT_INST","AUCUN"), - defaut = "SEUIL", - ), - b_adap_seuil = BLOC(fr = "Seuil d'adaptation", - condition = "EVENEMENT == 'SEUIL' ", - regles = (PRESENT_PRESENT('NB_INCR_SEUIL','NOM_PARA',), - PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',), - PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',),), - NB_INCR_SEUIL = SIMP(statut = 'f', - typ = 'I', - defaut = 2, - ), - NOM_PARA = SIMP(statut = 'f', - typ = 'TXM', - into = ("NB_ITER_NEWTON",), - defaut = "NB_ITER_NEWTON", - ), - CRIT_COMP = SIMP(statut = 'f', - typ = 'TXM', - into = ("LT","GT","LE","GE"), - defaut = "LE", - ), - b_vale_I = BLOC(fr = "Valeur entiere", - condition = "NOM_PARA == 'NB_ITER_NEWTON' ", - VALE_I = SIMP(statut='f',typ='I',), - ), - ), - - -# -# Parametres du mode de calcul de dt+ -# dans le cas FIXE :(deltaT+) = (deltaT-)x(1+PCENT_AUGM/100) -# dans le cas DELTA_GRANDEUR : (deltaT+) = (deltaT-)x(VALREF/deltaVAL) : l'acceleration est inversement proportionnelle -# a la variation de la grandeur -# dans le cas ITER_NEWTON : (deltaT+) = (deltaT-) x sqrt(VALREF/N) : l'acceleration est inversement proportionnelle -# au nombre d'iterations de Newton precedent - - MODE_CALCUL_TPLUS = SIMP(fr = "Parametres du mode de calcul de dt+", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("FIXE","DELTA_GRANDEUR","ITER_NEWTON","IMPLEX"), - defaut = 'FIXE', - ), - - b_mfixe = BLOC(fr = "Mode de calcul de dt+: fixe", - condition = "MODE_CALCUL_TPLUS == 'FIXE' ", - PCENT_AUGM = SIMP(statut = 'f', - max = 1, - typ = 'R', - defaut = 100., - val_min = -100., - ), - ), - b_mdelta = BLOC(fr = "Mode de calcul de dt+: increment d'une grandeur", - condition = "MODE_CALCUL_TPLUS == 'DELTA_GRANDEUR' ", - VALE_REF = SIMP(statut = 'o', - max = 1, - typ = 'R', - ), - NOM_CHAM = SIMP(statut = 'o', - max = 1, - typ = 'TXM', - into = ("DEPL","VARI_ELGA","SIEF_ELGA",), - ), - NOM_CMP = SIMP(statut = 'o', - max = 1, - typ = 'TXM',), - ), - b_mitnew = BLOC(fr = "Mode de calcul de dt+: nb iterations de Newton", - condition = "MODE_CALCUL_TPLUS == 'ITER_NEWTON' ", - NB_ITER_NEWTON_REF= SIMP(statut = 'o', - max = 1, - typ = 'I', - ), - ), -# les schemas pre-definis : -# abaqus : -# EVENEMENT ='SEUIL' -# NB_INCR_SEUIL = 2 -# NOM_PARA ='NB_ITER_NEWTON' -# CRIT_COMP ='LE' -# VALE_I = 5 -# MODE_CALCUL_TPLUS ='FIXE' -# PCENT_AUGM = 50. -# Zebulon 1 : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='DELTA_GRANDEUR' -# VALE_REF = valref -# NOM_CHAM ='VARI_ELGA' -# NOM_CMP ='V1' -# Zebulon 2 : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='ITER_NEWTON' -# NB_ITER_NEWTON_REF= nc -# Tough2 : -# EVENEMENT ='SEUIL' -# NB_INCR_SEUIL = 1 -# NOM_PARA ='NB_ITER_NEWTON' -# CRIT_COMP ='LE' -# VALE_I = n -# MODE_CALCUL_TPLUS ='FIXE' -# PCENT_AUGM = 100. -# Oliver : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='FORMULE' -# NOM_SCHEMA ='OLIVER' - - ), - ), -# ---------------------------------------------------------------------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, - fr="Définir une liste de réels strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','DEBUT',), - EXCLUS('VALE','INTERVALLE'), - ENSEMBLE('DEBUT','INTERVALLE')), - VALE =SIMP(statut='f',typ='R',max='**'), - DEBUT =SIMP(statut='f',typ='R'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='R'), - NOMBRE =SIMP(statut='f',typ='I'), - PAS =SIMP(statut='f',typ='R'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, - fr="Définition d'un nouveau maillage à partir de macro-éléments", - reentrant='n', - UIinfo={"groupes":("Maillage",)}, - DEFI_SUPER_MAILLE =FACT(statut='o',max='**', - MACR_ELEM =SIMP(statut='o',typ=(macr_elem_stat,macr_elem_dyna),max='**' ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - b_angl_naut =BLOC(condition = "ANGL_NAUT != None", - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - ), - RECO_GLOBAL =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - RECO_SUPER_MAILLE =FACT(statut='f',max='**', - SUPER_MAILLE =SIMP(statut='o',typ=ma,max='**'), - GROUP_NO =SIMP(statut='o',typ=grno,max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ), - geometrique =BLOC(condition = "OPTION == 'GEOMETRIQUE'", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - DEFI_NOEUD =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD_INIT'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Renommage de tous les noeuds" ), - NOEUD_INIT =SIMP(statut='f',typ=no, - fr="Renommage d un seul noeud"), - b_tout =BLOC(condition = "TOUT != None", - PREFIXE =SIMP(statut='f',typ='TXM' ), - INDEX =SIMP(statut='o',typ='I',max='**'), - ), - b_noeud_init =BLOC(condition = "NOEUD_INIT != None", - SUPER_MAILLE =SIMP(statut='o',typ=ma), - NOEUD_FIN =SIMP(statut='o',typ=no), - ), - ), - DEFI_GROUP_NO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'), - AU_MOINS_UN('INDEX','GROUP_NO_FIN'), - ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),), -# la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Création de plusieurs groupes de noeuds" ), - SUPER_MAILLE =SIMP(statut='f',typ=ma, - fr="Création de plusieurs groupes de noeuds"), - GROUP_NO_INIT =SIMP(statut='f',typ=grno, - fr="Création d un seul groupe de noeuds"), - PREFIXE =SIMP(statut='f',typ='TXM' ), - INDEX =SIMP(statut='f',typ='I',max='**'), - GROUP_NO_FIN =SIMP(statut='f',typ=grno), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr - -DEFI_MATER_GC=MACRO(nom="DEFI_MATER_GC", - op=OPS('Macro.defi_mater_gc_ops.defi_mater_gc_ops'), - sd_prod=mater_sdaster, - reentrant='n', - UIinfo={"groupes":("Modélisation",) }, - fr="Définir des lois matériaux spécifique au Génie Civil", - # - regles = (UN_PARMI('MAZARS','ACIER','ENDO_FISS_EXP'), ), - # - REGLE =SIMP(statut='f',typ='TXM', into=('EC2',), defaut='EC2'), - # ============================================================================ - MAZARS =FACT(statut= 'f',max= 1, - fr="Paramètres matériaux de MAZARS unilatéral en 1D à partir des caractéristiques du béton", - UNITE_LONGUEUR =SIMP(statut='o',typ='TXM', into=("M","MM"), - fr="Unité de longueur du problème [M|MM]"), - FCJ =SIMP(statut='o',typ='R', val_min=0.0E+0, - fr="Contrainte au pic en compression [Unité]"), - EIJ =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Module d'Young [Unité]"), - EPSI_C =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Déformation au pic en compression"), - FTJ =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Contrainte au pic en traction [Unité]"), - NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, - fr="Coefficient de poisson"), - EPSD0 =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Déformation, seuil d'endommagement"), - K =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Asymptote en cisaillement pur"), - AC =SIMP(statut='f',typ='R', val_min=0.E+0, - fr="Paramètre de décroissance post-pic en compression"), - BC =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Paramètre de décroissance post-pic en compression"), - AT =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0E+0, - fr="Paramètre de décroissance post-pic en traction"), - BT =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Paramètre de décroissance post-pic en traction"), - # Pour post-traitement ELS et ELU - SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), - EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), - ), - # ============================================================================ - ACIER =FACT(statut= 'f',max= 1, - fr="Définir les paramètres matériaux de l'acier pour le Génie Civil", - E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), - SY =SIMP(statut='o',typ='R', fr="Limite élastique"), - NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), - D_SIGM_EPSI =SIMP(statut='f',typ='R', fr="Module plastique"), - # Pour post-traitement ELS et ELU - SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), - EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), - ), - # ============================================================================ - ENDO_FISS_EXP =FACT(statut= 'f',max= 1, - fr="Définir les paramètres matériaux du béton pour la loi ENDO_FISS_EXP", - regles = ( - UN_PARMI('FT','FT_FENDAGE'), - UN_PARMI('P','DSIG_DU'), - EXCLUS('Q','Q_REL'), - ), - E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), - NU =SIMP(statut='o',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), - FT =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction simple"), - FT_FENDAGE =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction obtenue via un essai brésilien"), - FC =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Limite en compression simple"), - GF =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Energie de fissuration"), - P =SIMP(statut='f',typ='R', val_min=1.0E+0 , fr="Parametre dominant de la loi cohésive asymptotique"), - DSIG_DU =SIMP(statut='f',typ='R', val_min=1.102658 , fr="Pente initiale (au signe pres) de la loi cohesive asymptotique"), - Q =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Parametre secondaire de la loi cohesive asymptotique"), - Q_REL =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0 , fr="Parametre Q exprime de maniere relative par rapport a Qmax(P)"), - LARG_BANDE =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Largeur de bande d'endommagement (2*D)"), - COEF_RIGI_MINI =SIMP(statut='f',typ='R', val_min=0.0, defaut = 0.0 , fr="Rigidite minimale dans la matrice tangente"), - ), - # ============================================================================ - INFO =SIMP(statut='f',typ='I', into=(1,2,), defaut=1), - RHO =SIMP(statut='f',typ='R', fr="Masse volumique"), - ALPHA =SIMP(statut='f',typ='R', fr="Coefficient de dilatation"), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), -) - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, - fr="Définition des paramètres décrivant le comportement d un matériau", - reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH', - 'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO', - 'ELAS_HYPER','ELAS_2NDG','ELAS_GLRC'), - EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'), - EXCLUS('ECRO_LINE','ECRO_LINE_FO','ECRO_PUIS','ECRO_COOK','ECRO_COOK_FO',), - EXCLUS('ENDO_HETEROGENE'), - EXCLUS('TAHERI','TAHERI_FO'), - EXCLUS('ENDO_SCALAIRE','ENDO_SCALAIRE_FO'), - EXCLUS('ENDO_FISS_EXP','ENDO_FISS_EXP_FO'), - EXCLUS('ROUSSELIER','ROUSSELIER_FO'), - EXCLUS('VISC_SINH','VISC_SINH_FO'), - PRESENT_PRESENT('ROUSSELIER','TRACTION'), - PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'), - EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'), - EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'), - EXCLUS('VISCOCHAB','VISCOCHAB_FO'), - EXCLUS('LEMAITRE','LEMAITRE_FO','VISC_IRRA_LOG', - 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',), - EXCLUS('META_LEMA_ANI','META_LEMA_ANI_FO'), - EXCLUS('VENDOCHAB','VENDOCHAB_FO'), - EXCLUS('VISC_ENDO','VISC_ENDO_FO'), - PRESENT_PRESENT('BPEL_ACIER','ELAS'), - PRESENT_PRESENT('ETCC_ACIER','ELAS'), - EXCLUS('ETCC_ACIER','BPEL_ACIER'), - EXCLUS('ETCC_BETON','BPEL_BETON'), - - EXCLUS('RCCM','RCCM_FO'), - EXCLUS('WEIBULL','WEIBULL_FO'), - PRESENT_PRESENT('DHRC','DHRC_SEUILS'), - PRESENT_PRESENT('LAIGLE','ELAS'), - PRESENT_PRESENT('LETK','ELAS'), - PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), - PRESENT_PRESENT('VISC_DRUC_PRAG','ELAS'), - PRESENT_PRESENT('ELAS_GONF','ELAS'), - PRESENT_PRESENT('HOEK_BROWN','ELAS'), - EXCLUS('MAZARS','MAZARS_FO'), - PRESENT_PRESENT('JOINT_BA','ELAS'), - PRESENT_PRESENT('CABLE','ELAS'), - PRESENT_PRESENT('MOHR_COULOMB','ELAS'), - PRESENT_PRESENT('ELAS_GLRC','GLRC_DM'), - ), - MATER =SIMP(statut='f',typ=mater_sdaster), -# -# comportement élastique -# - ELAS =FACT(statut='f', - E =SIMP(statut='o',typ='R',val_min=0.E+0), - NU =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),), - E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - K_DESSIC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B_ENDOGE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_FLUI =FACT(statut='f', - E =SIMP(statut='o',typ='R'), - NU =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='o',typ='R'), - PROF_RHO_F_INT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PROF_RHO_F_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_MASS_AJOU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_ISTR =FACT(statut='f', - E_L =SIMP(statut='o',typ='R'), - E_N =SIMP(statut='o',typ='R'), - NU_LT =SIMP(statut='o',typ='R'), - NU_LN =SIMP(statut='o',typ='R'), - G_LN =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ELAS_ISTR_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), - ), - E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.), - ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_ORTH =FACT(statut='f', - E_L =SIMP(statut='o',typ='R'), - E_T =SIMP(statut='o',typ='R'), - E_N =SIMP(statut='f',typ='R'), - NU_LT =SIMP(statut='o',typ='R'), - NU_LN =SIMP(statut='f',typ='R'), - NU_TN =SIMP(statut='f',typ='R'), - G_LT =SIMP(statut='o',typ='R'), - G_LN =SIMP(statut='f',typ='R'), - G_TN =SIMP(statut='f',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_T =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - XT =SIMP(statut='f',typ='R',defaut= 1. ), - XC =SIMP(statut='f',typ='R',defaut= 1. ), - YT =SIMP(statut='f',typ='R',defaut= 1. ), - YC =SIMP(statut='f',typ='R',defaut= 1. ), - S_LT =SIMP(statut='f',typ='R',defaut= 1. ), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_ORTH_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'), - ), - E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1. ), - ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_HYPER =FACT(statut='f', - regles=(UN_PARMI('K','NU'),), - C10 =SIMP(statut='o',typ='R', - fr="Si C10 est le seul coefficient fourni, alors le matériau est Néo-Hookéen."), - C01 =SIMP(statut='f',typ='R',defaut=0.0, - fr="Si l'on fournit C01 en plus de C10, on obtient un matériau de type Mooney-Rivlin."), - C20 =SIMP(statut='f',typ='R',defaut=0.0, - fr="Si l'on fournit C20 en plus de C10 et C01, on obtient un matériau de type Signorini."), - K =SIMP(statut='f',typ='R',fr="Module de compressibilité."), - NU =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0,fr="Coefficient de Poisson."), - RHO =SIMP(statut='f',typ='R',defaut=0.0,fr="Masse volumique."), - ), - ELAS_COQUE =FACT(statut='f', - regles=(EXCLUS('MEMB_L','M_LLLL',), - PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', - 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), - PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', - 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL', - 'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ', - 'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ', - 'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ', - 'C_LZTZ','C_TZTZ'),), - MEMB_L =SIMP(statut='f',typ='R'), - MEMB_LT =SIMP(statut='f',typ='R'), - MEMB_T =SIMP(statut='f',typ='R'), - MEMB_G_LT =SIMP(statut='f',typ='R'), - FLEX_L =SIMP(statut='f',typ='R'), - FLEX_LT =SIMP(statut='f',typ='R'), - FLEX_T =SIMP(statut='f',typ='R'), - FLEX_G_LT =SIMP(statut='f',typ='R'), - CISA_L =SIMP(statut='f',typ='R'), - CISA_T =SIMP(statut='f',typ='R'), - M_LLLL =SIMP(statut='f',typ='R'), - M_LLTT =SIMP(statut='f',typ='R'), - M_LLLT =SIMP(statut='f',typ='R'), - M_TTTT =SIMP(statut='f',typ='R'), - M_TTLT =SIMP(statut='f',typ='R'), - M_LTLT =SIMP(statut='f',typ='R'), - F_LLLL =SIMP(statut='f',typ='R'), - F_LLTT =SIMP(statut='f',typ='R'), - F_LLLT =SIMP(statut='f',typ='R'), - F_TTTT =SIMP(statut='f',typ='R'), - F_TTLT =SIMP(statut='f',typ='R'), - F_LTLT =SIMP(statut='f',typ='R'), - MF_LLLL =SIMP(statut='f',typ='R'), - MF_LLTT =SIMP(statut='f',typ='R'), - MF_LLLT =SIMP(statut='f',typ='R'), - MF_TTTT =SIMP(statut='f',typ='R'), - MF_TTLT =SIMP(statut='f',typ='R'), - MF_LTLT =SIMP(statut='f',typ='R'), - MC_LLLZ =SIMP(statut='f',typ='R'), - MC_LLTZ =SIMP(statut='f',typ='R'), - MC_TTLZ =SIMP(statut='f',typ='R'), - MC_TTTZ =SIMP(statut='f',typ='R'), - MC_LTLZ =SIMP(statut='f',typ='R'), - MC_LTTZ =SIMP(statut='f',typ='R'), - FC_LLLZ =SIMP(statut='f',typ='R'), - FC_LLTZ =SIMP(statut='f',typ='R'), - FC_TTLZ =SIMP(statut='f',typ='R'), - FC_TTTZ =SIMP(statut='f',typ='R'), - FC_LTLZ =SIMP(statut='f',typ='R'), - FC_LTTZ =SIMP(statut='f',typ='R'), - C_LZLZ =SIMP(statut='f',typ='R'), - C_LZTZ =SIMP(statut='f',typ='R'), - C_TZTZ =SIMP(statut='f',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - ), - ELAS_COQUE_FO =FACT(statut='f', - regles=(EXCLUS('MEMB_L','M_LLLL',), - PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', - 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), - PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', - 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT', - 'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ', - 'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ', - 'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),), - MEMB_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CISA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CISA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_LZLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_LZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_TZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_MEMBRANE =FACT(statut='f', - M_LLLL =SIMP(statut='o',typ='R'), - M_LLTT =SIMP(statut='o',typ='R'), - M_LLLT =SIMP(statut='o',typ='R'), - M_TTTT =SIMP(statut='o',typ='R'), - M_TTLT =SIMP(statut='o',typ='R'), - M_LTLT =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - ), - ELAS_2NDG =FACT(statut='f', - A1 =SIMP(statut='o',typ='R'), - A2 =SIMP(statut='f',typ='R'), - A3 =SIMP(statut='f',typ='R'), - A4 =SIMP(statut='f',typ='R'), - A5 =SIMP(statut='f',typ='R'), - ), - ELAS_GLRC =FACT(statut='f', - regles=(PRESENT_PRESENT('BT1','BT2'),), - E_M =SIMP(statut='o',typ='R',val_min=0.E+0), - NU_M =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=0.5+0), - E_F =SIMP(statut='f',typ='R',val_min=0.E+0), - NU_F =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), - BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), - BT2 =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), - RHO =SIMP(statut='f',typ='R',val_min=0.E+0), - ALPHA =SIMP(statut='f',typ='R'), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_GLRC_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('BT1','BT2'),), - E_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CABLE =FACT(statut='f', - EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - ), -# -# comportements mécanique non linéaire -# vérification du domaine de validité - VERI_BORNE =FACT(statut='f', - regles=(ENSEMBLE('TEMP_MAXI','TEMP_MINI'), - ), - EPSI_MAXI =SIMP(statut='f',typ='R'), - TEMP_MAXI =SIMP(statut='f',typ='R'), - TEMP_MINI =SIMP(statut='f',typ='R'), - VEPS_MAXI =SIMP(statut='f',typ='R'), - ), - TRACTION =FACT(statut='f', - SIGM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - - ), - ECRO_LINE =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R',), - SY =SIMP(statut='o',typ='R',), - SIGM_LIM =SIMP(statut='f',typ='R'), - EPSI_LIM =SIMP(statut='f',typ='R'), - ), - ENDO_HETEROGENE =FACT(statut='f', - WEIBULL =SIMP(statut='o',typ='R',), - SY =SIMP(statut='o',typ='R',), - KI =SIMP(statut='o',typ='R',), - EPAI =SIMP(statut='o',typ='R',), - GR =SIMP(statut='f',typ='R',defaut= 1.0), - ), - ECRO_LINE_FO =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ECRO_PUIS =FACT(statut='f', - SY =SIMP(statut='o',typ='R',), - A_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=1.E-6), - ), - ECRO_PUIS_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - N_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ECRO_COOK =FACT(statut='f', - regles=(PRESENT_PRESENT('C','EPSP0'), - PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), - A =SIMP(statut='o',typ='R',val_min=0.0), - B =SIMP(statut='o',typ='R',val_min=0.0), - C =SIMP(statut='f',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), - EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), - TROOM =SIMP(statut='f',typ='R',val_min=0.0), - TMELT =SIMP(statut='f',typ='R',val_min=0.0), - ), - ECRO_COOK_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('C','EPSP0'), - PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C =SIMP(statut='f',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), - EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), - TROOM =SIMP(statut='f',typ='R',val_min=0.0), - TMELT =SIMP(statut='f',typ='R',val_min=0.0), - ), - BETON_ECRO_LINE =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R'), - SYT =SIMP(statut='o',typ='R'), - SYC =SIMP(statut='f',typ='R'), - ), - BETON_REGLE_PR =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R'), - SYT =SIMP(statut='o',typ='R'), - SYC =SIMP(statut='f',typ='R'), - EPSC =SIMP(statut='f',typ='R'), - N =SIMP(statut='f',typ='R'), - ), - ENDO_ORTH_BETON =FACT(statut='f', - ALPHA =SIMP(statut='f',typ='R',defaut=0.9), - K0 =SIMP(statut='o',typ='R'), - K1 =SIMP(statut='o',typ='R'), - K2 =SIMP(statut='f',typ='R',defaut=7.E-4), - ECROB =SIMP(statut='o',typ='R'), - ECROD =SIMP(statut='o',typ='R'), - ), - PRAGER =FACT(statut='f', - C =SIMP(statut='o',typ='R'), - ), - PRAGER_FO =FACT(statut='f', - C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - TAHERI =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - ALPHA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - C1 =SIMP(statut='o',typ='R'), - C_INF =SIMP(statut='o',typ='R'), - S =SIMP(statut='o',typ='R'), - ), - TAHERI_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_INF =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ROUSSELIER =FACT(statut='f', - D =SIMP(statut='o',typ='R'), - SIGM_1 =SIMP(statut='o',typ='R'), - PORO_INIT =SIMP(statut='o',typ='R'), - PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - AN =SIMP(statut='f',typ='R',defaut= 0. ), - DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), - BETA =SIMP(statut='f',typ='R',defaut=0.85), - ), - ROUSSELIER_FO =FACT(statut='f', - D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PORO_INIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - AN =SIMP(statut='f',typ='R',defaut= 0. ), - DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), - BETA =SIMP(statut='f',typ='R',defaut=0.85), - ), - VISC_SINH =FACT(statut='f', - SIGM_0 =SIMP(statut='o',typ='R'), - EPSI_0 =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - ), - VISC_SINH_FO =FACT(statut='f', - SIGM_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN1_CHAB =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - R_I =SIMP(statut='f',typ='R'), - B =SIMP(statut='f',typ='R',defaut= 0.0E+0), - C_I =SIMP(statut='o',typ='R'), - K =SIMP(statut='f',typ='R',defaut= 1.0E+0), - W =SIMP(statut='f',typ='R',defaut= 0.0E+0), - G_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.0E+0), - ), - CIN1_CHAB_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN2_CHAB =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - R_I =SIMP(statut='f',typ='R'), - B =SIMP(statut='f',typ='R',defaut= 0.E+0), - C1_I =SIMP(statut='o',typ='R'), - C2_I =SIMP(statut='o',typ='R'), - K =SIMP(statut='f',typ='R',defaut= 1.), - W =SIMP(statut='f',typ='R',defaut= 0.E+0), - G1_0 =SIMP(statut='o',typ='R'), - G2_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - ), - CIN2_CHAB_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C2_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN2_NRAD =FACT(statut='f', - DELTA1 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), - DELTA2 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), - ), - MEMO_ECRO =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - Q_M =SIMP(statut='o',typ='R'), - Q_0 =SIMP(statut='o',typ='R'), - ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), - ), - MEMO_ECRO_FO =FACT(statut='f', - MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - VISCOCHAB =FACT(statut='f', - K_0 =SIMP(statut='o',typ='R'), - A_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - A_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - K =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - ALP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B =SIMP(statut='f',typ='R'), - M_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_R =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MU =SIMP(statut='o',typ='R',defaut= 0.E+0 ), - Q_M =SIMP(statut='o',typ='R'), - Q_0 =SIMP(statut='o',typ='R'), - QR_0 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), - C1 =SIMP(statut='o',typ='R'), - M_1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - D1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_X1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - G1_0 =SIMP(statut='o',typ='R'), - C2 =SIMP(statut='o',typ='R'), - M_2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - D2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_X2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - G2_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - ), - VISCOCHAB_FO =FACT(statut='f', - K_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - QR_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_X1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_X2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LEMAITRE =FACT(statut='f', - N =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='o',typ='R'), - UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - LEMAITRE_IRRA =FACT(statut='f', - N =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='o',typ='R'), - UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PHI_ZERO =SIMP(statut='f',typ='R',defaut= 1.E+20), - L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LMARC_IRRA =FACT(statut='f', - DE_0 =SIMP(statut='o',typ='R'), - R_0 =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - Y_I =SIMP(statut='o',typ='R'), - Y_0 =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - A_0 =SIMP(statut='o',typ='R'), - RM =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - P =SIMP(statut='o',typ='R'), - P1 =SIMP(statut='o',typ='R'), - P2 =SIMP(statut='o',typ='R'), - M11 =SIMP(statut='o',typ='R'), - M22 =SIMP(statut='o',typ='R'), - M33 =SIMP(statut='o',typ='R'), - M66 =SIMP(statut='o',typ='R'), - N11 =SIMP(statut='o',typ='R'), - N22 =SIMP(statut='o',typ='R'), - N33 =SIMP(statut='o',typ='R'), - N66 =SIMP(statut='o',typ='R'), - Q11 =SIMP(statut='o',typ='R'), - Q22 =SIMP(statut='o',typ='R'), - Q33 =SIMP(statut='o',typ='R'), - Q66 =SIMP(statut='o',typ='R'), - R11 =SIMP(statut='o',typ='R'), - R22 =SIMP(statut='o',typ='R'), - R33 =SIMP(statut='o',typ='R'), - R66 =SIMP(statut='o',typ='R'), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - VISC_IRRA_LOG =FACT(statut='f', - A =SIMP(statut='f',typ='R',defaut= 1.28E-1), - B =SIMP(statut='f',typ='R',defaut= 0.01159), - CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), - ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), - FLUX_PHI =SIMP(statut='o',typ='R',), - ), - GRAN_IRRA_LOG =FACT(statut='f', - A =SIMP(statut='f',typ='R',defaut= 1.28E-1), - B =SIMP(statut='f',typ='R',defaut= 0.01159), - CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), - ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), - FLUX_PHI =SIMP(statut='o',typ='R',), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LEMA_SEUIL =FACT(statut='f', - A =SIMP(statut='o',typ='R',), - S =SIMP(statut='o',typ='R',), - ), - LEMA_SEUIL_FO=FACT(statut='f', - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - IRRAD3M=FACT(statut='f', - R02 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI_U =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AI0 =SIMP(statut='o',typ='R',val_min=0.0), - ZETA_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETAI_S =SIMP(statut='o',typ='R',val_min=0.0), - RG0 =SIMP(statut='o',typ='R',val_min=0.0), - ALPHA =SIMP(statut='o',typ='R',val_min=0.0), - PHI0 =SIMP(statut='o',typ='R',val_min=0.0), - KAPPA =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0), - ZETA_G =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TOLER_ET =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.15 ), - ), - LEMAITRE_FO =FACT(statut='f', - N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - UN_SUR_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_LEMA_ANI =FACT(statut='f', - F1_A =SIMP(statut='o',typ='R'), - F2_A =SIMP(statut='o',typ='R'), - C_A =SIMP(statut='o',typ='R'), - F1_M =SIMP(statut='o',typ='R'), - F2_M =SIMP(statut='o',typ='R'), - C_M =SIMP(statut='o',typ='R'), - F1_N =SIMP(statut='o',typ='R'), - F2_N =SIMP(statut='o',typ='R'), - C_N =SIMP(statut='o',typ='R'), - F1_Q =SIMP(statut='o',typ='R'), - F2_Q =SIMP(statut='o',typ='R'), - C_Q =SIMP(statut='o',typ='R'), - F_MRR_RR =SIMP(statut='o',typ='R'), - C_MRR_RR =SIMP(statut='o',typ='R'), - F_MTT_TT =SIMP(statut='o',typ='R'), - C_MTT_TT =SIMP(statut='o',typ='R'), - F_MZZ_ZZ =SIMP(statut='o',typ='R'), - C_MZZ_ZZ =SIMP(statut='o',typ='R'), - F_MRT_RT =SIMP(statut='o',typ='R'), - C_MRT_RT =SIMP(statut='o',typ='R'), - F_MRZ_RZ =SIMP(statut='o',typ='R'), - C_MRZ_RZ =SIMP(statut='o',typ='R'), - F_MTZ_TZ =SIMP(statut='o',typ='R'), - C_MTZ_TZ =SIMP(statut='o',typ='R'), - ), - META_LEMA_ANI_FO =FACT(statut='f', - F1_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ARME =FACT(statut='f', - KYE =SIMP(statut='o',typ='R'), - DLE =SIMP(statut='o',typ='R'), - KYP =SIMP(statut='o',typ='R'), - DLP =SIMP(statut='o',typ='R'), - KYG =SIMP(statut='o',typ='R'), - ), - ASSE_CORN =FACT(statut='f', - NU_1 =SIMP(statut='o',typ='R'), - MU_1 =SIMP(statut='o',typ='R'), - DXU_1 =SIMP(statut='o',typ='R'), - DRYU_1 =SIMP(statut='o',typ='R'), - C_1 =SIMP(statut='o',typ='R'), - NU_2 =SIMP(statut='o',typ='R'), - MU_2 =SIMP(statut='o',typ='R'), - DXU_2 =SIMP(statut='o',typ='R'), - DRYU_2 =SIMP(statut='o',typ='R'), - C_2 =SIMP(statut='o',typ='R'), - KY =SIMP(statut='o',typ='R'), - KZ =SIMP(statut='o',typ='R'), - KRX =SIMP(statut='o',typ='R'), - KRZ =SIMP(statut='o',typ='R'), - R_P0 =SIMP(statut='f',typ='R',defaut= 1.E+4 ), - ), - DIS_CONTACT =FACT(statut='f', - RIGI_NOR =SIMP(statut='f',typ='R' ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_NOR =SIMP(statut='f',typ='R' ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ENDO_SCALAIRE =FACT(statut='f', - K =SIMP(statut='o',typ='R',val_min=0.0), - P =SIMP(statut='o',typ='R',val_min=1.0), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ='R',), - C_COMP =SIMP(statut='f',typ='R',defaut=0.0), - C_VOLU =SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_SCALAIRE_FO =FACT(statut='f', - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_COMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_VOLU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_FISS_EXP =FACT(statut='f', - K =SIMP(statut='o',typ='R',val_min=0.0), - P =SIMP(statut='o',typ='R',val_min=1.0), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ='R',), - TAU =SIMP(statut='o',typ='R'), - SIG0 =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='f',typ='R',defaut=0.1), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_FISS_EXP_FO =FACT(statut='f', - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TAU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIG0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ='R',defaut=0.1), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - DIS_GRICRA =FACT(statut='f', - KN_AX =SIMP(statut='o',typ='R' ), - KT_AX =SIMP(statut='o',typ='R' ), - COUL_AX =SIMP(statut='o',typ='R' ), - F_SER =SIMP(statut='f',typ='R' ), - F_SER_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ET_AX =SIMP(statut='f',typ='R',defaut=1.e-7 ), - ET_ROT =SIMP(statut='f',typ='R',defaut=1.e-7 ), - ANG1 =SIMP(statut='f',typ='R' ), - ANG2 =SIMP(statut='f',typ='R' ), - PEN1 =SIMP(statut='f',typ='R' ), - PEN2 =SIMP(statut='f',typ='R' ), - PEN3 =SIMP(statut='f',typ='R' ), - ANG1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ANG2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN3_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles=(EXCLUS('ANG1','ANG1_FO',), - UN_PARMI('ANG1','ANG1_FO',), - EXCLUS('F_SER','F_SER_FO',), - UN_PARMI('F_SER','F_SER_FO',), - PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',), - PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',), - ), - ), - BETON_DOUBLE_DP =FACT(statut='f', - F_C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_BIAX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ENER_COMP_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ENER_TRAC_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_ELAS_COMP =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=100.E+0), - LONG_CARA =SIMP(statut='f',typ='R',val_min=0.E+0), - ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ), - ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ), - ), - MAZARS=FACT(statut='f',min=0 , - EPSD0 =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - AC =SIMP(statut='o',typ='R'), - BC =SIMP(statut='o',typ='R'), - AT =SIMP(statut='o',typ='R'), - BT =SIMP(statut='o',typ='R'), - CHI =SIMP(statut='f',typ='R',val_min=0.0E+0,val_max=1.0E+0), - SIGM_LIM =SIMP(statut='f',typ='R'), - EPSI_LIM =SIMP(statut='f',typ='R'), - ), - MAZARS_FO=FACT(statut='f',min=0 , - EPSD0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHI =SIMP(statut='f',typ='R'), - ), - JOINT_BA=FACT(statut='f',min=0 ,max=1, - HPEN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0), - GTT =SIMP(statut='o',typ='R',val_min=0.E+0), - GAMD0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1), - AD1 =SIMP(statut='o',typ='R',val_min=0.E+0), - BD1 =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1), - GAMD2 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), - AD2 =SIMP(statut='o',typ='R',val_min=0.E+0), - BD2 =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), - VIFROT =SIMP(statut='o',typ='R',val_min=0.E+0), - FA =SIMP(statut='o',typ='R',val_min=0.E+0), - FC =SIMP(statut='o',typ='R',val_min=0.E+0), - EPSTR0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), - ADN =SIMP(statut='o',typ='R',val_min=0.E+0), - BDN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), - ), - VENDOCHAB =FACT(statut='f', - SY =SIMP(statut='o',typ='R',defaut= 0.E+0), - ALPHA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), - BETA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), - R_D =SIMP(statut='o',typ='R'), - A_D =SIMP(statut='o',typ='R'), - K_D =SIMP(statut='o',typ='R'), - ), - VENDOCHAB_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - HAYHURST =FACT(statut='f', - EPS0 =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - H1 =SIMP(statut='o',typ='R'), - H2 =SIMP(statut='o',typ='R'), - DELTA1 =SIMP(statut='o',typ='R'), - DELTA2 =SIMP(statut='o',typ='R'), - H1ST =SIMP(statut='o',typ='R'), - H2ST =SIMP(statut='o',typ='R'), - KC =SIMP(statut='f',typ='R',defaut=0.), - BIGA =SIMP(statut='o',typ='R'), - SIG0 =SIMP(statut='o',typ='R'), - ALPHAD =SIMP(statut='f',typ='R',defaut=0.), - S_EQUI_D =SIMP(statut='f',typ='R',defaut=0.,into=(0.,1.) ), - ), - VISC_ENDO =FACT(statut='f', - SY =SIMP(statut='o',typ='R',defaut= 0.E+0), - R_D =SIMP(statut='o',typ='R'), - A_D =SIMP(statut='o',typ='R'), - ), - VISC_ENDO_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - PINTO_MENEGOTTO =FACT(statut='f', - SY =SIMP(statut='o',typ='R'), - EPSI_ULTM =SIMP(statut='o',typ='R'), - SIGM_ULTM =SIMP(statut='o',typ='R'), - ELAN =SIMP(statut='f',typ='R',defaut= 4. ), - EPSP_HARD =SIMP(statut='o',typ='R'), - R_PM =SIMP(statut='f',typ='R',defaut= 20. ), - EP_SUR_E =SIMP(statut='f',typ='R'), - A1_PM =SIMP(statut='f',typ='R',defaut= 18.5 ), - A2_PM =SIMP(statut='f',typ='R',defaut= 0.15 ), - A6_PM =SIMP(statut='f',typ='R',defaut= 620. ), - C_PM =SIMP(statut='f',typ='R',defaut= 0.5 ), - A_PM =SIMP(statut='f',typ='R',defaut= 6.0E-3 ), - ), - BPEL_BETON =FACT(statut='f', - PERT_FLUA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PERT_RETR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - BPEL_ACIER =FACT(statut='f', - regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',), - PRESENT_PRESENT('MU0_RELAX','F_PRG',),), - RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MU0_RELAX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - F_PRG =SIMP(statut='f',typ='R'), - FROT_COURB =SIMP(statut='f',typ='R',defaut=0.E+0), - FROT_LINE =SIMP(statut='f',typ='R',defaut=0.E+0), - ), - ETCC_BETON =FACT(statut='f', - EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0. ), - ), - ETCC_ACIER =FACT(statut='f', - regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),), - F_PRG =SIMP(statut='f',typ='R',val_min=0.E+0), - COEF_FROT =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), - PERT_LIGNE =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), - RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - - - ), - MOHR_COULOMB =FACT(statut='f', - PHI =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), - ANGDIL =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), - COHESION =SIMP(statut='o',typ='R',val_min=0.E+0,), - ), - - CAM_CLAY =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - LAMBDA =SIMP(statut='o',typ='R'), - KAPA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - PRES_CRIT =SIMP(statut='o',typ='R'), - KCAM =SIMP(statut='f',typ='R',val_min=0.E+0), - PTRAC =SIMP(statut='f',typ='R',val_max=0.E+0), - regles=(PRESENT_PRESENT('PTRAC','KCAM',),), - ), - BARCELONE =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - LAMBDA =SIMP(statut='o',typ='R'), - KAPA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - PRES_CRIT =SIMP(statut='o',typ='R'), - PA =SIMP(statut='o',typ='R'), - R =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='o',typ='R'), - KC =SIMP(statut='o',typ='R'), - PC0_INIT =SIMP(statut='o',typ='R'), - KAPAS =SIMP(statut='o',typ='R'), - LAMBDAS =SIMP(statut='o',typ='R'), - ALPHAB =SIMP(statut='f',typ='R'), - ), - CJS =FACT(statut='f', - BETA_CJS =SIMP(statut='o',typ='R'), - RM =SIMP(statut='o',typ='R'), - N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - KP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - A_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B_CJS =SIMP(statut='f',typ='R',defaut= 1.0E+25 ), - C_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - GAMMA_CJS =SIMP(statut='o',typ='R'), - MU_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PCO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PA =SIMP(statut='o',typ='R'), - Q_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - R_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - HUJEUX =FACT(statut='f', - N =SIMP(statut='o',typ='R' ), - BETA =SIMP(statut='o',typ='R' ), - B =SIMP(statut='o',typ='R' ), - D =SIMP(statut='o',typ='R' ), - PHI =SIMP(statut='o',typ='R' ), - ANGDIL =SIMP(statut='o',typ='R' ), - PCO =SIMP(statut='o',typ='R' ), - PREF =SIMP(statut='o',typ='R' ), - ACYC =SIMP(statut='o',typ='R' ), - AMON =SIMP(statut='o',typ='R' ), - CCYC =SIMP(statut='o',typ='R' ), - CMON =SIMP(statut='o',typ='R' ), - RD_ELA =SIMP(statut='o',typ='R' ), - RI_ELA =SIMP(statut='o',typ='R' ), - RHYS =SIMP(statut='o',typ='R' ), - RMOB =SIMP(statut='o',typ='R' ), - XM =SIMP(statut='o',typ='R' ), - RD_CYC =SIMP(statut='o',typ='R' ), - RI_CYC =SIMP(statut='o',typ='R' ), - DILA =SIMP(statut='o',typ='R' ), - PTRAC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ECRO_ASYM_LINE =FACT(statut='f', - DC_SIGM_EPSI =SIMP(statut='o',typ='R'), - SY_C =SIMP(statut='o',typ='R'), - DT_SIGM_EPSI =SIMP(statut='o',typ='R'), - SY_T =SIMP(statut='o',typ='R'), - ), - GRANGER_FP =FACT(statut='f', - J1 =SIMP(statut='f',typ='R'), - J2 =SIMP(statut='f',typ='R'), - J3 =SIMP(statut='f',typ='R'), - J4 =SIMP(statut='f',typ='R'), - J5 =SIMP(statut='f',typ='R'), - J6 =SIMP(statut='f',typ='R'), - J7 =SIMP(statut='f',typ='R'), - J8 =SIMP(statut='f',typ='R'), - TAUX_1 =SIMP(statut='f',typ='R'), - TAUX_2 =SIMP(statut='f',typ='R'), - TAUX_3 =SIMP(statut='f',typ='R'), - TAUX_4 =SIMP(statut='f',typ='R'), - TAUX_5 =SIMP(statut='f',typ='R'), - TAUX_6 =SIMP(statut='f',typ='R'), - TAUX_7 =SIMP(statut='f',typ='R'), - TAUX_8 =SIMP(statut='f',typ='R'), - QSR_K =SIMP(statut='f',typ='R'), - ), - GRANGER_FP_INDT =FACT(statut='f', - J1 =SIMP(statut='f',typ='R'), - J2 =SIMP(statut='f',typ='R'), - J3 =SIMP(statut='f',typ='R'), - J4 =SIMP(statut='f',typ='R'), - J5 =SIMP(statut='f',typ='R'), - J6 =SIMP(statut='f',typ='R'), - J7 =SIMP(statut='f',typ='R'), - J8 =SIMP(statut='f',typ='R'), - TAUX_1 =SIMP(statut='f',typ='R'), - TAUX_2 =SIMP(statut='f',typ='R'), - TAUX_3 =SIMP(statut='f',typ='R'), - TAUX_4 =SIMP(statut='f',typ='R'), - TAUX_5 =SIMP(statut='f',typ='R'), - TAUX_6 =SIMP(statut='f',typ='R'), - TAUX_7 =SIMP(statut='f',typ='R'), - TAUX_8 =SIMP(statut='f',typ='R'), - ), - V_GRANGER_FP =FACT(statut='f', - QSR_VEIL =SIMP(statut='f',typ='R'), - FONC_V =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - BETON_BURGER_FP =FACT(statut='f',min=0 , - K_RS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - KAPPA =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - ETA_FD =SIMP(statut='f',typ='R'), - ), - BETON_UMLV_FP =FACT(statut='f',min=0 , - K_RS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - K_IS =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - ETA_FD =SIMP(statut='f',typ='R'), - ), - BETON_RAG =FACT(statut='f', - ACTIV_FL =SIMP(statut='f',typ='R',defaut=1.0 ), - K_RS =SIMP(statut='o',typ='R'), - K_IS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - K_ID =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - EPS_0 =SIMP(statut='o',typ='R'), - TAU_0 =SIMP(statut='o',typ='R'), - EPS_FL_L =SIMP(statut='f',typ='R',defaut=3.0e-2 ), - ACTIV_LO =SIMP(statut='f',typ='R',defaut=1.0 ), - F_C =SIMP(statut='o',typ='R'), - F_T =SIMP(statut='o',typ='R'), - ANG_CRIT =SIMP(statut='f',typ='R',defaut=8.594367 ), - EPS_COMP =SIMP(statut='o',typ='R'), - EPS_TRAC =SIMP(statut='o',typ='R'), - LC_COMP =SIMP(statut='o',typ='R',defaut=1.0 ), - LC_TRAC =SIMP(statut='o',typ='R',defaut=1.0 ), - HYD_PRES =SIMP(statut='f',typ='R',defaut=0. ), - A_VAN_GE =SIMP(statut='f',typ='R',defaut=0.0 ), - B_VAN_GE =SIMP(statut='f',typ='R',defaut=1.9 ), - BIOT_EAU =SIMP(statut='o',typ='R',defaut=0.3 ), - MODU_EAU =SIMP(statut='o',typ='R',defaut=0.0 ), - W_EAU_0 =SIMP(statut='o',typ='R'), - BIOT_GEL =SIMP(statut='o',typ='R'), - MODU_GEL =SIMP(statut='o',typ='R'), - VOL_GEL =SIMP(statut='o',typ='R'), - AVANC_LI =SIMP(statut='o',typ='R'), - SEUIL_SR =SIMP(statut='o',typ='R'), - PARA_CIN =SIMP(statut='o',typ='R'), - ENR_AC_G =SIMP(statut='o',typ='R'), - ), - GLRC_DM =FACT(statut='f',max=1, - GAMMA_T =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - GAMMA_C =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=1.E+0), - GAMMA_F =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - NYT =SIMP(statut='o',typ='R',val_min=0.E+0), - NYC =SIMP(statut='f',typ='R'), - MYF =SIMP(statut='o',typ='R',val_min=0.E+0), - ALPHA_C =SIMP(statut='d',typ='R',val_min=1.E+0,defaut=1.E+0), - ), - DHRC_SEUILS =FACT(statut='f', - SYD =SIMP(statut='o',typ='R',), - SCRIT =SIMP(statut='o',typ='R',), - K0MICR =SIMP(statut='o',typ='R',), - A011 =SIMP(statut='o',typ='R',), - A012 =SIMP(statut='o',typ='R',), - A013 =SIMP(statut='o',typ='R',), - A014 =SIMP(statut='o',typ='R',), - A015 =SIMP(statut='o',typ='R',), - A016 =SIMP(statut='o',typ='R',), - A022 =SIMP(statut='o',typ='R',), - A023 =SIMP(statut='o',typ='R',), - A024 =SIMP(statut='o',typ='R',), - A025 =SIMP(statut='o',typ='R',), - A026 =SIMP(statut='o',typ='R',), - A033 =SIMP(statut='o',typ='R',), - A034 =SIMP(statut='o',typ='R',), - A035 =SIMP(statut='o',typ='R',), - A036 =SIMP(statut='o',typ='R',), - A044 =SIMP(statut='o',typ='R',), - A045 =SIMP(statut='o',typ='R',), - A046 =SIMP(statut='o',typ='R',), - A055 =SIMP(statut='o',typ='R',), - A056 =SIMP(statut='o',typ='R',), - A066 =SIMP(statut='o',typ='R',), - ), - DHRC =FACT(statut='f', - AAC111 =SIMP(statut='o',typ='R',), - AAC121 =SIMP(statut='o',typ='R',), - AAC131 =SIMP(statut='o',typ='R',), - AAC141 =SIMP(statut='o',typ='R',), - AAC151 =SIMP(statut='o',typ='R',), - AAC161 =SIMP(statut='o',typ='R',), - AAC221 =SIMP(statut='o',typ='R',), - AAC231 =SIMP(statut='o',typ='R',), - AAC241 =SIMP(statut='o',typ='R',), - AAC251 =SIMP(statut='o',typ='R',), - AAC261 =SIMP(statut='o',typ='R',), - AAC331 =SIMP(statut='o',typ='R',), - AAC341 =SIMP(statut='o',typ='R',), - AAC351 =SIMP(statut='o',typ='R',), - AAC361 =SIMP(statut='o',typ='R',), - AAC441 =SIMP(statut='o',typ='R',), - AAC451 =SIMP(statut='o',typ='R',), - AAC461 =SIMP(statut='o',typ='R',), - AAC551 =SIMP(statut='o',typ='R',), - AAC561 =SIMP(statut='o',typ='R',), - AAC661 =SIMP(statut='o',typ='R',), - AAC112 =SIMP(statut='o',typ='R',), - AAC122 =SIMP(statut='o',typ='R',), - AAC132 =SIMP(statut='o',typ='R',), - AAC142 =SIMP(statut='o',typ='R',), - AAC152 =SIMP(statut='o',typ='R',), - AAC162 =SIMP(statut='o',typ='R',), - AAC222 =SIMP(statut='o',typ='R',), - AAC232 =SIMP(statut='o',typ='R',), - AAC242 =SIMP(statut='o',typ='R',), - AAC252 =SIMP(statut='o',typ='R',), - AAC262 =SIMP(statut='o',typ='R',), - AAC332 =SIMP(statut='o',typ='R',), - AAC342 =SIMP(statut='o',typ='R',), - AAC352 =SIMP(statut='o',typ='R',), - AAC362 =SIMP(statut='o',typ='R',), - AAC442 =SIMP(statut='o',typ='R',), - AAC452 =SIMP(statut='o',typ='R',), - AAC462 =SIMP(statut='o',typ='R',), - AAC552 =SIMP(statut='o',typ='R',), - AAC562 =SIMP(statut='o',typ='R',), - AAC662 =SIMP(statut='o',typ='R',), - AAT111 =SIMP(statut='o',typ='R',), - AAT121 =SIMP(statut='o',typ='R',), - AAT131 =SIMP(statut='o',typ='R',), - AAT141 =SIMP(statut='o',typ='R',), - AAT151 =SIMP(statut='o',typ='R',), - AAT161 =SIMP(statut='o',typ='R',), - AAT221 =SIMP(statut='o',typ='R',), - AAT231 =SIMP(statut='o',typ='R',), - AAT241 =SIMP(statut='o',typ='R',), - AAT251 =SIMP(statut='o',typ='R',), - AAT261 =SIMP(statut='o',typ='R',), - AAT331 =SIMP(statut='o',typ='R',), - AAT341 =SIMP(statut='o',typ='R',), - AAT351 =SIMP(statut='o',typ='R',), - AAT361 =SIMP(statut='o',typ='R',), - AAT441 =SIMP(statut='o',typ='R',), - AAT451 =SIMP(statut='o',typ='R',), - AAT461 =SIMP(statut='o',typ='R',), - AAT551 =SIMP(statut='o',typ='R',), - AAT561 =SIMP(statut='o',typ='R',), - AAT661 =SIMP(statut='o',typ='R',), - AAT112 =SIMP(statut='o',typ='R',), - AAT122 =SIMP(statut='o',typ='R',), - AAT132 =SIMP(statut='o',typ='R',), - AAT142 =SIMP(statut='o',typ='R',), - AAT152 =SIMP(statut='o',typ='R',), - AAT162 =SIMP(statut='o',typ='R',), - AAT222 =SIMP(statut='o',typ='R',), - AAT232 =SIMP(statut='o',typ='R',), - AAT242 =SIMP(statut='o',typ='R',), - AAT252 =SIMP(statut='o',typ='R',), - AAT262 =SIMP(statut='o',typ='R',), - AAT332 =SIMP(statut='o',typ='R',), - AAT342 =SIMP(statut='o',typ='R',), - AAT352 =SIMP(statut='o',typ='R',), - AAT362 =SIMP(statut='o',typ='R',), - AAT442 =SIMP(statut='o',typ='R',), - AAT452 =SIMP(statut='o',typ='R',), - AAT462 =SIMP(statut='o',typ='R',), - AAT552 =SIMP(statut='o',typ='R',), - AAT562 =SIMP(statut='o',typ='R',), - AAT662 =SIMP(statut='o',typ='R',), - GAC111 =SIMP(statut='o',typ='R',), - GAC121 =SIMP(statut='o',typ='R',), - GAC131 =SIMP(statut='o',typ='R',), - GAC141 =SIMP(statut='o',typ='R',), - GAC151 =SIMP(statut='o',typ='R',), - GAC161 =SIMP(statut='o',typ='R',), - GAC221 =SIMP(statut='o',typ='R',), - GAC231 =SIMP(statut='o',typ='R',), - GAC241 =SIMP(statut='o',typ='R',), - GAC251 =SIMP(statut='o',typ='R',), - GAC261 =SIMP(statut='o',typ='R',), - GAC331 =SIMP(statut='o',typ='R',), - GAC341 =SIMP(statut='o',typ='R',), - GAC351 =SIMP(statut='o',typ='R',), - GAC361 =SIMP(statut='o',typ='R',), - GAC441 =SIMP(statut='o',typ='R',), - GAC451 =SIMP(statut='o',typ='R',), - GAC461 =SIMP(statut='o',typ='R',), - GAC551 =SIMP(statut='o',typ='R',), - GAC561 =SIMP(statut='o',typ='R',), - GAC661 =SIMP(statut='o',typ='R',), - GAC112 =SIMP(statut='o',typ='R',), - GAC122 =SIMP(statut='o',typ='R',), - GAC132 =SIMP(statut='o',typ='R',), - GAC142 =SIMP(statut='o',typ='R',), - GAC152 =SIMP(statut='o',typ='R',), - GAC162 =SIMP(statut='o',typ='R',), - GAC222 =SIMP(statut='o',typ='R',), - GAC232 =SIMP(statut='o',typ='R',), - GAC242 =SIMP(statut='o',typ='R',), - GAC252 =SIMP(statut='o',typ='R',), - GAC262 =SIMP(statut='o',typ='R',), - GAC332 =SIMP(statut='o',typ='R',), - GAC342 =SIMP(statut='o',typ='R',), - GAC352 =SIMP(statut='o',typ='R',), - GAC362 =SIMP(statut='o',typ='R',), - GAC442 =SIMP(statut='o',typ='R',), - GAC452 =SIMP(statut='o',typ='R',), - GAC462 =SIMP(statut='o',typ='R',), - GAC552 =SIMP(statut='o',typ='R',), - GAC562 =SIMP(statut='o',typ='R',), - GAC662 =SIMP(statut='o',typ='R',), - GAT111 =SIMP(statut='o',typ='R',), - GAT121 =SIMP(statut='o',typ='R',), - GAT131 =SIMP(statut='o',typ='R',), - GAT141 =SIMP(statut='o',typ='R',), - GAT151 =SIMP(statut='o',typ='R',), - GAT161 =SIMP(statut='o',typ='R',), - GAT221 =SIMP(statut='o',typ='R',), - GAT231 =SIMP(statut='o',typ='R',), - GAT241 =SIMP(statut='o',typ='R',), - GAT251 =SIMP(statut='o',typ='R',), - GAT261 =SIMP(statut='o',typ='R',), - GAT331 =SIMP(statut='o',typ='R',), - GAT341 =SIMP(statut='o',typ='R',), - GAT351 =SIMP(statut='o',typ='R',), - GAT361 =SIMP(statut='o',typ='R',), - GAT441 =SIMP(statut='o',typ='R',), - GAT451 =SIMP(statut='o',typ='R',), - GAT461 =SIMP(statut='o',typ='R',), - GAT551 =SIMP(statut='o',typ='R',), - GAT561 =SIMP(statut='o',typ='R',), - GAT661 =SIMP(statut='o',typ='R',), - GAT112 =SIMP(statut='o',typ='R',), - GAT122 =SIMP(statut='o',typ='R',), - GAT132 =SIMP(statut='o',typ='R',), - GAT142 =SIMP(statut='o',typ='R',), - GAT152 =SIMP(statut='o',typ='R',), - GAT162 =SIMP(statut='o',typ='R',), - GAT222 =SIMP(statut='o',typ='R',), - GAT232 =SIMP(statut='o',typ='R',), - GAT242 =SIMP(statut='o',typ='R',), - GAT252 =SIMP(statut='o',typ='R',), - GAT262 =SIMP(statut='o',typ='R',), - GAT332 =SIMP(statut='o',typ='R',), - GAT342 =SIMP(statut='o',typ='R',), - GAT352 =SIMP(statut='o',typ='R',), - GAT362 =SIMP(statut='o',typ='R',), - GAT442 =SIMP(statut='o',typ='R',), - GAT452 =SIMP(statut='o',typ='R',), - GAT462 =SIMP(statut='o',typ='R',), - GAT552 =SIMP(statut='o',typ='R',), - GAT562 =SIMP(statut='o',typ='R',), - GAT662 =SIMP(statut='o',typ='R',), - AB111 =SIMP(statut='o',typ='R',), - AB121 =SIMP(statut='o',typ='R',), - AB211 =SIMP(statut='o',typ='R',), - AB221 =SIMP(statut='o',typ='R',), - AB311 =SIMP(statut='o',typ='R',), - AB321 =SIMP(statut='o',typ='R',), - AB411 =SIMP(statut='o',typ='R',), - AB421 =SIMP(statut='o',typ='R',), - AB511 =SIMP(statut='o',typ='R',), - AB521 =SIMP(statut='o',typ='R',), - AB611 =SIMP(statut='o',typ='R',), - AB621 =SIMP(statut='o',typ='R',), - AB112 =SIMP(statut='o',typ='R',), - AB122 =SIMP(statut='o',typ='R',), - AB212 =SIMP(statut='o',typ='R',), - AB222 =SIMP(statut='o',typ='R',), - AB312 =SIMP(statut='o',typ='R',), - AB322 =SIMP(statut='o',typ='R',), - AB412 =SIMP(statut='o',typ='R',), - AB422 =SIMP(statut='o',typ='R',), - AB512 =SIMP(statut='o',typ='R',), - AB522 =SIMP(statut='o',typ='R',), - AB612 =SIMP(statut='o',typ='R',), - AB622 =SIMP(statut='o',typ='R',), - GB111 =SIMP(statut='o',typ='R',), - GB121 =SIMP(statut='o',typ='R',), - GB211 =SIMP(statut='o',typ='R',), - GB221 =SIMP(statut='o',typ='R',), - GB311 =SIMP(statut='o',typ='R',), - GB321 =SIMP(statut='o',typ='R',), - GB411 =SIMP(statut='o',typ='R',), - GB421 =SIMP(statut='o',typ='R',), - GB511 =SIMP(statut='o',typ='R',), - GB521 =SIMP(statut='o',typ='R',), - GB611 =SIMP(statut='o',typ='R',), - GB621 =SIMP(statut='o',typ='R',), - GB112 =SIMP(statut='o',typ='R',), - GB122 =SIMP(statut='o',typ='R',), - GB212 =SIMP(statut='o',typ='R',), - GB222 =SIMP(statut='o',typ='R',), - GB312 =SIMP(statut='o',typ='R',), - GB322 =SIMP(statut='o',typ='R',), - GB412 =SIMP(statut='o',typ='R',), - GB422 =SIMP(statut='o',typ='R',), - GB512 =SIMP(statut='o',typ='R',), - GB522 =SIMP(statut='o',typ='R',), - GB612 =SIMP(statut='o',typ='R',), - GB622 =SIMP(statut='o',typ='R',), - C0111 =SIMP(statut='o',typ='R',), - C0211 =SIMP(statut='o',typ='R',), - C0121 =SIMP(statut='o',typ='R',), - C0221 =SIMP(statut='o',typ='R',), - C0212 =SIMP(statut='o',typ='R',), - C0112 =SIMP(statut='o',typ='R',), - C0122 =SIMP(statut='o',typ='R',), - C0222 =SIMP(statut='o',typ='R',), - AC111 =SIMP(statut='o',typ='R',), - AC211 =SIMP(statut='o',typ='R',), - AC121 =SIMP(statut='o',typ='R',), - AC221 =SIMP(statut='o',typ='R',), - AC112 =SIMP(statut='o',typ='R',), - AC212 =SIMP(statut='o',typ='R',), - AC122 =SIMP(statut='o',typ='R',), - AC222 =SIMP(statut='o',typ='R',), - GC111 =SIMP(statut='o',typ='R',), - GC211 =SIMP(statut='o',typ='R',), - GC121 =SIMP(statut='o',typ='R',), - GC221 =SIMP(statut='o',typ='R',), - GC112 =SIMP(statut='o',typ='R',), - GC212 =SIMP(statut='o',typ='R',), - GC122 =SIMP(statut='o',typ='R',), - GC222 =SIMP(statut='o',typ='R',), - ), - GATT_MONERIE =FACT(statut='f',min=0,max=1, - D_GRAIN =SIMP(statut='o',typ='R',val_min=0.E+0), - PORO_INIT =SIMP(statut='o',typ='R',val_min=0.E+0), - EPSI_01 =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0), - EPSI_02 =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0), - ), - CORR_ACIER =FACT(statut='f',min=0 ,max=1, - D_CORR =SIMP(statut='o',typ='R'), - ECRO_K =SIMP(statut='o',typ='R'), - ECRO_M =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - ), - CABLE_GAINE_FROT=FACT(statut='f',min=0 ,max=1, - TYPE = SIMP(statut='o',typ='TXM',into=("FROTTANT","GLISSANT","ADHERENT")), - b_glissant =BLOC(condition="TYPE=='GLISSANT'", - fr="Loi cable gaine glissante", - FROT_LINE =SIMP(statut='c',typ='R',defaut= 0.0,), - FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), - ), - b_adherent =BLOC(condition="TYPE=='ADHERENT'", - fr="Loi cable gaine adherent", - FROT_LINE =SIMP(statut='c',typ='R',defaut= -1.0,), - FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), - ), - b_frottant =BLOC(condition="TYPE=='FROTTANT'", - fr="Loi cable gaine frottant", - FROT_LINE =SIMP(statut='o',typ='R',defaut= 0.0,), - FROT_COURB =SIMP(statut='o',typ='R',defaut= 0.0,), - ), - PENA_LAGR =SIMP(statut='o',typ='R',val_min=0.E+0), - ), - -# Discrets non-linéaires : début - DIS_ECRO_CINE =FACT(statut='f', - fr="Loi pour les discrets avec écrouissage cinématique.", - regles=(PRESENT_PRESENT('LIMY_DX','KCIN_DX',),PRESENT_PRESENT('PUIS_DX','LIMU_DX',), - PRESENT_PRESENT('LIMY_DY','KCIN_DY',),PRESENT_PRESENT('PUIS_DY','LIMU_DY',), - PRESENT_PRESENT('LIMY_DZ','KCIN_DZ',),PRESENT_PRESENT('PUIS_DZ','LIMU_DZ',), - PRESENT_PRESENT('LIMY_RX','KCIN_RX',),PRESENT_PRESENT('PUIS_RX','LIMU_RX',), - PRESENT_PRESENT('LIMY_RY','KCIN_RY',),PRESENT_PRESENT('PUIS_RY','LIMU_RY',), - PRESENT_PRESENT('LIMY_RZ','KCIN_RZ',),PRESENT_PRESENT('PUIS_RZ','LIMU_RZ',),), - LIMY_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local x de l'élément."), - LIMY_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local y de l'élément."), - LIMY_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local z de l'élément."), - LIMY_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local x de l'élément."), - LIMY_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local y de l'élément."), - LIMY_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local z de l'élément."), - KCIN_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local x de l'élément."), - KCIN_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local y de l'élément."), - KCIN_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local z de l'élément."), - KCIN_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Rx de l'élément."), - KCIN_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Ry de l'élément."), - KCIN_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Rz de l'élément."), - LIMU_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local x de l'élément."), - LIMU_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local y de l'élément."), - LIMU_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local z de l'élément."), - LIMU_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local x de l'élément."), - LIMU_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local y de l'élément."), - LIMU_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local z de l'élément."), - PUIS_DX =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local x de l'élément."), - PUIS_DY =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local y de l'élément."), - PUIS_DZ =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local z de l'élément."), - PUIS_RX =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Rx de l'élément."), - PUIS_RY =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Ry de l'élément."), - PUIS_RZ =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Rz de l'élément."), - ), - DIS_VISC =FACT(statut='f', - fr="Loi pour un discret de type visqueux : Zener Généralisé.", - regles=(UN_PARMI('K1','UNSUR_K1'), - UN_PARMI('K2','UNSUR_K2'), - UN_PARMI('K3','UNSUR_K3'), ), - K1 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Raideur en série avec les 2 autres branches."), - K2 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur en parallèle de la branche visqueuse."), - K3 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Raideur dans la branche visqueuse."), - UNSUR_K1 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Souplesse en série avec les 2 autres branches."), - UNSUR_K2 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Souplesse en parallèle de la branche visqueuse."), - UNSUR_K3 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Souplesse dans la branche visqueuse."), - C =SIMP(statut='o',typ='R',val_min = 1.0E-08, - fr="'Raideur' de la partie visqueuse."), - PUIS_ALPHA =SIMP(statut='o',typ='R',val_min = 1.0E-08, val_max=1.0, defaut=0.5, - fr="Puissance de la loi visqueuse ]0.0, 1.0] ."), - ), - DIS_BILI_ELAS =FACT(statut='f', - fr="Loi bi-linéaire pour les discrets.", - regles=(PRESENT_PRESENT('KDEB_DX','KFIN_DX','FPRE_DX',), - PRESENT_PRESENT('KDEB_DY','KFIN_DY','FPRE_DY',), - PRESENT_PRESENT('KDEB_DZ','KFIN_DZ','FPRE_DZ',),), - KDEB_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local x de l'élément."), - KDEB_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local y de l'élément."), - KDEB_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local z de l'élément."), - KFIN_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local x de l'élément."), - KFIN_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local y de l'élément."), - KFIN_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local z de l'élément."), - FPRE_DX =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local x de l'élément."), - FPRE_DY =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local y de l'élément."), - FPRE_DZ =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local z de l'élément."), - ), -# Discrets non-linéaires : fin -# -# comportement thermique -# - THER_NL =FACT(statut='f', - regles=(UN_PARMI('BETA','RHO_CP', ),), - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - THER_HYDR =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AFFINITE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHALHYDR =SIMP(statut='o',typ='R'), - ), - THER =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ='R'), - RHO_CP =SIMP(statut='f',typ='R'), - ), - THER_FO =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - THER_ORTH =FACT(statut='f', - LAMBDA_L =SIMP(statut='o',typ='R'), - LAMBDA_T =SIMP(statut='o',typ='R'), - LAMBDA_N =SIMP(statut='f',typ='R'), - RHO_CP =SIMP(statut='f',typ='R'), - ), - THER_COQUE =FACT(statut='f', - COND_LMM =SIMP(statut='o',typ='R'), - COND_TMM =SIMP(statut='o',typ='R'), - COND_LMP =SIMP(statut='o',typ='R'), - COND_TMP =SIMP(statut='o',typ='R'), - COND_LPP =SIMP(statut='o',typ='R'), - COND_TPP =SIMP(statut='o',typ='R'), - COND_LSI =SIMP(statut='o',typ='R'), - COND_TSI =SIMP(statut='o',typ='R'), - COND_NMM =SIMP(statut='o',typ='R'), - COND_NMP =SIMP(statut='o',typ='R'), - COND_NPP =SIMP(statut='o',typ='R'), - COND_NSI =SIMP(statut='o',typ='R'), - CMAS_MM =SIMP(statut='f',typ='R'), - CMAS_MP =SIMP(statut='f',typ='R'), - CMAS_PP =SIMP(statut='f',typ='R'), - CMAS_SI =SIMP(statut='f',typ='R'), - ), - THER_COQUE_FO =FACT(statut='f', - COND_LMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_MM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_MP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_PP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_SI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - SECH_GRANGER =FACT(statut='f', - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - QSR_K =SIMP(statut='o',typ='R'), - TEMP_0_C =SIMP(statut='o',typ='R'), - ), - SECH_MENSI =FACT(statut='f', - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - ), - SECH_BAZANT =FACT(statut='f', - D1 =SIMP(statut='o',typ='R'), - ALPHA_BAZANT =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - FONC_DESORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - SECH_NAPPE =FACT(statut='f', - FONCTION =SIMP(statut='o',typ=(nappe_sdaster,formule)), - ), -# -# comportement métallurgique -# - META_ACIER =FACT(statut='f', - TRC =SIMP(statut='o',typ=(table_sdaster) ), - AR3 =SIMP(statut='o',typ='R'), - ALPHA =SIMP(statut='o',typ='R'), - MS0 =SIMP(statut='o',typ='R'), - AC1 =SIMP(statut='o',typ='R'), - AC3 =SIMP(statut='o',typ='R'), - TAUX_1 =SIMP(statut='o',typ='R'), - TAUX_3 =SIMP(statut='o',typ='R'), - LAMBDA0 =SIMP(statut='f',typ='R'), - QSR_K =SIMP(statut='f',typ='R'), - D10 =SIMP(statut='f',typ='R'), - WSR_K =SIMP(statut='f',typ='R'), - ), - META_ZIRC =FACT(statut='f', - TDEQ =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - T1C =SIMP(statut='o',typ='R'), - T2C =SIMP(statut='o',typ='R'), - AC =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - QSR_K =SIMP(statut='o',typ='R'), - T1R =SIMP(statut='o',typ='R'), - T2R =SIMP(statut='o',typ='R'), - AR =SIMP(statut='o',typ='R'), - BR =SIMP(statut='o',typ='R'), - ), - DURT_META =FACT(statut='f', - F1_DURT =SIMP(statut='o',typ='R'), - F2_DURT =SIMP(statut='o',typ='R'), - F3_DURT =SIMP(statut='o',typ='R'), - F4_DURT =SIMP(statut='o',typ='R'), - C_DURT =SIMP(statut='o',typ='R'), - ), - ELAS_META =FACT(statut='f', - E =SIMP(statut='o',typ='R'), - NU =SIMP(statut='o',typ='R'), - F_ALPHA =SIMP(statut='o',typ='R'), - C_ALPHA =SIMP(statut='o',typ='R'), - PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), - EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), - F1_SY =SIMP(statut='f',typ='R'), - F2_SY =SIMP(statut='f',typ='R'), - F3_SY =SIMP(statut='f',typ='R'), - F4_SY =SIMP(statut='f',typ='R'), - C_SY =SIMP(statut='f',typ='R'), - SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_S_VP =SIMP(statut='f',typ='R'), - F2_S_VP =SIMP(statut='f',typ='R'), - F3_S_VP =SIMP(statut='f',typ='R'), - F4_S_VP =SIMP(statut='f',typ='R'), - C_S_VP =SIMP(statut='f',typ='R' ), - S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_META_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'), - ), - E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), - EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), - F1_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_ECRO_LINE =FACT(statut='f', - F1_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_TRACTION =FACT(statut='f', - SIGM_F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_VISC_FO =FACT(statut='f', - F1_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_PT =FACT(statut='f', - F1_K =SIMP(statut='f',typ='R'), - F2_K =SIMP(statut='f',typ='R'), - F3_K =SIMP(statut='f',typ='R'), - F4_K =SIMP(statut='f',typ='R'), - F1_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_RE =FACT(statut='f', - C_F1_THETA =SIMP(statut='f',typ='R'), - C_F2_THETA =SIMP(statut='f',typ='R'), - C_F3_THETA =SIMP(statut='f',typ='R'), - C_F4_THETA =SIMP(statut='f',typ='R'), - F1_C_THETA =SIMP(statut='f',typ='R'), - F2_C_THETA =SIMP(statut='f',typ='R'), - F3_C_THETA =SIMP(statut='f',typ='R'), - F4_C_THETA =SIMP(statut='f',typ='R'), - ), -# -# comportement fluide -# - FLUIDE =FACT(statut='f', - regles=(EXCLUS('CELE_C','CELE_R'),), - RHO =SIMP(statut='o',typ='R'), - PESA_Z =SIMP(statut='f',typ='R',min=1,max=1), - CELE_C =SIMP(statut='f',typ='C'), - CELE_R =SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# COMPORTEMENT THERMO_HYDRO_MECANIQUE -# LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES -# DE LA LOI DE COUPLAGE THM DE LA RELATION -# LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS -# DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE -# ET LIQU_AD_GAZ_VAPE -# LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE : -# 1 --> LIQU_SATU -# 2 --> GAZ -# 3 --> LIQU_VAPE -# 4 --> LIQU_VAPE_GAZ -# 5 --> LIQU_GAZ -# 6 --> LIQU_GAZ_ATM -# 9 --> LIQU_AD_GAZ_VAPE -# 10 --> LIQU_AD_GAZ -# ================================================================================= - COMP_THM = SIMP(statut='f', typ='TXM', - into = ( "LIQU_SATU" , - "LIQU_GAZ" , - "GAZ" , - "LIQU_GAZ_ATM" , - "LIQU_VAPE_GAZ" , - "LIQU_VAPE" , - "LIQU_AD_GAZ_VAPE" , - "LIQU_AD_GAZ" , - ) ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_SATU ------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU ----------------------------------------------- -# ================================================================================= - b_liqusatu = BLOC(condition = "COMP_THM == 'LIQU_SATU' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 1.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - - - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - - - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='f',typ='R'), - EMMAG = SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ -------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- -# ================================================================================= - b_liqugaz = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 5.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE GAZ ------------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------ -# ================================================================================= - b_gaz = BLOC(condition = "COMP_THM == 'GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='o',typ='R'), - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 2.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_LIQU =FACT(statut='f', - RHO =SIMP(statut='f',typ='R'), - UN_SUR_K =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_HENRY =SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ---------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- -# ================================================================================= - b_liqugazatm = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 6.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - R_GAZ =SIMP(statut='f',typ='R'), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='f', - MASS_MOL = SIMP(statut='f',typ='R'), - VISC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), - -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ ------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_AIR_DISSOUS--------- -# ================================================================================= - b_liquadgaz = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 10.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE FACULTATIF --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='f', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_AIR_DISS = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='o',typ='R'), - COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), - -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ --------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------ -# ================================================================================= - b_liquvapegaz = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 4.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVE ---------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE ------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS--------- -# ================================================================================= - b_liquadvape = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 9.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_AIR_DISS = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='o',typ='R'), - COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE ------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ --------------------------------- -# ================================================================================= - b_liquvape = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 3.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# courbes et coefficients associés à la fatigue et au dommage -# - FATIGUE =FACT(statut='f', - regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), - PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), - PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), - ENSEMBLE('A_BASQUIN','BETA_BASQUIN'), - ENSEMBLE('A0','A1','A2','A3','SL'), - PRESENT_PRESENT('A0','E_REFE'), - ENSEMBLE('D0','TAU0'),), - WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_BASQUIN =SIMP(statut='f',typ='R'), - BETA_BASQUIN =SIMP(statut='f',typ='R'), - A0 =SIMP(statut='f',typ='R'), - A1 =SIMP(statut='f',typ='R'), - A2 =SIMP(statut='f',typ='R'), - A3 =SIMP(statut='f',typ='R'), - SL =SIMP(statut='f',typ='R'), - MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_REFE =SIMP(statut='f',typ='R'), - D0 =SIMP(statut='f',typ='R'), - TAU0 =SIMP(statut='f',typ='R'), - ), - DOMMA_LEMAITRE =FACT(statut='f', - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), - ), - CISA_PLAN_CRIT =FACT(statut='f', - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", - "DANG_VAN_MODI_AC", - "DANG_VAN_MODI_AV", - "MATAKE_MODI_AV", - "FATESOCI_MODI_AV", - ) ), - - b_critere_matake =BLOC(condition="CRITERE=='MATAKE_MODI_AC' or CRITERE=='MATAKE_MODI_AV'", - fr="Cisaillement plan critique critère de matake pour les cas amplitude constante et amplitude variable", - MATAKE_A =SIMP(statut='o',typ='R'), - MATAKE_B =SIMP(statut='o',typ='R'), - COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", - fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", - D_VAN_A =SIMP(statut='o',typ='R'), - D_VAN_B =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_critere_fate_soci =BLOC(condition="CRITERE=='FATESOCI_MODI_AV'", - fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable", - FATSOC_A =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - ), - - - THM_RUPT =FACT(statut='f', - OUV_FICT =SIMP(statut='o',typ='R'), - UN_SUR_N =SIMP(statut='f',typ='R',defaut= 0.), - ), -# -# autres comportements ... -# - WEIBULL =FACT(statut='f', - M =SIMP(statut='o',typ='R'), - VOLU_REFE =SIMP(statut='o',typ='R'), - SIGM_REFE =SIMP(statut='o',typ='R'), - SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - WEIBULL_FO =FACT(statut='f', - M =SIMP(statut='o',typ='R'), - VOLU_REFE =SIMP(statut='o',typ='R'), - SIGM_CNV =SIMP(statut='o',typ='R'), - SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - NON_LOCAL =FACT(statut='f', - regles=(AU_MOINS_UN('LONG_CARA','C_GONF','C_GRAD_VARI','PENA_LAGR',),), - LONG_CARA =SIMP(statut='f',typ='R'), - C_GRAD_VARI =SIMP(statut='f',typ='R'), - PENA_LAGR =SIMP(statut='f',typ='R',defaut= 1.0E3), - C_GONF =SIMP(statut='f',typ='R'), - COEF_RIGI_MINI =SIMP(statut='f',typ='R'), - ), - RUPT_FRAG =FACT(statut='f', - GC =SIMP(statut='o',typ='R'), - SIGM_C =SIMP(statut='f',typ='R'), - PENA_ADHERENCE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=1.E+0), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), - PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), - RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - RUPT_FRAG_FO =FACT(statut='f', - GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - CZM_LAB_MIX =FACT(statut='f', - SIGM_C =SIMP(statut='o',typ='R', val_min=1.E-100), - GLIS_C =SIMP(statut='o',typ='R', val_min=1.E-100), - ALPHA =SIMP(statut='f',typ='R', defaut=0.5, val_min=1.E-3), - BETA =SIMP(statut='f',typ='R', defaut=1., val_min=0.), - PENA_LAGR =SIMP(statut='f',typ='R', defaut=100.,val_min=1.01E+0), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="GLIS_1D",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - RUPT_DUCT =FACT(statut='f', - GC =SIMP(statut='o',typ='R'), - SIGM_C =SIMP(statut='o',typ='R'), - COEF_EXTR =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), - COEF_PLAS =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), - PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), - RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), - ), - JOINT_MECA_RUPT =FACT(statut='f', - regles=(EXCLUS('PRES_FLUIDE','PRES_CLAVAGE'), - EXCLUS('PRES_FLUIDE','SCIAGE'), - PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_CLAVAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - ), - K_N =SIMP(statut='o',typ='R',val_min=1.E-12), - K_T =SIMP(statut='f',typ='R',val_min=1.E-12), - SIGM_MAX =SIMP(statut='o',typ='R',val_min=0.), - ALPHA =SIMP(statut='f',typ='R',defaut=1., val_min=0., val_max=2.), - PENA_RUPTURE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=10.E+0), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.,val_min=1.E-12), - PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PRES_CLAVAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), - VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), - OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), - ), - JOINT_MECA_FROT =FACT(statut='f', - regles=( - EXCLUS('PRES_FLUIDE','SCIAGE'), - PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE'), - PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE'), - PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE'), - ), - K_N =SIMP(statut='o',typ='R',val_min=1.E-12), - K_T =SIMP(statut='f',typ='R',val_min=1.E-12), - MU =SIMP(statut='o',typ='R',val_min=1.E-3), - PENA_TANG =SIMP(statut='f',typ='R',val_min=0.), - ADHESION =SIMP(statut='f',typ='R',defaut=0., val_min=0.), - PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), - VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), - OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), - ), - RCCM =FACT(statut='f', - regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), - SY_02 =SIMP(statut='f',typ='R'), - SM =SIMP(statut='f',typ='R'), - SU =SIMP(statut='f',typ='R'), - SC =SIMP(statut='f',typ='R'), - SH =SIMP(statut='f',typ='R'), - N_KE =SIMP(statut='f',typ='R'), - M_KE =SIMP(statut='f',typ='R'), - A_AMORC =SIMP(statut='f',typ='R'), - B_AMORC =SIMP(statut='f',typ='R'), - D_AMORC =SIMP(statut='f',typ='R'), - R_AMORC =SIMP(statut='f',typ='R'), - ), - RCCM_FO =FACT(statut='f', - regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), - SY_02 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - N_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - B_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_AMORC =SIMP(statut='f',typ='R'), - R_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LAIGLE =FACT(statut='f', - GAMMA_ULT =SIMP(statut='o',typ='R'), - GAMMA_E =SIMP(statut='o',typ='R'), - M_ULT =SIMP(statut='o',typ='R'), - M_E =SIMP(statut='o',typ='R'), - A_E =SIMP(statut='o',typ='R'), - M_PIC =SIMP(statut='o',typ='R'), - A_PIC =SIMP(statut='o',typ='R'), - ETA =SIMP(statut='o',typ='R'), - SIGMA_C =SIMP(statut='o',typ='R'), - GAMMA =SIMP(statut='o',typ='R'), - KSI =SIMP(statut='o',typ='R'), - GAMMA_CJS =SIMP(statut='o',typ='R'), - SIGMA_P1 =SIMP(statut='o',typ='R'), - PA =SIMP(statut='o',typ='R'), - ), - LETK =FACT(statut='f', - PA =SIMP(statut='o',typ='R',fr="pression atmospherique"), - NELAS =SIMP(statut='o',typ='R',fr="exposant de la loi de variation des modules K et G"), - SIGMA_C =SIMP(statut='o',typ='R',fr="résistance en compression simple "), - H0_EXT =SIMP(statut='o',typ='R',fr="parametre pilotant la résistance en extension"), - GAMMA_CJS =SIMP(statut='o',typ='R',fr="parametre de forme du critere ds le plan déviatoire entre 0 et 1."), - XAMS =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage pre pic"), - ETA =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage post pic"), - A_0 =SIMP(statut='o',typ='R',fr="a de la limite d'élasticité initiale"), - A_E =SIMP(statut='o',typ='R',fr="a de la limite de clivage ou seuil intermédiaire"), - A_PIC =SIMP(statut='o',typ='R',fr="a du seuil de pic"), - S_0 =SIMP(statut='o',typ='R',fr="s de la limite d'élasticité initiale"), - M_0 =SIMP(statut='o',typ='R',fr="m de la limite d'élasticité initiale"), - M_E =SIMP(statut='o',typ='R',fr="m de la limite de clivage ou seuil intermédiaire"), - M_PIC =SIMP(statut='o',typ='R',fr="m du seuil de pic"), - M_ULT =SIMP(statut='o',typ='R',fr="m du seuil residuel"), - XI_ULT =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil résiduel"), - XI_E =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de clivage"), - XI_PIC =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de pic"), - MV_MAX =SIMP(statut='o',typ='R',fr="m du seuil viscoplastique maximal"), - XIV_MAX =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil viscoplastique maximal"), - A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), - N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), - SIGMA_P1 =SIMP(statut='o',typ='R',fr="SIG min de l intersection du seuil de pic et intermediaire "), - MU0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), - XI0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), - MU1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), - XI1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), - ), - DRUCK_PRAGER =FACT(statut='f', - ALPHA =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - P_ULTM =SIMP(statut='o',typ='R'), - ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), - b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", - H =SIMP(statut='o',typ='R'), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), - ), - b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", - SY_ULTM =SIMP(statut='o',typ='R'), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), - ), - DILAT =SIMP(statut='f',typ='R',defaut=0.0), - ), - - DRUCK_PRAGER_FO =FACT(statut='f', - ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)), - SY =SIMP(statut='o',typ=(fonction_sdaster,formule)), - P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), - ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), - b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", - H =SIMP(statut='o',typ=(fonction_sdaster,formule)), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), - ), - b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", - SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), - ), - DILAT =SIMP(statut='f',typ='R',defaut=0.0), - ), - - VISC_DRUC_PRAG =FACT(statut='f', - PREF =SIMP(statut='o',typ='R',fr="pression de reference"), - A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), - N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), - P_PIC =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil de pic"), - P_ULT =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil utime"), - ALPHA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil d elasticite"), - ALPHA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil de pic"), - ALPHA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil ultime"), - R_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil d'elasticite"), - R_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil de pic"), - R_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil ultime"), - BETA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil d elasticite"), - BETA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil de pic"), - BETA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil ultime"), - ), - HOEK_BROWN =FACT(statut='f', - GAMMA_RUP =SIMP(statut='o',typ='R'), - GAMMA_RES =SIMP(statut='o',typ='R'), - S_END =SIMP(statut='o',typ='R'), - S_RUP =SIMP(statut='o',typ='R'), - M_END =SIMP(statut='o',typ='R'), - M_RUP =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='o',typ='R'), - ALPHAHB =SIMP(statut='o',typ='R'), - PHI_RUP =SIMP(statut='o',typ='R'), - PHI_RES =SIMP(statut='o',typ='R'), - PHI_END =SIMP(statut='f',typ='R'), - ), - ELAS_GONF =FACT(statut='f', - BETAM =SIMP(statut='o',typ='R'), - PREF =SIMP(statut='o',typ='R'), - ), - JOINT_BANDIS =FACT(statut='f', - K =SIMP(statut='o',typ='R'), - DMAX =SIMP(statut='o',typ='R'), - GAMMA =SIMP(statut='o',typ='R'), - KT =SIMP(statut='f',typ='R',defaut = 1.E12), - ), -#### MONOCRISTAL - - MONO_VISC1 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - ), - MONO_VISC2 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - D =SIMP(statut='o',typ='R'), - A =SIMP(statut='o',typ='R'), - ), - MONO_ISOT1 =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), - R_0 =SIMP(statut='o',typ='R'), - Q =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - ), - MONO_ISOT2 =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), - R_0 =SIMP(statut='o',typ='R'), - Q1 =SIMP(statut='o',typ='R'), - B1 =SIMP(statut='o',typ='R'), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - Q2 =SIMP(statut='o',typ='R'), - B2 =SIMP(statut='o',typ='R'), - ), - MONO_CINE1 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), - D =SIMP(statut='o',typ='R'), - ), - MONO_CINE2 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), - D =SIMP(statut='o',typ='R'), - GM =SIMP(statut='o',typ='R'), - PM =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - ), - MONO_DD_KR =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - # TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - K =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - TAUR =SIMP(statut='o',typ='R',fr="Contraintes de cisaillement à T=0K, en unite de contraintes"), - TAU0 =SIMP(statut='o',typ='R',fr="Contraintes critique initiale de cisaillement, en unite de contraintes"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"), - DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), - BSD =SIMP(statut='o',typ='R',fr="fonction de la taille du grain B/D"), - GCB =SIMP(statut='o',typ='R',fr="distance critique d'annihilation GC/B"), - KDCS =SIMP(statut='o',typ='R',fr="Parametre relatif à la direction principale de la dislocation"), - P =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), - Q =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - ), - MONO_DD_CFC =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), - B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), - N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), - Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), - ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - ), - - MONO_DD_CFC_IRRA =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), - B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), - N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), - Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), - ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - - DZ_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre dzeta pour irradiation"), - XI_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre xi pour irradiation"), - RHO_VOID =SIMP(statut='o',typ='R',fr="Parametre rho_voids pour irradiation"), - PHI_LOOP =SIMP(statut='o',typ='R',fr="Parametre phi_loops pour irradiation"), - ALP_VOID =SIMP(statut='o',typ='R',fr="Parametre alpha_voids pour irradiation"), - ALP_LOOP =SIMP(statut='o',typ='R',fr="Parametre alpha_loops pour irradiation"), - RHO_SAT =SIMP(statut='o',typ='R',fr="Parametre rho_sat*b*b pour irradiation"), - PHI_SAT =SIMP(statut='o',typ='R',fr="Parametre phi_sat pour irradiation"), - - ), - - MONO_DD_FAT =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - N =SIMP(statut='o',typ='R',fr="paramètre n, sans unite"), - UN_SUR_D =SIMP(statut='o',typ='R',fr="paramètre 1/D, en unite de 1/longueur"), - GC0 =SIMP(statut='o',typ='R',fr="paramètre GC0, en unite de longueur"), - K =SIMP(statut='o',typ='R',fr="paramètre K, sans unite"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - ), - - MONO_DD_CC =FACT(statut='f', - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), - GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), - DELTAG0 =SIMP(statut='o',typ='R',fr="energie d'activation, en unite d'energie (eV ou J)"), - TAU_0 =SIMP(statut='o',typ='R',fr="contrainte ultime, en unite de contraintes "), - TAU_F =SIMP(statut='o',typ='R',fr="seuil en contrainte , en unite de contraintes"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), - RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), - D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), - BETA =SIMP(statut='o',typ='R',fr="parametre beta, sans unite"), - D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), - Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), - K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), - K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), - K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), - H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), - H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), - H4 =SIMP(statut='f',typ='R',defaut=0.), - H5 =SIMP(statut='f',typ='R',defaut=0.), - H6 =SIMP(statut='f',typ='R',defaut=0.), - DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), - DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), - DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), - ), - - MONO_DD_CC_IRRA =FACT(statut='f', - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), - GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), - DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), - TAU_0 =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), - RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), - D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, parametre beta"), - D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), - Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), - K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), - K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), - K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), - H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), - H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), - H4 =SIMP(statut='f',typ='R',defaut=0.), - H5 =SIMP(statut='f',typ='R',defaut=0.), - H6 =SIMP(statut='f',typ='R',defaut=0.), - DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), - DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), - DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), - A_IRRA =SIMP(statut='o',typ='R',fr="Parametre a_loops pour irradiation"), - XI_IRRA =SIMP(statut='o',typ='R',fr="Parametre xi pour irradiation"), - ), - - -#### FIN MONOCRISTAL - -### UMAT - UMAT =FACT(statut='f', - NB_VALE =SIMP(statut='f',typ='R'), - C1 =SIMP(statut='f',typ='R'), - C2 =SIMP(statut='f',typ='R'), - C3 =SIMP(statut='f',typ='R'), - C4 =SIMP(statut='f',typ='R'), - C5 =SIMP(statut='f',typ='R'), - C6 =SIMP(statut='f',typ='R'), - C7 =SIMP(statut='f',typ='R'), - C8 =SIMP(statut='f',typ='R'), - C9 =SIMP(statut='f',typ='R'), - C10 =SIMP(statut='f',typ='R'), - C11 =SIMP(statut='f',typ='R'), - C12 =SIMP(statut='f',typ='R'), - C13 =SIMP(statut='f',typ='R'), - C14 =SIMP(statut='f',typ='R'), - C15 =SIMP(statut='f',typ='R'), - C16 =SIMP(statut='f',typ='R'), - C17 =SIMP(statut='f',typ='R'), - C18 =SIMP(statut='f',typ='R'), - C19 =SIMP(statut='f',typ='R'), - C20 =SIMP(statut='f',typ='R'), - C21 =SIMP(statut='f',typ='R'), - C22 =SIMP(statut='f',typ='R'), - C23 =SIMP(statut='f',typ='R'), - C24 =SIMP(statut='f',typ='R'), - C25 =SIMP(statut='f',typ='R'), - C26 =SIMP(statut='f',typ='R'), - C27 =SIMP(statut='f',typ='R'), - C28 =SIMP(statut='f',typ='R'), - C29 =SIMP(statut='f',typ='R'), - C30 =SIMP(statut='f',typ='R'), - C31 =SIMP(statut='f',typ='R'), - C32 =SIMP(statut='f',typ='R'), - C33 =SIMP(statut='f',typ='R'), - C34 =SIMP(statut='f',typ='R'), - C35 =SIMP(statut='f',typ='R'), - C36 =SIMP(statut='f',typ='R'), - C37 =SIMP(statut='f',typ='R'), - C38 =SIMP(statut='f',typ='R'), - C39 =SIMP(statut='f',typ='R'), - C40 =SIMP(statut='f',typ='R'), - C41 =SIMP(statut='f',typ='R'), - C42 =SIMP(statut='f',typ='R'), - C43 =SIMP(statut='f',typ='R'), - C44 =SIMP(statut='f',typ='R'), - C45 =SIMP(statut='f',typ='R'), - C46 =SIMP(statut='f',typ='R'), - C47 =SIMP(statut='f',typ='R'), - C48 =SIMP(statut='f',typ='R'), - C49 =SIMP(statut='f',typ='R'), - C50 =SIMP(statut='f',typ='R'), - C51 =SIMP(statut='f',typ='R'), - C52 =SIMP(statut='f',typ='R'), - C53 =SIMP(statut='f',typ='R'), - C54 =SIMP(statut='f',typ='R'), - C55 =SIMP(statut='f',typ='R'), - C56 =SIMP(statut='f',typ='R'), - C57 =SIMP(statut='f',typ='R'), - C58 =SIMP(statut='f',typ='R'), - C59 =SIMP(statut='f',typ='R'), - C60 =SIMP(statut='f',typ='R'), - C61 =SIMP(statut='f',typ='R'), - C62 =SIMP(statut='f',typ='R'), - C63 =SIMP(statut='f',typ='R'), - C64 =SIMP(statut='f',typ='R'), - C65 =SIMP(statut='f',typ='R'), - C66 =SIMP(statut='f',typ='R'), - C67 =SIMP(statut='f',typ='R'), - C68 =SIMP(statut='f',typ='R'), - C69 =SIMP(statut='f',typ='R'), - C70 =SIMP(statut='f',typ='R'), - C71 =SIMP(statut='f',typ='R'), - C72 =SIMP(statut='f',typ='R'), - C73 =SIMP(statut='f',typ='R'), - C74 =SIMP(statut='f',typ='R'), - C75 =SIMP(statut='f',typ='R'), - C76 =SIMP(statut='f',typ='R'), - C77 =SIMP(statut='f',typ='R'), - C78 =SIMP(statut='f',typ='R'), - C79 =SIMP(statut='f',typ='R'), - C80 =SIMP(statut='f',typ='R'), - C81 =SIMP(statut='f',typ='R'), - C82 =SIMP(statut='f',typ='R'), - C83 =SIMP(statut='f',typ='R'), - C84 =SIMP(statut='f',typ='R'), - C85 =SIMP(statut='f',typ='R'), - C86 =SIMP(statut='f',typ='R'), - C87 =SIMP(statut='f',typ='R'), - C88 =SIMP(statut='f',typ='R'), - C89 =SIMP(statut='f',typ='R'), - C90 =SIMP(statut='f',typ='R'), - C91 =SIMP(statut='f',typ='R'), - C92 =SIMP(statut='f',typ='R'), - C93 =SIMP(statut='f',typ='R'), - C94 =SIMP(statut='f',typ='R'), - C95 =SIMP(statut='f',typ='R'), - C96 =SIMP(statut='f',typ='R'), - C97 =SIMP(statut='f',typ='R'), - C98 =SIMP(statut='f',typ='R'), - C99 =SIMP(statut='f',typ='R'), - C100 =SIMP(statut='f',typ='R'), - C101 =SIMP(statut='f',typ='R'), - C102 =SIMP(statut='f',typ='R'), - C103 =SIMP(statut='f',typ='R'), - C104 =SIMP(statut='f',typ='R'), - C105 =SIMP(statut='f',typ='R'), - C106 =SIMP(statut='f',typ='R'), - C107 =SIMP(statut='f',typ='R'), - C108 =SIMP(statut='f',typ='R'), - C109 =SIMP(statut='f',typ='R'), - C110 =SIMP(statut='f',typ='R'), - C111 =SIMP(statut='f',typ='R'), - C112 =SIMP(statut='f',typ='R'), - C113 =SIMP(statut='f',typ='R'), - C114 =SIMP(statut='f',typ='R'), - C115 =SIMP(statut='f',typ='R'), - C116 =SIMP(statut='f',typ='R'), - C117 =SIMP(statut='f',typ='R'), - C118 =SIMP(statut='f',typ='R'), - C119 =SIMP(statut='f',typ='R'), - C120 =SIMP(statut='f',typ='R'), - C121 =SIMP(statut='f',typ='R'), - C122 =SIMP(statut='f',typ='R'), - C123 =SIMP(statut='f',typ='R'), - C124 =SIMP(statut='f',typ='R'), - C125 =SIMP(statut='f',typ='R'), - C126 =SIMP(statut='f',typ='R'), - C127 =SIMP(statut='f',typ='R'), - C128 =SIMP(statut='f',typ='R'), - C129 =SIMP(statut='f',typ='R'), - C130 =SIMP(statut='f',typ='R'), - C131 =SIMP(statut='f',typ='R'), - C132 =SIMP(statut='f',typ='R'), - C133 =SIMP(statut='f',typ='R'), - C134 =SIMP(statut='f',typ='R'), - C135 =SIMP(statut='f',typ='R'), - C136 =SIMP(statut='f',typ='R'), - C137 =SIMP(statut='f',typ='R'), - C138 =SIMP(statut='f',typ='R'), - C139 =SIMP(statut='f',typ='R'), - C140 =SIMP(statut='f',typ='R'), - C141 =SIMP(statut='f',typ='R'), - C142 =SIMP(statut='f',typ='R'), - C143 =SIMP(statut='f',typ='R'), - C144 =SIMP(statut='f',typ='R'), - C145 =SIMP(statut='f',typ='R'), - C146 =SIMP(statut='f',typ='R'), - C147 =SIMP(statut='f',typ='R'), - C148 =SIMP(statut='f',typ='R'), - C149 =SIMP(statut='f',typ='R'), - C150 =SIMP(statut='f',typ='R'), - C151 =SIMP(statut='f',typ='R'), - C152 =SIMP(statut='f',typ='R'), - C153 =SIMP(statut='f',typ='R'), - C154 =SIMP(statut='f',typ='R'), - C155 =SIMP(statut='f',typ='R'), - C156 =SIMP(statut='f',typ='R'), - C157 =SIMP(statut='f',typ='R'), - C158 =SIMP(statut='f',typ='R'), - C159 =SIMP(statut='f',typ='R'), - C160 =SIMP(statut='f',typ='R'), - C161 =SIMP(statut='f',typ='R'), - C162 =SIMP(statut='f',typ='R'), - C163 =SIMP(statut='f',typ='R'), - C164 =SIMP(statut='f',typ='R'), - C165 =SIMP(statut='f',typ='R'), - C166 =SIMP(statut='f',typ='R'), - C167 =SIMP(statut='f',typ='R'), - C168 =SIMP(statut='f',typ='R'), - C169 =SIMP(statut='f',typ='R'), - C170 =SIMP(statut='f',typ='R'), - C171 =SIMP(statut='f',typ='R'), - C172 =SIMP(statut='f',typ='R'), - C173 =SIMP(statut='f',typ='R'), - C174 =SIMP(statut='f',typ='R'), - C175 =SIMP(statut='f',typ='R'), - C176 =SIMP(statut='f',typ='R'), - C177 =SIMP(statut='f',typ='R'), - C178 =SIMP(statut='f',typ='R'), - C179 =SIMP(statut='f',typ='R'), - C180 =SIMP(statut='f',typ='R'), - C181 =SIMP(statut='f',typ='R'), - C182 =SIMP(statut='f',typ='R'), - C183 =SIMP(statut='f',typ='R'), - C184 =SIMP(statut='f',typ='R'), - C185 =SIMP(statut='f',typ='R'), - C186 =SIMP(statut='f',typ='R'), - C187 =SIMP(statut='f',typ='R'), - C188 =SIMP(statut='f',typ='R'), - C189 =SIMP(statut='f',typ='R'), - C190 =SIMP(statut='f',typ='R'), - C191 =SIMP(statut='f',typ='R'), - C192 =SIMP(statut='f',typ='R'), - C193 =SIMP(statut='f',typ='R'), - C194 =SIMP(statut='f',typ='R'), - C195 =SIMP(statut='f',typ='R'), - C196 =SIMP(statut='f',typ='R'), - C197 =SIMP(statut='f',typ='R'), - ), - UMAT_FO =FACT(statut='f', - NB_VALE =SIMP(statut='f',typ='R'), - C1 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C2 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C3 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C4 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C5 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C6 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C7 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C8 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C9 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C10 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C11 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C12 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C13 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C14 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C15 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C16 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C17 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C18 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C19 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C20 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C21 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C22 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C23 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C24 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C25 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C26 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C27 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C28 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C29 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C30 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C31 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C32 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C33 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C34 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C35 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C36 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C37 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C38 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C39 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C40 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C41 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C42 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C43 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C44 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C45 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C46 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C47 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C48 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C49 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C50 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C51 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C52 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C53 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C54 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C55 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C56 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C57 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C58 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C59 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C60 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C61 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C62 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C63 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C64 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C65 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C66 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C67 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C68 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C69 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C70 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C71 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C72 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C73 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C74 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C75 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C76 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C77 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C78 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C79 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C80 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C81 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C82 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C83 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C84 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C85 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C86 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C87 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C88 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C89 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C90 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C91 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C92 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C93 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C94 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C95 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C96 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C97 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C98 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C99 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C100 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C101 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C102 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C103 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C104 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C105 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C106 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C107 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C108 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C109 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C110 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C111 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C112 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C113 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C114 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C115 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C116 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C117 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C118 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C119 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C120 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C121 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C122 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C123 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C124 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C125 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C126 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C127 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C128 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C129 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C130 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C131 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C132 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C133 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C134 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C135 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C136 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C137 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C138 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C139 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C140 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C141 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C142 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C143 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C144 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C145 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C146 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C147 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C148 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C149 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C150 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C151 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C152 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C153 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C154 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C155 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C156 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C157 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C158 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C159 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C160 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C161 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C162 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C163 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C164 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C165 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C166 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C167 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C168 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C169 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C170 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C171 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C172 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C173 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C174 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C175 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C176 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C177 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C178 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C179 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C180 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C181 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C182 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C183 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C184 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C185 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C186 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C187 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C188 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C189 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C190 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C191 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C192 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C193 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C194 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C195 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C196 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C197 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), -### UMAT -### CRITERE DE RUPTURE - CRIT_RUPT =FACT(statut='f', - SIGM_C =SIMP(statut='o',typ='R',fr="contrainte critique"), - COEF =SIMP(statut='o',typ='R',fr="E=E/COEF,si la contrainte principale max est atteinte dans l'element"), - ), -# - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, - reentrant='n', - fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - SOUS_STRUC =FACT(statut='o',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - TRANS =SIMP(statut='o',typ='R',max=3), - ), - LIAISON =FACT(statut='o',max='**', - SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), - INTERFACE_1 =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), - INTERFACE_2 =SIMP(statut='o',typ='TXM' ), - regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), - EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), - GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), - ), - VERIF =FACT(statut='f',max='**', -# dans la doc U stop_erreur est obligatoire - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster, - fr="Définir une fonction réelle de deux variables réelles", - reentrant='n',UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('FONCTION','DEFI_FONCTION'), - EXCLUS('FONCTION','NOM_PARA_FONC',), - ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - PARA =SIMP(statut='o',typ='R',max='**'), - FONCTION =SIMP(statut='f',typ=fonction_sdaster, max='**' ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - DEFI_FONCTION =FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction."), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour le paramètre de la nappe"), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1, 2) ), - VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marc.kham at edf.fr -DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=table_fonction, - fr="Définition d'un obstacle plan perpendiculaire à une structure filaire", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", - into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET", - "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT", - ) ), - VALE =SIMP(statut='f',typ='R',max='**'), - VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_partit, - fr="Creation partitionnement en sous-domaines", - docu="U4.23.05",reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - NOM =SIMP(statut='f',typ='TXM',defaut='SD'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), - DEFI =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma), - GROUP_MA_BORD =SIMP(statut='f',typ=grma), - ), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), - ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29, - fr="Creation partitionnement en sous-domaines", - docu="U4.00.00", - UIinfo={"groupes":("Modélisation",)}, - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster)), - NB_PART =SIMP(statut='o',typ='I',), - - # Methode de partitionnement - METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), - - LOGICIEL =SIMP(statut='f',typ='TXM'), - - # Corrige les problemes possibles de non-connexite des sous-domaines - CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - - # Permet de grouper des mailles dans un meme sous-doamine - GROUPAGE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - ), - # Permet d'appliquer des poids sur certaines mailles - POIDS_MAILLES =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - POIDS =SIMP(statut='f',typ='I'), - ), - # Prefixe pour le nom des group_ma definissant les sous-domaines - NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), - - # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) - TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), - - # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords - b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", - NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), - ), - - INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), - -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -DEFI_PARTITION=MACRO(nom="DEFI_PARTITION", - op=OPS('Macro.defi_partition_ops.defi_partition_ops'), - sd_prod=sd_partit, - reentrant='n',UIinfo={"groupes":("Modélisation",)}, - fr="Creation partitionnement en sous-domaines", - regles=(UN_PARMI('MAILLAGE','MODELE'),PRESENT_PRESENT('MODELE','EXCIT'),), - - NB_PART =SIMP(statut='o',typ='I',val_min=2), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), - - # Methode de partitionnement - METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), - - LOGICIEL =SIMP(statut='f',typ='TXM'), - - # Corrige les problemes possibles de non-connexite des sous-domaines - CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - - # Permet de grouper des mailles dans un meme sous-doamine - GROUPAGE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - ), - # Permet d'appliquer des poids sur certaines mailles - POIDS_MAILLES =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - POIDS =SIMP(statut='f',typ='I',val_min=2), - ), - # Prefixe pour le nom des group_ma definissant les sous-domaines - NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), - - # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) - TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), - - # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords - b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", - NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), - ), - - INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -DEFI_SOL_MISS = MACRO(nom="DEFI_SOL_MISS", - op=OPS('Macro.defi_sol_miss_ops.defi_sol_miss_ops'), - sd_prod=table_sdaster, - fr="Définition des données de sol pour Miss", - reentrant='n', - UIinfo={"groupes":("Modélisation","Outils-métier",)}, - MATERIAU = FACT(statut='o', max='**', - fr="Définition des matériaux", - E = SIMP(statut='o', typ='R', fr="Module d'Young"), - NU = SIMP(statut='o', typ='R', fr="Coefficient de Poisson"), - RHO = SIMP(statut='o', typ='R', fr="Masse volumique"), - AMOR_HYST = SIMP(statut='o', typ='R', fr="Coefficient d'amortissement"), - ), - COUCHE = FACT(statut='o', max='**', - fr="Définition des couches", - regles=(AU_MOINS_UN('EPAIS','SUBSTRATUM'),), - SUBSTRATUM= SIMP(statut='f', typ='TXM', into=("OUI","NON"),), - EPAIS = SIMP(statut='f', typ='R', fr="Epaisseur de la couche"), - RECEPTEUR = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), - SOURCE = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), - NUME_MATE = SIMP(statut='o', typ='I', fr="Numéro du matériau"), - ), - TITRE = SIMP(statut='f', typ='TXM', max='**', - fr="Titre de la table produite"), - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, - fr="Definition d'un spectre d'excitation turbulente", - reentrant='n', - UIinfo={"groupes":("Modelisation","Outils-metier",)}, - regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3', - 'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2', - 'SPEC_CORR_CONV_3','SPEC_FONC_FORME','SPEC_EXCI_POINT'),), - SPEC_LONG_COR_1 =FACT(statut='f', - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VISC_CINE =SIMP(statut='o',typ='R' ), - ), - SPEC_LONG_COR_2 =FACT(statut='f', - regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.1 ), - PHI0 =SIMP(statut='f',typ='R',defaut= 1.5E-3 ), - BETA =SIMP(statut='f',typ='R',defaut= 2.7 ), - ), - SPEC_LONG_COR_3 =FACT(statut='f', - regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.2 ), - PHI0_1 =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - BETA_1 =SIMP(statut='f',typ='R',defaut= 0.5 ), - PHI0_2 =SIMP(statut='f',typ='R',defaut= 4.E-5 ), - BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ), - ), - SPEC_LONG_COR_4 =FACT(statut='f', - regles=(ENSEMBLE('BETA','GAMMA'),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TAUX_VIDE =SIMP(statut='o',typ='R' ), - BETA =SIMP(statut='f',typ='R',defaut= 2. ), - GAMMA =SIMP(statut='f',typ='R',defaut= 4. ), - ), - SPEC_CORR_CONV_1=FACT(statut='f', - LONG_COR_1 =SIMP(statut='o',typ='R' ), - LONG_COR_2 =SIMP(statut='f',typ='R' ), - VITE_FLUI =SIMP(statut='o',typ='R' ), - RHO_FLUI =SIMP(statut='o',typ='R' ), - FREQ_COUP =SIMP(statut='f',typ='R' ), - K =SIMP(statut='f',typ='R',defaut= 5.8E-3 ), - D_FLUI =SIMP(statut='o',typ='R' ), - COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), - COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), - METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", - into=("AU_YANG","GENERALE","CORCOS") ), - ), - SPEC_CORR_CONV_2=FACT(statut='f', - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE_FLUI =SIMP(statut='o',typ='R' ), - FREQ_COUP =SIMP(statut='f',typ='R' ), - METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", - into=("AU_YANG","GENERALE","CORCOS",) ), - COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), - COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), - ), - SPEC_CORR_CONV_3=FACT(statut='f', - TABLE_FONCTION =SIMP(statut='o',typ=(table_fonction) ), - ), - SPEC_FONC_FORME =FACT(statut='f', - regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), - ENSEMBLE('INTE_SPEC','FONCTION'),), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - FONCTION =SIMP(statut='f',typ=(table_fonction),max='**'), - GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), - NOEUD =SIMP(statut='o',typ=no), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - SPEC_EXCI_POINT =FACT(statut='f', - regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - GRAPPE_2 =SIMP(statut='f',typ='TXM', - into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ), -# Quels sont les statuts des mots cles a l interieur des deux blocs qui suivent - b_inte_spec =BLOC(condition = "INTE_SPEC != None", - NATURE =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ), - ANGLE =SIMP(statut='o',typ='R',max='**'), - NOEUD =SIMP(statut='o',typ=no,max='**'), - ), - b_grappe_2 =BLOC(condition = "GRAPPE_2 != None", - RHO_FLUI =SIMP(statut='o',typ='R' ), - NOEUD =SIMP(statut='o',typ=no), - ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, - fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique", - reentrant='n', - UIinfo={"groupes":("Maillage","Dynamique",)}, - regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'), - PRESENT_PRESENT('CYCLIQUE','SECTEUR'), - EXCLUS('SOUS_STRUC','SECTEUR'), - PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'), - PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),), - CYCLIQUE =FACT(statut='f',max='**', - regles=(UN_PARMI('MODE_CYCL','MAILLAGE'), - PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),), - MODE_CYCL =SIMP(statut='f',typ=mode_cycl ), - NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - SQUELETTE =SIMP(statut='f',typ=squelette ), - RECO_GLOBAL =FACT(statut='f',max='**', - regles=(EXCLUS('TOUT','GROUP_NO_1'), - PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'), - PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'), - PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'), - PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),), - TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - DIST_REFE =SIMP(statut='f',typ='R' ), - ), - NOM_GROUP_MA =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - GROUP_MA =SIMP(statut='o',typ=grma), - ), - EXCLUSIF =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRANS =SIMP(statut='f',typ='R',min=3,max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), - SOUS_STRUC =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','MAILLE','GROUP_MA'),), - NOM =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - SECTEUR =FACT(statut='f',max='**', - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation","Thermique",)}, - fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier" - +" pour les calculs métallurgiques.", - HIST_EXP =FACT(statut='o',max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - ), - TEMP_MS =FACT(statut='o',max='**', - SEUIL =SIMP(statut='o',typ='R'), - AKM =SIMP(statut='o',typ='R'), - BKM =SIMP(statut='o',typ='R'), - TPLM =SIMP(statut='o',typ='R'), - ), - GRAIN_AUST =FACT(statut='f',max='**', - DREF =SIMP(statut='f',typ='R'), - A =SIMP(statut='f',typ='R'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def depl_interne_prod(DEPL_GLOBAL,**args ): - if AsType(DEPL_GLOBAL) == cham_no_sdaster: return cham_no_sdaster - if AsType(DEPL_GLOBAL) == evol_elas : return evol_elas - if AsType(DEPL_GLOBAL) == dyna_trans : return dyna_trans - if AsType(DEPL_GLOBAL) == dyna_harmo : return dyna_harmo - if AsType(DEPL_GLOBAL) == mode_meca : return mode_meca - if AsType(DEPL_GLOBAL) == mode_meca_c : return mode_meca_c - raise AsException("type de concept resultat non prevu") - -DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique", - DEPL_GLOBAL =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,mode_meca_c,evol_elas,dyna_trans,dyna_harmo),), - SUPER_MAILLE =SIMP(statut='o',typ=ma,), - NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DETRUIRE=MACRO(nom="DETRUIRE", - op=OPS("Cata.ops.DETRUIRE"), - UIinfo={"groupes":("Gestion du travail",)}, - fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX", - op_init=ops.build_detruire, - regles=(UN_PARMI('CONCEPT', 'OBJET',),), - - CONCEPT = FACT(statut='f',max='**', - NOM = SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), - ), - OBJET = FACT(statut='f',max='**', - CLASSE = SIMP(statut='f', typ='TXM', into=('G', 'V', 'L'), defaut='G'), - CHAINE = SIMP(statut='o', typ='TXM', validators=NoRepeat(), max='**'), - POSITION = SIMP(statut='f', typ='I', max='**'), - ), - INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=2, ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=interspectre, - fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_MODALE =FACT(statut='o', - regles=(UN_PARMI('NUME_ORDRE','BANDE'),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - BANDE =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - b_bande =BLOC(condition = "BANDE != None", - AMOR_UNIF =SIMP(statut='o',typ='R' ), - ), - b_nume_ordre =BLOC(condition = "NUME_ORDRE != None", - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca), -# MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait -# ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')", - EXCIT =FACT(statut='o', - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ), - MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')", - regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**'), - NOEUD_I =SIMP(statut='f',typ=no,max='**'), - b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", - regles=(EXCLUS('CHAM_NO','NOEUD'),), -# on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO' -# cela impliquerait d'enlever la valeur par defaut a GRANDEUR - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - NOEUD =SIMP(statut='f',typ=no,max='**'), - b_noeud =BLOC(condition = "NOEUD != None", - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - ), - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), -# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), - ), - b_noeud_i =BLOC(condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max='**'), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**'), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**'), - NOEUD =SIMP(statut='o',typ=no,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), -# ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans -# NOEUD_I, NOM_CMP_I ... => modif. du Fortran - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), -# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), - ), - ), - b_modal_oui = BLOC(condition = "(MODAL == 'OUI')", -# dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes - NUME_ORDRE_I =SIMP(statut='o',typ='I',max='**'), - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), -# dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO On devrait -# pouvoir supprimer GRANDEUR et DERIVATION ici - ), - - ), - REPONSE =FACT(statut='f', - regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),), - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), - FREQ_MIN =SIMP(statut='f',typ='R' ), - FREQ_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - b_defaut_freq =BLOC(condition = "FREQ_MIN == NONE", - FREQ_EXCIT =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ), - NB_POIN_MODE =SIMP(statut='f',typ='I',defaut= 50 ), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -def dyna_iss_vari_prod(self, FONC_SIGNAL,**args): - if FONC_SIGNAL !=None : - return tran_gene - else: - return interspectre - raise AsException("type de concept resultat non prevu") - -DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI", - op=OPS('Macro.dyna_iss_vari_ops.dyna_iss_vari_ops'), - sd_prod=dyna_iss_vari_prod, - fr="Calcul du spectre de réponse ou de la reponse temporelle " \ - "sismique incoherente par decomposition spectrale", - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - regles=(UN_PARMI('FONC_SIGNAL','NB_FREQ'),), - FONC_SIGNAL =SIMP(statut='f',typ=(fonction_sdaster) ), - NB_FREQ =SIMP(statut='f',typ='I' ), - NOM_CMP =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ), - PRECISION =SIMP(statut='f',typ='R',defaut=0.999 ), - ISSF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"), - INTERF =FACT(statut='o', - GROUP_NO_INTERF =SIMP(statut='o',typ=grno,), - MODE_INTERF =SIMP(statut='o',typ='TXM',into=("CORP_RIGI","TOUT","QUELCONQUE")), - ), - MATR_COHE =FACT(statut='o', - TYPE = SIMP(statut='o',typ='TXM' , into=("MITA_LUCO","ABRAHAMSON") ), - b_type_coh = BLOC(condition="TYPE=='MITA_LUCO' ", - VITE_ONDE =SIMP(statut='f',typ='R', defaut=600.), - PARA_ALPHA =SIMP(statut='f',typ='R',defaut=0.5),), - ), -# LIST_FREQ =SIMP(statut='o',typ='liste' ), - UNITE_RESU_FORC = SIMP(statut='f',typ='I',defaut=33), - UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=32), - TYPE = SIMP(statut='f',typ='TXM', into=("BINAIRE","ASCII"), defaut="ASCII"), -# NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") , validators=NoRepeat(),max=3,defaut="DEPL" ), -# - MATR_GENE = FACT(statut='o', - MATR_MASS = SIMP(statut='o',typ=(matr_asse_gene_r ) ), - MATR_RIGI = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), - MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), - ), -# - INFO =SIMP(statut='f',typ='I' ,defaut=1,into=( 1 , 2)), -# - b_type_trans = BLOC(condition="FONC_SIGNAL !=None", - FREQ_MAX =SIMP(statut='f',typ='R' ), - FREQ_PAS =SIMP(statut='f',typ='R' ), - regles=( ENSEMBLE('FREQ_MAX','FREQ_PAS'), ) - - ), - - b_type_spec = BLOC(condition="NB_FREQ != None", - FREQ_INIT =SIMP(statut='o',typ='R' ), - FREQ_PAS =SIMP(statut='o',typ='R' ), - OPTION = SIMP(statut='f',typ='TXM',into=("TOUT","DIAG"),defaut="TOUT"), - ), - - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr -def dyna_line_harm_prod(MATR_RIGI,**args): - if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo - elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo - elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo - elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene - elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene - raise AsException("type de concept resultat non prevu") - -DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, - fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(PRESENT_ABSENT('MATR_AMOR','AMOR_MODAL'), - UN_PARMI('FREQ','LIST_FREQ'),), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c - ,matr_asse_gene_r,matr_asse_gene_c ) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - AMOR_MODAL =FACT(statut='f', max=1, - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - ), - MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire", - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - ), - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), - UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), - ), - VECT_ASSE =SIMP(statut='f',position='global',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',position='global',typ=vect_asse_gene), - CHARGE =SIMP(statut='f',position='global', typ=char_meca ), - FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), - COEF_MULT_C =SIMP(statut='f',typ='C' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), - ), - b_modele_char =BLOC(condition = " CHARGE != None ", - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - b_modele_vect =BLOC(condition = " VECT_ASSE != None ", - MODELE =SIMP(statut='f',typ=modele_sdaster ), - ), - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - COEF_MULT_C =SIMP(statut='o',typ='C' ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - b_matr_gene =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_gene_r,)", - fr="Methode de resolution matrice generalisee", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), - ), - - b_matr_phys =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_depl_r,matr_asse_pres_c,)", - fr="Methode de resolution matrice sur ddl physique", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), - ), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, - fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","WILSON","DIFF_CENTRE","ADAPT_ORDRE2")), - b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_wilson =BLOC(condition="SCHEMA=='WILSON'", - THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), - ), - ), - - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), - PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), - RESULTAT =SIMP(statut='f',typ=dyna_trans ), - b_dyna_trans =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - ), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('CHARGE','VECT_ASSE'), - EXCLUS('CHARGE','COEF_MULT'), - EXCLUS('FONC_MULT','COEF_MULT'), - EXCLUS('ACCE','COEF_MULT'), - PRESENT_ABSENT('ACCE','FONC_MULT'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - CHARGE =SIMP(statut='f',typ=char_meca ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ),), -### - MODE_STAT =SIMP(statut='f',typ=mode_meca), -### - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=dyna_trans ), - COEF_MULT =SIMP(statut='o',typ='R' ), - ), - AMOR_MODAL =FACT(statut='f', - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), -#------------------------------------------------------------------- - INCREMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - b_list_fonc =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('INST_FIN','NUME_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.33334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - ARCHIVAGE =FACT(statut='f',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', - fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire", - UIinfo={"groupes":("Résolution","Dynamique",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - MODE_STAT =SIMP(statut='f',typ=mode_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), - EXCIT =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), - ), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - EXCIT_GENE =FACT(statut='f',max='**', - FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), - AMOR_MODAL =FACT(statut='f', - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - PROJ_MODAL =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), - MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','VITE'), - # EXCLUS('EVOL_NOLI','ACCE'), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','VITE'), - # EXCLUS('EVOL_NOLI','ACCE'), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - SCHEMA_TEMPS =FACT(statut='o', - SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', - into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), - COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", - PHI =SIMP(statut='f',typ='R',defaut= 1.05),), - - b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), - - b_hht = BLOC(condition="SCHEMA=='HHT'", - ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), - MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), - - b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", - THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), - - b_krenk = BLOC(condition="SCHEMA=='KRENK'", - KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), - - b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", - STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), - - b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", - FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), - ), -#------------------------------------------------------------------- - METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","NEWTON_KRYLOV")), - NEWTON =C_NEWTON(), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('DYNA_NON_LINE'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - bloc_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), - bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), - ), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - MODE_VIBR =FACT(statut='f',min=1,max=1, - MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, - fr="Nombre de fréquences propres à calculer"), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - BANDE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux fréquences délimitant la bande de recherche",), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - b_info=BLOC(condition="(INFO==2)", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=interspectre, - fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - EXCIT =FACT(statut='o', - INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, - fr="Calcul de la reponse dynamique transitoire d'un systeme amorti ou non en coordonees generalisees" - +" par superposition modale ou par sous structuration", - reentrant='f', - UIinfo={"groupes":("Resolution","Dynamique",)}, - regles=(EXCLUS('AMOR_MODAL','MATR_AMOR'), - PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","EULER","DEVOGE","ADAPT_ORDRE1","ADAPT_ORDRE2","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32")), - b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", - TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - b_itmi =BLOC(condition = "SCHEMA=='ITMI'", - regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - NB_MODE =SIMP(statut='f',typ='I' ), - NB_MODE_FLUI =SIMP(statut='f',typ='I' ), - TS_REG_ETAB =SIMP(statut='f',typ='R' ), - ), - ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r ), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r ), - VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", - MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), - VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), - ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", - VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), - COUPLAGE_EDYOS =FACT(statut='f',max=1, - PAS_TPS_EDYOS = SIMP(statut='o',typ='R' ), - ), - - ), - - AMOR_MODAL =FACT(statut='f', max=1, - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - ), - - ROTOR_FISS = FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), - EXCLUS('NOEUD_G','GROUP_NO_G'), - PRESENT_PRESENT('NOEUD_D','NOEUD_G'), - PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), - ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), - ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - NOEUD_G = SIMP(statut='f',typ=no), - NOEUD_D = SIMP(statut='f',typ=no), - GROUP_NO_G = SIMP(statut='f',typ=grno), - GROUP_NO_D = SIMP(statut='f',typ=grno), - K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - PALIER_EDYOS =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('UNITE','GROUP_NO'), - PRESENT_ABSENT('UNITE','TYPE_EDYOS'), - EXCLUS('GROUP_NO','NOEUD'),), - UNITE = SIMP(statut='f',typ='I',), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD = SIMP(statut='f',typ=no), - TYPE_EDYOS = SIMP(statut='f',typ='TXM', - into=("PAPANL","PAFINL","PACONL","PAHYNL",),), - ), - - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('RESULTAT','DEPL'), - EXCLUS('RESULTAT','VITE'),), - RESULTAT =SIMP(statut='f',typ=tran_gene ), - b_resu =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), - INST_INIT =SIMP(statut='f',typ='R' ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - DEPL =SIMP(statut='f',typ=vect_asse_gene ), - VITE =SIMP(statut='f',typ=vect_asse_gene ), - ), - INCREMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_list_inst =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('NUME_FIN','INST_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MAXI =SIMP(statut='f',typ='R' ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - ARCHIVAGE =FACT(statut='f',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), - UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), - PRESENT_PRESENT('ACCE','VITE','DEPL'), -# PRESENT_ABSENT('NUME_ORDRE','VECT_ASSE_GENE','COEF_MULT'), - EXCLUS('MULT_APPUI','CORR_STAT'), - PRESENT_PRESENT('MULT_APPUI','ACCE'),), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - DIRECTION =SIMP(statut='f',typ='R',max='**'), - regles=(EXCLUS('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", - D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ),), - - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), - - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=tran_gene ), - COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), - ), - - CHOC =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), - EXCLUS('NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), - INTITULE =SIMP(statut='f',typ='TXM' ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), - NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), - b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", - COULOMB =SIMP(statut='o',typ='R' ),), - b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", - COULOMB_STAT =SIMP(statut='o',typ='R' ), - COULOMB_DYNA =SIMP(statut='o',typ='R' ),), - ), - VERI_CHOC =FACT(statut='f', - STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - FLAMBAGE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - EXCLUS('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',max='**'), - NORM_OBST =SIMP(statut='o',typ='R',max='**'), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R' ), - DIST_2 =SIMP(statut='f',typ='R' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - FNOR_CRIT =SIMP(statut='f',typ='R' ), - FNOR_POST_FL =SIMP(statut='f',typ='R' ), - RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), - ), - ANTI_SISM =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - UN_PARMI('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - ), - RELA_EFFO_DEPL =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - RELA_EFFO_VITE =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - IMPRESSION =FACT(statut='f', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -#choix de structure de donnees de sortie en fonction de BASE_CALCUL et TYPE_CALCUL -def dyna_vibra_prod(self,BASE_CALCUL,TYPE_CALCUL,MATR_RIGI,**args): - if BASE_CALCUL == 'PHYS': - if TYPE_CALCUL == 'TRAN': return dyna_trans - else: - if (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo - else: return dyna_harmo - else: - if TYPE_CALCUL == 'TRAN': return tran_gene - else: return harm_gene - -#from Macro.dyna_vibra_ops import dyna_vibra_ops - -DYNA_VIBRA=MACRO(nom="DYNA_VIBRA", - op=OPS('Macro.dyna_vibra_ops.dyna_vibra_ops'), -# op=dyna_vibra_ops, - sd_prod=dyna_vibra_prod, - reentrant='f', - fr="Calcul dynamique", - UIinfo={"groupes":("Resolution","Dynamique",)}, - BASE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("PHYS","GENE") ), - TYPE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("HARM","TRAN") ), - -#parametres de mise en donnees - b_donnees =BLOC(condition = "TYPE_CALCUL=='HARM'or (TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS')", - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - ), - b_matr_tran_phys =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS'", - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r), - ), - b_matr_tran_gene =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='GENE'", - MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r), - VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", - MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), - VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), - ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", - VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), - ), - ), - b_reuse_harm =BLOC(condition = "reuse and TYPE_CALCUL == 'HARM'",fr="en mode concept reentrant : RESULTAT obligatoire", - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - ), - b_matr_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c - ,matr_asse_gene_r,matr_asse_gene_c )), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r) ), - MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - ), - - AMOR_MODAL =FACT(statut='f', - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - b_mode =BLOC(condition = "BASE_CALCUL == 'PHYS' and TYPE_CALCUL == 'TRAN'", - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - ), - ), -#introduction parametres du calcul harmonique - b_param_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - regles=(UN_PARMI('FREQ','LIST_FREQ'), - EXCLUS('NOM_CHAM','TOUT_CHAM')), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - -#parametrage des calculs transitoires - b_tran = BLOC(condition = "TYPE_CALCUL == 'TRAN'", -#parametrage des schemas d'integration - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","WILSON","ADAPT_ORDRE2","DIFF_CENTRE","ADAPT_ORDRE1","DEVOGE","EULER","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32"),), - b_itmi =BLOC(condition = "SCHEMA == 'ITMI'", -regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - NB_MODE =SIMP(statut='f',typ='I' ), - NB_MODE_FLUI =SIMP(statut='f',typ='I' ), - TS_REG_ETAB =SIMP(statut='f',typ='R' ), - ), - b_newmark =BLOC(condition = "SCHEMA == 'NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_wilson =BLOC(condition = "SCHEMA == 'WILSON'", - THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), - ), - b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", - TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - - INCREMENT =FACT(statut='o', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - b_list =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('INST_FIN','NUME_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - b_veri_pas = BLOC(condition="BASE_CALCUL == 'GENE'", - VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PAS_MAXI =SIMP(statut='f',typ='R' ), - ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - -#declaration de l'etat initial - b_init_gene =BLOC(condition="BASE_CALCUL == 'GENE'", - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('RESULTAT','DEPL'), - EXCLUS('RESULTAT','VITE'),), - RESULTAT =SIMP(statut='f',typ=tran_gene), - b_resu =BLOC(condition = "RESULTAT != NONE", - regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), - ), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',), - ), - ), - ), - DEPL =SIMP(statut='f',typ=vect_asse_gene), - VITE =SIMP(statut='f',typ=vect_asse_gene), - ), - ), - b_init_phys =BLOC(condition="BASE_CALCUL == 'PHYS'", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), - PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), - RESULTAT =SIMP(statut='f',typ=dyna_trans), - b_resu =BLOC(condition = "RESULTAT != NONE", - regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), - ), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',), - ), - ), - ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - ), - ), -#parametres d'archivage - bloc_archi =BLOC(condition="TYPE_CALCUL == 'TRAN'", - ARCHIVAGE =FACT(statut='f',max=1, - regles=(EXCLUS('LIST_INST','PAS_ARCH','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - b_cham_exclu =BLOC(condition="BASE_CALCUL == 'PHYS'", - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), - ), - ),),), - -#calcul des energies - bloc_ener =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - ), - -#definition du chargement - b_excit_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), - UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), - CHARGE =SIMP(statut='f', typ=char_meca ), - FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), - COEF_MULT_C =SIMP(statut='f',typ='C' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), - - ), - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene) ), - COEF_MULT_C =SIMP(statut='o',typ='C' ),), - - ), - b_excit_tran_mod=BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'GENE'", - regles=(PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), - UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - EXCLUS('MULT_APPUI','CORR_STAT'), - PRESENT_PRESENT('MULT_APPUI','ACCE'), - ), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", - D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), - - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=tran_gene ), - COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), - ), - - ), - b_excit_line_tran =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('CHARGE','VECT_ASSE'), - EXCLUS('CHARGE','COEF_MULT'), - EXCLUS('FONC_MULT','COEF_MULT'), - EXCLUS('ACCE','COEF_MULT'), - PRESENT_ABSENT('ACCE','FONC_MULT'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - CHARGE =SIMP(statut='f',typ=char_meca ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - EXCIT_RESU =FACT(statut='f', - RESULTAT =SIMP(statut='o',typ=dyna_trans ), - COEF_MULT =SIMP(statut='o',typ='R' ), - ), - ), - -#definition des chocs - b_non_line_loca =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL=='GENE'", - CHOC =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), - EXCLUS('NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), - INTITULE =SIMP(statut='f',typ='TXM' ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), - NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), - b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", - COULOMB =SIMP(statut='o',typ='R' ),), - b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", - COULOMB_STAT =SIMP(statut='o',typ='R' ), - COULOMB_DYNA =SIMP(statut='o',typ='R' ),), - ), - VERI_CHOC =FACT(statut='f', - STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - - ROTOR_FISS = FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), - EXCLUS('NOEUD_G','GROUP_NO_G'), - PRESENT_PRESENT('NOEUD_D','NOEUD_G'), - PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), - ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), - ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - NOEUD_G = SIMP(statut='f',typ=no), - NOEUD_D = SIMP(statut='f',typ=no), - GROUP_NO_G = SIMP(statut='f',typ=grno), - GROUP_NO_D = SIMP(statut='f',typ=grno), - K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - -#parametres flambage - FLAMBAGE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - EXCLUS('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',max='**'), - NORM_OBST =SIMP(statut='o',typ='R',max='**'), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R' ), - DIST_2 =SIMP(statut='f',typ='R' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - FNOR_CRIT =SIMP(statut='f',typ='R' ), - FNOR_POST_FL =SIMP(statut='f',typ='R' ), - RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), - ), - -#non-linearite si dispositif anti-sismique - ANTI_SISM =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - UN_PARMI('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - ), -#non-linearite effort-deplacement - RELA_EFFO_DEPL =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), -#non-linearite effort-vitesse - RELA_EFFO_VITE =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - b_solv_harm_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='HARM'", - fr="Methode de resolution matrice generalisee", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), - ), - b_solv_harm_phys =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='HARM'", - fr="Methode de resolution matrice sur ddl physique", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), - ), - b_solv_line_tran =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='TRAN'", - SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), - ), - b_solv_tran_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", - SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), - ), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - b_impression = BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", - IMPRESSION =FACT(statut='f', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - ), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def elim_lagr_prod(MATR_RIGI,**args): - if AsType(MATR_RIGI) == matr_asse_depl_r : return matr_asse_depl_r - raise AsException("type de concept resultat non prevu") - -ELIM_LAGR=OPER(nom="ELIM_LAGR",op=69,sd_prod=elim_lagr_prod, - fr="Créer une matrice en ayant éliminé les condition cinématiques dualisées.", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - - # Matrice de "rigidité" (celle qui contient les équations dualisées) : - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,) ), - - # Matrice à réduire (si ce n'est pas la matrice de rigidité) : - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,) ), - - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Engendre des tests pour la non régression du code (pour développeurs)", - UNITE =SIMP(statut='f',typ='I',defaut=8), - FORMAT =SIMP(statut='f',typ='TXM',into=("OBJET",) ), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE20.13"), - PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-10"), -#============================================================================ - b_aster =BLOC( condition = "FORMAT==None", - CO =SIMP(statut='o',typ=(cham_gd_sdaster,resultat_sdaster,table_sdaster), - validators=NoRepeat(),max='**'), - TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMM_ABS",into=("SOMME","SOMM_ABS","MAX","MIN") ), - ), -#============================================================================ - b_objet =BLOC( condition = "FORMAT=='OBJET'", - regles=(UN_PARMI('TOUT','CO'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'), - TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# ENVOI DES CHAMPS CINEMATIQUES VIA YACS POUR COUPLAGE IFS -# -ENV_CINE_YACS=PROC(nom = "ENV_CINE_YACS", - op = 111, - UIinfo = {"groupes":("Résultats et champs",)}, - fr = "Envoi des champs de deplacement et vitesse via YACS pour Couplage de Code_Aster et Saturne", - regles = (EXCLUS('ETAT_INIT','RESULTAT',),), - MATR_PROJECTION = SIMP(statut='o', typ=corresp_2_mailla,), - VIS_A_VIS = FACT(statut='o', max='**', - GROUP_MA_1=SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO_2=SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - RESULTAT = FACT(statut='f', - NUME_ORDRE=SIMP(statut='o', typ='I', validators=NoRepeat()), - RESU =SIMP(statut='o', typ=resultat_sdaster, validators=NoRepeat()),), - ETAT_INIT = FACT(statut='f', - DEPL=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), - VITE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), - ACCE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ), - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def exec_logiciel_prod(self, MAILLAGE, **args): - if MAILLAGE != None: - mcf = MAILLAGE[0] - self.type_sdprod(mcf['MAILLAGE'], maillage_sdaster) - return None - -EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL", - op=OPS('Macro.exec_logiciel_ops.exec_logiciel_ops'), - sd_prod=exec_logiciel_prod, - fr="Exécute un logiciel ou une commande système depuis Aster", - UIinfo={"groupes":("Gestion du travail","Outils-métier",)}, - - regles = ( AU_MOINS_UN('LOGICIEL', 'MAILLAGE', 'SALOME'), - EXCLUS('MACHINE_DISTANTE','MAILLAGE'), - EXCLUS('MAILLAGE','SALOME'), - ), - - LOGICIEL = SIMP(statut='f', typ='TXM'), - ARGUMENT = SIMP(statut='f', max='**', typ='TXM'), - - - MACHINE_DISTANTE = FACT(statut='f', - SSH_ADRESSE = SIMP(statut='o', typ='TXM', val_min=1, val_max=255, - fr="Adresse IP ou nom de la machine sur laquelle le logiciel/script sera exécuté via SSH"), - SSH_LOGIN = SIMP(statut='f', typ='TXM', val_min=1, val_max=255, - fr="Nom d'utilisateur sur la machine distante"), - SSH_PORT = SIMP(statut='f', typ='I', val_min=1, val_max=65535, defaut=22, - fr="Port SSH de la machien distante"), - ), - - - MAILLAGE = FACT(statut='f', - FORMAT = SIMP(statut='o', typ='TXM', into=("GMSH", "GIBI", "SALOME")), - UNITE_GEOM = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=16, - fr="Unité logique définissant le fichier (fort.N) contenant les données géométriques (datg)"), - UNITE = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=19, - fr="Unité logique définissant le fichier (fort.N) produit par le mailleur"), - MAILLAGE = SIMP(statut='o', typ=CO), - ), - - - SALOME = FACT(statut='f', - regles=(UN_PARMI('CHEMIN_SCRIPT', 'UNITE_SCRIPT'), - PRESENT_PRESENT('NOM_PARA','VALE'),), - CHEMIN_SCRIPT = SIMP(statut='f', typ='TXM', - fr="Chemin du script Salome"), - UNITE_SCRIPT = SIMP(statut='f', typ='I', val_min=80, val_max=99, - fr="Unité logique du script Salome"), - SALOME_HOST = SIMP(statut='f', typ='TXM', defaut='localhost', - fr="Machine sur laquelle tourne Salome"), - SALOME_PORT = SIMP(statut='f', typ='I', val_min=2800, val_max=2900, defaut=2810, - fr="Port de l'instance Salome (2810 ou supérieur)"), - SALOME_RUNAPPLI = SIMP(statut='f', typ='TXM', - fr="Chemin vers le script de lancement runAppli de Salome"), - FICHIERS_ENTREE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', - fr="Liste des fichiers d'entrée du script Salome"), - FICHIERS_SORTIE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', - fr="Liste des fichiers générés par le script Salome"), - NOM_PARA = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - fr="Liste des noms des paramètres à modifier dans le script Salome"), - VALE = SIMP(statut='f',typ='TXM',max='**', - fr="Valeur des paramètres à) modifier dans le script Salome"), - ), - - CODE_RETOUR_MAXI = SIMP(statut='f', typ='I', defaut=0, val_min=-1, - fr="Valeur maximale du code retour toléré (-1 pour l'ignorer)"), - - INFO = SIMP(statut='f', typ='I', defaut=2, into=(1,2),), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def extr_mode_prod(FILTRE_MODE,**args): - vale=FILTRE_MODE[0]['MODE'] - if AsType(vale) == mode_meca : return mode_meca - if AsType(vale) == mode_meca_c : return mode_meca_c - if AsType(vale) == mode_gene : return mode_gene - raise AsException("type de concept resultat non prevu") - -EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, - reentrant='n',fr="Extraire séléctivement des modes des structures de données modales", - UIinfo={"groupes":("Résolution","Dynamique",)}, - FILTRE_MODE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),), - MODE =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ_MIN =SIMP(statut='f',typ='R' ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ), - b_freq_min =BLOC(condition = "FREQ_MIN != None", - FREQ_MAX =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - b_crit_extr =BLOC(condition = "CRIT_EXTR != None", - regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),), - SEUIL =SIMP(statut='f',typ='R'), - SEUIL_X =SIMP(statut='f',typ='R'), - SEUIL_Y =SIMP(statut='f',typ='R'), - SEUIL_Z =SIMP(statut='f',typ='R'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - IMPRESSION =FACT(statut='f', - CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def extr_resu_prod(RESULTAT,**args): - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == evol_ther : return evol_ther - if AsType(RESULTAT) == evol_varc : return evol_varc - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if AsType(RESULTAT) == dyna_harmo : return dyna_harmo - if AsType(RESULTAT) == acou_harmo : return acou_harmo - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == mode_acou : return mode_acou - if AsType(RESULTAT) == mult_elas : return mult_elas - if AsType(RESULTAT) == fourier_elas : return fourier_elas - - raise AsException("type de concept resultat non prevu") - -EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Extraire des champs au sein d'une SD Résultat", - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, - mode_acou,evol_ther,evol_noli,evol_varc, - mult_elas,fourier_elas,fourier_ther ) ), - - - ARCHIVAGE =FACT(statut='f', - regles=( UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE', - 'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE', - 'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ), - EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ), ), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), - PAS_ARCH =SIMP(statut='f',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ), - - RESTREINT =FACT(statut='f', max=1, - fr="Pour réduire une ou plusieurs sd_resultat sur un maillage ou un modèle réduit", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def extr_table_prod(TYPE_RESU,**args): - defs = globals() - typ = TYPE_RESU.lower() - if defs.get(typ) is not None: - return defs[typ] - raise AsException("type de concept resultat non prevu") - -EXTR_TABLE=OPER(nom="EXTR_TABLE", - op=173, - sd_prod=extr_table_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Tables")}, - fr="Extraire d'une table des concepts Code_Aster", - TYPE_RESU =SIMP(statut='o',typ='TXM', - into=('MATR_ASSE_GENE_R', 'MATR_ELEM_DEPL_R', - 'VECT_ELEM_DEPL_R', - 'CHAM_GD_SDASTER', 'CHAM_NO_SDASTER', - 'CARTE_SDASTER', 'CHAM_ELEM', - 'MODE_MECA','TABLE_SDASTER', - 'FONCTION_SDASTER', 'FONCTION_C', 'NAPPE_SDASTER', - 'ENTIER', 'REEL'),), - - TABLE =SIMP(statut='o',typ=(table_sdaster,table_container)), - - NOM_PARA =SIMP(statut='o',typ='TXM'), - - FILTRE =FACT(statut='f',min=1,max='**', - NOM_PARA =SIMP(statut='o',typ='TXM'), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - VALE_K =SIMP(statut='f',typ='TXM'),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def factoriser_prod(MATR_ASSE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c - if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r - if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c - if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r - if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod, - fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+ - "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), - EXCLUS('BLOC_FIN','DDL_FIN'),), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - - # mots clés pour solveur LDLT et MULT_FRONT et MUMPS: - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NPREC =SIMP(statut='f',typ='I',defaut=8), - - # mots clés pour solveur LDLT : - BLOC_DEBUT =SIMP(statut='f',typ='I',val_min=1,), - DDL_DEBUT =SIMP(statut='f',typ='I',val_min=1,), - BLOC_FIN =SIMP(statut='f',typ='I',val_min=1,), - DDL_FIN =SIMP(statut='f',typ='I',val_min=1,), - - # mots clés pour solveur MUMPS : - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PRETRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - ELIM_LAGR =SIMP(statut='f',typ='TXM',defaut="LAGR2",into=("LAGR2","NON")), - GESTION_MEMOIRE =SIMP(statut='f',typ='TXM',defaut="IN_CORE",into=("IN_CORE","OUT_OF_CORE","EVAL")), - - # mots clés pour solveur GCPC et PETSc : - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR","LDLT_SP"),defaut="LDLT_INC" ), - b_ldlt_inc =BLOC(condition = "PRE_COND == 'LDLT_INC' ", - NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ), - REMPLISSAGE = SIMP(statut='f',typ='R',defaut= 1.0), - ), - b_ldlt_sp =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision", - REAC_PRECOND =SIMP(statut='f',typ='I',defaut=30, ), - ), - b_jacobi_sor =BLOC(condition = "PRE_COND == 'JACOBI' or PRE_COND == 'SOR'", - fr="Paramètres des préconditionneurs JACOBI et SOR", - RENUM =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","RCMK") ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE", - UIinfo={"groupes":("Gestion du travail",)}, -# -# FIN est appelé prématurément en cas d'exception ("SIGUSR1", ArretCPUError, -# NonConvergenceError..., erreurs ou erreurs récupérées). -# En cas d'ArretCPUError, on limite au maximum le travail à faire dans FIN. -# Pour cela, on force certains mots-clés dans Execution/E_JDC.py. -# - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE", - statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données", - statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), - UNITE =SIMP(statut='f',typ='I',defaut=6), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, - reentrant='n',fr="Crée une fonction constante paramétrée par l'abscisse curviligne", - UIinfo={"groupes":("Fonctions",)}, - TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def formule_prod(self, VALE, VALE_C, **args): - if VALE != None: - return formule - elif VALE_C != None: - return formule_c - -FORMULE=FORM(nom="FORMULE", - op_init=ops.build_formule, - op=-5, - sd_prod=formule_prod, - UIinfo={"groupes":("Fonctions",)}, - fr="Définit une formule réelle ou complexe à partir de son expression mathématique", - regles = (UN_PARMI('VALE', 'VALE_C',),), - VALE = SIMP(statut='f', typ='TXM'), - VALE_C = SIMP(statut='f', typ='TXM'), - NOM_PARA = SIMP(statut='o', typ='TXM', max='**'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -GENE_ACCE_SEISME=MACRO(nom="GENE_ACCE_SEISME", - op=OPS('Macro.gene_acce_seisme_ops.gene_acce_seisme_ops'), - sd_prod=table_fonction, - fr="Generation d'accelerogrammes sismiques ", - reentrant='n', - UIinfo={"groupes":("Fonctions","Dynamique",)}, - - INIT_ALEA =SIMP(statut='f',typ='I'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - PAS_INST =SIMP(statut='o',typ='R' ), - NB_POIN =SIMP(statut='f',typ='I',fr="nombre de points" ), - PESANTEUR =SIMP(statut='o', typ='R', fr="constante de normalisation de ACCE_MAX, ECART_TYPE et INTE_ARIAS (g) ou le spectre" ), - DUREE_PHASE_FORTE =SIMP(statut='o',typ='R',fr="durée phase forte du signal" ), - NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1,fr="nombre accelerogrammes" ), - FREQ_FILTRE =SIMP(statut='f',typ='R',fr="frequence du filtre: corner frequency"), -# - DSP = FACT(statut='f',max=1, - AMOR_REDUIT =SIMP(statut='o',typ='R'), - FREQ_FOND =SIMP(statut='o',typ='R', fr="frequence centrale"), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - ), - SPEC_MEDIANE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), - ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), - ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), - ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), - ), - SPEC_UNIQUE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), - ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), - ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), - ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), - METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), - ), -# - SPEC_FRACTILE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'), EXCLUS('FREQ_PAS','LIST_FREQ'),), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - SPEC_1_SIGMA =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - ), - - - regles=(UN_PARMI('DSP','SPEC_MEDIANE','SPEC_UNIQUE','SPEC_FRACTILE'),), - MODULATION = FACT(statut='o',max=1, - regles=(EXCLUS('ACCE_MAX','INTE_ARIAS','ECART_TYPE'),), - TYPE = SIMP(statut='o',typ='TXM' , into=("GAMMA","JENNINGS_HOUSNER","CONSTANT")), - ACCE_MAX = SIMP(statut='f',typ='R',fr="PGA: acceleration max au sol (g)" ), - ECART_TYPE = SIMP(statut='f',typ='R',fr="ecart-type" ), - INTE_ARIAS = SIMP(statut='f',typ='R',fr="intensite d'Arias" ), - c_type_mod = BLOC(condition="TYPE=='GAMMA' ", - INST_INI = SIMP(statut='o',typ='R',fr="instant debut phase forte" ), - ), - ), -) ; - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction, - fr="Génération de la fonction temporelle à partir d une matrice interspectrale", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), - b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee", - DUREE_TIRAGE =SIMP(statut='f',typ='R' ), - FREQ_INIT =SIMP(statut='f',typ='R' ), - FREQ_FIN =SIMP(statut='f',typ='R' ), - ), - NB_POIN =SIMP(statut='f',typ='I'), - NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ), - INIT_ALEA =SIMP(statut='f',typ='I'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -def gene_matr_alea_prod(MATR_MOYEN,**args ): - if (AsType(MATR_MOYEN) == matr_asse_gene_r ) : return matr_asse_gene_r - if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna - raise AsException("type de concept resultat non prevu") - -GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27, -#sd_prod=matr_asse_gene_r, -sd_prod=gene_matr_alea_prod, - fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - MATR_MOYEN = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)), - -# cas matrice generalisee - b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)", - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , - fr="coefficient de variation de la matrice a generer" ), - ), -# cas macr_elem_dyna - b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)", - fr="cas macr_elem_dyna (sous-structuratio)", - COEF_VAR_RIGI = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , - fr="coefficient de variation de la matrice de raideur" ), - COEF_VAR_MASS = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , - fr="coefficient de variation de la matrice de masse" ), - COEF_VAR_AMOR = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , - fr="coefficient de variation de la matrice d'amortissement" ),), - - INIT_ALEA =SIMP(statut='f',typ='I'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA", - op_init=ops.build_gene_vari_alea, - op=EMPTY_OPS, - sd_prod=reel, - reentrant='n', - fr="Générer une réalisation d'une variable aléatoire réelle " \ - "de loi de probabilité donnée (Gamma ou Exponentielle)", - UIinfo={"groupes":("Fonctions",)}, - TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), - b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", - VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), - ), - b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - ), - b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), - ), - INIT_ALEA =SIMP(statut='f',typ='I'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -IMPR_CO=PROC(nom="IMPR_CO",op=17, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)", - regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),), - - UNITE =SIMP(statut='f',typ='I',defaut=8), - NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ), - ATTRIBUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - CONTENU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), - BASE =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ), - CONCEPT =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),), - CHAINE =SIMP(statut='f',typ='TXM'), - POSITION =SIMP(statut='f',typ='I',defaut=1), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - - -IMPR_DIAG_CAMPBELL=MACRO(nom="IMPR_DIAG_CAMPBELL", - op=OPS('Macro.impr_diag_campbell_ops.impr_diag_campbell_ops'), - fr="Tracé du Diagramme de Campbell", - UIinfo={"groupes":("Impression","Outils-métier",)}, - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODES =SIMP(statut='o',typ=table_container), - NFREQ_CAMP =SIMP(statut='o',typ='I' ), - TYP_PREC =SIMP(statut='f',typ='I',defaut= 1, into=(1,2) ), - TYP_TRI =SIMP(statut='f',typ='I',defaut= 2, into=(0,1,2) ), - UNIT_FLE =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_TOR =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_LON =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_TOT =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_INT =SIMP(statut='o',typ='I' ,val_min=1), - L_S =SIMP(statut='f',typ='R', defaut= 1., max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -IMPR_FONCTION=MACRO(nom="IMPR_FONCTION", - op=OPS('Macro.impr_fonction_ops.impr_fonction_ops'), - sd_prod=None, - fr="Imprime le contenu d'objets de type fonction ou liste de " \ - "réels dans un fichier destiné à un traceur de courbe", - UIinfo={"groupes":("Impression","Fonctions",)}, - FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', - into=("TABLEAU","AGRAF","XMGRACE",),), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", - fr="Mots-clés propres à AGRAF", - UNITE =SIMP(statut='o',typ='I',defaut=25, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, - fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), - ), - # unite pour TABLEAU dans le bloc de mise en forme spécifique - - COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", - regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), - FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), - fr="Fonction réelle ou complexe", ), - LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, - fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), - FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), - fr="Fonction abscisses d'une fonction paramétrique",), - ABSCISSE =SIMP(statut='f',typ='R',max='**', - fr="Valeurs des abscisses", ), - b_fonction =BLOC(condition = "FONCTION != None", - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_fonction_c =BLOC(condition = "AsType(FONCTION) in (fonction_c, formule_c)", - fr="Fonction complexe définie par le mot-clé fonction", - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - ), - b_list_resu =BLOC(condition = "LIST_RESU != None", - LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), - ), - b_fonc_x =BLOC(condition = "FONC_X != None", - FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_vale_resu =BLOC(condition = "ABSCISSE != None", - ORDONNEE =SIMP(statut='o',typ='R',max='**', - fr="Valeurs des ordonnées"), - ), - - # mots-clés utilisant uniquement aux formats autres que TABLEAU - # mais ce serait trop pénible de devoir les supprimer quand on change de format - # donc on ne les met pas dans un bloc - # "pseudo" bloc mise en forme : - LEGENDE =SIMP(statut='f',typ='TXM', - fr="Légende associée à la fonction" ), - STYLE =SIMP(statut='f',typ='I',val_min=0, - fr="Style de la ligne représentant la fonction",), - COULEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Couleur associée à la fonction",), - MARQUEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Type du marqueur associé à la fonction",), - FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, - fr="Fréquence d impression du marqueur associé à la fonction", ), - # fin bloc mise en forme - - TRI =SIMP(statut='f',typ='TXM',defaut="N", - fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", - into=("N","X","Y","XY","YX") ), - ), - # Mise en page du tableau ou du graphique - b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", - fr="Mots-clés propres au format Tableau", - UNITE =SIMP(statut='o',typ='I',defaut=8, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', - fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), - COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', - fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), - COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), - DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère de debut de ligne"), - FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', - fr="Caractère de fin de ligne"), - ), - b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", - fr="Mise en page du graphique", - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des abscisses"), - BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des ordonnées"), - ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les abscisses" ), - ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les ordonnées" ), - GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage vertical" ), - GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage horizontal" ), - LEGENDE_X =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des abscisses" ), - LEGENDE_Y =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des ordonnées" ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, - fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT", - UIinfo={"groupes":("Impression","Dynamique",)}, - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), - UNITE =SIMP(statut='f',typ='I',defaut=8), - GENE =FACT(statut='o',max='**', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'), - EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'), - EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'), - EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'), - EXCLUS('TOUT_CHAM','NOM_CHAM'), - EXCLUS('TOUT_PARA','NOM_PARA'),), -# faut-il faire des blocs selon le type de RESU_GENE - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NUME_CMP_GENE =SIMP(statut='f',typ='I',max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)", - ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM', - into=("DISQUE","MEMOIRE","REPERTOIRE", - "OBJET","ATTRIBUT","SYSTEME","ENREGISTREMENT") ), - b_objet =BLOC(condition = "(ENTITE=='OBJET')", - NOMOBJ =SIMP(fr="nom d'objet",statut='f',typ='TXM' ), - NUMOC =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ), - NOMOC =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ), - ), - b_attribut =BLOC(condition = "(ENTITE=='ATTRIBUT')", - NOMOBJ =SIMP(fr="nom de collection",statut='f',typ='TXM' ), - NOMATR =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM', - into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG', - '$$LONO','$$LUTI','$$NUM') ), - ), - b_systeme =BLOC(condition = "(ENTITE=='SYSTEME')", - CLASSE =SIMP(statut='o',typ='TXM',into=('G','V') ), - NOMATR =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM', - into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ', - '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG', - '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX', - '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ), - ), - b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')", - CLASSE =SIMP(statut='f',typ='TXM',into=('G','V',' '),defaut=' '), - ), - b_disque =BLOC(condition = "(ENTITE=='DISQUE')", - CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V',' '),defaut=' '), - ), - b_enregist =BLOC(condition = "(ENTITE=='ENREGISTREMENT')", - CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V'),defaut='G'), - NUMERO =SIMP(statut='o',typ='I',val_min=1), - INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=1), - ), - IMPRESSION =FACT(statut='f', - NOM =SIMP(statut='f',typ='TXM' ), - UNITE =SIMP(statut='f',typ='I'), - ), - COMMENTAIRE =SIMP(statut='f',typ='TXM' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, - UIinfo={"groupes":("Impression","Outils-métier",)}, - fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D", - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", - into=("MISS_3D","IDEAS") ), - - b_ideas =BLOC(condition = "FORMAT == 'IDEAS'", - UNITE =SIMP(statut='f',typ='I',defaut=30), - VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), - ), - - b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'", - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - UNITE =SIMP(statut='f',typ='I',defaut= 26 ), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R' ,max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'), - GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_CONTROL=SIMP(statut='f',typ=grma,max='**'), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5",into=("1PE12.5","1PE16.9") ), - IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DES MAILLAGES IFS VENANT DE SATURNE VIA YACS -# -IMPR_MAIL_YACS=PROC(nom="IMPR_MAIL_YACS",op=43, - UIinfo={"groupes":("Maillage",)}, - fr="Lecture d'un maillage via YACS lors du Couplage de Code_Aster et Saturne", - UNITE_MAILLAGE = SIMP(statut='f',typ='I',defaut=30), - TYPE_MAILLAGE = SIMP(statut='o',typ='TXM',into=("SOMMET","MILIEU")), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: isabelle.fournier at edf.fr -# -IMPR_OAR =MACRO(nom="IMPR_OAR", - op=OPS('Macro.impr_oar_ops.impr_oar_ops'), - sd_prod=None, - fr="Impression au format OAR", - UIinfo={"groupes":("Impression","Outils-métier",)}, - TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')), - b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ", - regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), - DIAMETRE = SIMP(statut='o', typ='R'), - ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), - COEF_U = SIMP(statut='f', typ='R', defaut=1.0), - ANGLE_C = SIMP(statut='o', typ='R', defaut=0.0), - REVET = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), - RESU_MECA = FACT(statut='f', max='**', - NUM_CHAR = SIMP(statut='o', typ='I'), - TYPE = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')), - TABLE = SIMP(statut='o', typ=table_sdaster), - TABLE_S = SIMP(statut='f', typ=table_sdaster)), - RESU_THER = FACT(statut='f', max='**', - NUM_TRAN = SIMP(statut='o', typ='I'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_TEMP= SIMP(statut='o', typ=table_sdaster), - TABLE_S = SIMP(statut='f', typ=table_sdaster), - TABLE_ST = SIMP(statut='f', typ=table_sdaster)), - ), - b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ", - regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), - DIAMETRE = SIMP(statut='o', typ='R'), - ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), - COEF_U = SIMP(statut='f', typ='R', defaut=1.0), - RESU_MECA = FACT(statut='f', max='**', - AZI = SIMP(statut='o', typ='R'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_F = SIMP(statut='o', typ=table_sdaster), - TABLE_P = SIMP(statut='o', typ=table_sdaster), - TABLE_CA = SIMP(statut='o', typ=table_sdaster)), - RESU_THER=FACT(statut='f', max='**', - AZI = SIMP(statut='o', typ='R'), - NUM_CHAR = SIMP(statut='o', typ='I'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_TI = SIMP(statut='o', typ=table_sdaster)), - ), - b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ", - RESU_MECA = FACT(statut='o', max='**', - NUM_CHAR = SIMP(statut='o', typ='I'), - TABLE = SIMP(statut='o', typ=table_sdaster), - MAILLAGE = SIMP(statut='o', typ=maillage_sdaster)), - ), - UNITE = SIMP(statut='f',typ='I',defaut=38), - AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -IMPR_RESU=PROC(nom="IMPR_RESU",op=39, - UIinfo={"groupes":("Impression","Résultats et champs",)}, - fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)", - - FORMAT =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT", - into=("RESULTAT","IDEAS","ASTER","CASTEM","MED","GMSH") ), - - b_modele =BLOC(condition="FORMAT!='MED'",fr="Modèle", - MODELE =SIMP(statut='f',typ=modele_sdaster), - ), - - b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", - UNITE =SIMP(statut='f',typ='I',defaut=8), - ), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", - UNITE =SIMP(statut='f',typ='I',defaut=30), - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_aster =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER", - UNITE =SIMP(statut='f',typ='I',defaut=26), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM", - UNITE =SIMP(statut='f',typ='I',defaut=37), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - b_format_med =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED", - UNITE =SIMP(statut='f',typ='I',defaut=80), - ), - - b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH", - UNITE =SIMP(statut='f',typ='I',defaut=37), - VERSION =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)), - ), - - regles=(AU_MOINS_UN('CONCEPT','RESU',),), - - b_restreint =BLOC(condition="FORMAT=='MED'",fr="Seulement pour les fichiers MED", - RESTREINT =FACT(statut='f', max=1, - fr="Pour réduire une ou plusieurs sd_resultat sur un ensemble de mailles", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - ), - ), - - CONCEPT =FACT(statut='f',max='**', - fr='Pour imprimer les champs de "données" à des fins de visualisation (controle des affectations).', - # (valide pour les format RESULTAT et MED) - regles=(UN_PARMI('CHAM_MATER','CARA_ELEM','CHARGE'),), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=char_meca), - - b_cara_elem =BLOC(condition="CARA_ELEM != None", fr="impression des reperes locaux.", - REPERE_LOCAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_reploc =BLOC(condition="REPERE_LOCAL == 'OUI'", fr="impression des reperes locaux.", - MODELE =SIMP(statut='o',typ=modele_sdaster), - ), - ), - ), - - RESU =FACT(statut='f',max='**', - - regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE',), - EXCLUS('CHAM_GD','RESULTAT'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette)), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - - b_info_med =BLOC(condition="FORMAT=='MED'", - INFO_MAILLAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - - b_partie =BLOC(condition="""(AsType(RESULTAT) in (dyna_harmo, acou_harmo) or - AsType(CHAM_GD) != carte_sdaster) and FORMAT in ('CASTEM', 'GMSH', 'MED')""", - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - ), - - b_vari_el =BLOC(condition="FORMAT==('MED')", - IMPR_NOM_VARI=SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), - ), - - b_extrac =BLOC(condition="RESULTAT != None", - fr="extraction d un champ de grandeur", - regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', - 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGLE'),), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ANGLE =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(ANGLE != None)or(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), -### - b_parametres =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""", - regles=(EXCLUS('TOUT_PARA','NOM_PARA'),), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - FORM_TABL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ), - ), -### - b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ - ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", - fr="sélection des composantes", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), -### - b_med=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and(FORMAT == 'MED')""", - fr="renommage du champ", - regles=(EXCLUS('NOM_CHAM_MED','NOM_RESU_MED'),), - NOM_CHAM_MED =SIMP(statut='f',typ='TXM', - validators=AndVal((LongStr(1,64), NoRepeat())), max='**'), - NOM_RESU_MED =SIMP(statut='f',typ='TXM'), - ), -### - b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""", - fr="sélection des composantes et des entités toplogiques", - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_CHAM =SIMP(statut='f',typ='TXM',defaut="SCALAIRE", - into=("VECT_2D","VECT_3D","SCALAIRE","TENS_2D","TENS_3D"),), - b_scal =BLOC(condition = "TYPE_CHAM=='SCALAIRE'", - NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ),), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - ), -### - b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ - ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", - fr="sélection des entités topologiques", - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), -### - b_valeurs=BLOC(condition="(FORMAT == 'RESULTAT')", - fr="sélection sur les valeurs", - VALE_MAX =SIMP(statut='f',typ='TXM',into=("OUI",) ), - VALE_MIN =SIMP(statut='f',typ='TXM',into=("OUI",) ), - BORNE_SUP =SIMP(statut='f',typ='R'), - BORNE_INF =SIMP(statut='f',typ='R'), - IMPR_COOR =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - b_format_r=BLOC(condition="""((FORMAT == 'RESULTAT')or(FORMAT == 'ASTER'))""", - fr="Format des nombres réels", - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE21.14"), - ), - - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -IMPR_TABLE=MACRO(nom="IMPR_TABLE", - op=OPS('Macro.impr_table_ops.impr_table_ops'), - sd_prod=None, - UIinfo={"groupes":("Impression","Tables",)}, - fr="Impression du contenu d'une table dans un fichier", - TABLE =SIMP(statut='o',typ=table_sdaster), - FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLEAU", - into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),), - b_pilote =BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - b_unite =BLOC(condition = "FORMAT != 'XMGRACE'", - UNITE =SIMP(statut='f',typ='I',defaut=8, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM'), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS"),), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R',max='**'), - VALE_I =SIMP(statut='f',typ='I',max='**'), - VALE_C =SIMP(statut='f',typ='C',max='**'), - VALE_K =SIMP(statut='f',typ='TXM',max='**'), - ), - b_crit =BLOC(condition = "CRIT_COMP in ('EQ','NE')", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - ), - TRI =FACT(statut='f', - NOM_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - ORDRE =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**', - into=("CROISSANT","DECROISSANT") ), - ), - PAGINATION =SIMP(statut='f',typ='TXM',max='**'), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="E12.5"), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - - # Mise en page du tableau ou du graphique - b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", - fr="Mots-clés propres au format Tableau", - SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', - fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), - COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', - fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), - COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), - DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère de debut de ligne"), - FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', - fr="Caractère de fin de ligne"), - ), - - # mise en forme pour les formats qui passent par Graph - b_forme =BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Données de mise en forme du graphique", - # pour la courbe - LEGENDE =SIMP(statut='f',typ='TXM', - fr="Légende associée à la fonction" ), - STYLE =SIMP(statut='f',typ='I',val_min=0, - fr="Style de la ligne représentant la fonction",), - COULEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Couleur associée à la fonction",), - MARQUEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Type du marqueur associé à la fonction",), - FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, - fr="Fréquence d impression du marqueur associé à la fonction", ), - # format du graphique - BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des abscisses"), - BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des ordonnées"), - ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les abscisses" ), - ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les ordonnées" ), - GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage vertical" ), - GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage horizontal" ), - LEGENDE_X =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des abscisses" ), - LEGENDE_Y =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des ordonnées" ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -INCLUDE=MACRO(nom="INCLUDE", - op=OPS("Cata.ops.build_include"), - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=ops.INCLUDE, - op_init=ops.INCLUDE_context, - fichier_ini=1, - regles=(UN_PARMI('UNITE', 'DONNEE')), - UNITE = SIMP(statut='f', typ='I', - fr="Unité logique à inclure"), - DONNEE = SIMP(statut='f', typ='Fichier', - fr="Nom du fichier de données à inclure"), - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1, 2)), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -INCLUDE_MATERIAU = MACRO(nom="INCLUDE_MATERIAU", - op=OPS("Macro.include_materiau_ops.include_materiau_ops"), - sd_prod=mater_sdaster, - UIinfo={"groupes":("Modélisation", "Gestion du travail", )}, - fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ", - - NOM_AFNOR = SIMP(statut='o', typ='TXM',), - TYPE_MODELE = SIMP(statut='o', typ='TXM', into=("REF", "PAR"),), - VARIANTE = SIMP(statut='o', typ='TXM', - into=("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", - "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", "Z",),), - TYPE_VALE = SIMP(statut='o', typ='TXM', into=("NOMI", "MINI", "MAXI"),), - #NOM_MATER = SIMP(statut='o', typ='TXM',), - #UNITE = SIMP(statut='f', typ='I', defaut= 32,), - EXTRACTION = FACT(statut='f', - COMPOR = SIMP(statut='o', typ='TXM', max='**',), - TEMP_EVAL = SIMP(statut='o', typ='R',), - ), - UNITE_LONGUEUR = SIMP(statut='f', typ='TXM', into=("M", "MM"), defaut="M",), - INFO = SIMP(statut='f', typ='I', defaut= 1, into=(1, 2),), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, - fr="Récupère différentes informations propres à l'exécution en cours", - reentrant='n', - UIinfo={"groupes":("Gestion du travail",)}, - - regles=(), - LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3, - into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),), - b_etat_unite =BLOC(condition = "au_moins_un(LISTE_INFO, 'ETAT_UNITE')", - regles=(UN_PARMI('UNITE','FICHIER'),), - UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1, - fr="Unité logique dont on veut obtenir l'état",), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255), - fr="Nom du fichier dont on veut obtenir l'état",), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): - if (RMS != None): return table_sdaster - if (MAX != None): return table_sdaster - if (NOCI_SEISME != None): return table_sdaster - if (ECART_TYPE != None): return table_sdaster - if (NORME != None): return table_sdaster - raise AsException("type de concept resultat non prevu") - -INFO_FONCTION=MACRO(nom="INFO_FONCTION", - op=OPS('Macro.info_fonction_ops.info_fonction_ops'), - sd_prod=info_fonction_prod, - fr="Opérations mathématiques sur des concepts de type fonction, " \ - "fonction_c ou nappe", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), - RMS =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**', - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - NOCI_SEISME =FACT(statut='f', - regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), - FONCTION =SIMP(statut='f',typ=fonction_sdaster ), - SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), - b_option_f =BLOC(condition="""FONCTION != None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(), - into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", - "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), - b_amor_red =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_SPEC")) """, - AMOR_REDUIT =SIMP(statut='o',typ='R'),), - b_pesanteur =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT")) """, - PESANTEUR =SIMP(statut='o',typ='R'),), - ), - b_option_n =BLOC(condition="""SPEC_OSCI !=None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), - NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), - AMOR_REDUIT =SIMP(statut='o',typ='R'), ), - INST_INIT =SIMP(statut='f',typ='R'), - INST_FIN =SIMP(statut='f',typ='R'), - COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), - FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), - BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), - b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - ), - MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - INTERVALLE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="définition des bornes des intervalles sous forme de couples (xi_i1,xs_i1,xi_i2,xs_i2)"), - ), - NORME =FACT(statut='f',fr="Norme L2 d'une fonction", - FONCTION =SIMP(statut='o', typ=nappe_sdaster), - ), - ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: olivier.boiteau at edf.fr -INFO_MODE=OPER(nom="INFO_MODE",op=32,sd_prod=table_sdaster, - fr="Calculer, imprimer, et sauvegarder le nombre de valeurs propres dans un contour donné", - UIinfo={"groupes":("Résolution","Dynamique",)}, - - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_COMPLEXE","DYNAMIQUE", - "MODE_FLAMB", "GENERAL"), - fr="Type d analyse" ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - - b_dynamique =BLOC(condition = "TYPE_MODE == 'DYNAMIQUE'",fr="Recherche du nombre de fréquences propres", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - FREQ =SIMP(statut='o',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de frequences" ), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), - ), - ), - - b_flambement =BLOC(condition = "TYPE_MODE == 'MODE_FLAMB'",fr="Recherche du nombre de charges critiques", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de charges critiques" ), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), - ), - ), - - b_complexe =BLOC(condition = "TYPE_MODE == 'MODE_COMPLEXE'",fr="Recherche du nombre de fréquences propres", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), - RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), - CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","APM")), - NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), - NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), - ), - ), - - b_general =BLOC(condition = "TYPE_MODE == 'GENERAL'",fr="Recherche du nombre de valeurs propres", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de charges critiques" ), - b_contour =BLOC(condition = "CHAR_CRIT == None", - TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), - RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), - CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j),), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM","APM")), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), ), - NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), - NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('INFO_MODE'), -# Mot-cle pour piloter les niveaux de parallelismes de l'operateur (a ne pas confondre avec le mot-cle -# cache PARALLELISME_MACRO) - NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), -#------------------------------------------------------------------- -#------------------------------------------------------------------- -# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande - PARALLELISME_MACRO=FACT(statut='d',min=0, - TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1,2),fr="Type de communication"), - ), -#------------------------------------------------------------------- - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -INFO_RESU=PROC(nom="INFO_RESU",op=40, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer tous les champs présents dans une structure de données résultat", - RESULTAT=SIMP(statut='f',typ=resultat_sdaster), - UNITE=SIMP(statut='f',typ='I',defaut=6), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -INIT_COMPO=PROC(nom="INIT_COMPO", - op= 117, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Initialiser adresse component YACS", - COMPO =SIMP(statut='o',typ='I',), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, - UIinfo={"groupes":("Post-traitements",)}, - fr="Définition d'une courbe dans un maillage 2D",reentrant='n', - - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'), - PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'), - PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'), - PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'), - EXCLUS('DEFI_CHEMIN','DEFI_ARC'),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - DEFI_SEGMENT =FACT(statut='f',max='**', - regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - ), - - DEFI_ARC =FACT(statut='f',max='**', - regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'), - PRESENT_PRESENT('RAYON','SECTEUR'),), - CENTRE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_CENTRE =SIMP(statut='f',typ=no,), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,), - RAYON =SIMP(statut='f',typ='R',val_min=0.E+0), - SECTEUR =SIMP(statut='f',typ='R',min=2,max=2, - val_min=-180.E+0,val_max=180E+0), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", - into=("RELATIF","ABSOLU",) ), - ), - - DEFI_CHEMIN =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, - UIinfo={"groupes":("Post-traitements",)}, - fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DEFI_SEGMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), - ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=3,max=3), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - ), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def lire_champ_prod(TYPE_CHAM=None,**args): -# Remarque : si cette liste évolue, il faut penser à mettre à jour son -# homologue dans macr_adap_mail - if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster - if TYPE_CHAM[0:5] == "CART_" : return carte_sdaster - if TYPE_CHAM[0:2] == "EL" : return cham_elem - raise AsException("type de concept resultat non prevu") - -LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, - UIinfo={"groupes":("Lecture","Résultats et champs",)}, - fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.", - reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), - FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), - UNITE =SIMP(statut='f',typ='I',defaut= 81,), - b_format =BLOC(condition = "FORMAT == 'MED'", - regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), - PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ), - EXCLUS('NUME_ORDRE','INST'), - EXCLUS('NUME_PT','INST'),), - NOM_MED =SIMP(statut='o',typ='TXM', ), - NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOM_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), - NOM_CMP_MED =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), - NUME_PT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',), - NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**', - fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ), - INST =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ), -# - b_precision =BLOC(condition="(INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over instant choice" ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),),), -# - NOM_MAIL_MED =SIMP(statut='f',typ='TXM',), - ), -# Remarque : si cette liste évolue, il faut penser à mettre à jour son -# homologue dans macr_adap_mail - TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), - b_modele =BLOC(condition = "TYPE_CHAM!=None and (TYPE_CHAM[0:2] == 'EL')", - MODELE =SIMP(statut='o',typ=modele_sdaster, ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -def lire_fonction_prod(self,TYPE,**args): - if (TYPE == 'FONCTION') : return fonction_sdaster - elif (TYPE == 'FONCTION_C'): return fonction_c - elif (TYPE == 'NAPPE' ) : return nappe_sdaster - raise AsException("type de concept resultat non prevu") - -LIRE_FONCTION=MACRO(nom="LIRE_FONCTION", - op=OPS('Macro.lire_fonction_ops.lire_fonction_ops'), - sd_prod=lire_fonction_prod, - fr="Lit les valeurs réelles dans un fichier de données représentant une " \ - "fonction et crée un concept de type fonction ou nappe", - reentrant='n', - UIinfo={"groupes":("Lecture","Fonctions",)}, - FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), - TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ), - SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ), - INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]), - b_fonction =BLOC(condition = "TYPE=='FONCTION' ", - INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ), - b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ", - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ), - b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ", - INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), - INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) , - b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ", - INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), - INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ), - b_nappe =BLOC(condition = "TYPE=='NAPPE' ", - NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - DEFI_FONCTION =FACT(statut='f',max='**', - INDIC_RESU =SIMP(statut='o',typ='I',min=2,max=2,),), ), - UNITE =SIMP(statut='o',typ='I' ), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ - "fonction ou bien pour le paramètre de la nappe."), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene, - fr="Création d'un vecteur assemblé à partir d'une base modale", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, - BASE =SIMP(statut='o',typ=mode_meca), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - FREQ_EXTR =SIMP(statut='o',typ='R',max=1), - NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"), - NUME_CHAR =SIMP(statut='f',typ='I' ), - ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30), - NOM_RESU_FORC =SIMP(statut='f',typ='TXM' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c, - fr="Création d une matrice assemblée à partir de base modale", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, - BASE =SIMP(statut='o',typ=mode_meca ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - FREQ_EXTR =SIMP(statut='f',typ='R',max=1), - INST_EXTR =SIMP(statut='f',typ='R',max=1), - UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), - ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - TYPE =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - - -LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC", - op=OPS('Macro.lire_inte_spec_ops.lire_inte_spec_ops'), - sd_prod=interspectre, - fr="Lecture sur un fichier externe de fonctions complexes pour " \ - "créer une matrice interspectrale", - reentrant='n', - UIinfo={"groupes":("Lecture","Fonctions",)}, - UNITE =SIMP(statut='o',typ='I' ), - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS") ), - NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ", - into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", - "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, - fr="Crée un maillage par lecture d'un fichier au format Aster ou Med", - ang="Readings of a mesh file", - reentrant='n', - UIinfo={"groupes":("Lecture","Maillage",)}, - - UNITE =SIMP(statut='f',typ='I',defaut= 20 ), - - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier : ASTER ou MED.", - ang="Format of the file : ASTER or MED.",), - - ABSC_CURV =FACT(statut='f',min=0, - TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - VERI_MAIL =FACT(statut='d', - VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - - b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " , - fr="Informations complémentaires pour la lecture MED.", - ang="Further information for MED readings.", - -# Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel -# le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer. - NOM_MED = SIMP(statut='f',typ='TXM', - fr="Nom du maillage dans le fichier MED.", - ang="Name of the mesh into the MED file.",), - INFO_MED = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ), - - RENOMME = FACT(statut='f', max='**', - fr="Renommer un nom de groupe MED", - NOM_MED = SIMP(statut='o', typ='TXM', validators=LongStr(1, 64), - fr="Nom du groupe dans le fichier MED"), - NOM = SIMP(statut='o', typ=grma, - fr="Nom du groupe dans le maillage ASTER"), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: serguei.potapov at edf.fr - -LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, - fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS", - reentrant='n', - UIinfo={"groupes":("Lecture","Outils-métier",)}, - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)), - MAIL_PLEXUS =SIMP(statut='o',typ=maillage_sdaster ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_prec_crit =BLOC(condition = "LIST_INST != None or INST != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def lire_resu_prod(TYPE_RESU,**args): - if TYPE_RESU == "EVOL_CHAR" : return evol_char - if TYPE_RESU == "EVOL_THER" : return evol_ther - if TYPE_RESU == "EVOL_ELAS" : return evol_elas - if TYPE_RESU == "EVOL_NOLI" : return evol_noli - if TYPE_RESU == "DYNA_TRANS" : return dyna_trans - if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo - if TYPE_RESU == "MODE_MECA" : return mode_meca - if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c - if TYPE_RESU == "EVOL_VARC" : return evol_varc - raise AsException("type de concept resultat non prevu") - -# pour éviter d'écrire 3 fois cette liste : -def l_nom_cham_pas_elga() : - return list(set(C_NOM_CHAM_INTO())-set(C_NOM_CHAM_INTO('ELGA',))) - -LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', - UIinfo={"groupes":("Lecture","Resultats et champs",)}, - fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED," - +" des champs et les stocker dans une SD résultat", - - -# 0) mots cles generaux : -#---------------------- - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA", - "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO", - "EVOL_CHAR","EVOL_VARC") ), - - FORMAT =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ), - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - COMPORTEMENT =C_COMPORTEMENT(), - NB_VARI =SIMP(statut='f',typ='I' ), - - CHAM_MATER =SIMP(statut='f',typ=cham_mater,), - - CARA_ELEM =SIMP(statut='f',typ=cara_elem,), - - b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), - ), - - b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - ), - - b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - ), - - -# 1) blocs selon le format choisi : -#--------------------------------- - -# 1-1 ideas dataset-58 : -# ---------------------- - b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'", - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), - ), - b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\ - (TYPE_RESU=='DYNA_HARMO'))", - NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","EPSI_NOEU","SIEF_NOEU",),max='**'), - REDEFI_ORIENT=FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),), - CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ), - DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),), - ), - -# 1-2 ideas : -# --------- - b_ideas =BLOC(condition="FORMAT=='IDEAS'", - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), -# TEST =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini"), - FORMAT_IDEAS =FACT(statut='f',max='**', - regles=(UN_PARMI('POSI_INST','POSI_FREQ'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=l_nom_cham_pas_elga()), - NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ), - RECORD_3 =SIMP(statut='f',typ='I',max=10), - RECORD_6 =SIMP(statut='f',typ='I',max=10), - RECORD_9 =SIMP(statut='f',typ='I',max=10), - POSI_ORDRE =SIMP(statut='o',typ='I',min=2,max=2), - POSI_NUME_MODE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_MASS_GENE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_AMOR_GENE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_INST =SIMP(statut='f',typ='I',min=2,max=2), - POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),), - ), - -# 1-3 ensight : -# ------------- - b_ensight =BLOC(condition="FORMAT=='ENSIGHT'", - NOM_FICHIER =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), - ), - -# 1-4 med : -# --------- - b_med =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED", - UNITE =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",), - FORMAT_MED =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),UN_PARMI('NOM_CHAM_MED','NOM_RESU'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - NOM_CHAM_MED =SIMP(statut='f',typ='TXM', fr="Nom du champ dans le fichier MED.", ), - NOM_RESU =SIMP(statut='f',typ='TXM', fr="Prefixe du nom de champ dans le fichier MED.", ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans ASTER.", ), - NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans MED.", ), - ), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), - ), - -# 2) blocs selon le type du resultat : -#--------------------------------- - b_mode_meca =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')", - # Ces mots cles sont stockes dans l'objet .REFD des mode_meca - # Ces mots cles sont aussi utilises pour imposer la numerotation des cham_no de DEPL_R - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,max=1), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,max=1), - ), - - -# 3) autres blocs : -#--------------------------------- - b_extrac =BLOC(condition="1",fr="acces a un champ dans la structure de donnees resultat", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -LIRE_TABLE=MACRO(nom="LIRE_TABLE", - op=OPS('Macro.lire_table_ops.lire_table_ops'), - sd_prod=table_sdaster, - fr="Lecture d'un fichier contenant une table", - UIinfo={"groupes":("Lecture","Tables",)}, - UNITE = SIMP(statut='o', typ='I' ), - FORMAT = SIMP(statut='f', typ='TXM', into=("ASTER", "LIBRE", "TABLEAU"), defaut="TABLEAU"), - NUME_TABLE = SIMP(statut='f', typ='I', defaut=1), - SEPARATEUR = SIMP(statut='f', typ='TXM', defaut=' '), - RENOMME_PARA = SIMP(statut='f', typ='TXM', into=("UNIQUE",),), - TITRE = SIMP(statut='f', typ='TXM', max='**'), - INFO = SIMP(statut='f', typ='I', into=(1, 2), ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -MAC_MODES=OPER(nom="MAC_MODES",op= 141,sd_prod=table_sdaster, - fr="Critere orthogonalite de modes propres", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(PRESENT_PRESENT('IERI','MATR_ASSE'),), - BASE_1 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), - BASE_2 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), - IERI =SIMP(statut='f',typ='TXM',into=("OUI",),), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -def macr_adap_mail_prod(self, MAJ_CHAM, ADD_CHAM, ADAPTATION, **args): -# -# 0. Typage des structures produites -# - #print args - if ( args.has_key('MAILLAGE_NP1') ) : - if ( args['MAILLAGE_NP1'] is not None ) : - maillage_np1=args['MAILLAGE_NP1'] - self.type_sdprod(maillage_np1, maillage_sdaster) -# - if ( args.has_key('MAILLAGE_NP1_ANNEXE') ) : - if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) : - maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE'] - self.type_sdprod(maillage_np1_annexe, maillage_sdaster) -# - #print "MAJ_CHAM =", MAJ_CHAM - if MAJ_CHAM is not None : -# Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP - for ch in MAJ_CHAM: - t=ch['TYPE_CHAM'] - if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster) - if t[0:2] == "EL": self.type_sdprod(ch['CHAM_MAJ'],cham_elem) -# - #print "ADD_CHAM =", ADD_CHAM - if ADD_CHAM is not None : - for ch in ADD_CHAM: - self.type_sdprod(ch['CHAM_GD'],carte_sdaster) -# - return None - -MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL", - op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), - sd_prod=macr_adap_mail_prod, - fr="Adapter un maillage avec le logiciel HOMARD.", - ang="Mesh adaptation with the HOMARD software.", - UIinfo={"groupes":("Maillage",)}, -# -# 1. Le niveau d'information -# - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), -# -# 2. Les maillages -# 2.1. Quel que soit le type de traitement, il faut donner le concept du maillage initial (entree) -# - MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage avant adaptation", - ang="Mesh before adaptation" ), -# -# 2.2. Si ce n'est pas une simple lecture : -# - b_maillage = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Lectures de champs aux points de Gauss ou aux noeuds par element.", - ang="Readings of the fields over the Gauss points.", -# -# 2.2.1. Le concept du maillage final (sortie) -# - MAILLAGE_NP1 = SIMP(statut='o',typ=CO, - fr="Maillage après adaptation", - ang="Mesh after adaptation" ), -# -# 2.2.2. Eventuellement, on peut produire un maillage annexe -# Actuellement, c'est le maillage n+1, mais de degré différent. -# - MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO, - fr="Maillage annexe après adaptation", - ang="Additional mesh after adaptation" ), -# - ) , -# -# 3. Le pilotage de l'adaptation, avec les variantes suivantes : -# . Raffinement et deraffinement, selon un champ -# . Raffinement seul, selon un champ -# . Deraffinement seul, selon un champ -# . Raffinement et deraffinement, selon des zones geometriques -# . Raffinement uniforme : toutes les mailles sont divisées -# . Deraffinement uniforme : toutes les mailles sont regroupées -# . Modification : le maillage subit des transformations specifiques -# . Rien : le maillage est le meme a la sortie et a l'entree -# - ADAPTATION = SIMP(statut='o',typ='TXM', - into=("RAFF_DERA", "RAFFINEMENT", "DERAFFINEMENT", "RAFF_DERA_ZONE", \ - "RAFFINEMENT_UNIFORME", "DERAFFINEMENT_UNIFORME", \ - "MODIFICATION", "LECTURE", "RIEN"), - fr="Pilotage de l'adaptation : selon un champ ou uniforme.", - ang="Adaptation control: either among an field or uniform" ), -# -# 4. Pour de l'adaptation libre, il faut un champ d'indicateur -# - b_champ = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT') " , - fr="Pour une adaptation libre, choix du champ définissant la région à raffiner/déraffiner", - ang="For a free adaptation, selection of the field that defines the area for refinment/unrefinement", -# - regles=(UN_PARMI('CHAM_GD','RESULTAT_N')), -# -# 4.1. Reperage de la région a raffiner a l'aide d'un champ -# -# 4.1.1. Sous forme de champ de grandeur -# - CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, - fr="Champ de grandeur Code_Aster pilotant l'adaptation", - ang="Code_Aster 'champ de grandeur' governing the adapatation" ), -# -# 4.1.2. Sous forme de concept resultat_sdaster -# - RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) , - fr="Concept résultat Code_Aster contenant le champ", - ang="The Code_Aster result with the field" ), -# - b_champ_adaptation = BLOC(condition="(RESULTAT_N != None)", - NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), - fr="Champ dans le résultat", - ang="The field in the result structure" ), - ), -# -# 4.1.4. La ou les composantes retenues -# - NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des composante(s) retenue(s) pour le champ.", - ang="List of the selected component(s) for the field." ), -# -# 4.1.5. Le paramètre temporel pour le champ -# - b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)", - fr="Choix éventuel du paramètre temporel pour le champ", - ang="Time selection for the field (option)", -# - regles=(EXCLUS('NUME_ORDRE','INST'),), -# -# 4.1.5.1. Soit le numero d'ordre -# - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numéro d ordre", - ang="Rank" ), -# -# 4.1.5.2. Soit l'instant -# 4.1.5.2.1. Sa valeur -# - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), -# -# 4.1.5.2.2. La précision du choix de l'instant -# - b_precision = BLOC(condition="(INST != None)", - fr="Choix de la précision du choix de l'instant", - ang="Precision for the choice of the instant", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over the choice of the instant"), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision relative sur le choix de l'instant associé", - ang="Relative accuracy over the choice of the instant"),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision absolue sur le choix de l'instant associé", - ang="Absolute accuracy over the choice of the instant"),), - ), -# - ), -# -# 4.1.6. Usage des composantes : maximum, maximum de la valeur absolue, ou de la norme L2, ou de la norme infinie -# - USAGE_CMP = SIMP(statut='f',typ='TXM',defaut="NORME_L2", - into=("ABSOLU", "NORME_L2", "NORME_INFINIE", "RELATIF"), - fr="Valeur absolue de la composante, ou norme du champ, ou valeur relative de la composante", - ang="Absolute value of the component, or norm of the field, or relative value of the component" ), -# -# 4.1.7. Usage du champ : la valeur par maille ou le max du saut entre mailles -# - USAGE_CHAMP = SIMP(statut='f',typ='TXM',defaut="MAILLE",into=("MAILLE", "SAUT"), - fr="Usage du champ : la valeur par maille ou le saut entre mailles voisines", - ang="Use of the field: value over every mesh or jump between the neighbours" ), -# -# 4.1.8. Initialisation de l'adaptation : raffinement ou déraffinement -# - ADAP_INIT = SIMP(statut='f',typ='TXM',defaut="GARDER",into=("GARDER", "DERAFFINER"), - fr="Initialisation de l'adaptation dans les régions sans indicateur : garder ou déraffiner", - ang="Initialization of the adaptation in the areas without indicator: keep or unrefine" ), -# - ) , -# -# 5. Les criteres pour de l'adaptation libre avec un champ : -# absolu, relatif, en proportion d'entite -# 5.1. Pour le raffinement : -# - b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') " , - fr="Critère de raffinement.", - ang="Refinement threshold.", -# - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE', 'CRIT_RAFF_MS' ),), -# - CRIT_RAFF_ABS = SIMP(statut='f',typ='R', - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_RAFF_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Critère relatif : fraction réelle entre 0. et 1.", - ang="Relative threshold : ratio between 0. and 1." ), - CRIT_RAFF_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", - ang="Percentage of meshes: ratio between 0. and 1." ), - CRIT_RAFF_MS = SIMP(statut='f',typ='R', - fr="Critère absolu valant moyenne + n*sigma, n étant > 0", - ang="Absolute threshold: mean + n*sigma, with n > 0" ), - ) , -# -# 5.2. Pour le deraffinement : -# - b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'DERAFFINEMENT') " , - fr="Critère de déraffinement.", - ang="Unrefinement threshold.", -# - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE', 'CRIT_DERA_MS' ),), -# - CRIT_DERA_ABS = SIMP(statut='f',typ='R' , - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_DERA_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Critère relatif : fraction réelle entre 0. et 1.", - ang="Relative threshold: ratio between 0. and 1." ), - CRIT_DERA_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", - ang="Percentage of meshes: ratio between 0. and 1." ), - CRIT_DERA_MS = SIMP(statut='f',typ='R', - fr="Critère absolu valant moyenne - n*sigma, n étant > 0", - ang="Absolute threshold: mean - n*sigma, with n > 0" ), - ) , -# -# 6. Pour de l'adaptation par zone, définitions des zones -# - b_zone = BLOC( condition = " (ADAPTATION == 'RAFF_DERA_ZONE') " , - fr="Pour une adaptation selon une zone à raffiner", - ang="For adaptation among a zone", -# - ZONE = FACT(statut='o',min=1,max='**', - fr="Définition de zones à raffiner.", - ang="Refined zone definition.", -# -# 6.1. Type de la zone -# - TYPE = SIMP(statut='o',typ='TXM',into=("RECTANGLE", "BOITE", "DISQUE", "SPHERE", "CYLINDRE", "DISQUE_PERCE", "TUYAU"), - fr="Type de la zone", - ang="Type of the zone" ), -# -# 6.2. Usage de la zone -# - USAGE = SIMP(statut='f',typ='TXM',into=("RAFFINEMENT","DERAFFINEMENT"),defaut="RAFFINEMENT", - fr="Zone pour raffiner", - ang="Zone: refinement" ), -# -# Ne sachant pas exploiter les blocs, je mets des regles -# - regles=(AU_MOINS_UN('X_MINI','X_CENTRE','HAUTEUR'), - EXCLUS('X_MINI','X_CENTRE','HAUTEUR',), - EXCLUS('Z_MINI','X_CENTRE','HAUTEUR',), - EXCLUS('X_MINI','Z_CENTRE','HAUTEUR',), - EXCLUS('Z_MINI','Z_CENTRE','HAUTEUR',), - EXCLUS('X_MINI','RAYON',), - EXCLUS('Z_MINI','RAYON',), - EXCLUS('RAYON','RAYON_INT',),), -# -# 6.3. Une boite rectangulaire ou parallelepipedique -# 6.3.1. Incontournables -# -##gn b_z_boiteXY = BLOC( condition = " (TYPE == 'RECTANGLE') or (TYPE == 'BOITE') " , -##gn fr="X et Y mini/maxi pour un rectangle ou un parallelepipede.", -##gn ang="X and Y min/max for a rectangle or a parallelepipedic box", - X_MINI = SIMP(statut='f',typ='R', - fr="Abscisse minimum de la boite", - ang="Minimum X for the box"), - X_MAXI = SIMP(statut='f',typ='R', - fr="Abscisse maximum de la boite", - ang="Maximum X for the box"), - Y_MINI = SIMP(statut='f',typ='R', - fr="Ordonnée minimum de la boite", - ang="Minimum Y for the box"), - Y_MAXI = SIMP(statut='f',typ='R', - fr="Abscisse maximum de la boite", - ang="Maximum Y for the box"), -##gn ) , -# -# 6.3.2. Complement pour une boite parallelepipedique -# -##gn b_z_boiteZ = BLOC( condition = " (TYPE == 'BOITE') " , -##gn fr="Z mini/maxi pour un parallelepipede.", -##gn ang="Z min/max for a parallelepipedic box", - Z_MINI = SIMP(statut='f',typ='R', - fr="Cote minimum de la boite", - ang="Minimum Z for the box"), - Z_MAXI = SIMP(statut='f',typ='R', - fr="Cote maximum de la boite", - ang="Maximum Z for the box"), -##gn ) , -# -# 6.4. Rayon pour un disque, une sphere ou un cylindre -# -##gn b_z_rayon = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , -##gn fr="Le rayon d'un disque, d'une sphere ou d'un cylindre.", -##gn ang="The radius of a disk or of a sphere or of a cylinder.", - RAYON = SIMP(statut='f',typ='R', - fr="Rayon", - ang="Radius"), -##gn ) , -# -# 6.5. Pour un disque plein ou perce, une sphere -# 6.5.1. Incontournables -# -##gn b_z_di_sp_XY = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'DISQUE_PERCE') " , -##gn fr="X et Y du centre d'un disque plein ou perce, d'une sphere.", -##gn ang="X and Y of the centre of a disk or of a sphere.", - X_CENTRE = SIMP(statut='f',typ='R', - fr="Abscisse du centre du disque ou de la sphère", - ang="X for the center of the disk or of the sphere"), - Y_CENTRE = SIMP(statut='f',typ='R', - fr="Ordonnée du centre du disque ou de la sphère", - ang="Y for the center of the disk or of the sphere"), -##gn ) , -# -# 6.5.2. Complement pour une sphere -# -##gn b_z_sp_Z = BLOC( condition = " (TYPE == 'SPHERE') " , -##gn fr="Cote du centre de la sphere.", -##gn ang="Z for the center of the sphere.", - Z_CENTRE = SIMP(statut='f',typ='R', - fr="Cote du centre de la sphère", - ang="Z for the center of the sphere"), -##gn ) , -# -# 6.6. Rayons interieur et exterieur pour un disque perce ou un tuyau -# -##gn b_z_rayon_int_ext = BLOC( condition = " (TYPE == 'DISQUE_PERCE') or (TYPE == 'TUYAU') " , -##gn fr="Le rayon d'un disque perce ou d'un tuyau.", -##gn ang="The radius of a holed disk or of a pipe.", - RAYON_INT = SIMP(statut='f',typ='R', - fr="Rayon intérieur", - ang="Internal radius"), - RAYON_EXT = SIMP(statut='f',typ='R', - fr="Rayon extérieur", - ang="External radius"), -##gn ) , -# -# 6.7. Un cylindre ou un tuyau -# -##gn b_z_cylindre_tuyau = BLOC( condition = " (TYPE == 'CYLINDRE') or (TYPE == 'TUYAU') " , -##gn fr="Pour un cylindre ou un tuyau.", -##gn ang="For a cylinder or a pipe.", - X_AXE = SIMP(statut='f',typ='R', - fr="Abscisse du vecteur directeur de l'axe", - ang="X for the axial vector"), - Y_AXE = SIMP(statut='f',typ='R', - fr="Ordonnée du vecteur directeur de l'axe", - ang="Y for the axial vector"), - Z_AXE = SIMP(statut='f',typ='R', - fr="Cote du vecteur directeur de l'axe", - ang="Z for the axial vector"), - X_BASE = SIMP(statut='f',typ='R', - fr="Abscisse d'un point de la base, sur l'axe", - ang="X for the basis, on the axis"), - Y_BASE = SIMP(statut='f',typ='R', - fr="Ordonnée d'un point de la base, sur l'axe", - ang="Y for the basis, on the axis"), - Z_BASE = SIMP(statut='f',typ='R', - fr="Cote d'un point de la base, sur l'axe", - ang="Z for the basis, on the axis"), - HAUTEUR = SIMP(statut='f',typ='R', - fr="Hauteur", - ang="Height"), -##gn ) , -# - ) , -# - ) , -# -# 7. Les niveaux extremes pour le maillage adapte -# 7.1. Pour le raffinement : -# - b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ - (ADAPTATION == 'RAFF_DERA_ZONE') " , - fr="Profondeur maximale de raffinement", - ang="Maximum depth for the refinement", -# - NIVE_MAX = SIMP(statut='f',typ='I', - fr="Niveau maximum de profondeur de raffinement", - ang="Maximum level for the refinement"), -# - DIAM_MIN = SIMP(statut='f',typ='R', - fr="Diamètre minimal des mailles", - ang="Minimal diameter for the meshes" ), -# - ) , -# -# 7.2. Pour le deraffinement : -# - b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'DERAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , - fr="Niveau minimum de profondeur de déraffinement", - ang="Minimum level for the unrefinement", - NIVE_MIN = SIMP(statut='f',typ='I', - fr="Niveau minimum de profondeur de déraffinement", - ang="Minimum level for the unrefinement"), - ) , -# -# 8. Filtrage de l'adaptation par des groupes -# - b_filtrage_par_des_groupes = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ - (ADAPTATION == 'RAFF_DERA_ZONE') or \ - (ADAPTATION == 'DERAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , - fr="Filtrage de l'adaptation par des groupes.", - ang="Filtering of adaptation by the groups.", -# - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles pour le filtrage de l'adaptation.", - ang="List of the groups of meshes for filtering of the adaptation." ), -# - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**', - fr="Liste des groupes de noeuds pour le filtrage de l'adaptation.", - ang="List of the groups of nodes for filtering of the adaptation." ), - ) , -# -# 9. Suivi d'une frontière -# -# 9.1. Definition d'une frontière par un maillage (valable seulement pour des frontières 1D) -# - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, - fr="Maillage de la frontière discrète à suivre", - ang="Discrete boundary mesh" ), -# - b_FRONTIERE = BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Information complémentaire sur la frontière discrète", - ang="Further information about discrete boundary", -# - GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles définissant la frontière discrète", - ang="Mesh groups which define the discrete boundary" ), -# - ) , -# -# 9.2. Definition analytique d'une frontière -# - FRONTIERE_ANALYTIQUE = FACT(statut='f',max='**', - fr="Definition analytique de frontières a suivre.", - ang="Analytical definition of a boundary.", -# -# 9.2.1. Nom de la frontière -# - NOM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - fr="Nom de la frontière analytique", - ang="Name of the analytic boundary" ), -# -# 9.2.2. Type de la frontière -# - TYPE = SIMP(statut='o',typ='TXM',into=("SPHERE", "CYLINDRE"), - fr="Type de la frontière analytique", - ang="Type of the analytic boundary" ), -# -# 9.2.3. Pour une sphere, un cylindre par ses rayons : rayon et centre -# - b_fr_rayon = BLOC( condition = " (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , - fr="Le rayon et le centre d'une sphère ou d'un cylindre.", - ang="The radius and the centre of a sphere or of a cylinder.", - RAYON = SIMP(statut='o',typ='R', - fr="Rayon", - ang="Radius"), - X_CENTRE = SIMP(statut='o',typ='R', - fr="Abscisse du centre", - ang="X for the center"), - Y_CENTRE = SIMP(statut='o',typ='R', - fr="Ordonnée du centre", - ang="Y for the center"), - Z_CENTRE = SIMP(statut='o',typ='R', - fr="Cote du centre", - ang="Z for the center"), - ) , -# -# 9.2.4. Pour un cylindre defini par axe et angle : axe -# - b_fr_cylindre = BLOC( condition = " (TYPE == 'CYLINDRE') " , - fr="Pour un cylindre.", - ang="For a cylinder.", - X_AXE = SIMP(statut='o',typ='R', - fr="Abscisse du vecteur directeur de l'axe", - ang="X for the axial vector"), - Y_AXE = SIMP(statut='o',typ='R', - fr="Ordonnée du vecteur directeur de l'axe", - ang="Y for the axial vector"), - Z_AXE = SIMP(statut='o',typ='R', - fr="Cote du vecteur directeur de l'axe", - ang="Z for the axial vector"), - ) , -# -# 9.2.7. Groupe(s) lie(s) a la frontière -# - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles placées sur la frontière", - ang="Groups of meshes which are located on the boundary" ), -# - ) , -# -# 10. mise à jour de champs sur le nouveau maillage -# - MAJ_CHAM = FACT(statut='f',max='**', - fr="Mise à jour de champs sur le nouveau maillage.", - ang="Updating of the fields over the new mesh.", -# -# 10.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour -# - CHAM_MAJ = SIMP(statut='o',typ=CO, - fr="Nom du champ de grandeur qui contiendra le champ mis à jour", - ang="Name of the field for the updated field"), -# -# 10.2. Le type du champ qui contiendra le resultat de la mise a jour -# - TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO( ('NOEU', 'ELEM', 'ELNO', 'ELGA') ), - fr="Type du champ qui contiendra le champ mis à jour", - ang="Type of the field for the updated field" ), -# -# 10.3. Le champ a interpoler -# - regles=(UN_PARMI('CHAM_GD','RESULTAT')), -# -# 10.3.1. Sous forme de champ de grandeur -# - CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, - fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour", - ang="Champ de grandeur with the field to be updated" ), -# -# 10.3.2. Sous forme de champ dans un resultat -# - RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), - fr="Résultat contenant le champ à mettre à jour", - ang="Result with the field to be updated" ), -# - b_nom_du_champ = BLOC(condition="(RESULTAT != None)", - fr="Choix éventuel du nom du champ à interpoler", - ang="Selection for the name of the field (option)", -# - NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), - fr="Nom du champ à mettre à jour", - ang="Name of the field to be updated" ), -# - ), -# -# 10.4. Les composantes -# - NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des composante(s) retenue(s) pour le champ.", - ang="List of the selected component(s) for the field." ), -# -# 10.5. Le paramètre temporel pour le champ a interpoler -# - b_parametre_temporel = BLOC(condition="(RESULTAT != None)", - fr="Choix éventuel du paramètre temporel pour le champ à interpoler", - ang="Time selection for the field (option)", -# - regles=(EXCLUS('NUME_ORDRE','INST'),), -# -# 10.5.1. Soit le numero d'ordre -# - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numéro d ordre du champ à mettre à jour", - ang="Rank of the field to be updated" ), -# -# 10.5.2. Soit l'instant -# 10.5.2.1. Sa valeur -# - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), -# -# 10.5.2.2. La précision du choix de l'instant -# - b_precision = BLOC(condition="(INST != None)", - fr="Choix de la précision du choix de l'instant", - ang="Selection for the choice of the instant", -# - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over the choice of the instant"), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision relative sur le choix de l'instant associé", - ang="Relative accuracy over the choice of the instant"),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision absolue sur le choix de l'instant associé", - ang="Absolute accuracy over the choice of the instant"),), -# - ), -# - ), -# -# 10.6. Type d'interpolation -# - TYPE_MAJ = SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO", "ISOP2"), - fr="Type de mise à jour : automatique ou iso-P2", - ang="Type of the updating" ), - ), -# -# 11. Les modifications -# - b_modifications = BLOC( condition = " (ADAPTATION == 'MODIFICATION') " , - fr="Modification de maillage.", - ang="Modification of the mesh.", -# - #regles=(AU_MOINS_UN('DEGRE','JOINT'),), -# -# 11.1. Changement de degre -# - DEGRE = SIMP(statut='o',typ='TXM',into=("OUI",), - fr="Changement de degré du maillage", - ang="Modification of the degree of the mesh" ), -# - ) , -# -# 12. Le modele pour les lectures de champs aux points de Gauss ou aux noeuds par element -# - b_lectures = BLOC( condition = " (ADAPTATION == 'LECTURE') " , - fr="Lectures de champs aux points de Gauss.", - ang="Readings of the fields over the Gauss points.", -# - MODELE = SIMP(statut='o',typ=modele_sdaster, - fr="Modèle", - ang="Model" ), -# - ) , -# -# 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres -# - b_analyses = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Analyse du maillage.", - ang="Analysis of the mesh.", -# -# 13.1. Nombre de noeuds et mailles -# - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Nombre de noeuds et de mailles du maillage", - ang="Number of nodes and meshes in the mesh" ), -# -# 13.2. Determination de la qualité des mailles du maillage -# - QUALITE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Qualité du maillage", - ang="Quality of the mesh" ), -# -# 13.3. Connexite du maillage -# - CONNEXITE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Connexité du maillage.", - ang="Connexity of the mesh." ), -# -# 13.4. Taille des sous-domaines du maillage -# - TAILLE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# -# 13.5. Controle de la non-interpenetration des mailles -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Controle de la non interpénétration des mailles.", - ang="Overlapping checking." ), -# -# 13.6. Propriétés du maillage de calcul -# - PROP_CALCUL = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Propriétés du maillage de calcul.", - ang="Properties of the calculation mesh." ), -# -# 13.7. Determination des diametres des mailles du maillage -# - DIAMETRE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Diamètre du maillage", - ang="Diameters of the mesh" ), -# - ) , -# -# 14. champs supplementaires sur le nouveau maillage -# - ADD_CHAM = FACT(statut='f',max='**', - fr="Champs supplementaires sur le nouveau maillage.", - ang="Additional fields over the new mesh.", -# -# 14.1. Le nom du champ de grandeur qui contiendra le nouveau champ -# - CHAM_GD = SIMP(statut='o',typ=CO, - fr="Nom du champ de grandeur qui contiendra le champ supplementaire", - ang="Name of the field for the additional field"), -# -# 14.2. La categorie du champ supplementaire -# - CHAM_CAT = SIMP(statut='o',typ='TXM',into=("NIVEAU", "DIAMETRE"), - fr="Categorie du champ supplementaire : niveau ou diametre", - ang="Category of the additional field: level or diameter" ), -# - ) , -# -# 15. Les options avancées -# 15.1. Langue des messages issus de HOMARD -# - LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", - into=("FRANCAIS", "FRENCH", "ANGLAIS", "ENGLISH",), - fr="Langue des messages issus de HOMARD.", - ang="Language for HOMARD messages." ), -# -# 15.2. Gestion des mailles acceptees dans le maillage initial -# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) -# "IGNORE_PYRA" : elles sont ignorées -# - b_autres_mailles = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Gestion des pyramides.", - ang="Pyramids.", -# - ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), - fr="Acceptation des mailles dans le maillage initial", - ang="Elements in the very first mesh" ), -# - ) , -# -# 15.3. Version de HOMARD -# - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", - into=("V10_6", "V10_N", "V10_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), -# -# 15.4. Exécutable pilotant HOMARD -# - LOGICIEL = SIMP(statut='f',typ='TXM', - fr="Logiciel pilotant HOMARD", - ang="HOMARD software"), -# -# 15.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration -# - b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ - (VERSION_HOMARD == 'V10_N_PERSO') " , - fr="Fichier supplementaire.", - ang="Additional file.", -# - UNITE = SIMP(statut='f',typ='I', - fr="Unite logique a ajouter a HOMARD.Configuration", - ang="Additional file to HOMARD.Configuration" ), -# - ) , -# -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,RESU_THER,**args): - self.type_sdprod(MODELE,modele_sdaster) - if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) - if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) - if FOND_FISS != None:self.type_sdprod(FOND_FISS,fond_fiss) - if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) - return evol_noli - -MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC", - op=OPS('Macro.macr_ascouf_calc_ops.macr_ascouf_calc_ops'), - sd_prod=macr_ascouf_calc_prod, - fr="Réalise l'analyse thermomécanique du coude dont le maillage a " \ - "été concu par MACR_ASCOUF_MAIL", - reentrant='n', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - - TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', - into=("SAIN", - "FISS_COUDE", - "FISS_AXIS_DEB", - "SOUS_EPAIS_COUDE" - ) ), - - CL_BOL_P2_GV =FACT(statut='f', - ANGLE =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - ), - - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - MODELE =SIMP(statut='o',typ=CO,), - CHAM_MATER =SIMP(statut='f',typ=CO,), - CARA_ELEM =SIMP(statut='f',typ=CO,), - FOND_FISS =SIMP(statut='f',typ=CO,), - RESU_THER =SIMP(statut='f',typ=CO,), - - AFFE_MATERIAU =FACT(statut='o',max=3, - regles=(UN_PARMI('TOUT','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,into=("COUDE","BOL") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - PRES_REP =FACT(statut='f', - PRES =SIMP(statut='o',typ='R' ), - EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ECHANGE =FACT(statut='f', - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - TORS_P1 =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - COMPORTEMENT =C_COMPORTEMENT('MACR_ASCOUF_CALC'), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACR_ASCOUF_CALC'), -#------------------------------------------------------------------- - - CONVERGENCE =C_CONVERGENCE(), - - NEWTON =C_NEWTON(), - - RECH_LINEAIRE =C_RECH_LINEAIRE(), - - INCREMENT =C_INCREMENT('MECANIQUE'), - - THETA_3D =FACT(statut='f',max='**', - R_INF =SIMP(statut='o',typ='R' ), - R_SUP =SIMP(statut='o',typ='R' ), - ), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - IMPR_TABLE =FACT(statut='f', - regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ), - PRESENT_PRESENT('TOUT_PARA','ANGLE', ), - PRESENT_PRESENT('TOUT_PARA','R_CINTR', ), - UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4, - into=("TRESCA_MEMBRANE", - "TRESCA_MFLE", - "TRESCA", - "SI_LONG" - "SI_RADI" - "SI_CIRC" - ) ), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ANGLE =SIMP(statut='f',typ='R', ), - R_CINTR =SIMP(statut='f',typ='R', ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R', ), - POSI_ANGUL =SIMP(statut='f',typ='R', ), - TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), - ), - - IMPRESSION =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","ASTER","IDEAS","CASTEM") ), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - ), - - TITRE =SIMP(statut='f',typ='TXM' ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL", - op=OPS('Macro.macr_ascouf_mail_ops.macr_ascouf_mail_ops'), - sd_prod=maillage_sdaster, - fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)", - UIinfo={"groupes":("Maillage","Outils-métier",)}, - reentrant='n', - - regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), - - EXEC_MAILLAGE =FACT(statut='o', - LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ), - UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), - UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), - ), - - TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ), - - COUDE =FACT(statut='o', - ANGLE =SIMP(statut='o',typ='R' ), - R_CINTR =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - L_TUBE_P2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ), - SYME =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ), - TRANSFORMEE =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), - b_transf_coude =BLOC(condition = "TRANSFORMEE == 'COUDE' ", - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), - ), - b_transf_tube =BLOC(condition = "TRANSFORMEE == 'TUBE' ", - TRAN_EPAIS =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_trans_epais_oui =BLOC(condition = "TRAN_EPAIS == 'OUI' ", - regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'), - UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),), - DEXT_T1 =SIMP(statut='o',typ='R' ), - EPAIS_T1 =SIMP(statut='o',typ='R' ), - EPAIS_T2 =SIMP(statut='o',typ='R' ), - EPAIS_TI =SIMP(statut='f',typ='R' ), - ANGL_TETA1 =SIMP(statut='o',typ='R' ), - ANGL_TETA2 =SIMP(statut='f',typ='R' ), - ABSC_CURV_TRAN =SIMP(statut='f',typ='R' ), - POSI_ANGU_TRAN =SIMP(statut='f',typ='R' ), - ), - b_trans_epais_non =BLOC(condition = "TRAN_EPAIS == 'NON' ", - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), - ), - ), - ), - - SOUS_EPAIS_COUDE=FACT(statut='f', - regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), - UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), - TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), - AXE_CIRC =SIMP(statut='f',typ='R' ), - AXE_LONGI =SIMP(statut='o',typ='R' ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R' ), - SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), - NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), - NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), - NB_ELEM_RADI =SIMP(statut='f',typ='I',defaut= 3 ), - EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - SOUS_EPAIS_MULTI=FACT(statut='f',max='**', - regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), - UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), - TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), - AXE_CIRC =SIMP(statut='f',typ='R' ), - AXE_LONGI =SIMP(statut='o',typ='R' ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R' ), - SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), - NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), - NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), - EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - FISS_COUDE =FACT(statut='f', - regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),), - AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - b_axis_non =BLOC(condition = "AXIS == 'NON' ", - LONGUEUR =SIMP(statut='o',typ='R' ), - ), - b_axis_oui =BLOC(condition = "AXIS == 'OUI' ", - LONGUEUR =SIMP(statut='f',typ='R' ), - ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - ABSC_CURV =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - ORIEN =SIMP(statut='o',typ='R', - into=(45.,-45.,90.,0.E+0) ), - NB_TRANCHE =SIMP(statut='o',typ='I' ), - NB_SECTEUR =SIMP(statut='o',typ='I' ), - NB_COURONNE =SIMP(statut='o',typ='I' ), - RAYON_TORE =SIMP(statut='f',typ='R' ), - COEF_MULT_RC2 =SIMP(statut='f',typ='R',defaut= 1. ), - COEF_MULT_RC3 =SIMP(statut='f',typ='R' ), - ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - - IMPRESSION =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", - into=("ASTER","IDEAS","CASTEM") ), - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - FICHIER =SIMP(statut='f',typ='TXM' ), - UNITE =SIMP(statut='f',typ='I' ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,RESU_THER,**args): - if MODELE != None:self.type_sdprod(MODELE,modele_sdaster) - if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) - if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) - if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss) - if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss) - if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) - return evol_noli - -MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC", - op=OPS('Macro.macr_aspic_calc_ops.macr_aspic_calc_ops'), - sd_prod=macr_aspic_calc_prod, - fr="Réalise un calcul prédéfini de piquages sains ou fissurés " \ - "ainsi que les post-traitements associés ", - UIinfo={"groupes":("Résolution","Outils-métier",)}, - reentrant='n', - - TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', - into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB", - "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ), - - TUBULURE =FACT(statut='o', - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=CO,), - CHAM_MATER =SIMP(statut='f',typ=CO,), - CARA_ELEM =SIMP(statut='f',typ=CO,), - FOND_FISS_1 =SIMP(statut='f',typ=CO,), - FOND_FISS_2 =SIMP(statut='f',typ=CO,), - RESU_THER =SIMP(statut='f',typ=CO,), - - AFFE_MATERIAU =FACT(statut='o',max=3, - regles=(UN_PARMI('TOUT','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma,into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ), - MATER =SIMP(statut='o',typ=mater_sdaster), - TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RCCM =SIMP(statut='o',typ='TXM',into=("OUI","NON")), - ), - - EQUILIBRE =FACT(statut='o', - NOEUD =SIMP(statut='o',typ=no), - ), - - PRES_REP =FACT(statut='o', - PRES =SIMP(statut='o',typ='R'), - NOEUD =SIMP(statut='f',typ=no), - EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - ECHANGE =FACT(statut='f', - COEF_H_TUBU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_H_CORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TORS_CORP =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - NOEUD =SIMP(statut='o',typ=no), - FX =SIMP(statut='f',typ='R'), - FY =SIMP(statut='f',typ='R'), - FZ =SIMP(statut='f',typ='R'), - MX =SIMP(statut='f',typ='R'), - MY =SIMP(statut='f',typ='R'), - MZ =SIMP(statut='f',typ='R'), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TORS_TUBU =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R'), - FY =SIMP(statut='f',typ='R'), - FZ =SIMP(statut='f',typ='R'), - MX =SIMP(statut='f',typ='R'), - MY =SIMP(statut='f',typ='R'), - MZ =SIMP(statut='f',typ='R'), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - COMPORTEMENT =C_COMPORTEMENT('MACR_ASPIC_CALC'), - - THETA_3D =FACT(statut='f',max='**', - R_INF =SIMP(statut='o',typ='R'), - R_SUP =SIMP(statut='o',typ='R'), - ), - - OPTION =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ), - BORNES =FACT(statut='f',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACR_ASPIC_CALC'), -#------------------------------------------------------------------- - - CONVERGENCE =C_CONVERGENCE(), - - NEWTON =C_NEWTON(), - - RECH_LINEAIRE =C_RECH_LINEAIRE(), - - INCREMENT =C_INCREMENT('MECANIQUE'), - - PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - IMPRESSION =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","ASTER","CASTEM","IDEAS")), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - b_extrac =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))", - fr="extraction d un champ de grandeur", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","SIEQ_ELNO","TEMP")), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - TITRE =SIMP(statut='f',typ='TXM'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL", - op=OPS('Macro.macr_aspic_mail_ops.macr_aspic_mail_ops'), - sd_prod=maillage_sdaster, - reentrant='n', - fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)", - UIinfo={"groupes":("Maillage","Outils-métier",)}, - - EXEC_MAILLAGE =FACT(statut='o', - LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")), - UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), - UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), - ), - - TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")), - - RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), - - TUBULURE =FACT(statut='o', - E_BASE =SIMP(statut='o',typ='R'), - DEXT_BASE =SIMP(statut='o',typ='R'), - L_BASE =SIMP(statut='o',typ='R'), - L_CHANF =SIMP(statut='o',typ='R'), - E_TUBU =SIMP(statut='o',typ='R'), - DEXT_TUBU =SIMP(statut='o',typ='R'), - Z_MAX =SIMP(statut='o',typ='R'), - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), - L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - - SOUDURE =FACT(statut='o', - H_SOUD =SIMP(statut='o',typ='R'), - ANGL_SOUD =SIMP(statut='o',typ='R'), - JEU_SOUD =SIMP(statut='o',typ='R'), - ), - - CORPS =FACT(statut='o', - E_CORP =SIMP(statut='o',typ='R'), - DEXT_CORP =SIMP(statut='o',typ='R'), - X_MAX =SIMP(statut='o',typ='R'), - ), - - FISS_SOUDURE =FACT(statut='f', - TYPE =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")), - AXIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - PROFONDEUR =SIMP(statut='o',typ='R'), - LONGUEUR =SIMP(statut='f',typ='R'), - AZIMUT =SIMP(statut='o',typ='R'), - RAYON_TORE =SIMP(statut='f',typ='R'), - POSITION =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")), - FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")), - LIGA_INT =SIMP(statut='f',typ='R'), - ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT_RC1 =SIMP(statut='f',typ='R'), - COEF_MULT_RC2 =SIMP(statut='f',typ='R'), - COEF_MULT_RC3 =SIMP(statut='f',typ='R'), - NB_TRANCHE =SIMP(statut='f',typ='I'), - NB_SECTEUR =SIMP(statut='f',typ='I'), - NB_COURONNE =SIMP(statut='f',typ='I'), - ), - - IMPRESSION =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - FICHIER =SIMP(statut='f',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr - - -MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE", - op=OPS('Macro.macr_cara_poutre_ops.macr_cara_poutre_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Calculer les caractéristiques d'une section transversale de " \ - "poutre à partir d'un maillage 2D de la section", - regles=( - EXCLUS('SYME_Y','GROUP_MA_BORD'), - EXCLUS('SYME_Z','GROUP_MA_BORD'), - ), - - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster, fr="Nom du concept maillage"), - b_maillage =BLOC( - condition = "MAILLAGE == None", - regles=( PRESENT_PRESENT('FORMAT','UNITE') ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier"), - UNITE =SIMP(statut='f',typ='I',defaut= 20, - fr="Unite correspondant au format du fichier maillage"), - ), - - ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), - fr="Point par rapport auquel sont calculées les inerties"), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - TABLE_CARA =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), - - SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a y=0"), - SYME_Z =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a z=0"), - - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Calcul des caractéristiques équivalentes à plusieurs sections disjointes"), - - GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), - - b_nom =BLOC( - condition = """(TABLE_CARA == 'OUI') and (GROUP_MA == None)""", - NOM =SIMP(statut='f',typ='TXM',max=1,validators=LongStr(1,8), - fr="Nom de la section, 8 caractères maximum.") - ), - - b_gma_bord =BLOC( - condition = "GROUP_MA_BORD != None", - fr=" calcul des carac. mecaniques", - regles=(UN_PARMI('NOEUD','GROUP_NO')), - NOEUD =SIMP(statut='f',typ=no,max='**', - fr="Simplement pour empecher des pivots nuls le cas echeant. " - "Fournir un noeud quelconque"), - GROUP_NO =SIMP(statut='f',typ=grno,max='**', - fr="Simplement pour empecher des pivots nuls le cas echeant. " - "Fournir un noeud quelconque par GROUP_MA"), - GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupes de mailles linéiques bordant des trous dans la section"), - ), - - b_reseau = BLOC( - condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", - fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", - regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), - LONGUEUR =SIMP(statut='f',typ='R', - fr="Longueur du réseau de poutres"), - MATERIAU =SIMP(statut='f',typ=mater_sdaster, - fr="Materiau elastique lineaire du reseau"), - LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), - fr="type de conditions aux limites sur le plancher supérieur" ), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - - -def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): - self.type_sdprod(RESULTAT,AsType(RESU_INIT)) - self.type_sdprod(MAILLAGE,maillage_sdaster) - return None - - -MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG", - op=OPS('Macro.macr_ecla_pg_ops.macr_ecla_pg_ops'), - sd_prod=macr_ecla_pg_prod, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Permettre la visualisation des champs aux points de Gauss d'une " \ - "SD_RESULTAT sans lissage ni interpolation", - - # SD résultat ,modèle et champs à "éclater" : - RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), - MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - - # paramètres numériques de la commande : - SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), - TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), - - # concepts produits par la commande : - RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), - MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), - - # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - - # Sélection des numéros d'ordre : - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def macr_ecre_calc_prod(self,TABLE,DEBIT,**args): - - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(DEBIT,table_sdaster) - return None - -MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC", - op=OPS('Macro.macr_ecre_calc_ops.macr_ecre_calc_ops'), - sd_prod=macr_ecre_calc_prod, - reentrant='n', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - fr="Procedure de couplage avec Ecrevisse", - - regles = (UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT -# ******************************************** - TABLE =SIMP(statut='o',typ=CO), - DEBIT =SIMP(statut='o',typ=CO), - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - - FISSURE =FACT(statut='o',min=1,max=1, - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Longueur de la fissure [zl]"), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]"), - ANGLE =SIMP(statut='o',typ='R',fr="Angle par rapport a l'ascendante verticale (degres)"), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]"), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]"), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant le grand axe de la section", - validators=NoRepeat()), - LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le grand axe de la section",), - LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section",), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant la hauteur de la section", - validators=NoRepeat()), - LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la hauteur de la section",), - LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section", - validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section",), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - - ECOULEMENT =FACT(statut='f',min=1,max=1, - PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - ), - - -# DONNEES RELATIVES AU PROFIL DE TEMPERATURE A TRAVERS LA PAROI -# ************************************************************* - - TEMPERATURE =FACT(statut='f',min=1,max=1, - GRADIENT =SIMP(statut='o',typ='TXM',into=("FOURNI","IMPOSE","CALCULE"), - fr="Modele de calcul du gradient de temperature [imograd]" ), - b_gradient_fourni =BLOC(condition="GRADIENT=='FOURNI'",fr="Distribution de temperature fournie [imograd=-1]", - LISTE_COTES_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des cotes pour les temperatures", - validators=NoRepeat() ), - LISTE_VAL_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des valeurs de temperature", ), - ), - b_gradient_impose =BLOC(condition="GRADIENT=='IMPOSE'",fr="Distribution imposee de temperature [imograd=0]", - TEMP1 =SIMP(statut='o',typ='R', - fr="Gradient de temperature de la paroi le long de l'ecoulement (degC/m) [tm1]", ), - TEMP2 =SIMP(statut='o',typ='R',fr="Temperature de la paroi a l'entree (degC) [tm2]", ), - ), - b_gradient_calcule =BLOC(condition="GRADIENT=='CALCULE'",fr="Profil de temperature calcule [imograd=1]", - EPAISSEUR_PAROI =SIMP(statut='o',typ='R',fr="Epaisseur de la paroi (m) [epp]", ), - CONVECTION_AMONT =SIMP(statut='o',typ='R', - fr="Coefficient de convection a la surface de la paroi cote amont (W/degC/m2) [alphe]", ), - CONVECTION_AVAL =SIMP(statut='o',typ='R', - fr="Coefficient de convection a la surface de la paroi cote aval (W/degC/m2) [alphs]", ), - LAMBDA =SIMP(statut='o',typ='R',fr="Conduction thermique de la paroi (W/degC/m) [lambd]", ), - TEMP_FLUIDE_AVAL =SIMP(statut='o',typ='R',fr="Temperature du fluide cote aval (degC) [ts]", ), - ), - ), - - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='f',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]"), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]"), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]"), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]"), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]"), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE =FACT(statut='f',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - - -# GENERAL -# ******* - - COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def macr_ecrevisse_prod(self,TABLE,TEMPER,DEBIT,**args): - # On definit ici les concepts produits - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(TEMPER,evol_ther) - self.type_sdprod(DEBIT,table_sdaster) - # concept retourne - return evol_noli - - -MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE", - op=OPS('Macro.macr_ecrevisse_ops.macr_ecrevisse_ops'), - sd_prod=macr_ecrevisse_prod, - reentrant='f', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - fr="Procedure de couplage avec Ecrevisse", - - reuse = SIMP(statut='f',typ='evol_noli'), - regles = (EXCLUS('TEMPER','ETAT_INIT'), - UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPT SORTANT -# ******************************************** - TABLE =SIMP(statut='f',typ=CO), - DEBIT =SIMP(statut='f',typ=CO), - TEMPER =SIMP(statut='f',typ=CO), - -# ETAT_INITIAL -# ******************************************** - ETAT_INIT =FACT(statut='f', - EVOL_NOLI =SIMP(statut='o',typ=evol_noli), - EVOL_THER =SIMP(statut='o',typ=evol_ther), - NUME_ORDRE =SIMP(statut='o',typ='I'), - ), - - -# MODELES MECANIQUES -# ******************************************** - MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), - MODELE_THER =SIMP(statut='o',typ=modele_sdaster), - - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - FISSURE =FACT(statut='o',min=1,max='**', - PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8)), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, - fr="Groupe(s) des noeuds definissant les levres de la fissure"), - GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), - TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, - fr="Coefficient de tortuosite de la fissure" ), - OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section", ), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section",validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section", ), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - ECOULEMENT =FACT(statut='o',min=1,max=1, - regles=(UN_PARMI('PRES_ENTREE','PRES_ENTREE_FO'), - UN_PARMI('PRES_SORTIE','PRES_SORTIE_FO'), - ), - PRES_ENTREE =SIMP(statut='f',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='f',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - PRES_SORTIE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2", - regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO')), - fr="Fluide diphasique", - TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO'), - UN_PARMI('PRES_PART', 'PRES_PART_FO')), - fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5", - regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO'), - UN_PARMI('PRES_PART', 'PRES_PART_FO')), - fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Air seul", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - ), - - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster), fr="Liste des instants de calcul imposes" ), - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='o',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# CRITERE DE CONVERGENCE -# ********************** - - CONV_CRITERE =FACT(statut='o',min=1,max=1, - TEMP_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Temperature de reference pour le calcul du critere"), - PRES_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Pression de reference pour le calcul du critere"), - CRITERE =SIMP(statut='o',typ='TXM',defaut="TEMP_PRESS",into=("TEMP_PRESS","EXPLICITE","TEMP","PRESS"), - fr="La nature du critere pour la convergence"), - b_critere_autre =BLOC(condition="CRITERE=='TEMP_PRESS' or CRITERE=='TEMP' or CRITERE=='PRESS'", - fr="Critere de convergence temp_press, temp, ou press", - SUBD_NIVEAU =SIMP(statut='f',typ='I',val_min=2,defaut=3, - fr="Nombre maximum de niveau de subdivision d'un pas de temps"), - SUBD_PAS_MINI =SIMP(statut='f',typ='R',val_min=0.0, fr="Pas de temps en dessous duquel on ne subdivise plus"), - NUME_ORDRE_MIN =SIMP(statut='f',typ='I',val_min=-1,defaut=-1, - fr="Numero d'ordre a partir duquel le critere est pris en compte"), - PREC_CRIT =SIMP(statut='f',typ='R',val_min=1.0E-2,defaut=1.0, - fr="Valeur du critere pour l'erreur de convergence"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE_ECREVISSE =FACT(statut='f',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - - -# GENERAL -# ******* - - COURBES = SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL = SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION = SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE = SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION = SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO = SIMP(statut='f',typ='I',defaut="1",into=(1,2) ), - -# DONNEES POUR STAT_NON_LINE ET THER_NON_LINE -# ******************************************* - - # copie de stat_non_line.capy des options des mots cles qui nous interessent - - # donnees communes - - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - # donnees specifiques a stat_non_line - - EXCIT_MECA =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), - ), - - CONTACT = SIMP(statut='o',typ=char_contact), - - COMPORTEMENT = C_COMPORTEMENT(), - NEWTON = FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), - MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), - PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), - REAC_ITER =SIMP(statut='f',typ='I',defaut=0), - REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ), - CONVERGENCE = FACT(statut='d',regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), - b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", - regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE', - 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'), - ), - SIGM_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - VARI_REFE =SIMP(statut='f',typ='R'), - ), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - # donnees specifiques a ther_lineaire - - EXCIT_THER =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), - -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, - fr="Definition d'un macro element pour analyse modale ou harmonique par sous structuration dynamique", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - regles=( - # AMOR_REDUIT et MATR_AMOR sont redondants - EXCLUS('MATR_AMOR','AMOR_REDUIT' ), - - # Si MODELE_MESURE, on ne rentre pas de donnees pour le calcul - EXCLUS('MODELE_MESURE','MATR_RIGI' ), - EXCLUS('MODELE_MESURE','MATR_MASS' ), - EXCLUS('MODELE_MESURE','MATR_AMOR' ), - EXCLUS('MODELE_MESURE','AMOR_REDUIT' ), - EXCLUS('MODELE_MESURE','MATR_IMPE' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_RIGI' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_MASS' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_AMOR' ), - - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_RIGI'), - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_MASS'), - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_AMOR'), - PRESENT_ABSENT('MATR_IMPE','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_MASS','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_RIGI','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_AMOR','MATR_RIGI','MATR_MASS'),), - BASE_MODALE =SIMP(statut='o',typ=mode_meca ), - MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c),), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ), - MATR_IMPE =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_RIGI =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_MASS =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_AMOR =SIMP(statut='f',typ=matr_asse_gene_c ), - MODELE_MESURE =FACT(statut='f', - FREQ =SIMP(statut='o',typ='R',max='**' ), - MASS_GENE =SIMP(statut='o',typ='R',max='**' ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - ), - b_matr_impe =BLOC(condition = "MATR_IMPE != None", - FREQ_EXTR =SIMP(statut='o',typ='R' ), - AMOR_SOL =SIMP(statut='f',typ='R',defaut=0.E+0 ), - MATR_IMPE_INIT =SIMP(statut='f',typ=matr_asse_gene_c ), - ), - CAS_CHARGE =FACT(statut='f',max='**', - NOM_CAS =SIMP(statut='o',typ='TXM'), - VECT_ASSE_GENE =SIMP(statut='o',typ=vect_asse_gene ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration", - regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), - ENSEMBLE('DEFINITION','EXTERIEUR'),), - DEFINITION =FACT(statut='f', - regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), - INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ), - NMAX_CAS =SIMP(statut='f',typ='I',defaut=10), - NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10), - PROJ_MESU =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1), -# MODE_MESURE =SIMP(statut='f',typ=( mode_meca,base_modale) ), - MODE_MESURE =SIMP(statut='f',typ= mode_meca ), - ), - EXTERIEUR =FACT(statut='f', - regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - RIGI_MECA =FACT(statut='f', - ), - MASS_MECA =FACT(statut='f', - ), - AMOR_MECA =FACT(statut='f', - ), - CAS_CHARGE =FACT(statut='f',max='**', - NOM_CAS =SIMP(statut='o',typ='TXM'), - SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',defaut=0.E+0), - ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL", - op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), - docu="U7.03.02",UIinfo={"groupes":("Maillage",)}, - fr="Donner des informations sur un maillage.", - ang="To give information about a mesh.", -# -# 1. Le niveau d'information -# - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), -# -# 2. Le nom du maillage a analyser -# - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage à analyser.", - ang="Mesh to be checked." ), -# -# 3. Suivi d'une frontiere -# - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, - fr="Maillage de la frontiere à suivre", - ang="Boundary mesh" ), -# - b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Information complémentaire sur la frontière", - ang="Further information about boundary", -# - GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupes de mailles définissant la frontière", - ang="Mesh groups which define the boundary" ), -# - ) , -# -# 4. Les options ; par defaut, on controle tout, sauf l'interpénétration -# 4.1. Nombre de noeuds et mailles -# - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Nombre de noeuds et de mailles du maillage", - ang="Number of nodes and meshes in the mesh" ), -# -# 4.2. Determination de la qualite des mailles du maillage -# - QUALITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Qualité du maillage", - ang="Quality of the mesh" ), -# -# 4.3. Connexite du maillage -# - CONNEXITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Connexité du maillage.", - ang="Connexity of the mesh." ), -# -# 4.4. Taille des sous-domaines du maillage -# - TAILLE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# -# 4.5. Controle de la non-interpénétration des mailles -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Controle de la non interpénétration des mailles.", - ang="Overlapping checking." ), -# -# 4.6. Propriétés du maillage de calcul -# - PROP_CALCUL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Propriétés du maillage de calcul.", - ang="Properties of the calculation mesh." ), -# -# 4.7. Determination des diametres des mailles du maillage -# - DIAMETRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Diamètre du maillage", - ang="Diameters of the mesh" ), -# -# 5. Les options avancées -# 5.1. Langue des messages issus de HOMARD -# - LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", - into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), - fr="Langue des messages issus de HOMARD.", - ang="Language for HOMARD messages." ), -# -# 5.2. Gestion des mailles acceptees dans le maillage initial -# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) -# "IGNORE_PYRA" : elles sont ignorées -# - ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), - fr="Acceptation des mailles dans le maillage initial", - ang="Elements in the very first mesh" ), -# -# 5.3. Version de HOMARD -# - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", - into=("V10_6", "V10_N", "V10_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), -# -# 5.4. Exécutable pilotant HOMARD -# - LOGICIEL = SIMP(statut='f',typ='TXM', - fr="Logiciel pilotant HOMARD", - ang="HOMARD software"), -# -# 5.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration -# - b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ - (VERSION_HOMARD == 'V10_N_PERSO') " , - fr="Fichier supplementaire.", - ang="Additional file.", -# - UNITE = SIMP(statut='f',typ='I', - fr="Unite logique a ajouter a HOMARD.Configuration", - ang="Additional file to HOMARD.Configuration" ), -# - ) , -# -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - - -MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE", - op=OPS('Macro.macr_lign_coupe_ops.macr_lign_coupe_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur " \ - "des lignes de coupe définies par deux points et un intervalle", - regles=(UN_PARMI("RESULTAT","CHAM_GD"),), - - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca) ), - CHAM_GD =SIMP(statut='f',typ=(cham_gd_sdaster)), - - b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", - regles=(EXCLUS('NUME_ORDRE','NUME_MODE','LIST_ORDRE','INST','LIST_INST',), ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - -# extraction des résultats - b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli,mode_meca)",fr="résultat mécanique", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='SIGM_NOEU',into=C_NOM_CHAM_INTO(),), - ), - b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='TEMP',into=("TEMP", - "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", - "META_ELNO","META_NOEU", - "DURT_ELNO","DURT_NOEU", - "HYDR_ELNO","HYDR_NOEU", - "DETE_ELNO","DETE_NOEU", - "SOUR_ELGA","COMPORTHER", - "ERTH_ELEM","ERTH_ELNO","ERTH_NOEU",),),), - b_cham =BLOC(condition = "CHAM_GD!=None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),), - - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma), - MAILLE_1 =SIMP(statut='f',typ=ma,max='**'),), - - LIGN_COUPE =FACT(statut='o',max='**', - regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"), - PRESENT_PRESENT("TRAC_DIR","DIRECTION"), - EXCLUS("TRAC_DIR","TRAC_NOR"), - PRESENT_PRESENT("TRAC_DIR","NOM_CMP"), - PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),), - - INTITULE =SIMP(statut='f',typ='TXM',), - TYPE =SIMP(statut='o',typ='TXM',max=1, - into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", - into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), - OPERATION =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",), - - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",),), - ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),), - RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), - TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), - TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - - - b_local =BLOC(condition = "REPERE=='LOCAL' ", - VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),), - - b_utili =BLOC(condition = "REPERE=='UTILISATEUR'", - ANGL_NAUT =SIMP(statut='o',typ='R',min=3,max=3),), - - b_grno =BLOC(condition = "TYPE=='GROUP_NO'", - GROUP_NO =SIMP(statut='o',typ=grno, max=1),), - - b_grma =BLOC(condition = "TYPE=='GROUP_MA'", - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - GROUP_MA =SIMP(statut='o',typ=grma, max=1), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: - # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours - VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR - ), - - b_segment =BLOC(condition = "TYPE=='SEGMENT'", - NB_POINTS =SIMP(statut='o',typ='I',max=1), - COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), - COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3),), - - b_arc =BLOC(condition = "TYPE=='ARC'", - NB_POINTS =SIMP(statut='o',typ='I',max=1), - COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), - CENTRE =SIMP(statut='o',typ='R',min=2,max=3), - ANGLE =SIMP(statut='o',typ='R',max=1), - DNOR =SIMP(statut='f',typ='R',min=2,max=3),), - - b_cylind =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), - - DISTANCE_MAX =SIMP(statut='f',typ='R',defaut=0., - fr="Si la distance entre un noeud de la ligne de coupe et le maillage coupé " - +"est > DISTANCE_MAX, ce noeud sera ignoré."), - - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -def macr_recal_prod(self,**args ): - return listr8_sdaster - -MACR_RECAL = MACRO(nom="MACR_RECAL", - op=OPS('Macro.macr_recal_ops.macr_recal_ops'), - sd_prod=macr_recal_prod, - UIinfo={"groupes":("Résolution","Résultats et champs",)}, - fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux" \ - " ou sur d'autres résultats de calculs", - regles=(UN_PARMI('PARA_OPTI','LIST_PARA'), - PRESENT_PRESENT('PARA_OPTI','COURBE'), - PRESENT_PRESENT('LIST_PARA','RESU_EXP'), - PRESENT_PRESENT('LIST_PARA','RESU_CALC'), - EXCLUS('LIST_POIDS','COURBE'),), - - UNITE_ESCL =SIMP(statut='o',typ='I'), - RESU_EXP =SIMP(statut='f',typ=not_checked,max='**'), - COURBE =FACT(statut='f',max='**', - FONC_EXP =SIMP(statut='o',typ=(fonction_sdaster),), - NOM_FONC_CALC =SIMP(statut='o',typ='TXM',), - PARA_X =SIMP(statut='o',typ='TXM',), - PARA_Y =SIMP(statut='o',typ='TXM',), - POIDS =SIMP(statut='f',typ='R',), - ), - RESU_CALC =SIMP(statut='f',typ=not_checked,max='**'), - LIST_PARA =SIMP(statut='f',typ=not_checked,max='**'), - PARA_OPTI =FACT(statut='f',max='**', - NOM_PARA = SIMP(statut='o',typ='TXM'), - VALE_INI = SIMP(statut='o',typ='R'), - VALE_MIN = SIMP(statut='o',typ='R'), - VALE_MAX = SIMP(statut='o',typ='R'), - ), - LIST_POIDS =SIMP(statut='f',typ=not_checked,max='**'), - - UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), - PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.00001), - - GRAPHIQUE =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT"),), - AFFICHAGE =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE"),), - - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - ), - ), - - - # Methodes d'optimisation - # ----------------------- - METHODE =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG", "FMIN", "FMINBFGS", "FMINNCG", - "GENETIQUE","HYBRIDE")), - - b_genetique_options=BLOC(condition = "METHODE == 'GENETIQUE' or METHODE == 'HYBRIDE'" , - NB_PARENTS =SIMP(statut='f',typ='I',defaut=10), - NB_FILS =SIMP(statut='f',typ='I',defaut=5), - ECART_TYPE =SIMP(statut='f',typ='R',defaut=1.), - GRAINE =SIMP(statut='f',typ='I'), - ITER_ALGO_GENE =SIMP(statut='f',typ='I',defaut=10), - RESI_ALGO_GENE =SIMP(statut='f',typ='R',defaut=1.E-3), - ), - - - # Criteres d'arret globaux - # ------------------------- - ITER_MAXI =SIMP(statut='f',typ='I',defaut=10, fr="Nombre maximum d'iterations d'optimisation"), - ITER_FONC_MAXI =SIMP(statut='f',typ='I',defaut=1000, fr="Nombre maximum d'evaluations de la focntionnelle"), - RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3, fr="Critere d'arret sur la valeur du residu"), - TOLE_PARA =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur des parametres"), - TOLE_FONC =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur de la fonctionnelle"), - - - # Calculs des gradients - # --------------------- - b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" , - GRADIENT =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )), - ), - - b_gradient_levenberg =BLOC(condition = "METHODE == 'LEVENBERG'" , - GRADIENT =SIMP(statut='f',typ='TXM',defaut='NORMAL', into=( "NORMAL", "ADIMENSIONNE" )), - ), - - - # Mode d'evaluation de l'esclave - # ------------------------------ - CALCUL_ESCLAVE =FACT(statut='d', -# regles=(PRESENT_PRESENT('MPI_NBNOEUD','MPI_NBCPU'),), - - LANCEMENT =SIMP(statut='f', typ='TXM', defaut='INCLUSION',into=("DISTRIBUTION","INCLUSION"),), - - b_eval_distrib =BLOC(condition = "LANCEMENT == 'DISTRIBUTION'", - UNITE_SUIVI =SIMP(statut='f', typ='I',val_min=10,val_max=99,defaut=29, - fr="Affichage de l'output et/ou error des jobs esclaves dans ce fichier"), - MODE =SIMP(statut='f', typ='TXM', into=("INTERACTIF","BATCH"),), - MEMOIRE =SIMP(statut='f', typ='I', fr="Memoire demandee pour les calculs esclaves (Mo)"), - TEMPS =SIMP(statut='f', typ='I', fr="Temps demandee pour les calculs esclaves (secondes)"), - MPI_NBCPU =SIMP(statut='f', typ='I', val_min=1, fr="Nombre de cpu pour les calculs MPI"), - MPI_NBNOEUD =SIMP(statut='f', typ='I', fr="Nombre de noeuds pour les calculs MPI"), - CLASSE =SIMP(statut='f', typ='TXM', fr="Classe demandee pour les calculs en batch"), - NMAX_SIMULT =SIMP(statut='f', typ='I', - fr="Nombre de calculs esclaves lances en parallele en mode distribution (non precise = automatique)"), - ), - ), - - DYNAMIQUE =FACT(statut='f', - MODE_EXP =SIMP(statut='o',typ='TXM'), - MODE_CALC =SIMP(statut='o',typ='TXM'), - APPARIEMENT_MANUEL =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1, into=( 1, 2 ) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: francois.voldoire at edf.fr - - -MACR_SPECTRE=MACRO(nom="MACR_SPECTRE", - op=OPS('Macro.macr_spectre_ops.macr_spectre_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="Calcul de spectre, post-traitement de séisme", - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), - PLANCHER =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),), - NOM =SIMP(statut='o',typ='TXM',), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), - NOM_CHAM =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')), - CALCUL =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'), - b_acce =BLOC( condition = "NOM_CHAM=='ACCE'", - regles=(UN_PARMI('LIST_FREQ','FREQ'),), - AMOR_SPEC =SIMP(statut='o',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='o',typ='R'), - RESU =FACT(statut='o',max='**', - regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), - TABLE =SIMP(statut='f',typ=table_sdaster), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), - b_calc =BLOC( condition = "CALCUL=='RELATIF'", - ACCE_X =SIMP(statut='o',typ=fonction_sdaster), - ACCE_Y =SIMP(statut='o',typ=fonction_sdaster), - ACCE_Z =SIMP(statut='o',typ=fonction_sdaster),), ), - IMPRESSION =FACT(statut='f', - TRI =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),), - FORMAT =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","XMGRACE",),), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),), - TOUT =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),), - ), - ), - b_depl =BLOC( condition = "NOM_CHAM=='DEPL'", - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - RESU =FACT(statut='o',max=3, - regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), - TABLE =SIMP(statut='f',typ=table_sdaster), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), - b_calc =BLOC( condition = "CALCUL=='ABSOLU'", - DEPL_X =SIMP(statut='o',typ=fonction_sdaster), - DEPL_Y =SIMP(statut='o',typ=fonction_sdaster), - DEPL_Z =SIMP(statut='o',typ=fonction_sdaster),),), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr - - -def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ): - if NUME_DDL is not None and NUME_DDL.is_typco(): - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas - if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas - raise AsException("type de concept resultat non prevu") - -MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT", - op=OPS('Macro.macro_elas_mult_ops.macro_elas_mult_ops'), - sd_prod=macro_elas_mult_prod, - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Calculer les réponses statiques linéaires pour différents cas " \ - "de charges ou modes de Fourier", - regles=(UN_PARMI('CHAR_MECA_GLOBAL','LIAISON_DISCRET', ),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), - CHAR_MECA_GLOBAL=SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), - LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), - CAS_CHARGE =FACT(statut='o',max='**', - regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), - UN_PARMI('CHAR_MECA','VECT_ASSE'),), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - MODE_FOURIER =SIMP(statut='f',typ='I' ), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHAR_MECA =SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, - fr="Contraintes aux points de Gauss.",), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), - b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - - -def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args): - RESU_EXP = MODELE_MESURE['MESURE'] - self.type_sdprod(RESU_NX, mode_meca) - for res in (RESU_EX, RESU_ET, RESU_RD): - if res is not None and res.is_typco(): - if AsType(RESU_EXP) == mode_meca: - self.type_sdprod(res, mode_meca) - else: - self.type_sdprod(res, dyna_harmo) - return None - -MACRO_EXPANS=MACRO(nom="MACRO_EXPANS", - op=OPS('Macro.macro_expans_ops.macro_expans_ops'), - sd_prod=macro_expans_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier","Dynamique",)}, - fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique", - MODELE_CALCUL = FACT(statut='o', - MODELE = SIMP(statut='o',typ=(modele_sdaster) ), - BASE = SIMP(statut='o',typ=(mode_meca,) ), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - - ), - MODELE_MESURE = FACT(statut='o', - MODELE = SIMP(statut='o',typ=(modele_sdaster) ), - MESURE = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',defaut="DEPL", - into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU",) ), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - - ), - NUME_DDL = SIMP(statut='f',typ=(nume_ddl_sdaster)), - RESU_NX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_EX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_ET = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_RD = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESOLUTION = FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), - b_svd =BLOC(condition="METHODE=='SVD'", - EPS=SIMP(statut='f',typ='R',defaut=0. ), - ), - REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), - b_regul =BLOC(condition="REGUL!='NON'", - regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), - COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - ), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr - - -def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): - self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) - if FORC_AJOU != None: - for m in FORC_AJOU: - self.type_sdprod(m['VECTEUR'],vect_asse_gene) - - return None - -MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU", - op=OPS('Macro.macro_matr_ajou_ops.macro_matr_ajou_ops'), - sd_prod=macro_matr_ajou_prod, - UIinfo={"groupes":("Résolution","Matrices et vecteurs",)}, - fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des " \ - "matrices de masse, d'amortissement ou de rigidité ajoutés", - regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), - EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - EXCLUS('MONO_APPUI','MODE_STAT',), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), - GROUP_MA_INTERF =SIMP(statut='o',typ=grma), - MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), - FLUIDE =FACT(statut='o',max='**', - RHO =SIMP(statut='o',typ='R'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma), - MAILLE =SIMP(statut='f',typ=ma), - ), - DDL_IMPO =FACT(statut='o',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - PRES_FLUIDE =SIMP(statut='f',typ='R'), - PRES_SORTIE =SIMP(statut='f',typ='R'), - ), - ECOULEMENT =FACT(statut='f', - GROUP_MA_1 =SIMP(statut='o',typ=grma), - GROUP_MA_2 =SIMP(statut='o',typ=grma), - VNOR_1 =SIMP(statut='o',typ='R'), - VNOR_2 =SIMP(statut='f',typ='R'), - POTENTIEL =SIMP(statut='f',typ=evol_ther), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - DEPL_IMPO =SIMP(statut='f',typ=cham_no_sdaster), - MODELE_GENE =SIMP(statut='f',typ=modele_gene), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2), - MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), - MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), - MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), - MODE_STAT =SIMP(statut='f',typ=mode_meca,), - FORC_AJOU =FACT(statut='f',max='**', - DIRECTION =SIMP(statut='o',typ='R',max=3), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VECTEUR =SIMP(statut='o',typ=CO), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACRO_MATR_AJOU'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def macro_mode_meca_prod( self, MATR_RIGI,MATR_MASS, **args) : - if ( AsType(MATR_RIGI) == matr_asse_gene_r ): - if ( AsType(MATR_MASS) == matr_asse_gene_r ): - return mode_gene - else: - raise AsException("Matrices d'entrée de types différents : physique / généralisée.") - - return mode_meca - - -MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA", - op=OPS('Macro.macro_mode_meca_ops.macro_mode_meca_ops'), - sd_prod=macro_mode_meca_prod, - reentrant='n',fr="Lancer une succession de calculs de modes propres réels", - UIinfo={"groupes":("Résolution","Dynamique",)}, - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -# ce mot cle ne devrait il pas etre dans calc_freq - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN",) ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS") ), - - CALC_FREQ =FACT(statut='o', - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('INFO_MODE'), - NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), -#------------------------------------------------------------------- - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - STURM =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL","NON") ), - ), - - b_matr_phys =BLOC( condition = "AsType(MATR_RIGI) == matr_asse_depl_r", - NORM_MODE =FACT(statut='d',max='**', - NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", - into=("MASS_GENE","RIGI_GENE","EUCL", - "EUCL_TRAN","TRAN","TRAN_ROTA") ), - INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), - ), - - FILTRE_MODE =FACT(statut='f', - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - - IMPRESSION =FACT(statut='d', - TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE",) ), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -# -MAJ_CATA=PROC(nom="MAJ_CATA",op=20, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Compilation des catalogues d'éléments et couverture des calculs élémentaires", - regles=(UN_PARMI('ELEMENT','TYPE_ELEM', ),), - - ELEMENT =FACT(statut='f',), - - UNITE =SIMP(statut='f',typ='I',defaut=8), - TYPE_ELEM =FACT(statut='f',), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, - fr="Résoudre un problème de mécanique statique linéaire",reentrant='f', - UIinfo={"groupes":("Résolution","Mécanique",)}, - regles=(EXCLUS("INST","LIST_INST"), - AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater, - fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", - ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), - CARA_ELEM =SIMP(statut='f',typ=cara_elem, - fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...", - ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST_FIN =SIMP(statut='f',typ='R'), - OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, - fr="Seule option : contraintes aux points de Gauss. Utilisez CALC_CHAMP pour les autres options.", - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MECA_STATIQUE'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, - fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir" - +" d'une base de modes propres réels", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_MODALE =SIMP(statut='o',typ=mode_meca ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ), - NB_SECTEUR =SIMP(statut='o',typ='I' ), - LIAISON =FACT(statut='o', - DROITE =SIMP(statut='o',typ='TXM' ), - GAUCHE =SIMP(statut='o',typ='TXM' ), - AXE =SIMP(statut='f',typ='TXM' ), - ), - VERI_CYCL =FACT(statut='f', - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), - DIST_REFE =SIMP(statut='f',typ='R' ), - ), - CALCUL =FACT(statut='o', - regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),), - TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" - ,into=("PLUS_PETITE","CENTRE","BANDE") ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - FREQ =SIMP(statut='o',typ='R',), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), - ), -# NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - -def mode_iter_inv_prod(TYPE_RESU,**args ): - if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if TYPE_RESU == "GENERAL" : return mode_flamb - # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés - # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder - vale_rigi = args['MATR_RIGI'] - if (vale_rigi== None) : # si MATR_RIGI non renseigné - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - vale_amor = args['MATR_AMOR'] - if AsType(vale_amor) == matr_asse_depl_r : return mode_meca_c - if AsType(vale_rigi) == matr_asse_depl_r : return mode_meca - if AsType(vale_rigi) == matr_asse_pres_r : return mode_acou - if AsType(vale_rigi) == matr_asse_gene_r : return mode_gene - raise AsException("type de concept resultat non prevu") - -MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod - ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("MODE_FLAMB","DYNAMIQUE","GENERAL"), - fr="Type d analyse" ), - - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - FREQ =SIMP(statut='o',typ='R',max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=1 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), - ), - ), - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", - CALC_CHAR_CRIT =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - CHAR_CRIT =SIMP(statut='o',typ='R',max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())),), - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), - ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_ITER_INV'), -#------------------------------------------------------------------- - - CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", - OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), - PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=1.E-70,fr="Précision de convergence" ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), - ), - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - -def mode_iter_simult_prod(TYPE_RESU,**args ): - if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if TYPE_RESU == "GENERAL" : return mode_flamb - # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés - # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder - vale_rigi = args['MATR_RIGI'] - if (vale_rigi== None) : # si MATR_RIGI non renseigné - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - vale_amor = args['MATR_AMOR'] - if (AsType(vale_amor)== matr_asse_depl_r) : return mode_meca_c - if (AsType(vale_rigi)== matr_asse_depl_r) : return mode_meca - if (AsType(vale_rigi)== matr_asse_depl_c) : return mode_meca_c - if (AsType(vale_rigi)== matr_asse_pres_r) : return mode_acou - if (AsType(vale_rigi)== matr_asse_gene_r) : return mode_gene - if (AsType(vale_rigi)== matr_asse_gene_c) : return mode_gene - - raise AsException("type de concept resultat non prevu") - - - -MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45, sd_prod= mode_iter_simult_prod, - fr="Calcul des modes propres par itérations simultanées ; valeurs propres et" - +" modes propres réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - b_qz =BLOC(condition = "METHODE == 'QZ'", - TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), - ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("DYNAMIQUE","MODE_FLAMB","GENERAL"), - fr="Type d analyse" ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), - fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), - - - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c, - matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), - ), - b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des fréquences propres les plus proches d'une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des fréquences propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,max=2, - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Valeur des deux fréquences délimitant la bande de recherche"), - TABLE_FREQ =SIMP(statut= 'f',typ=table_sdaster), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - ), - ), - - - b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - - b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", - CALC_CHAR_CRIT =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - CHAR_CRIT =SIMP(statut='o',typ='R', - fr="Charge critique autour de laquelle on cherche les charges critiques propres"), - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnée", - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max=2, - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Valeur des deux charges critiques délimitant la bande de recherche"), - TABLE_CHAR_CRIT =SIMP(statut= 'f',typ=table_sdaster), - - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - ), - ), - - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_ITER_SIMULT'), -#------------------------------------------------------------------- -#------------------------------------------------------------------- -# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande - PARALLELISME_MACRO=FACT(statut='d',min=0, - TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1),fr="Type de communication"), - IPARA1_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 1 de la communication"), - IPARA2_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 2 de la communication"), - ), -#------------------------------------------------------------------- - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -MODE_NON_LINE=OPER(nom="MODE_NON_LINE",op= 61,sd_prod=table_container, - fr="Calcul des modes non-linéaires", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - reuse =SIMP(statut='f',typ='table_container'), - - ETAT_INIT =FACT(statut='o',max=1, - regles=( UN_PARMI('MODE_LINE','MODE_NON_LINE'),), - MODE_LINE = SIMP(statut='f',typ=mode_meca,max = 1), - MODE_NON_LINE = SIMP(statut='f',typ=table_container,max = 1), - NUME_ORDRE = SIMP(statut='o',typ='I' ), - DIR_EVOLUTION = SIMP(statut='f',typ='I',defaut=-1, into=(-1,1)), - COEF_AMPL = SIMP(statut='f',typ='R',defaut=1,), - ), - - CHOC = FACT(statut='f',max='**', - regles=( UN_PARMI('NOEUD','GROUP_NO'),), - OBSTACLE = SIMP(statut='f',typ='TXM', into=("PLAN","BI_PLAN","CERCLE",)), - b_cercle = BLOC(condition="OBSTACLE=='CERCLE'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=('DX','DY','DZ'),), - ORIG_OBST = SIMP(statut='f',typ='R',defaut=(0.,0.,0.),min=3,max=3), - ), - b_bi_plan = BLOC(condition="OBSTACLE=='BI_PLAN'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), - ), - b_plan = BLOC(condition="OBSTACLE=='PLAN'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), - ), - NOEUD = SIMP(statut='f', typ=no, max=1), - GROUP_NO = SIMP(statut='f', typ=grno, max=1), - JEU = SIMP(statut='o',typ='R',max=1 ), - RIGI_NOR = SIMP(statut='o',typ='R',max=1 ), - PARA_REGUL = SIMP(statut='f',typ='R',defaut=0.005 ), - ), - - MATR_RIGI = SIMP(statut='o',typ=(matr_asse_depl_r,) ), - MATR_MASS = SIMP(statut='o',typ=(matr_asse_depl_r,) ), - - RESOLUTION = FACT(statut='o',max=1, - METHODE = SIMP(statut='f',typ='TXM',defaut="EHMAN",into=("EHMAN",)), - b_ehman = BLOC(condition="METHODE=='EHMAN'", - NB_HARM_LINE = SIMP(statut='o',typ='I',val_min=1,), - NB_HARM_NONL = SIMP(statut='f',typ='I',defaut=201,val_min=1,), - NB_BRANCHE = SIMP(statut='o',typ='I',val_min=0), - NB_PAS_MAN = SIMP(statut='o',typ='I',val_min=1), - NB_ORDRE_MAN = SIMP(statut='f',typ='I',defaut=20,val_min=2), - PREC_MAN = SIMP(statut='f',typ='R',defaut=1.E-9,val_min=0.E+0), - PREC_NEWTON = SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.E+0), - ITER_NEWTON_MAXI = SIMP(statut='f',typ='I',defaut=15,val_min=1), - CRIT_ORDR_BIFURCATION = SIMP(statut='f',typ='I',defaut=3,val_min=1), - RESI_RELA_BIFURCATION = SIMP(statut='f',typ='R',defaut=1.E-4,val_min=0.E+0), - ), - ), - - SOLVEUR = C_SOLVEUR('MODE_NON_LINE'), - - INFO = SIMP(statut='f',typ='I',defaut=1), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: georges-cc.devesa at edf.fr - -MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_meca, - fr="Calcul de déformées statiques pour un déplacement, une force ou une accélération unitaire imposé", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE','MODE_INTERF'), - PRESENT_PRESENT('MODE_INTERF','MATR_MASS'), - PRESENT_PRESENT('PSEUDO_MODE','MATR_MASS'), - ), - - - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - - - - MODE_STAT =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - FORCE_NODALE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - PSEUDO_MODE =FACT(statut='f',max='**', - regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), - AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - b_dir =BLOC(condition = "DIRECTION != None", - NOM_DIR =SIMP(statut='f',typ='TXM' ),), - b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None", - regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - ), - MODE_INTERF =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - NBMOD =SIMP(statut='o',typ='I',defaut= 1), - SHIFT =SIMP(statut='o',typ='R',defaut= 1.0), - - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_STATIQUE'), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, - reentrant='f', - fr="Définir la base modale d'une structure sous écoulement", - UIinfo={"groupes":("Matrices et vecteurs",)}, -# la commande modi_base _modale : reentrant = f ou o - regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),), - BASE =SIMP(statut='o',typ=mode_meca ), - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - AMOR_UNIF =SIMP(statut='f',typ='R' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DES EFFORTS VIA YACS POUR COUPLAGE IFS -# -MODI_CHAR_YACS=OPER(nom = "MODI_CHAR_YACS", - op = 112, - sd_prod = char_meca, - reentrant = 'o', - UIinfo = {"groupes":("Résultats et champs",)}, - fr = "Reception des forces nodales via YACS lors du couplage de Code_Aster et Saturne", - CHAR_MECA = SIMP(statut ='o', typ = char_meca), - MATR_PROJECTION = SIMP(statut ='o', typ = corresp_2_mailla,), - NOM_CMP_IFS = SIMP(statut ='o', typ = 'TXM',validators = NoRepeat(), max = '**'), - VIS_A_VIS = FACT(statut ='o', max = '**', - GROUP_MA_1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO_2 = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ), - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, - fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant," - +" à l'application d'une pression, à la modélisation du contact,...", - reentrant='o', - UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB','SYMETRIE', - 'ORIE_LIGNE',), - PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE','ORIE_LIGNE'), - PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE','ORIE_LIGNE'), - PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','ORIE_LIGNE'), - EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), - EXCLUS('EQUE_PIQUA','TUBE_COUDE'), - EXCLUS('ROTATION','MODI_BASE'), - EXCLUS('SYMETRIE','ROTATION'), - EXCLUS('SYMETRIE','TRANSLATION'), - EXCLUS('SYMETRIE','MODI_BASE'), - EXCLUS('SYMETRIE','ECHELLE'), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - - ORIE_FISSURE =FACT(statut='f', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - - DEFORME =FACT(statut='f', - OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), - DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", - GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), - GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), - ), - - EQUE_PIQUA =FACT(statut='f', - GROUP_NO =SIMP(statut='o',typ=grno), - E_BASE =SIMP(statut='o',typ='R' ), - DEXT_BASE =SIMP(statut='o',typ='R' ), - L_BASE =SIMP(statut='o',typ='R' ), - L_CHANF =SIMP(statut='o',typ='R' ), - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), - H_SOUD =SIMP(statut='o',typ='R' ), - ANGL_SOUD =SIMP(statut='o',typ='R' ), - JEU_SOUD =SIMP(statut='o',typ='R' ), - E_CORP =SIMP(statut='o',typ='R' ), - DEXT_CORP =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='o',typ='R' ), - RAFF_MAIL =SIMP(statut='o',typ='TXM' ), - X_MAX =SIMP(statut='o',typ='R' ), - ), - ORIE_PEAU_2D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_SURF =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_PEAU_3D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_VOLU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_SHB =FACT(statut='f',max=1, - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_NORM_COQUE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - VECT_NORM =SIMP(statut='f',typ='R',max=3), - b_vect_norm =BLOC(condition = "VECT_NORM != None", - regles=UN_PARMI('NOEUD','GROUP_NO'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - ), - ORIE_LIGNE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - VECT_TANG =SIMP(statut='f',typ='R',max=3), - b_vect_tang =BLOC(condition = "VECT_TANG != None", - regles=UN_PARMI('NOEUD','GROUP_NO'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - ), - PLAQ_TUBE =FACT(statut='f', - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), - ), - TUBE_COUDE =FACT(statut='f', - ANGLE =SIMP(statut='o',typ='R' ), - R_CINTR =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - ), - MODI_MAILLE =FACT(statut='f',max=1, - regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),), - OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), - MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), - GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - ), - MODI_BASE =FACT(statut='f', - VECT_X =SIMP(statut='o',typ='R',min=2,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), - ), - ECHELLE =SIMP(statut='f',typ='R',), - TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), - ROTATION =FACT(statut='f',max='**', - POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), - ANGLE =SIMP(statut='o',typ='R',defaut= 0.E+0 ), - regles=(EXCLUS('DIR','POIN_2'),), - POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), - DIR =SIMP(statut='f',typ='R',min=2,max=3), - ), - SYMETRIE =FACT(statut='f',max='**', - fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", - POINT =SIMP(statut='o',typ='R',min=2,max=3, - fr="Point appartenant à la droite ou au plan."), - AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, - fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), - AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, - fr="2nd vecteur appartenant du plan."), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2009 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -MODI_MODELE=OPER(nom="MODI_MODELE",op= 103,sd_prod=modele_sdaster,reentrant='o', - UIinfo={"groupes":("Modélisation",)}, - fr="Modifier la partition d'un modèle (parallélisme) ", - - MODELE =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), - - PARTITION =FACT(statut='d', - PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", - into=("MAIL_CONTIGU","MAIL_DISPERSE","SOUS_DOMAINE","CENTRALISE","GROUP_ELEM")), - b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", - CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0), - ), - b_dist_sd =BLOC(condition = "PARALLELISME == 'SOUS_DOMAINE'", - PARTITION =SIMP(statut='o',typ=sd_partit), - CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', - UIinfo={"groupes":("Modélisation","Rupture",)}, - fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", - - MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - CRITERE =SIMP(statut='f',typ='R',defaut=1.1E-9), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), - CONTACT - =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -def modi_repere_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - -MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='f', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Calcule des résultats dans le repère cylindrique", - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - MODI_CHAM =FACT(statut='o',max='**', - TYPE_CHAM =SIMP(statut='o',typ='TXM', - into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D","COQUE_GENE"),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - b_coque_gene =BLOC(condition = "TYPE_CHAM=='COQUE_GENE'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=8,max=8 ),), - ), - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : COQUE_INTR_UTIL ou COQUE_UTIL_INTR autorise", - REPERE =SIMP(statut='o',typ='TXM',position='global', - into=("COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), - AFFE =FACT(statut='o',max='**', - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - ), - - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant ", - REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",position='global', - into=("UTILISATEUR","CYLINDRIQUE","COQUE", - "COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), - - AFFE =FACT(statut='o',max='**', - b_cyl =BLOC(condition = "REPERE == 'CYLINDRIQUE'", - ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), - b_uti =BLOC(condition = "REPERE == 'UTILISATEUR'", - regles=(UN_PARMI('ANGL_NAUT','VECT_X'), - ENSEMBLE('VECT_X','VECT_Y')), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ),), - b_coq =BLOC(condition = "REPERE == 'COQUE'", - regles=(UN_PARMI('ANGL_REP','VECTEUR'),), - ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2), - VECTEUR =SIMP(statut='f',typ='R',min=3,max=3),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def norm_mode_prod(MODE,**args ): - if AsType(MODE) == mode_meca : return mode_meca - if AsType(MODE) == mode_meca_c : return mode_meca_c - if AsType(MODE) == mode_flamb : return mode_flamb - raise AsException("type de concept resultat non prevu") - -NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, - fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(UN_PARMI('NORME','GROUP_NO','NOEUD','AVEC_CMP','SANS_CMP'),), - MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), - NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...", - into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ), - NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d'un noeud spécifié égale à 1"), - GROUP_NO =SIMP(statut='f',typ=grno,fr="Composante donnée d'un groupe contenant un seul noeud spécifié égale à 1"), - b_noeud =BLOC(condition = "NOEUD != None or GROUP_NO != None", - NOM_CMP =SIMP(statut='o',typ='TXM' ), - ), - AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - NOEUD =SIMP(statut='f',typ=no,fr="Noeud où sera imposé le signe"), - GROUP_NO =SIMP(statut='f',typ=grno,fr="Groupe d'un seul noeud où sera imposé le signe"), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud où sera imposé le signe" ), - SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), - fr="Choix du signe" ), - ), - - MASSE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ), - RAIDE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ), - AMOR = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", - regles=(UN_PARMI('MATR_RIGI','MODELE'),), - MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, - typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - b_modele =BLOC(condition = "MODELE != None", - CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), - ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","PETSC","MUMPS") ), - b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", - RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), - ), - b_gcpc =BLOC(condition="METHODE=='GCPC' or METHODE=='PETSC'",fr="paramètres associés à la GCPC ou PETSc", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, - fr="Etablissement de la numérotation des ddl d'un modèle etabli en coordonnées généralisees", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=UN_PARMI('MODELE_GENE','BASE'), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - b_modele_gene =BLOC(condition = "MODELE_GENE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE","ELIMINE") ), - ), - BASE =SIMP(statut='f',typ=(mode_meca,mode_gene ) ), - b_base =BLOC(condition = "BASE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("DIAG","PLEIN") ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -def observation_prod(self, RESULTAT, **args): - if AsType(RESULTAT) == mode_meca : - return mode_meca - elif AsType(RESULTAT) == evol_elas : - return evol_elas - elif AsType(RESULTAT) == dyna_harmo : - return dyna_harmo - elif AsType(RESULTAT) == dyna_trans : - return dyna_trans - else : - return None - -OBSERVATION=MACRO(nom="OBSERVATION", - op=OPS('Macro.observation_ops.observation_ops'), - UIinfo={"groupes":("Matrices et vecteurs",)}, - sd_prod=observation_prod, - fr="Calcul de l'observabilite d'un champ aux noeuds ", -# - MODELE_1 =SIMP(statut='o',typ=modele_sdaster), - MODELE_2 =SIMP(statut='o',typ=modele_sdaster), - RESULTAT =SIMP(statut='o',typ=(mode_meca,evol_elas,dyna_harmo,dyna_trans,) ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - -# ------------------------------------------------------------------ - - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE','INST','LIST_INST' ),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - -# ------------------------------------------------------------------ -# OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER) -# ------------------------------------------------------------------ - PROJECTION =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="OUI"), - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - -# PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", -# fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger" -# +" les champs par zéro la ou la projection ne donne pas de valeurs."), - - MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r) ), - MATR_MASS =SIMP(statut='f',typ=(matr_asse_depl_r) ), - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - ), - -# ------------------------------------------------------------------ -# MODI_REPERE -# ------------------------------------------------------------------ - MODI_REPERE =FACT(statut='f',max='**', - regles=(UN_PARMI('REPERE'), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), -# - TYPE_CHAM =SIMP(statut='f',typ='TXM', - into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D"), - defaut="VECT_3D"), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=4,max=4,defaut=('EPXX','EPYY','EPZZ','EPXY',) ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=6,max=6,defaut=('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ',),),), - - REPERE =SIMP(statut='o',typ='TXM', - into=("UTILISATEUR","CYLINDRIQUE","NORMALE","DIR_JAUGE"),), - b_normale =BLOC(condition = "REPERE=='NORMALE'", - regles=(UN_PARMI('VECT_X','VECT_Y')), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), - b_utilisateur =BLOC(condition = "REPERE=='UTILISATEUR'", - ANGL_NAUT =SIMP(statut='o',typ='R',max=3)), - b_cylindrique =BLOC(condition = "REPERE=='CYLINDRIQUE'", - ORIGINE =SIMP(statut='o',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='o',typ='R',min=3,max=3)), - b_dir_jauge =BLOC(condition = "REPERE=='DIR_JAUGE'", - VECT_X =SIMP(statut='f',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), - ), - -# ------------------------------------------------------------------ -# EPSI_MOYENNE -# ------------------------------------------------------------------ - EPSI_MOYENNE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SEUIL_VARI =SIMP(statut='f',typ='R',validators=NoRepeat(),defaut=0.1,), - MASQUE =SIMP(statut='f',typ='TXM',max=6), - ), - -# ------------------------------------------------------------------ -# FILTRE DES DDL -# ------------------------------------------------------------------ - FILTRE =FACT(statut='f',max='**', - regles=(UN_PARMI('DDL_ACTIF'), -# 'MASQUE'), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - -# - DDL_ACTIF =SIMP(statut='f',typ='TXM',max=6), -# TODO : mettre en place le systeme de masques -# MASQUE =SIMP(statut='f',typ='TXM',max=6), - ), -# ------------------------------------------------------------------ - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - -PERM_MAC3COEUR = MACRO(nom="PERM_MAC3COEUR", - op=OPS("Mac3coeur.perm_mac3coeur_ops.perm_mac3coeur_ops"), - sd_prod=evol_noli, - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), - TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N - RESU_N = SIMP(statut='o',typ=evol_noli), # RESULTAT A L INSTANT N A PERMUTER - TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 - MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),); # MAILLAGE A L INSTANT N+1 - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr - -POST_BORDET =MACRO(nom="POST_BORDET", - op=OPS('Macro.post_bordet_ops.post_bordet_ops'), - sd_prod=table_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="calcul de la probabilite de clivage via le modele de Bordet", - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('INST','NUME_ORDRE'), - ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles"), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), - PRECISION =SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), - PROBA_NUCL =SIMP(statut='f',typ='TXM',into=("NON","OUI"), defaut="NON", - fr="prise en compte du facteur exponentiel"), - b_nucl =BLOC( condition = "PROBA_NUCL=='OUI'", - PARAM =FACT(statut='o', - M =SIMP(statut='o',typ='R',val_min=0.E+0), - SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster),val_min=0.E+0), - VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster)), - DEF_PLAS_REFE =SIMP(statut='o',typ='R'),),), - - b_prop =BLOC( condition = "PROBA_NUCL=='NON'", - PARAM =FACT(statut='o', - M =SIMP(statut='o',typ='R',val_min=0.E+0), - SIGM_REFE =SIMP(statut='o',typ=fonction_sdaster,val_min=0.E+0), - VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),), - ), - ), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale STAT_NON_LINE"), - TEMP =SIMP(statut='o',typ=(fonction_sdaster,'R')), - COEF_MULT =SIMP(statut='f',typ='R', defaut=1.), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -def post_cham_xfem_prod(RESULTAT,**args ): - - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_ther : return evol_ther - - raise AsException("type de concept resultat non prevu") - -POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=post_cham_xfem_prod, - reentrant='n',UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calcul des champs DEPL, SIEF_ELGA et VARI_ELGA sur le maillage de visualisation (fissuré)", - RESULTAT = SIMP(statut='o',typ=resultat_sdaster), - MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,), - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def post_champ_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - - -# liste des options possibles pour les 4 mots clés EXTR_COQUE, EXTR_TUYAY, EXTR_PMF et MIN_MAX_SP : -liste_option_extr=("EPEQ_ELGA","EPEQ_ELNO","EPSI_ELGA","EPSI_ELNO", - "SIEF_ELGA","SIEF_ELNO", - "SIEQ_ELGA","SIEQ_ELNO","SIGM_ELGA","SIGM_ELNO", - "VARI_ELGA","VARI_ELNO",) - - -POST_CHAMP=OPER(nom="POST_CHAMP",op=155,sd_prod=post_champ_prod, reentrant='n', - UIinfo={"groupes":("Post-traitements","Eléments de structure",)}, - fr="extraction de champs sur un sous-point. ", - - regles=(UN_PARMI('EXTR_COQUE','EXTR_TUYAU','EXTR_PMF','MIN_MAX_SP','COQU_EXCENT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', - 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS',), - ), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale"), - - -#==== -# Sélection des numéros d'ordre pour lesquels on fait le calcul : -#==== - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - -#==== -# Sélection de la zone géométrique: -#==== - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - - - -#==== -# Extraction sur un sous-point d'une coque : -#==== - EXTR_COQUE =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une coque", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr,), - NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, - fr="numero de couche dans l'épaisseur de la coque" ), - NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), - fr="position dans l'épaisseur de la couche" ), - ), - - -#==== -# Extraction sur un sous-point d'un tuyau : -#==== - EXTR_TUYAU =FACT(statut='f', max=1, fr="extraction sur un sous-point d'un tuyau", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr ,), - NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, - fr="numero de couche dans l'épaisseur du tuyau" ), - NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), - fr="position dans l'épaisseur de la couche" ), - ANGLE =SIMP(statut='o',typ='I',val_min=0,val_max=360, - fr="angle de dépouillement pour les tuyaux, en degrés à partir de la génératrice" ), - ), - - -#==== -# Extraction sur un sous-point d'une poutre multifibre : -#==== - EXTR_PMF =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une poutre multifibre", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr,), - NUME_FIBRE =SIMP(statut='o',typ='I',val_min=1, - fr="numéro de la fibre dans la poutre multifibre" ), - ), - - -#==== -# Extraction des min / max sur les sous-points : -#==== - MIN_MAX_SP =FACT(statut='f', max='**', fr="extraction du min/max d'une composante pour un champ", - NOM_CHAM =SIMP(statut='o',typ='TXM', - into=liste_option_extr,), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="nom de la composante", ), - TYPE_MAXI =SIMP(statut='o',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS",) ), - NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, - fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), - ), - - -#==== -# Calcul des efforts des coques "excentrées" sur le feuillet moyen de la coque : -#==== - COQU_EXCENT =FACT(statut='f', max=2, fr="Calcul des efforts d'une coque 'excentrée' sur le feuillet moyen de la coque", - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","EFGE_ELGA",),), - MODI_PLAN =SIMP(statut='o',typ='TXM',into=("OUI",),), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr - -POST_COQUE=MACRO(nom="POST_COQUE", - op=OPS('Macro.post_coque_ops.post_coque_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - fr="Calcul des efforts et déformations en un point et une cote " \ - "quelconque de la coque", - - regles=(EXCLUS('INST','NUME_ORDRE'),), - - # SD résultat et champ à posttraiter : - RESULTAT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à posttraiter",), - CHAM =SIMP(statut='o',typ='TXM',into=("EFFORT","DEFORMATION",)), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - - # points de post-traitement : - COOR_POINT =FACT(statut='o',max='**',fr="coordonnées et position dans l'épaisseur", - COOR=SIMP(statut='o',typ='R',min=3,max=4),), - - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr - - -POST_DECOLLEMENT=MACRO(nom="POST_DECOLLEMENT", - op=OPS('Macro.post_decollement_ops.post_decollement_ops'), - sd_prod=table_sdaster, - fr="calcul du rapport de surfaces de contact radier/sol", - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - RESULTAT =SIMP(statut='o',typ=(evol_noli) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='DEPL',into=C_NOM_CHAM_INTO(),max=1), - NOM_CMP =SIMP(statut='f',typ='TXM',defaut='DZ',max=1), - GROUP_MA =SIMP(statut='o',typ=grma,max=1), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA", - op=OPS('Macro.post_dyna_alea_ops.post_dyna_alea_ops'), - sd_prod=table_sdaster, - fr="Traitements statistiques de résultats de type interspectre " \ - "et impression sur fichiers", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(UN_PARMI('FRAGILITE','INTERSPECTRE'),), - FRAGILITE =FACT(statut='f',fr="donnees pour courbe de fragilite",max=1, - TABL_RESU =SIMP(statut='o',typ=table_sdaster), - regles=(UN_PARMI('VALE','LIST_PARA'),), - VALE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**' ), - LIST_PARA = SIMP(statut='f',typ=listr8_sdaster), - AM_INI = SIMP(statut='f',typ='R',defaut= 0.4 ), - BETA_INI = SIMP(statut='f',typ='R',defaut= 0.3 ), - FRACTILE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**'), - b_inte_spec_f = BLOC(condition="""FRACTILE !=None""", - NB_TIRAGE =SIMP(statut='f',typ='I' ),), - ), - INTERSPECTRE =FACT(statut='f',fr="donnees pour interspectre",max=1, - regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ), - NOEUD_I =SIMP(statut='f',typ=no,max='**'), - OPTION =SIMP(statut='f',typ='TXM',into=("DIAG","TOUT",) ), - b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ), - ), - b_noeud_i =BLOC(condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max='**'), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ), - ), - MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux "\ - "en complément des cinq premiers" ), - DUREE =SIMP(statut='f',typ='R',fr="durée de la phase forte "\ - "pour facteur de peak" ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster, - fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), - RESU_GENE =SIMP(statut='o',typ=tran_gene ), - CHOC =FACT(statut='f',max='**', - fr="Analyse des non linéarités de choc", - INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), - INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ), - NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ), - ), - RELA_EFFO_DEPL =FACT(statut='f', - fr="Analyse des relationsnon linéaires effort-déplacement", - NOEUD =SIMP(statut='o',typ=no), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", - - regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX', - 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE','NORME', - 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL','VOLUMOGRAMME', - 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','ENER_DISS','INTEGRALE'), - ), - - MASS_INER = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), - ), - b_mass_iner = BLOC(condition = "( MASS_INER != None )", - fr="calcul de la masse, les inerties et le centre de gravité", - regles=(EXCLUS('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas, - fourier_elas,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',), - NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), - NOM_CAS = SIMP(statut='f',typ='TXM',), - ), - - ENER_POT = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_pot = BLOC(condition = "( ENER_POT != None )", - fr="calcul de l'énergie potentielle de déformation", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ), - - ENER_CIN = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("MASS_MECA","MASS_MECA_DIAG"), - defaut="MASS_MECA" ), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_cin = BLOC(condition = "( ENER_CIN != None )", - fr="calcul de l'énergie cinétique", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ), - - ENER_DISS = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_diss = BLOC(condition = "( ENER_DISS != None )", - fr="calcul de l'énergie dissipée", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - - ENER_ELAS = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", - fr="calcul de l'énergie de déformation élastique", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli,evol_elas) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - ENER_TOTALE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", - fr="calcul de l'énergie de déformation totale", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INTEGRALE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - DEJA_INTEGRE = SIMP(statut='f',typ='TXM',into=("OUI","NON",),), - ), - b_integrale = BLOC(condition = "( INTEGRALE != None )", - fr="calcul de la moyenne d'une composante", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - VOLUMOGRAMME = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('NB_INTERV','SEUIL'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,max=1), - TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP = SIMP(statut='o',typ='TXM'), - NB_INTERV = SIMP(statut='f',typ='I'), - SEUIL = SIMP(statut='f',typ='R'), - BORNES = SIMP(statut='f',typ='R',validators=NoRepeat(),min=2,max=2), - NORME = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - ), - b_volumogramme = BLOC(condition = "( VOLUMOGRAMME != None )", - fr="calcul de la distribution du volume d'une structure vis-à-vis d'une composante", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - NORME = FACT(statut='f',max=1, - fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('CHAM_GD','RESULTAT'), - PRESENT_PRESENT('CHAM_GD','MODELE'), - PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), - TYPE_NORM = SIMP(statut='f',typ='TXM',into=('L2','FROBENIUS')), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("DEPL","TEMP","NEUT_R", - "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", - "EPSI_ELGA","EPSI_ELNO","EPSI_NOEU", - "SIEF_ELGA","SIEF_ELNO","SIEF_NOEU")), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - - b_norme_GD = BLOC(condition = "( CHAM_GD != None )", - COEF_MULT = SIMP(statut='f',typ='R',max=30), - ), - - b_norme = BLOC(condition = "( RESULTAT != None )", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - ), - - - MINMAX = FACT(statut='f',max=1, - fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - PRESENT_PRESENT('CHAM_GD','MODELE'), - PRESENT_PRESENT('RESULTAT','NOM_CHAM'), - UN_PARMI('TOUT','GROUP_MA'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - b_minmax = BLOC(condition = "( RESULTAT != None )", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - ), - - WEIBULL = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - COEF_MULT = SIMP(statut='f',typ='R',defaut=1.), - ), - b_weibull = BLOC(condition = "( WEIBULL != None )", - fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - RICE_TRACEY = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )", - fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INDIC_ENER = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INDIC_SEUIL = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - CHAR_LIMITE = FACT(statut='f',min=0, - CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") - ), - b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", - fr="post-traitement du calcul de la charge limite", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - CARA_GEOM = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), - ), - b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", - fr="calcul des caractéristiques géométriques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - ), - - CARA_POUTRE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CARA_GEOM = SIMP(statut='o',typ=table_sdaster), - RT = SIMP(statut='f',typ='R'), - LAPL_PHI = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), - LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), - LONGUEUR = SIMP(statut='f',typ='R'), - MATERIAU = SIMP(statut='f',typ=mater_sdaster), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), - ), - b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", - fr="calcul des caractéristiques mécaniques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - ), - - AIRE_INTERNE = FACT(statut='f',max='**', - GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", - fr="calcul de l'aire d'un trou dans un maillage 2D", - MODELE = SIMP(statut='f',typ=modele_sdaster), - ), - - TRAV_EXT = FACT(statut='f',), - b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", - fr="calcul du travail des efforts extérieurs", - RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - -# --------------------------------------------------------------------------- -# POST_ENDO_FISS -# RECHERCHE DU TRAJET DE FISSURATION SUR UN -# CHAMP SCALAIRE 2D - - -def post_endo_fiss_prod(self,TABLE,**args) : - self.type_sdprod(TABLE,table_sdaster) - return maillage_sdaster - -POST_ENDO_FISS=MACRO(nom="POST_ENDO_FISS", - op=OPS('Macro.post_endo_fiss_ops.post_endo_fiss_ops'), - sd_prod=post_endo_fiss_prod, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="Individuation du trace d'une fissure a partir d'un champ scalaire pertinant", - - TABLE = SIMP(statut = 'o', typ = CO,), - - regles = (UN_PARMI("RESULTAT","CHAM_GD"), - ), - OUVERTURE = SIMP(statut = 'f', typ = 'TXM', into=('OUI','NON',), defaut = 'NON' ), - b_resultat = BLOC(condition = "RESULTAT != None", - regles = (UN_PARMI('NUME_ORDRE','INST'),), - NUME_ORDRE = SIMP(statut = 'f', typ = 'I', validators = NoRepeat(), ), - INST = SIMP(statut = 'f', typ = 'R', validators = NoRepeat(), ), - ), - - #b_champ = BLOC(condition = "CHAM_GD != None",), - - CHAM_GD = SIMP(statut = 'f',typ = (cham_gd_sdaster)), - RESULTAT = SIMP(statut = 'f',typ = (evol_noli)), - NOM_CMP = SIMP(statut = 'o',typ='TXM',), - NOM_CHAM = SIMP(statut = 'o', typ = 'TXM', - fr = "nom du champ a post-traiter",), - - RECHERCHE = FACT(statut = 'o',min=1,max='**', - regles = ( - PRESENT_ABSENT('TOUT','GROUP_MA',), - ), - LONG_ORTH = SIMP(statut='o', typ='R'), - NB_POINT = SIMP(statut='f', typ='I', defaut = 500), - PAS = SIMP(statut='o', typ='R', ), - LONG_REG = SIMP(statut='o', typ='R'), - BORNE_MIN = SIMP(statut='f', typ='R', defaut=0.5), - ANGL_MAX = SIMP(statut='f', typ='R', defaut=120.), - TOUT = SIMP(statut='f', typ='TXM', into=('OUI',) ), - GROUP_MA = SIMP(statut='f', typ=grma, validators=NoRepeat(), ), - BORNE_MAX = SIMP(statut='f', typ='R'), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire", - regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), - PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'), - UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ), - MOMENT_SPEC_0 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_2 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_4 =SIMP(statut='f',typ='R'), - TABL_POST_ALEA =SIMP(statut='f',typ=table_sdaster), - COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")), - DUREE =SIMP(statut='f',typ='R',defaut= 1.), - CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)), - MATER =SIMP(statut='o',typ=mater_sdaster), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: van-xuan.tran at edf.fr -POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement", - - CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","MULTIAXIAL","QUELCONQUE")), - - b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'", - regles=(PRESENT_PRESENT('CORR_KE','MATER'), - PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), - PRESENT_PRESENT('DOMMAGE','MATER'),), - HISTOIRE = FACT(statut='o', - regles=(UN_PARMI('SIGM','EPSI'),), - SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RAINFLOW_MAX","RCCM","NATUREL")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT = FACT(statut='f', - KT = SIMP(statut='o',typ='R'),), - CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", - "TAHERI_MANSON","TAHERI_MIXTE")), - MATER = SIMP(statut='f',typ=mater_sdaster), - CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), - TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), - TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), - - b_multiaxial = BLOC( condition = "CHARGEMENT=='MULTIAXIAL'", - HISTOIRE = FACT(statut='o', - regles=(PRESENT_PRESENT('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ'), - PRESENT_PRESENT('EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ'), - PRESENT_PRESENT('EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), - AU_MOINS_UN('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ', - 'EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ', - 'EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), - ), - SIGM_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - - EPS_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - - EPSP_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TYPE_CHARGE = SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE")), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - - b_fati_pfvie = BLOC(condition = "(DOMMAGE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - MATER = SIMP(statut='f',typ=mater_sdaster), - COEF_CORR = SIMP(statut='f',typ='R'), - COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), - - - b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC","DANG_VAN_MODI_AC","CROSSLAND", - "PAPADOPOULOS","FORMULE_CRITERE") ), - - METHODE =SIMP(statut='f',typ='TXM',into=("CERCLE_EXACT",) ), - b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - ), - - b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM', - into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE") ), - PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), - DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), - - b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - - ), - - b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", - HISTOIRE = FACT(statut='o', - SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), - MATER = SIMP(statut='o',typ=mater_sdaster), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3", - op=OPS('Macro.post_k1_k2_k3_ops.post_k1_k2_k3_ops'), - sd_prod=table_sdaster, - fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par "\ - "extrapolation des sauts de déplacements sur les lèvres de la fissure", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - regles=(UN_PARMI('FISSURE','FOND_FISS'),), - - MODELISATION =SIMP(statut='o',typ='TXM', - into=("3D","AXIS","D_PLAN","C_PLAN"),position='global', - fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - FISSURE =SIMP(statut='f',typ=fiss_xfem), - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,mode_meca),position='global', - fr="Déplacement des noeuds de la lèvre supérieure et inférieure"), - NB_NOEUD_COUPE=SIMP(statut='f',typ='I',defaut=5,val_min = 3), - -# bloc correspondant a la donnee du fond de fissure pour les fissures maillees - b_fond_fiss =BLOC (condition="FOND_FISS!= None", - - b_no_mod =BLOC (condition="AsType(RESULTAT)!= mode_meca", - - EVOL_THER = SIMP(statut='f',typ=(evol_ther),fr="Température sur le fond de fissure"), - b_ref_3D = BLOC (condition="MODELISATION=='3D' ", - TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"), - ), - ), - b_mod =BLOC (condition="AsType(RESULTAT)== mode_meca and MODELISATION=='3D'", - TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("REGLE",),defaut="REGLE"), - ), - - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - ABSC_CURV_MAXI=SIMP(statut='f',typ='R', - fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), - ), - -# bloc correspondant a la donnee de la fissure pour les fissures X-FEM - b_fissure =BLOC (condition="FISSURE!= None", - NB_POINT_FOND = SIMP(statut='f',typ='I' ,), - NUME_FOND = SIMP(statut='f',typ='I',defaut=1), - ABSC_CURV_MAXI=SIMP(statut='f',typ='R', - fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), - ), - - MATER =SIMP(statut='o',typ=mater_sdaster, - fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), - - - PREC_VIS_A_VIS=SIMP(statut='f',typ='R',defaut=0.1), - - b_mod_meca =BLOC (condition="AsType(RESULTAT)== mode_meca ", - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(FREQ!=None) or (LIST_FREQ!=None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - b_no_mod_meca =BLOC (condition="AsType(RESULTAT)!= mode_meca ", - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aurore.parrot at edf.fr -# -POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster, - fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - MATER_REV = SIMP(statut='o',typ=mater_sdaster), - EPAIS_REV = SIMP(statut='o',typ='R'), - FISSURE = FACT(statut='o', - DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), - PROFONDEUR = SIMP(statut='o',typ='R'), - LONGUEUR = SIMP(statut='o',typ='R'), - ORIENTATION = SIMP(statut='o',typ='TXM', - into=("CIRC","LONGI"),), - ), - K1D = FACT(statut='o',max='**', - TABL_MECA_REV = SIMP(statut='o',typ=(table_sdaster)), - TABL_MECA_MDB = SIMP(statut='o',typ=(table_sdaster)), - TABL_THER = SIMP(statut='o',typ=(table_sdaster)), - INTITULE = SIMP(statut='o',typ='TXM' ), - ), - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -POST_K_TRANS=MACRO(nom="POST_K_TRANS", - op=OPS('Macro.post_k_trans_ops.post_k_trans_ops'), - sd_prod=table_sdaster, - fr="Calcul des facteurs d intensite des contrainte par recombinaison modale", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - RESU_TRANS =SIMP(statut='o',typ=tran_gene), - K_MODAL =FACT(statut='o', - TABL_K_MODA =SIMP(statut='o',typ=table_sdaster,), - FOND_FISS =SIMP(statut='f',typ=fond_fiss,), - FISSURE =SIMP(statut='f',typ=fiss_xfem,), - regles=( UN_PARMI('FISSURE','FOND_FISS'), ), - ), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - -POST_MAC3COEUR = MACRO(nom="POST_MAC3COEUR", - op=OPS("Mac3coeur.post_mac3coeur_ops.post_mac3coeur_ops"), - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), - RESULTAT = SIMP(statut='o',typ=evol_noli), # SD_RESULTAT - INST = SIMP(statut='o',typ='R', max=1), # INSTANT - - LAME = FACT(statut='f',max='**', - fr="Post-traitement des lames d'eau, par grille ou valeurs min/max", - regles = UN_PARMI('NUME_GRILLE','TYPE_RESU',), - NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), # EXTREMA POUR LE POST - FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), - UNITE = SIMP(statut='o',typ='I', max=1), # NUMERO DE L'UNITE LOGIQUE POUR LE POST - ), - - DEFORMATION = FACT(statut='f',max='**', - fr="Post-traitement des deformations, par grille ou valeurs min/max", - - UNITE = SIMP(statut='o',typ='I', max=1), - FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), - - b_def_grace = BLOC(condition = "FORMAT == 'GRACE' ",fr="Paramètres pour le format GRACE", - regles=UN_PARMI('NUME_GRILLE','TYPE_RESU','POSITION'), - TYPE_VISU = SIMP(statut='o',typ='TXM',into=("AMPLITUDE","MODULE","VECTEUR","DEFORME")), - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), - NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER - POSITION = SIMP(statut='f',typ='TXM', max=1), - CONCEPTION = SIMP(statut='f',typ='TXM', max=1), - ), - - b_def_table = BLOC(condition = "FORMAT == 'TABLE' ",fr="Paramètres pour le format TABLE", - NOM_CMP = SIMP(statut='o',typ='TXM',into=("DY","DZ","NORME")), - ), - - - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, - reentrant='n',UIinfo={"groupes":("Maillage","Rupture",)}, - fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM", - MODELE = SIMP(statut='o',typ=modele_sdaster), - PREF_NOEUD_X =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),), - PREF_NOEUD_M =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),), - PREF_NOEUD_P =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),), - PREF_MAILLE_X =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),), - PREF_GROUP_CO =SIMP(statut='f',typ=grno ,defaut="NFISSU",), - TITRE = SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster, - fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), - -# ====================================================================== - b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - SY_MAX =SIMP(statut='f',typ='R', - fr="limite élastique utilisée pour le calcul du rochet thermique" ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - - TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", - regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'), - UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),), - NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, - fr="nombre d occurences réelles de ce transitoire" ), - TABL_RESU_MECA =SIMP(statut='f',typ=table_sdaster, - fr="relevé des contraintes sur le chemin"), - TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, - fr="résultat sous chargement thermique seul" ), - TABL_RESU_PRES =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes sous chargement de pression" ), - TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), - ), - ), - -# ====================================================================== - b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - SY_MAX =SIMP(statut='f',typ='R', - fr="limite élastique utilisée pourle calcul du rochet thermique" ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - regles=(UN_PARMI('MX','MX_TUBU'),), - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - MX =SIMP(statut='f',typ='R',fr="moment suivant x", ), - MX_TUBU =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ), - b_1_tenseur =BLOC( condition = "MX != None", - FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), - FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), - FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), - MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), - MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), - ), - b_2_tenseurs =BLOC( condition = "MX_TUBU != None", - FX_TUBU =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ), - FY_TUBU =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ), - FZ_TUBU =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ), - MY_TUBU =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ), - MZ_TUBU =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ), - FX_CORP =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ), - FY_CORP =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ), - FZ_CORP =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ), - MX_CORP =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ), - MY_CORP =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ), - MZ_CORP =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ), - ), - - ), - RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", - regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),), - TABL_MX =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX"), - TABL_MX_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX_TUBU"), - b_1_tenseur =BLOC( condition = "TABL_MX != None", - TABL_FX =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX"), - TABL_FY =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY"), - TABL_FZ =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ"), - TABL_MY =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY"), - TABL_MZ =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ"), - ), - b_2_tenseurs =BLOC( condition = "TABL_MX_TUBU != None", - TABL_FX_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX_TUBU"), - TABL_FY_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY_TUBU"), - TABL_FZ_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"), - TABL_MY_TUBU =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY_TUBU"), - TABL_MZ_TUBU =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"), - TABL_FX_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX_CORP"), - TABL_FY_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY_CORP"), - TABL_FZ_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ_CORP"), - TABL_MX_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX_CORP"), - TABL_MY_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY_CORP"), - TABL_MZ_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ_CORP"), - ), - TABL_PRES =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire de pression"), - ), - - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes sous chargement thermique seul" ), - ), - SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), - CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, - fr="numéro des situations de passage" ), - NUME_GROUPE =SIMP(statut='o',typ='I', - fr="numéros des groupes de la situation" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max=1,fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - - ), -# ====================================================================== - b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", - - OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - regles=(UN_PARMI('CHAM_GD','RESULTAT'),), - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - b_extrac =BLOC(condition="RESULTAT != None", - fr="extraction d un champ de grandeur", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","SIEF_ELNO"),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',), - INST =SIMP(statut='f',typ='R',), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - b_acce_reel =BLOC(condition="(INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - ), - INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), - K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), - C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), - K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), - C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), - K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', - fr="liste des mailles ou sont affectés les indices de contraintes"), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), - fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), - ), - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des températures sur la section"), - TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des moyennes sur la section"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - ), - SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), - CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - TEMP_REF =SIMP(statut='f',typ='R',fr="temperature référence"), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_GROUPE =SIMP(statut='o',typ='I', - fr="numéros des groupes de la situation" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, - fr="numéro des situations de passage" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f', - fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)" - +" ou pour les exprimer dans d'autres repères", - docu="U4.81.21",UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - - ACTION =FACT(statut='o',max='**', - regles=(UN_PARMI('RESULTAT','CHAM_GD'),), - - OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","MOYENNE_ARITH","EXTREMA"), - validators=NoRepeat(), max=2), - INTITULE =SIMP(statut='o',typ='TXM'), - - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster, - cham_elem,),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - - b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE', - 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - b_extrema =BLOC(condition="au_moins_un(OPERATION, 'EXTREMA')", - fr="recherche de MIN MAX", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - - b_MOYENNE_ARITH =BLOC(condition="au_moins_un(OPERATION, 'MOYENNE_ARITH')", - fr="moyenne sur des groupes", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - - b_autre =BLOC(condition="aucun(OPERATION, ('EXTREMA', 'MOYENNE_ARITH'))", - fr="extraction et moyenne", - regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), - EXCLUS('CHEMIN','GROUP_NO'), - EXCLUS('CHEMIN','NOEUD'), - PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'), - UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'), - PRESENT_PRESENT('TRAC_DIR','DIRECTION'), - ENSEMBLE('MOMENT','POINT'), - PRESENT_PRESENT('MOMENT','RESULTANTE'), - PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), - EXCLUS('TRAC_DIR','TRAC_NOR'), - PRESENT_PRESENT('ORIGINE','AXE_Z'),), - - CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)), - ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ), - RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), - - MOMENT =SIMP(statut='f',typ='TXM',max='**'), - POINT =SIMP(statut='f',typ='R',max='**'), - - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", - into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), - ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), - ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), - - TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), - TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - - VECT_Y =SIMP(statut='f',typ='R',max='**'), - MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), - - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_RUPTURE=MACRO(nom="POST_RUPTURE", - op=OPS("Macro.post_rupture_ops.post_rupture_ops"), - sd_prod=table_sdaster, - fr="post-traitements en Rupture", - reentrant='f', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - TABLE = SIMP(statut='o',typ=table_sdaster,max='**'), - -# rq : il est impossible de proposer le bon choix pour OPERATION suivant la valeur de reuse... - OPERATION = SIMP(statut='o',typ='TXM',into=( - 'ABSC_CURV_NORM', - 'ANGLE_BIFURCATION', - 'K_EQ', - 'DELTA_K_EQ', - 'COMPTAGE_CYCLES', - 'LOI_PROPA', - 'CUMUL_CYCLES', - 'PILO_PROPA', - 'K1_NEGATIF', - ) - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'ABSC_CURV_NORM' -#----------------------------------------------------------------------------------------------------------------------------------- - - - b_absc = BLOC(condition="OPERATION == 'ABSC_CURV_NORM'",fr="normalise l'abscisse curviligne", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="ABSC_CURV_NORM",fr="Nom de la nouvelle colonne"), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'ANGLE_BIFURCATION' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_angle = BLOC(condition="OPERATION == 'ANGLE_BIFURCATION' ",fr="Angle de bifurcation", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="BETA",fr="Nom de la nouvelle colonne"), - CRITERE = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",into=('SITT_MAX','K1_MAX','K2_NUL','PLAN'),), - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'K_EQ' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Keq = BLOC(condition="OPERATION == 'K_EQ' ",fr="Cumul sur les modes : calcul du K equivalent", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="K_EQ",fr="Nom de la nouvelle colonne"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", - into=('LINEAIRE','QUADRATIQUE','CUMUL_G','MODE_I'),), - - b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'DELTA_K_EQ' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_DeltaKeq = BLOC(condition="OPERATION == 'DELTA_K_EQ' ",fr="Cumul sur les modes : calcul du DeltaK equivalent", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_K_EQ",fr="Nom de la nouvelle colonne"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", - into=('QUADRATIQUE','CUMUL_G','MODE_I'),), - - b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'COMPTAGE_CYCLES' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Comptage = BLOC(condition="OPERATION == 'COMPTAGE_CYCLES' ",fr="Comptage des cycles", - - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Nom des quantités sur lesquelles s'effectuent le comptage"), - COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL","UNITAIRE")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - - b_Comptage_Unitaire = BLOC(condition="COMPTAGE=='UNITAIRE'", - fr="comptage unitaire pour les amplitudes constantes", - - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'LOI_PROPA' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Loi_Propa = BLOC(condition="OPERATION == 'LOI_PROPA' ",fr="calcul de l'incrément d'avancée de fissure par cycle", - - NOM_PARA = SIMP(statut='f',typ='TXM',defaut="DELTA_A" ,max=1,fr="Nom de la nouvelle colonne"), - NOM_DELTA_K_EQ = SIMP(statut='f',typ='TXM',defaut="DELTA_K_EQ",max=1, - fr="Nom de la quantité correspondant au Delta_K_eq"), - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",)), - - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'CUMUL_CYCLES' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_cumul = BLOC(condition="OPERATION == 'CUMUL_CYCLES' ",fr="Cumul sur les cycles", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_A",fr="Nom de la colonne à traiter"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="LINEAIRE",into=('LINEAIRE',)), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'PILO_PROPA' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_pilo_propa = BLOC(condition="OPERATION == 'PILO_PROPA' ",fr="Pilotage de la propagation", - - regles = UN_PARMI('DELTA_A_MAX','DELTA_N'), - DELTA_A_MAX = SIMP(statut='f',typ='R',max=1,val_min=0.,fr="Pilotage en incrément d'avancée max"), - DELTA_N = SIMP(statut='f',typ='R',max=1,val_min=1 ,fr="Pilotage en incrément de nombre de blocs"), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'K1_NEGATIF' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_k1_neg = BLOC(condition="OPERATION == 'K1_NEGATIF' ",fr="Mise a zero des valeurs negatives de K1", - - MODELISATION = SIMP(statut='o',typ='TXM',into=("C_PLAN","D_PLAN","3D","AXIS")), - MATER = SIMP(statut='o',typ=mater_sdaster,), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f', - UIinfo={"groupes":("Post-traitements",)}, - fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure", - regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), - PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), - PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), - TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ETAT_INIT =FACT(statut='f', - TABL_USURE =SIMP(statut='f',typ=table_sdaster), - INST_INIT =SIMP(statut='f',typ='R'), - ), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - NOEUD =SIMP(statut='f',typ=no,), - INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), - INST_FIN =SIMP(statut='f',typ='R'), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - PUIS_USURE =SIMP(statut='f',typ='R'), - LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), - b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", - regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - SECTEUR =FACT(statut='f',max='**', - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - COEF_USUR_MOBILE=SIMP(statut='f',typ='R'), - COEF_USUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INIT =SIMP(statut='f',typ='R'), - ANGL_FIN =SIMP(statut='f',typ='R'), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R'), - COEF_VTAN =SIMP(statut='f',typ='R'), - COEF_USURE =SIMP(statut='f',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - OBSTACLE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R' ), - COEF_VTAN =SIMP(statut='f',typ='R' ), - COEF_USURE =SIMP(statut='o',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - FNOR_MAXI =SIMP(statut='f',typ='R' ), - VTAN_MAXI =SIMP(statut='f',typ='R' ), - ), - b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'", - TABL_USURE =SIMP(statut='o',typ=table_sdaster), - ), - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - RAYON_MOBILE =SIMP(statut='f',typ='R'), - RAYON_OBST =SIMP(statut='f',typ='R'), - LARGEUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INCLI =SIMP(statut='f',typ='R'), - ANGL_ISTHME =SIMP(statut='f',typ='R'), - ANGL_IMPACT =SIMP(statut='f',typ='R'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -POURSUITE=MACRO(nom="POURSUITE", - op=OPS("Cata.ops.build_poursuite"), - repetable='n', - fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX " \ - "ou HDF de sa base globale", - sd_prod = ops.POURSUITE, - UIinfo={"groupes":("Gestion du travail",)}, - op_init=ops.POURSUITE_context, - fichier_ini=1, - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), - - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=1,max=2, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - -# Le mot cle CATALOGUE n'est jamais utilise en POURSUITE mais sa presence est necessaire au bon fonctionnement -# de la commande, le code source etant commun aux commandes DEBUT et POURSUITE. -# - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, - ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'), - ), - - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TEST',)), - HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", - statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), - ), - - MESURE_TEMPS =FACT(fr="Pour choisir les mesures de temps consommé dans les commandes", - statut='d',min=1,max=1, - NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", - statut='f',typ='I',into=(0,1,2,3),defaut=1), - # 0 : rien - # 1 : impression en fin de commande des mesures principales - # 2 : impression en fin de commande des mesures principales et secondaires - # 3 : impression des mesures principales et secondaires pour chaque pas de temps - MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", - statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), - ), - - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), - ), - - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), - VALE =SIMP(statut='f',typ='I',val_min=0), -# valeur par défaut fixée à 10. dans le FORTRAN si CODE présent - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur par défaut fixée à 10% dans le FORTRAN - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900) ), -# valeur en pourcentage du temps maximum bornée à 900 secondes - - CODE =SIMP(statut='f',typ='TXM',into=('OUI', 'NON'),defaut='NON', - fr="paramètre réservé aux cas-tests"), - - IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), - - LANG = SIMP(statut='f', typ='TXM', - fr="Permet de choisir la langue utilisée pour les messages (si disponible)", - ang="Allows to choose the language used for messages (if available)"), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -PRE_GIBI=PROC(nom="PRE_GIBI",op=49, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier de maillage GIBI au format Aster", - UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -PRE_GMSH=PROC(nom="PRE_GMSH",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier de maillage GMSH au format Aster", - UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: alexei.mikchevitch at edf.fr -PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster", - UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), - CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster, - fr="Effectuer le produit d'une matrice par un vecteur", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Matrices et vecteurs",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ), - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: emmanuel.boyere at edf.fr - - -def proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE, - RESU_GENE, NUME_DDL_GENE, - STOCKAGE,**args ): - if NUME_DDL_GENE is not None and NUME_DDL_GENE.is_typco(): - self.type_sdprod(NUME_DDL_GENE, nume_ddl_gene) - if MATR_ASSE_GENE != None: - for m in MATR_ASSE_GENE: - self.type_sdprod(m['MATRICE'],matr_asse_gene_r) - if VECT_ASSE_GENE != None: - for v in VECT_ASSE_GENE: - self.type_sdprod(v['VECTEUR'],vect_asse_gene) - if RESU_GENE != None: - for v in RESU_GENE: - self.type_sdprod(v['RESULTAT'],tran_gene) - return None - -PROJ_BASE=MACRO(nom="PROJ_BASE", - op=OPS('Macro.proj_base_ops.proj_base_ops'), - regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE','RESU_GENE')), - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - sd_prod=proj_base_prod, - fr="Projection des matrices et/ou vecteurs assembles sur une base (modale ou de RITZ)", - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("PLEIN","DIAG") ), - NUME_DDL_GENE =SIMP(statut='f',typ=(nume_ddl_gene,CO),defaut=None), - MATR_ASSE_GENE =FACT(statut='f',max='**', - MATRICE =SIMP(statut='o',typ=CO,), - regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),), - MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - ), - VECT_ASSE_GENE =FACT(statut='f',max='**', - VECTEUR =SIMP(statut='o',typ=CO,), - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), - RESU_GENE =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=CO,), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - RESU =SIMP(statut='o',typ=dyna_trans), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def proj_champ_prod(RESULTAT=None,CHAM_GD=None,METHODE=None,**args ): - if (RESULTAT == None and CHAM_GD == None) : return corresp_2_mailla - if RESULTAT != None : return AsType(RESULTAT) - if CHAM_GD != None and METHODE == 'SOUS_POINT' : - return cham_elem - else : - return AsType(CHAM_GD) - raise AsException("type de concept resultat non prevu") - - - - -PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Projeter des champs d'un maillage sur un autre", - - # faut-il projeter les champs ? - PROJECTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),), - - # pour projeter avec une sd_corresp_2_mailla deja calculée : - MATR_PROJECTION =SIMP(statut='f',typ=corresp_2_mailla,), - - - - #----------------------------------------------------------------------------------------------------------- - # 1er cas : on fait tout d'un coup : creation de la sd_corresp_2_mailla + projection des champs - #----------------------------------------------------------------------------------------------- - b_1_et_2 =BLOC(condition= "PROJECTION == 'OUI' and MATR_PROJECTION == None", - regles=(UN_PARMI('RESULTAT','CHAM_GD'), - UN_PARMI('MODELE_1','MAILLAGE_1'), - UN_PARMI('MODELE_2','MAILLAGE_2'), - ), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), - - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("NUAGE_DEG_0","NUAGE_DEG_1","AUTO","COLLOCATION","ECLA_PG","SOUS_POINT") ), - - - MODELE_1 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_1 =SIMP(statut='f',typ=(maillage_sdaster,squelette)), - - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), - - # Cas de la projection NUAGE_DEG_0/1 : - #-------------------------------------------- - b_nuage =BLOC(condition="METHODE in ('NUAGE_DEG_0','NUAGE_DEG_1')", - CHAM_NO_REFE =SIMP(statut='o',typ=cham_no_sdaster), - ), - - - # Cas de la projection COLLOCATION : - #-------------------------------------------- - b_elem =BLOC(condition="METHODE in ('COLLOCATION','ECLA_PG','AUTO')", - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), - fr="Pour indiquer au programme le type de projection souhaité"), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), - ), - - # Cas de la projection SOUS_POINT : - #-------------------------------------------- - b_sous_point =BLOC(condition="METHODE == 'SOUS_POINT'" , - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - - - # Cas de la projection d'une sd_resultat : - #-------------------------------------------- - b_resultat =BLOC(condition="RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), - EXCLUS('TOUT_CHAM','NOM_CHAM',),), - NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), - fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - ), # fin bloc b_1_et_2 - - - - #----------------------------------------------------------------------------------------------------------- - # 2eme cas : on s'arrete apres la creation de la sd_corresp_2_mailla - #----------------------------------------------------------------------------------------------- - b_1 =BLOC(condition="PROJECTION == 'NON'", - - METHODE =SIMP(statut='f',typ='TXM',defaut="COLLOCATION", - into=("COLLOCATION","COUPLAGE",) ), - - regles=(UN_PARMI('MODELE_1','MAILLAGE_1'), - UN_PARMI('MODELE_2','MAILLAGE_2'), - ), - MODELE_1 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_1 =SIMP(statut='f',typ=maillage_sdaster), - - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), - - - # Cas de la projection COLLOCATION : - #-------------------------------------------- - b_elem =BLOC(condition="METHODE in ('COLLOCATION',)", - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), - fr="Pour indiquer au programme le type de projection souhaité"), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - ), - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - ), # fin bloc b_1 - - - - #----------------------------------------------------------------------------------------------------------- - # 3eme cas : on projette les champs avec une sd_corresp_2_mailla déjé calculée - #----------------------------------------------------------------------------------------------- - b_2 =BLOC(condition="MATR_PROJECTION != None", - regles=(UN_PARMI('RESULTAT','CHAM_GD'),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), - fr="Parfois utile en dynamique pour pouvoir imposer la numérotation des cham_no."), - - # nécessaire si l'on projette des cham_elem : - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là où la projection ne donne pas de valeurs."), - - - - # Cas de la projection d'une sd_resultat : - #-------------------------------------------- - b_resultat =BLOC(condition="RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), - EXCLUS('TOUT_CHAM','NOM_CHAM',),), - - NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - ), - ), # fin bloc b_2 - - - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r - if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c - if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c - raise AsException("type de concept resultat non prevu") - -PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, - fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene ) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), - MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr -def proj_mesu_modal_prod(MODELE_MESURE,**args): - vale=MODELE_MESURE['MESURE'] - if AsType(vale) == dyna_trans : return tran_gene - if AsType(vale) == dyna_harmo : return harm_gene - if AsType(vale) == mode_meca : return mode_gene - if AsType(vale) == mode_meca_c : return mode_gene -# if AsType(vale) == base_modale : return mode_gene - raise AsException("type de concept resultat non prevu") - -PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, - sd_prod=proj_mesu_modal_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection", - - MODELE_CALCUL =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), -# BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), - BASE =SIMP(statut='o',typ= mode_meca, ), - ), - MODELE_MESURE =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), -# MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), - MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE", - "SIEF_NOEU","EPSI_NOEU",),max='**'), - ), - CORR_MANU =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), - NOEU_CALCUL =SIMP(statut='f',typ=no), - NOEU_MESURE =SIMP(statut='f',typ=no), - ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - RESOLUTION =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), - b_svd =BLOC(condition="METHODE=='SVD'", - EPS=SIMP(statut='f',typ='R',defaut=0. ), - ), - REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), - b_regul =BLOC(condition="REGUL!='NON'", - regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), - COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - ), - ), - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -PROJ_RESU_BASE=OPER(nom="PROJ_RESU_BASE",op= 79,sd_prod=tran_gene, - fr="Projection d'une sd resultat assemblee sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - RESU =SIMP(statut='o',typ=dyna_trans), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=interspectre,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ", - regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), - UN_PARMI('TOUT','GROUP_MA','MAILLE'), - PRESENT_PRESENT('CHAM_NO','MODELE_INTERFACE'),), - SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), - TOUT_CMP =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - FREQ_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - FREQ_FIN =SIMP(statut='o',typ='R',val_min=0.E+0 ), - NB_POIN =SIMP(statut='o',typ='I' ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), -# Quel est le type attendu derriere MODELE_INTERFACE - MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), - ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr - -PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene, - fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -def propa_fiss_prod(self,**args): - if args.has_key('MAIL_TOTAL') : - MAIL_TOTAL = args['MAIL_TOTAL'] - self.type_sdprod(MAIL_TOTAL,maillage_sdaster) - if args.has_key('MAIL_FISS') : - MAIL_FISS = args['MAIL_FISS'] - self.type_sdprod(MAIL_FISS,maillage_sdaster) - if args.has_key('FISSURE') : - FISSURE = args['FISSURE'] - for numfis in FISSURE : - if (args['METHODE_PROPA']=='MAILLAGE') : - self.type_sdprod(numfis['MAIL_PROPAGE'],maillage_sdaster) - else : - self.type_sdprod(numfis['FISS_PROPAGEE'],fiss_xfem) - return None - -PROPA_FISS=MACRO(nom="PROPA_FISS", - op=OPS('Macro.propa_fiss_ops.propa_fiss_ops'), - sd_prod=propa_fiss_prod, - fr="Propagation de fissure avec X-FEM",reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - METHODE_PROPA = SIMP(statut='o',typ='TXM', - into=("SIMPLEXE","UPWIND","MAILLAGE","INITIALISATION","GEOMETRIQUE") ), - - b_hamilton = BLOC(condition="(METHODE_PROPA=='SIMPLEXE') or (METHODE_PROPA=='UPWIND') or (METHODE_PROPA=='GEOMETRIQUE') ", - MODELE = SIMP(statut='o',typ=modele_sdaster), - TEST_MAIL = SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), - DA_MAX = SIMP(statut='o',typ='R',max=1,val_min=0.0), - RAYON = SIMP(statut='o',typ='R',), - ZONE_MAJ = SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), - b_tore = BLOC(condition = "ZONE_MAJ == 'TORE' ", - RAYON_TORE = SIMP(statut='f',typ='R',max=1,val_min=0.0), - ), - b_propagation = BLOC(condition = "TEST_MAIL == 'NON' ", - FISSURE = FACT(statut='o',min=1,max='**', - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), - NB_POINT_FOND = SIMP(statut='f',typ='I',max='**',val_min=2), - TABLE = SIMP(statut='o',typ=table_sdaster,max=1), - ), - LOI_PROPA = FACT(statut='o',max=1, - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - COMP_LINE = FACT(statut='o',max=1, - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - ), - CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", - into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), - ), - - b_test_const = BLOC(condition = "TEST_MAIL == 'OUI' ", - FISSURE = FACT(statut='o',min=1,max='**', - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), - ), - ITERATIONS = SIMP(statut='f',typ='I',max=1,val_min=3,defaut=5), - TOLERANCE = SIMP(statut='f',typ='R',max=1,val_min=0.0,val_max=100.0,defaut=5.0), - ), - - ), - - b_maillage =BLOC(condition="(METHODE_PROPA=='MAILLAGE')", - MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), - ITERATION = SIMP(statut='o',typ='I',max=1), - DA_MAX = SIMP(statut='o',typ='R',max=1), - FISSURE = FACT(statut='o',min=1,max='**', - MAIL_ACTUEL = SIMP(statut='o',typ=maillage_sdaster,max=1), - GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), - GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - MAIL_PROPAGE = SIMP(statut='f',typ=CO,max=1), - TABLE = SIMP(statut='o',typ=table_sdaster,max=1), - ), - MAIL_TOTAL = SIMP(statut='o',typ=CO), - LOI_PROPA = FACT(statut='o',max=1, - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - COMP_LINE = FACT(statut='o',max=1, - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - ), - CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", - into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), - ), - - b_init =BLOC(condition="(METHODE_PROPA=='INITIALISATION')", - MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), - FORM_FISS = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN","ELLIPSE"), ), - GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), - GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), - MAIL_TOTAL = SIMP(statut='o',typ=CO), - MAIL_FISS = SIMP(statut='f',typ=CO), - - b_droite = BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ", - PFON = SIMP(statut='o',typ='R',max=3), - DTAN = SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_plan = BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ", - DTAN = SIMP(statut='o',typ='R',min=3,max=3), - POINT_ORIG = SIMP(statut='o',typ='R',min=3,max=3), - POINT_EXTR = SIMP(statut='o',typ='R',min=3,max=3), - NB_POINT_FOND = SIMP(statut='o',typ='I',), - ), - - b_ellipse = BLOC(condition = "FORM_FISS == 'ELLIPSE' ", - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ANGLE_ORIG = SIMP(statut='o',typ='R',), - ANGLE_EXTR = SIMP(statut='o',typ='R',), - NB_POINT_FOND = SIMP(statut='o',typ='I',) - ), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Propagation de fissure avec X-FEM", - - MODELE =SIMP(statut='o',typ=modele_sdaster), - - TEST_MAIL =SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), - - DA_MAX =SIMP(statut='o',typ='R'), - - FISS_PROP =SIMP(statut='o',typ=fiss_xfem), - - ZONE_MAJ =SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), - - RAYON_TORE =SIMP(statut='f',typ='R'), - - LISTE_FISS =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - - ANGLE =SIMP(statut='f',typ='R',max='**'), - VITESSE =SIMP(statut='f',typ='R',max='**'), - DA_FISS =SIMP(statut='f',typ='R'), - NB_CYCLES =SIMP(statut='f',typ='R'), - - b_test_mail_const =BLOC( condition = "TEST_MAIL == 'OUI' ", - FISS_INITIALE =SIMP(statut='o',typ=fiss_xfem,max=1), - DISTANCE =SIMP(statut='o',typ='R',max=1), - TOLERANCE =SIMP(statut='o',typ='R',max=1), - ), - - RAYON =SIMP(statut='o',typ='R',), - - METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND","GEOMETRIQUE"),defaut="UPWIND"), - - INFO =SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr - -RAFF_GP =MACRO(nom="RAFF_GP", - op=OPS('Macro.raff_gp_ops.raff_gp_ops'), - sd_prod=maillage_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="Preparation du maillage pour calcul du Gp en 2D", - MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage avant adaptation", - ang="Mesh before adaptation" ), - TRANCHE_2D = FACT(statut='0',max = 1, - CENTRE =SIMP(statut='o',typ='R',max=2), - RAYON =SIMP(statut='o',typ='R',max=1), - ANGLE =SIMP(statut='o',typ='R',max=1), - TAILLE =SIMP(statut='o',typ='R',max=1), - NB_ZONE =SIMP(statut='o',typ='I',), - ), - NB_RAFF = SIMP(statut='f',typ='I',defaut=4), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -# determination du type de sd produite par la commande -def raff_xfem_prod(self,TYPE,**args): - if TYPE == 'DISTANCE' : - return cham_no_sdaster - elif TYPE == 'ZONE' : - return carte_sdaster - else : - raise AsException("type de concept non prevu") - - -RAFF_XFEM=MACRO(nom="RAFF_XFEM", - op=OPS('Macro.raff_xfem_ops.raff_xfem_ops'), - sd_prod=raff_xfem_prod, - fr="Calcul d'un indicateur pour le raffinement", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - TYPE =SIMP(statut='f',typ='TXM',into=('DISTANCE','ZONE'),defaut='DISTANCE'), - FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - - b_zone =BLOC(condition = "TYPE == 'ZONE' ",fr="Paramètres de la zone", - RAYON =SIMP(statut='o',typ='R',val_min=0.), - ), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -# commande cachee appelee uniquement par la macro RAFF_XFEM - -RAFF_XFEM_ZONE=OPER(nom="RAFF_XFEM_ZONE", - op=188, -# sd_prod=cham_elem, - sd_prod=carte_sdaster, - fr="Calcul d'un indicateur binaire pour le raffinement", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max=1), - RAYON =SIMP(statut='o',typ='R',val_min=0.), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aurore.parrot at edf.fr -RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster, - fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), - RESU =FACT(statut='o',max='**', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), - EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - TEMPE =SIMP(statut='f',typ='R' ), - LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), - CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ), - INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None, - BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None, - INTE_SPEC=None,NOEUD_J=None,NUME_ORDRE_J=None, - NOM_CMP_J=None,NOM_CMP_I=None,NUME_ORDRE_I=None,NOEUD_I=None, - NOM_PARA_TABL=None,**args): - if AsType(RESULTAT) == dyna_harmo or \ - AsType(RESU_GENE) == harm_gene or \ - (INTE_SPEC and NUME_ORDRE_J and (NUME_ORDRE_I != NUME_ORDRE_J) ) or \ - (INTE_SPEC and NOEUD_J and ((NOEUD_I != NOEUD_J) or (NOM_CMP_I != NOM_CMP_J)) ) or \ - (TABLE != None and NOM_PARA_TABL == "FONCTION_C"): - return fonction_c - else: - return fonction_sdaster - -RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod, - fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre", - reentrant='f', - UIinfo={"groupes":("Résultats et champs","Fonctions",)}, - regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE','INTE_SPEC'),), - - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - RESU_GENE =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)), - TABLE =SIMP(statut='f',typ=(table_sdaster,table_fonction)), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), - NAPPE =SIMP(statut='f',typ=nappe_sdaster), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - -# ======= ACCES A LA SD RESULTAT ================================================= - b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)", - fr="acces a une SD résultat", -# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), - ), - ), -# ======= BASE_ELAS_FLUI ================================================= - b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", - fr="Récupération de la fonction à partir d un concept melasflu", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='o',typ='I' ), - PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), - PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), - ), - -# ======= INTERSPECTRE ================================================= - b_inte_spec = BLOC ( condition = "INTE_SPEC != None", - fr="Récupération de fonction dans un concept interspectre", - regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOEUD_I =SIMP(statut='f',typ=no,max=1), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1 ), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='f',typ='I',max=1 ), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='f',typ=no,max=1), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1 ), - NOM_CMP_J =SIMP(statut='f',typ='TXM',max=1 ), - ), - ), - -# ======= TABLE ================================================= - b_table = BLOC ( condition = "TABLE != None", - fr="Récupération de la fonction à partir d un concept table", - regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'), - PRESENT_PRESENT('PARA_X','PARA_Y'),), - PARA_X = SIMP(statut='f',typ='TXM', - fr="1ère colonne de la table qui définit la fonction à récupérer", ), - PARA_Y = SIMP(statut='f',typ='TXM', - fr="2ème colonne de la table qui définit la fonction à récupérer", ), - #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction", - NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"), - fr="Nom du paramètre de la table contenant la fonction" ), - #), - - FILTRE = FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - VALE_K =SIMP(statut='f',typ='TXM' ),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - -# ======= RESULTAT ================================================= - b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT", - regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - b_cham = BLOC ( condition = "NOM_CHAM != None", - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), - PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), - PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'),), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - ), - ), - -# ======= RESU_GENE ================================================= - b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene", - fr="Récupération d'une fonction à partir d un concept TRAN_GENE", - regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","PTEM") ), - NOEUD_CHOC =SIMP(statut='f',typ=no), - GROUP_NO_CHOC =SIMP(statut='f',typ=grno), - b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')", - regles=(UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',), - UN_PARMI('NOM_CMP','NUME_CMP_GENE',), - EXCLUS('MULT_APPUI','CORR_STAT'),), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), - b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)", - regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),), - PARA_X =SIMP(statut='o',typ='TXM', - into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), - PARA_Y =SIMP(statut='o',typ='TXM', - into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - INTITULE =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - ), - ), - b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", - fr="Récupération d'une fonction à partir d un concept HARM_GENE", - regles=(UN_PARMI('NOM_CMP','NUME_CMP_GENE'), - UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE") ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - # b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", - # fr="Récupération d'une fonction à partir d un concept HARM_GENE", - # regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - # NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - # NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - # b_cham = BLOC ( condition = "NOM_CHAM != None", - # regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), - # NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - # NOM_CMP =SIMP(statut='f',typ='TXM' ), - # b_cmp = BLOC ( condition = "NOM_CMP != None", - # regles=(UN_PARMI('NOEUD','GROUP_NO'),), - # NOEUD =SIMP(statut='f',typ=no), - # GROUP_NO =SIMP(statut='f',typ=grno), - # ), - # ), - # ), - b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene", - fr="Récupération d'une fonction à partir d un concept MODE_GENE", - regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - b_cham = BLOC ( condition = "NOM_CHAM != None", - regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - b_cmp = BLOC ( condition = "NOM_CMP != None", - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('SQUELETTE','SOUS_STRUC'),), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - SQUELETTE =SIMP(statut='f',typ=squelette ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - ), - ), - ), - -# ======= CHAM_GD ================================================= - b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD", - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), - PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), - PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'),), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - ), - -# ======= NAPPE ================================================= - b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE", - VALE_PARA_FONC =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -# ======= SURCHARGE DES ATTRIBUTS ================================================= - NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats" - +" en coordonnées généralisées", - regles=(UN_PARMI('FREQ','INST',),), - RESU_GENE =SIMP(statut='o',typ=(tran_gene,harm_gene),), - INST =SIMP(statut='f',typ='R',), - FREQ =SIMP(statut='f',typ='R',), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE",),), - b_interp_temp=BLOC(condition="INST != None and FREQ == None", - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DE PARAMETRES DE COUPLAGE VIA YACS -# -RECU_PARA_YACS=OPER(nom="RECU_PARA_YACS",op=114,sd_prod=listr8_sdaster, - reentrant = 'n', - UIinfo={"groupes":("Fonction",)}, - fr = "Gestion des scalaires via YACS pour le coupleur IFS", - DONNEES = SIMP(statut='o',typ='TXM',into=("INITIALISATION","CONVERGENCE","FIN","PAS",) ), - b_init = BLOC(condition= "DONNEES=='INITIALISATION'", - PAS = SIMP(statut='o',typ='R', ),), - b_noinit = BLOC(condition= "(DONNEES=='CONVERGENCE')or(DONNEES=='FIN')", - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ),), - b_pastps = BLOC(condition= "(DONNEES=='PAS')", - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ),), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, - fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue" - +" dans une autre SD pour celles qui le permettent", - UIinfo={"groupes":("Résultats et champs","Tables",)},reentrant='n', - CO =SIMP(statut='o',typ=assd), - regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), - NOM_TABLE =SIMP(statut='f',typ='TXM' ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f', - fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+ - "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné", - UIinfo={"groupes":("Résolution",)}, - MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), - - # mot-clé commun aux solveurs MUMPS, GCPC et PETSc: - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), - - # mot-clé pour les posttraitements de la phase de solve de MUMPS - POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")), - - # mot-clé commun aux solveurs GCPC et PETSc: - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - MATR_PREC =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), - - # mots-clés pour solveur PETSc: - ALGORITHME =SIMP(statut='f',typ='TXM',into=("CG", "CR", "GMRES", "GCR", ),defaut="GMRES" ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: Georges-cc.devesa at edf.fr -def rest_cond_tran_prod(RESULTAT,TYPE_RESU,**args ): - - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "DYNA_TRANS") : return dyna_trans - if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "EVOL_NOLI") : return evol_noli - - raise AsException("type de concept resultat non prevu") - -REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op= 78,sd_prod=rest_cond_tran_prod, - fr="Restituer dans la base physique des résultats issus d'un calcul" - +"non-lineaire avec projection modale ou d'un calcul transitoire linear" - +"avec condensation dynamique", - reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=( - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), - EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),), - RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNA_TRANS", - into=("DYNA_TRANS","EVOL_NOLI") ), - BASE_MODALE =SIMP(statut='f',typ=mode_meca), -# NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - MACR_ELEM_DYNA =SIMP(statut='f',typ=macr_elem_dyna), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,defaut="ACCE",into=("DEPL", - "VITE","ACCE",),),), - b_base_moda=BLOC(condition="BASE_MODALE != None", - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem),), - RESU_FINAL =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: emmanuel.boyere at edf.fr - -def rest_gene_phys_prod(RESU_GENE,**args ): - if AsType(RESU_GENE) == tran_gene : return dyna_trans - if AsType(RESU_GENE) == mode_gene : return mode_meca - if AsType(RESU_GENE) == harm_gene : return dyna_harmo - - raise AsException("type de concept resultat non prevu") - -REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op= 75,sd_prod=rest_gene_phys_prod, - fr="Restituer dans la base physique des résultats en coordonnées généralisées", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=( - EXCLUS('INST','LIST_INST','TOUT_INST', - 'TOUT_ORDRE','NUME_ORDRE','NUME_MODE',), - EXCLUS('FREQ','LIST_FREQ'), - EXCLUS('MULT_APPUI','CORR_STAT'), - EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'), - EXCLUS('CORR_STAT','NOEUD','GROUP_NO'), - EXCLUS('NOEUD','GROUP_NO'), - EXCLUS('MAILLE','GROUP_MA'), - PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),), - RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,harm_gene) ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", - "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",),),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -def rest_mode_nonl_prod(TYPE_RESU,**args): - if TYPE_RESU == 'DYNA_TRANS' : return dyna_trans - elif TYPE_RESU == 'MODE_MECA' : return mode_meca - raise AsException("type de concept resultat non prevu") - -REST_MODE_NONL=OPER(nom="REST_MODE_NONL", op=63, - sd_prod=rest_mode_nonl_prod, reentrant='n', - fr="Post traitement de mode_non_line : \ - recuperation resultats ", - UIinfo={"groupes":("Post-traitements",)}, - - MODE_NON_LINE =SIMP(statut='o',typ=table_container,max=1), - TYPE_RESU =SIMP(statut='o',typ='TXM',into=('MODE_MECA','DYNA_TRANS'),defaut='DYNA_TRANS',max=1), - NUME_ORDRE =SIMP(statut='o',typ='I',max=1), - b_dyna_trans =BLOC(condition="TYPE_RESU=='DYNA_TRANS'", - NB_INST =SIMP(statut='f',typ='I',max=1,defaut=512),), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: mathieu.corus at edf.fr -def rest_sous_struc_prod(RESU_GENE,RESULTAT,**args ): - if AsType(RESU_GENE) == tran_gene : return dyna_trans - if AsType(RESU_GENE) == mode_gene : return mode_meca - if AsType(RESU_GENE) == mode_cycl : return mode_meca - if AsType(RESU_GENE) == harm_gene : return dyna_harmo - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if AsType(RESULTAT) == mode_meca : return mode_meca - raise AsException("type de concept resultat non prevu") - -REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op= 77,sd_prod=rest_sous_struc_prod, - fr="Restituer dans la base physique des résultats obtenus par sous-structuration", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('RESU_GENE','RESULTAT'), -# ajout d'une regle de Ionel et Nicolas: -# UN_PARMI('NOM_CHAM','TOUT_CHAM'), -# - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST','NUME_MODE', - 'FREQ', 'LIST_FREQ'), -# Doc U à revoir - EXCLUS('NOEUD','GROUP_NO'), - EXCLUS('MAILLE','GROUP_MA'), - PRESENT_PRESENT('RESULTAT','SQUELETTE'), - UN_PARMI('SQUELETTE','SOUS_STRUC','SECTEUR'), - - ), - RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans, - mode_meca) ), - RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ), - NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", - "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",) ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - CYCLIQUE =FACT(statut='f',max='**', - NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - NUME_DIAMETRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - RESULTAT2 =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char, - mode_meca) ), - ), - - SQUELETTE =SIMP(statut='f',typ=squelette ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - SECTEUR =SIMP(statut='f',typ='I'), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=interspectre, - reentrant='n', - fr="Calculer la réponse d'une structure dans la base physique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca,), - BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), - NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON") ), - INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), - NOEUD =SIMP(statut='o',typ=no ,max='**'), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,into=("DEPL", - "VITE","ACCE","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA") ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - EXCIT =FACT(statut='f', - NOEUD =SIMP(statut='o',typ=no ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - ), - MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), - OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", - into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2008 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -def rest_spec_temp_prod(RESU_GENE,RESULTAT,**args): - if AsType(RESULTAT) == dyna_harmo : return dyna_trans - if AsType(RESU_GENE) == harm_gene : return tran_gene - if AsType(RESULTAT) == dyna_trans : return dyna_harmo - if AsType(RESU_GENE) == tran_gene : return harm_gene - raise AsException("type de concept resultat non prevu") - - -REST_SPEC_TEMP=OPER(nom="REST_SPEC_TEMP",op=181,sd_prod=rest_spec_temp_prod, - fr="Transformée de Fourier d'un résultat", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=UN_PARMI('RESU_GENE','RESULTAT'), - RESU_GENE =SIMP(statut='f',typ=(harm_gene,tran_gene,) ), - RESULTAT =SIMP(statut='f',typ=(dyna_harmo,dyna_trans,) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ), - SYMETRIE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr - - -SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", - op=OPS('Macro.simu_point_mat_ops.simu_point_mat_ops'), - sd_prod=table_sdaster, - UIinfo={"groupes":("Résolution",)}, - fr="Calcul de l'évolution mécanique, en quasi-statique," \ - " d'un point matériel en non linéaire", - COMPORTEMENT =C_COMPORTEMENT(), - MATER =SIMP(statut='o',typ=mater_sdaster,max=30), - -## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), -# --MASSIF : orientation du materiau (monocristal, orthotropie) - MASSIF =FACT(statut='f',max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - INCREMENT =C_INCREMENT('MECANIQUE'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - SUPPORT= SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), - - b_PM = BLOC(condition="SUPPORT == 'POINT'",fr="Simulation sans élément fini", - FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), - NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), - OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), - ARCHIVAGE =FACT(statut='f', - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # on permet ici seulementn celles qui sont validees - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","IRRA","SECH")), - VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - ), - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","IRRA","SECH")), - - ), - b_EF = BLOC(condition="SUPPORT == 'ELEMENT'",fr="Simulation sur un élément fini", - MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN","D_PLAN",)), - RECH_LINEAIRE =C_RECH_LINEAIRE(), - ARCHIVAGE =C_ARCHIVAGE(), - SUIVI_DDL =C_SUIVI_DDL(), - - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # a priori toutes doivent fonctionner - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", - "EPSA","NEUT1","NEUT2")), - VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - VALE_REF = SIMP(statut='f',typ='R'), - - b_ZIRC = BLOC(condition="NOM_VARC=='M_ZIRC'", - V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - b_ACIER = BLOC(condition="NOM_VARC=='M_ACIER'", - V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V5 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V6 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V7 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2")), - - SIGM_IMPOSE=FACT(statut='f', - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - EPSI_IMPOSE=FACT(statut='f', - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ), - b_COEF = BLOC(condition="SUPPORT == 'POINT'",fr="matrice de coefficients", - regles = (PRESENT_ABSENT('SIGM_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), - PRESENT_ABSENT('EPSI_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), - PRESENT_ABSENT('MATR_C1','SIGM_IMPOSE','EPSI_IMPOSE'), - PRESENT_ABSENT('MATR_C2','SIGM_IMPOSE','EPSI_IMPOSE'), - PRESENT_ABSENT('VECT_IMPO', 'SIGM_IMPOSE','EPSI_IMPOSE'), - EXCLUS('EPSI_IMPOSE','GRAD_IMPOSE'), - EXCLUS('SIGM_IMPOSE','GRAD_IMPOSE'), - ), - - SIGM_IMPOSE=FACT(statut='f', - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - EPSI_IMPOSE=FACT(statut='f', - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - GRAD_IMPOSE=FACT(statut='f', - regles = ( ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), - F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - MATR_C1=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - MATR_C2=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - VECT_IMPO=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - ), - ), - SIGM_INIT=FACT(statut='f', - SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - ), - EPSI_INIT=FACT(statut='f', - EPXX = SIMP(statut='o',typ='R',max=1), - EPYY = SIMP(statut='o',typ='R',max=1), - EPZZ = SIMP(statut='o',typ='R',max=1), - EPXY = SIMP(statut='o',typ='R',max=1), - EPXZ = SIMP(statut='o',typ='R',max=1), - EPYZ = SIMP(statut='o',typ='R',max=1), - ), - VARI_INIT=FACT(statut='f', - VALE = SIMP(statut='o',typ='R',max='**'), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -STANLEY=MACRO(nom="STANLEY", - op=OPS('Macro.stanley_ops.stanley_ops'), - sd_prod=None, - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - fr="Outil de post-traitement interactif Stanley ", - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,dyna_harmo,dyna_trans) ), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - DISPLAY =SIMP(statut='f',typ='TXM'), - UNITE_VALIDATION=SIMP(statut='f',typ='I',val_min=10,val_max=90, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -# -STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, - fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique," - +" d'une structure en non linéaire", - reentrant='f', - UIinfo={"groupes":("Résolution","Mécanique",)}, - - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('STAT_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX","NEWTON_KRYLOV")), - b_meth_newton = BLOC(condition = "METHODE == 'NEWTON' or METHODE == 'NEWTON_KRYLOV'", - NEWTON = C_NEWTON(), - ), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - PILOTAGE =C_PILOTAGE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('STAT_NON_LINE'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_QUALITE =FACT(statut='f',max=1, - ERRE_TEMPS_THM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Adaptation temporelle pour les modélisations HM instationnaires", - ang="Time adaptation for unstationary HM models"), - ), -#------------------------------------------------------------------- - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_char_crit =BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), - ), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - b_rigi_geom =BLOC(condition="(RIGI_GEOM=='NON')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), - b_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - b_info=BLOC(condition="INFO==2", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr - - -# MACRO "TEST_THERMOPLASTIQUE" -# ---------------------------- -# def test_compor_sdprod(self, COMPORTEMENT, **kwargs): -# """Ne produit une table qu'en présence de COMPORTEMENT.""" -# if COMPORTEMENT: -# return table_sdaster -# return None - - -TEST_COMPOR =MACRO(nom="TEST_COMPOR", - op=OPS('Macro.test_compor_ops.test_compor_ops'), - # sd_prod=test_compor_sdprod, - sd_prod=table_sdaster, - docu="",reentrant='n', - fr="macro de test des comportements incrementaux dependant de la temperature", - - OPTION =SIMP(statut='f',typ='TXM',into=("THER","MECA"),defaut="THER"), - - COMPORTEMENT =C_COMPORTEMENT('SIMU_POINT_MAT'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - b_ther =BLOC(condition = "OPTION == 'THER'", - regles=(EXCLUS('C_PRAG','D_SIGM_EPSI'),), - MATER =SIMP(statut='o',typ=mater_sdaster,max=1,fr="materiau dependant de la temperature"), - ALPHA =SIMP(statut='o',typ=fonction_sdaster, - fr="coefficient de dilatation fonction de la temperature"), - YOUNG =SIMP(statut='o',typ=fonction_sdaster, - fr="module d'Young fonction de la temperature"), - LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max='**', - fr="liste des materiaux constants interpolés à chaque température"), - TEMP_INIT =SIMP(statut='o',typ='R', fr="temperature initiale et de reference"), - TEMP_FIN =SIMP(statut='o',typ='R', fr="temperature finale"), - INST_FIN =SIMP(statut='f',typ='R',defaut=1.,fr="instant final"), - SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), - NB_VARI =SIMP(statut='o',typ='I', fr="nombre de variables internes - 0 en elasticité"), - VARI_TEST =SIMP(statut='f',typ='TXM',max='**', - fr="liste de variables internes à tester - par defaut, toutes"), - -# special ecrouissage cinematique - D_SIGM_EPSI =SIMP(statut='f',typ=fonction_sdaster, - fr="module tangent fonction de la temperature- VMIS_CINE_LINE"), - C_PRAG =SIMP(statut='f',typ=fonction_sdaster, - fr="constante de Prager fonction de la temperature- VMIS_ECMI_*"), - ), - b_meca =BLOC(condition = "OPTION == 'MECA'", - LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max=2,min=2, - fr="liste des materiaux en Pa puis MPa "), - YOUNG =SIMP(statut='o',typ='R',fr="module d'Young"), - POISSON =SIMP(statut='o',typ='R',fr="coef de Poisson"), - LIST_NPAS =SIMP(statut='f',typ='I',max='**', - fr="nombre de pas de temps pour chaque discretisation"), - LIST_TOLE =SIMP(statut='f',typ='R',max='**',), - PREC_ZERO =SIMP(statut='f',typ='R',max='**',), - VARI_TEST =SIMP(statut='f',typ='TXM',max='**',defaut=('V1','VMIS','TRACE'), - fr="liste des CMP à tester "), - SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",)), - MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN"),defaut="3D",), - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0., - fr='Rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées',), - MASSIF =FACT(statut='f',max='**',fr='orientation du materiau (monocristal, orthotropie)', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - TEST_TANGENTE =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON"),defaut="OUI",), - VERI_MATR_OPTION =FACT(statut='f',max=1,fr='options pour le test de la matrice tangente', - VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut=1.E-5), - PRECISION =SIMP(statut='f',typ='R',defaut=1.E-4 ), - PREC_ZERO =SIMP(statut='f',typ='R',defaut=1.E-12 ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -TEST_FICHIER=MACRO(nom="TEST_FICHIER", - op=OPS('Macro.test_fichier_ops.test_fichier_ops'), - UIinfo={"groupes":("Utilitaires",)}, - fr="Tester la non régression de fichiers produits par des commandes aster", - FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), - EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**', - fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"), - NB_VALE =SIMP(statut='o',typ='I',), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - **C_TEST_REFERENCE('FICHIER', max=1) -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr - -TEST_FONCTION=MACRO(nom="TEST_FONCTION", - op=OPS('Macro.test_fonction_ops.test_fonction_ops'), - sd_prod=None, - fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence", - UIinfo={"groupes":("Fonctions","Utilitaires",)}, - TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - VALEUR =FACT(statut='f',max='**', - fr="Tester la valeur d une fonction ou d une nappe", - regles=(UN_PARMI('VALE_PARA','INTERVALLE'),), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), - VALE_PARA =SIMP(statut='f',typ='R' ,validators=NoRepeat(),max=2), - INTERVALLE =SIMP(statut='f',typ='R' ,validators=NoRepeat(),min=2,max=2), - **C_TEST_REFERENCE('FONCTION', max='**') - ), - ATTRIBUT =FACT(statut='f',max='**', - fr="Tester la valeur d un attribut d une fonction ou d''une nappe", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - PARA =SIMP(statut='f',typ='R' ), - CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ATTR =SIMP(statut='o',typ='TXM', - into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL", - "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ), - ATTR_REFE =SIMP(statut='o',typ='TXM' ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER") ), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -TEST_RESU=PROC(nom="TEST_RESU",op=23, - UIinfo={"groupes":("Résultats et champs","Utilitaires",)}, - fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence", - regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','CARTE','RESU','GENE','OBJET','TEST_NAN',)), - - CHAM_NO =FACT(statut='f',max='**', - regles=(EXCLUS('NOEUD','GROUP_NO'), # EXCLUS avec 'TYPE_TEST' dans trchno.f - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),), - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - NOEUD =SIMP(statut='f',typ=no ), - GROUP_NO =SIMP(statut='f',typ=grno ), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - **C_TEST_REFERENCE('CHAM_NO', max='**') - ), - - CARTE =FACT(statut='f',max='**', - CHAM_GD =SIMP(statut='o',typ=carte_sdaster), - MAILLE =SIMP(statut='o',typ=ma), - NOM_CMP =SIMP(statut='o',typ='TXM',max=1), - **C_TEST_REFERENCE('CARTE', max=1) - ), - - CHAM_ELEM =FACT(statut='f',max='**', - regles=(#UN_PARMI('MAILLE','TYPE_TEST',) dans trchel.f - EXCLUS('NOEUD','GROUP_NO','POINT'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'),), - CHAM_GD =SIMP(statut='o',typ=cham_elem), - MAILLE =SIMP(statut='f',typ=ma), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - **C_TEST_REFERENCE('CHAM_ELEM', max='**') - ), - - RESU =FACT(statut='f',max='**', - regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP',), - PRESENT_PRESENT('NOM_CMP','NOM_CHAM'), - EXCLUS('NOEUD','GROUP_NO','POINT'), # EXCLUS avec 'TYPE_TEST' dans trresu.f - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'),), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - FREQ =SIMP(statut='f',typ='R'), - NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ANGLE =SIMP(statut='f',typ='R'), - PARA =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - POINT =SIMP(statut='f',typ='I'), - SOUS_POINT =SIMP(statut='f',typ='I'), - **C_TEST_REFERENCE('RESU', max='**') - ), - - GENE =FACT(statut='f',max='**', - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), - b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene", - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - ), - b_mode =BLOC(condition = "AsType(RESU_GENE) == mode_gene", - regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='f',typ='I'), - PARA =SIMP(statut='f',typ='TXM'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - NUME_MODE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_harm =BLOC(condition = "AsType(RESU_GENE) == harm_gene", - regles=(UN_PARMI('NUME_ORDRE','FREQ') ,), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", - regles=(UN_PARMI('NUME_ORDRE','INST') ,), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - ), - **C_TEST_REFERENCE('GENE', max='**') - ), - - OBJET =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ='TXM'), - **C_TEST_REFERENCE('OBJET', max=1) - ), - - TEST_NAN =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, - UIinfo={"groupes":("Tables","Utilitaires",)}, - fr="Tester une cellule ou une colonne d'une table", -# concept table_sdaster à tester - TABLE =SIMP(statut='o',typ=table_sdaster), - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R',), - VALE_I =SIMP(statut='f',typ='I',), - VALE_C =SIMP(statut='f',typ='C',), - VALE_K =SIMP(statut='f',typ='TXM' ),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - NOM_PARA =SIMP(statut='o',typ='TXM' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - **C_TEST_REFERENCE('TABLE', max='**') -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -TEST_TEMPS=MACRO(nom="TEST_TEMPS", - op=OPS('Macro.test_temps_ops.test_temps_ops'), - sd_prod=None, - UIinfo={"groupes":("Utilitaires",)}, - fr="Permet de vérifier le temps passé dans les commandes", - reentrant='n', - - RESU = FACT(statut='o',max='**', - COMMANDE = SIMP(statut='o', typ='TXM', - fr="Nom de la commande testee"), - NUME_ORDRE = SIMP(statut='f', typ='I', defaut=1, val_min=1, - fr="Numero de l'occurrence de la commande testee"), - MACHINE = SIMP(statut='o', typ='TXM', max='**', - fr="Liste des machines dont on a la référence"), - VALE = SIMP(statut='o', typ='R', max='**', - fr="Temps CPU sur les machines listees en secondes"), - CRITERE = SIMP(statut='f', typ='TXM', defaut='RELATIF', into=('ABSOLU', 'RELATIF')), - PRECISION = SIMP(statut='f', typ='R', defaut=0.01, max='**', - fr="Ecart admissible pour chaque machine"), - TYPE_TEST = SIMP(statut='o', typ='TXM', into=('USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'), - defaut='USER+SYS', - fr="Valeur testee parmi 'USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution","Thermique",)}, - fr="Résoudre un problème thermique linéaire stationnaire ou transitoire", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - VALE =SIMP(statut='f',typ='R'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('THERMIQUE'), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_LINEAIRE'), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution","Thermique",)}, - fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" - +" stationnaire ou transitoire" , - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), - COMPORTEMENT =FACT(statut='d',max='**', - RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", - into=("THER_NL", - "THER_HYDR", - "SECH_GRANGER", - "SECH_MENSI", - "SECH_BAZANT", - "SECH_NAPPE" - ) ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('THERMIQUE'), -#------------------------------------------------------------------- - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - VALE =SIMP(statut='f',typ='R'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), - NEWTON =FACT(statut='d', - REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ,val_min=0), - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d', - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_NON_LINE'), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, - fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" - +" stationnaire avec chargement mobile", - reentrant='n', - UIinfo={"groupes":("Résolution","Thermique",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='c',typ=cara_elem ), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther ), - FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ETAT_INIT =FACT(statut='f', - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_ORDRE =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d', - CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_NON_LINE_MO'), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# Vérification des imports et définitions non autorisés dans le catalogue -UNAUTHORIZED = ("numpy", "UTMESS", "Table", "Graph") - -for _name in UNAUTHORIZED: - _obj = globals().get(_name, None) - assert _obj is None, "Definition de '%s' interdite dans le catalogue." % _name - -assert aster_exists or aster is None - diff --git a/Aster/Cata/cataSTA11/ops.py b/Aster/Cata/cataSTA11/ops.py deleted file mode 100644 index efe2a5a4..00000000 --- a/Aster/Cata/cataSTA11/ops.py +++ /dev/null @@ -1,507 +0,0 @@ -# coding=utf-8 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# Modules Python -import sys -import os -import os.path as osp -import traceback -import cPickle as pickle -import re -from math import sqrt, pi, atan2, tan, log, exp -from glob import glob - -# Modules Eficas -import Accas -from Accas import ASSD -from Noyau.ascheckers import CheckLog -from Noyau.N_info import message, SUPERV -from Noyau.N_types import force_list - -try: - import aster - import aster_core - aster_exists = True - # Si le module aster est présent, on le connecte - # au JDC - import Build.B_CODE - Build.B_CODE.CODE.codex=aster - - from Utilitai.Utmess import UTMESS, MessageLog -except: - aster_exists = False - - - -def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO): - """Fonction sdprod partie commune à DEBUT et POURSUITE. - (on stocke un entier au lieu du logique) - """ - jdc.set_par_lot(PAR_LOT, user_value=True) - jdc.impr_macro = int(IMPR_MACRO == 'OUI') - jdc.jxveri = int(CODE != None or (DEBUG != None and DEBUG['JXVERI'] == 'OUI')) - jdc.sdveri = int(DEBUG != None and DEBUG['SDVERI'] == 'OUI') - jdc.fico = None - jdc.sd_checker = CheckLog() - jdc.info_level = INFO - jdc.hist_etape = (DEBUG != None and DEBUG['HIST_ETAPE'] == 'OUI') - if CODE != None: - jdc.fico = 'TEST' - if aster_exists: - if LANG: - from Execution.i18n import localization - localization.install(LANG) - # pb en cas d'erreur dans FIN : appeler reset_print_function dans traiter_fin_exec ? - #from functools import partial - #asprint = partial(aster.affiche, 'MESSAGE') - #message.register_print_function(asprint) - # ne faire qu'une fois - if not hasattr(jdc, 'msg_init'): - # messages d'alarmes désactivés - if IGNORE_ALARM: - if not type(IGNORE_ALARM) in (list, tuple): - IGNORE_ALARM = [IGNORE_ALARM] - for idmess in IGNORE_ALARM: - MessageLog.disable_alarm(idmess) - # en POURSUITE, conserver le catalogue de comportement picklé - if not hasattr(jdc, 'catalc'): - from Comportement import catalc - jdc.catalc = catalc - jdc.msg_init = True - - -def DEBUT(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): - """ - Fonction sdprod de la macro DEBUT - """ - # La commande DEBUT ne peut exister qu'au niveau jdc - 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) - suppr = False - for fname in glob('pick.*') + glob('glob.*'): - try: - UTMESS('I', 'SUPERVIS_4', valk=fname) - os.remove(fname) - suppr = True - except OSError: - UTMESS('A', 'SUPERVIS_5', valk=fname) - if suppr: - UTMESS('I', 'SUPERVIS_6') - -def build_debut(self,**args): - """ - Fonction ops pour la macro DEBUT - """ - self.jdc.UserError=self.codex.error - - if self.jdc.par_lot == 'NON' : - self.jdc._Build() - # On execute la fonction debut pour initialiser les bases - # Cette execution est indispensable avant toute autre action sur ASTER - # op doit être un entier car la fonction debut appelle GCECDU qui demande - # le numéro de l'operateur associé (getoper) - self.definition.op=0 - self.set_icmd(1) - self.codex.debut(self) - # On remet op a None juste apres pour eviter que la commande DEBUT - # ne soit executée dans la phase d'execution - self.definition.op=None - return 0 - -def POURSUITE(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): - """ - Fonction sdprod de la macro POURSUITE - """ - # La commande POURSUITE ne peut exister qu'au niveau jdc - if self.jdc is not self.parent : - raise Accas.AsException("La commande POURSUITE ne peut exister qu'au niveau jdc") - - commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO) - if aster_exists: - self.jdc.set_poursuite(True) - - if self.codex: - base = 'glob.1' - if aster_exists: - repglob = aster_core.get_option("repglob") - bhdf = osp.join(repglob, 'bhdf.1') - base = osp.join(repglob, 'glob.1') - if not osp.isfile(base) and not osp.isfile(bhdf): - UTMESS('F','SUPERVIS_89') - # Le module d'execution est accessible et glob.1 est present - # Pour eviter de rappeler plusieurs fois la sequence d'initialisation - # on memorise avec l'attribut fichier_init que l'initialisation - # est réalisée - if hasattr(self,'fichier_init'):return - self.fichier_init='glob.1' - self.jdc.initexec() - # le sous programme fortran appelé par self.codex.poursu demande le numéro - # de l'operateur (GCECDU->getoper), on lui donne la valeur 0 - self.definition.op=0 - self.codex.poursu(self) - # Par la suite pour ne pas executer la commande pendant la phase - # d'execution on le remet à None - self.definition.op = None - self.g_context = {} - - # Il peut exister un contexte python sauvegardé sous forme pickled - # On récupère ces objets après la restauration des concepts pour que - # la récupération des objets pickled soit prioritaire. - # On vérifie que les concepts relus dans glob.1 sont bien tous - # presents sous le même nom et du même type dans pick.1 - # Le contexte est ensuite updaté (surcharge) et donc enrichi des - # variables qui ne sont pas des concepts. - # On supprime du pickle_context les concepts valant None, ca peut - # être le cas des concepts non executés, placés après FIN. - UTMESS('I', 'SUPERVIS2_1', valk='pick.1') - pickle_context = get_pickled_context() - if pickle_context == None: - UTMESS('F', 'SUPERVIS_86') - return - self.jdc.restore_pickled_attrs(pickle_context) - # vérification cohérence pick/base - savsign = self.jdc._sign - newsign = self.jdc.signature(base) - if args.get('FORMAT_HDF') == 'OUI': - UTMESS('I', 'SUPERVIS_71') - elif newsign != savsign: - UTMESS('A', 'SUPERVIS_69', valk=(savsign, newsign), - vali=self.jdc.jeveux_sysaddr) - else: - UTMESS('I', 'SUPERVIS_70', valk=newsign, vali=self.jdc.jeveux_sysaddr) - from Cata.cata import entier - from Noyau.N_CO import CO - interrupt = [] - count = 0 - UTMESS('I', 'SUPERVIS_65') - for elem, co in pickle_context.items(): - if isinstance(co, ASSD): - count += 1 - typnam = co.__class__.__name__ - # on rattache chaque assd au nouveau jdc courant (en poursuite) - co.jdc = self.jdc - co.parent = self.jdc - # le marquer comme 'executed' - i_int = '' - if co.executed != 1: - interrupt.append((co.nom, typnam)) - i_int = 'exception' - co.executed = 1 - UTMESS('I', 'SUPERVIS_66', valk=(co.nom, typnam.lower(), i_int)) - # pour que sds_dict soit cohérent avec g_context - self.jdc.sds_dict[elem] = co - if elem != co.nom: - name = re.sub('_([0-9]+)$', '[\\1]', co.nom) - if self.jdc.info_level > 1: - UTMESS('I', 'SUPERVIS2_3', - valk=(elem, type(co).__name__.upper())) - UTMESS('A', 'SUPERVIS_93', valk=(elem, "del %s" % name)) - del pickle_context[elem] - continue - if co == None: - del pickle_context[elem] - if count == 0: - UTMESS('I', 'SUPERVIS_67') - for nom, typnam in interrupt: - UTMESS('I', 'SUPERVIS_76', valk=(nom, typnam)) - if not interrupt: - UTMESS('I', 'SUPERVIS_72') - if self.jdc.info_level > 1: - keys = pickle_context.keys() - keys.sort() - for key in keys: - try: - value = str(pickle_context[key]) - if len(value) > 1000: - value = value[:1000] + '...' - valk = key, value - except: - valk = key, '...' - UTMESS('I', 'SUPERVIS_73', valk=valk) - self.g_context.update(pickle_context) - return - - else: - # Si le module d'execution n est pas accessible ou glob.1 absent on - # demande un fichier (EFICAS) - # Il faut éviter de réinterpréter le fichier à chaque appel de - # POURSUITE - if hasattr(self,'fichier_init'): - return - self.make_poursuite() - -def get_pickled_context(): - """ - Cette fonction permet de réimporter dans le contexte courant du jdc (jdc.g_context) - les objets python qui auraient été sauvegardés, sous forme pickled, lors d'une - précédente étude. Un fichier pick.1 doit être présent dans le répertoire de travail - """ - fpick = 'pick.1' - if not osp.isfile(fpick): - return None - - # Le fichier pick.1 est présent. On essaie de récupérer les objets python sauvegardés - context={} - try: - file=open(fpick, 'rb') - # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement - # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère - # aucun objet. - context = pickle.load(file) - file.close() - except: - # En cas d'erreur on ignore le contenu du fichier - traceback.print_exc() - return None - - return context - -def POURSUITE_context(self,d): - """ - Fonction op_init de la macro POURSUITE - """ - # self représente la macro POURSUITE ... - d.update(self.g_context) - # Une commande POURSUITE n'est possible qu'au niveau le plus haut - # On ajoute directement les concepts dans le contexte du jdc - -def build_poursuite(self,**args): - """ - Fonction ops pour la macro POURSUITE - """ - # Pour POURSUITE on ne modifie pas la valeur initialisee dans ops.POURSUITE - # Il n y a pas besoin d executer self.codex.poursu (c'est deja fait dans - # la fonction sdprod de la commande (ops.POURSUITE)) - self.set_icmd(1) - self.jdc.UserError = self.codex.error - return 0 - -def INCLUDE(self, UNITE, DONNEE, **args): - """Fonction sd_prod pour la macro INCLUDE""" - if not (UNITE or DONNEE) or hasattr(self, '_mark'): - return - self._mark = 1 - if self.jdc and self.jdc.par_lot == 'NON': - # On est en mode commande par commande, on appelle la methode speciale - self.Execute_alone() - if UNITE: - fname = 'fort.%s' % UNITE - else: - fname = DONNEE - if aster_exists: - repdex = aster_core.get_option('repdex') - fname = osp.join(repdex, fname) - try: - if aster_exists: - self.make_include(fname=fname) - else: - # dans eficas - if UNITE: - self.make_include(unite=UNITE) - else: - self.make_include(fname=fname) - except Accas.AsException: - if aster_exists: - UTMESS('F+', 'FICHIER_1', valk=fname) - UTMESS('F', 'FICHIER_2') - raise - -def INCLUDE_context(self,d): - """Fonction op_init pour macro INCLUDE""" - ctxt = self.g_context - d.update(ctxt) - -def build_include(self,**args): - """Fonction ops de la macro INCLUDE appelée lors de la phase de Build""" - # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) - # le numéro de la commande n est pas utile en phase de construction - # La macro INCLUDE ne sera pas numérotée (incrément=None) - ier=0 - self.set_icmd(None) - # On n'execute pas l'ops d'include en phase BUILD car il ne sert a rien. - #ier=self.codex.opsexe(self,1) - return ier - -def _detr_list_co(self, context): - """Utilitaire pour DETRUIRE""" - list_co = set() - # par nom de concept (typ=assd) - for mc in self['CONCEPT'] or []: - list_co.update(force_list(mc["NOM"])) - # par chaine de caractères (typ='TXM') - for mc in self['OBJET'] or []: - # longueur <= 8, on cherche les concepts existants - for nom in force_list(mc['CHAINE']): - assert type(nom) in (str, unicode), 'On attend une chaine de caractères : %s' % nom - if len(nom.strip()) <= 8: - if self.jdc.sds_dict.get(nom) != None: - list_co.add(self.jdc.sds_dict[nom]) - elif context.get(nom) != None: - list_co.add(context[nom]) - #else uniquement destruction des objets jeveux - return list_co - -def DETRUIRE(self, CONCEPT, OBJET, **args): - """Fonction OPS pour la macro DETRUIRE : exécution réelle.""" - # pour les formules, il ne faut pas vider l'attribut "parent_context" trop tôt - for co in _detr_list_co(self, {}): - co.supprime(force=True) - self.set_icmd(1) - ier = self.codex.opsexe(self, 7) - return ier - -def build_detruire(self, d): - """Fonction op_init de DETRUIRE.""" - # d est le g_context du jdc ou d'une macro - #message.debug(SUPERV, "id(d) : %s", id(d)) - for co in _detr_list_co(self, d): - assert isinstance(co, ASSD), 'On attend un concept : %s (type=%s)' % (co, type(co)) - nom = co.nom - #message.debug(SUPERV, "refcount_1(%s) = %d", nom, sys.getrefcount(co)) - # traitement particulier pour les listes de concepts, on va mettre à None - # le terme de l'indice demandé dans la liste : - # nomconcept_i est supprimé, nomconcept[i]=None - i = nom.rfind('_') - if i > 0 and not nom.endswith('_'): - concept_racine = nom[:i] - if d.has_key(concept_racine) and type(d[concept_racine]) is list: - try: - num = int(nom[i+1:]) - d[concept_racine][num] = None - except (ValueError, IndexError): - # cas : RESU_aaa ou (RESU_8 avec RESU[8] non initialisé) - pass - # pour tous les concepts : - if d.has_key(nom): - del d[nom] - if self.jdc.sds_dict.has_key(nom): - del self.jdc.sds_dict[nom] - # "suppression" du concept - co.supprime() - # On signale au parent que le concept n'existe plus après l'étape self - self.parent.delete_concept_after_etape(self, co) - # marque comme détruit == non executé - co.executed = 0 - - -def build_procedure(self,**args): - """ - Fonction ops de la macro PROCEDURE appelée lors de la phase de Build - """ - ier=0 - # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) - # le numéro de la commande n est pas utile en phase de construction - # On ne numérote pas une macro PROCEDURE (incrément=None) - self.set_icmd(None) - #ier=self.codex.opsexe(self,3) - return ier - -def build_DEFI_FICHIER(self,**args): - """ - Fonction ops de la macro DEFI_FICHIER - """ - self.set_icmd(1) - ier = self.codex.opsexe(self, 26) - return ier - -def build_formule(self, d): - """Fonction ops de FORMULE.""" - NOM_PARA = self.etape['NOM_PARA'] or '' - VALE = self.etape['VALE'] - VALE_C = self.etape['VALE_C'] - if type(NOM_PARA) not in (list, tuple): - NOM_PARA = [NOM_PARA, ] - for para in NOM_PARA: - if para.strip() != para: - raise Accas.AsException("nom de paramètre invalide (contient des blancs)" \ - " : %s" % repr(para)) - if self.sd == None: - return - if VALE != None : - texte = ''.join(VALE.splitlines()) - elif VALE_C != None : - texte = ''.join(VALE_C.splitlines()) - self.sd.setFormule(NOM_PARA, texte.strip()) - -def build_gene_vari_alea(self, d): - """Fonction ops de la macro GENE_VARI_ALEA.""" - from Utilitai.Utmess import UTMESS - a = self.etape['BORNE_INF'] - moyen = self.etape['VALE_MOY' ] - TYPE = self.etape['TYPE'] - if self['INIT_ALEA'] is not None: - jump = self.etape['INIT_ALEA' ] - self.iniran(jump) - if TYPE == 'EXP_TRONQUEE': - b = self.etape['BORNE_SUP'] - if a >= b: - UTMESS('F', 'PROBA0_1', valr=[a, b]) - elif moyen <= a or moyen >= b: - UTMESS('F', 'PROBA0_2', valr=[a, moyen, b]) - k = 1. / (moyen - a) - if exp(-b * k) < 1.e-12: - UTMESS('F', 'PROBA0_3') - # résolution par point fixe - eps = 1.E-4 - nitmax = 100000 - test = 0. - while abs((test - k) / k) > eps: - test = k - k = 1. / (moyen - (a * exp(-a * k) - b * exp(-b * k)) / \ - (exp(-a * k) - exp(-b * k))) - # génération de la variable aléatoire - alpha = exp(-a * k) - exp(-b * k) - self.sd.valeur = -(log(exp(-a * k) - alpha * self.getran()[0])) / k - elif TYPE == 'EXPONENTIELLE': - if moyen <= a: - UTMESS('F', 'PROBA0_4', valr=[moyen, a]) - v = moyen - a - u = self.getran()[0] - x = -log(1 - u) - self.sd.valeur = a + v * x - elif TYPE == 'GAMMA': - delta = self.etape['COEF_VAR' ] - if moyen <= a: - UTMESS('F', 'PROBA0_4', valr=[moyen, a]) - v = moyen - a - alpha = 1. / delta**2 - if alpha <= 1.: - UTMESS('F', 'PROBA0_5') - gamma2 = alpha - 1. - gamm1 = 1. / gamma2 - beta = sqrt(2. * alpha - 1.) - beta2 = 1. / beta**2 - f0 = 0.5 + (1. / pi) * atan2(-gamma2 / beta, 1.) - c1 = 1. - f0 - c2 = f0 - 0.5 - vref = 0. - vv = -1. - while -vv > vref: - u = self.getran()[0] - gamdev = beta * tan(pi * (u * c1 + c2)) + gamma2 - unif = self.getran()[0] - if unif < 0.: - UTMESS('F', 'PROBA0_6') - vv = -log(unif) - vref = log(1 + beta2 * ((gamdev - gamma2)**2)) \ - + gamma2 * log(gamdev * gamm1) - gamdev + gamma2 - if vv <= 0.: - UTMESS('F', 'PROBA0_7') - self.sd.valeur = a + v * delta**2 * gamdev diff --git a/Aster/INSTALL b/Aster/INSTALL deleted file mode 100644 index 493c4676..00000000 --- a/Aster/INSTALL +++ /dev/null @@ -1,40 +0,0 @@ - - -1- Installation standard - -Pour installer EFICAS a partir de la distribution : .tgz -faire : - tar xzvf .tgz - -ce qui a pour effet de créer un répertoire de nom . - -Pour modifier l'emplacement de la doc, le chemin d'accès à Acrobat Reader, -les catalogues, il faut modifier le fichier editeur.ini dans le répertoire Aster. - - -ATTENTION : -Si Eficas est installé dans un répertoire particulier d'administration -dans lequel les utilisateurs n'ont pas le droit d'écriture, il faut que -l'administrateur lance Eficas pour générer -les fichiers et catalogues compilés .pyc - - - -2- Utilisation d'Eficas - -Pour utiliser Eficas, aller dans le répertoire Aster et faire : - python eficas_aster.py - - - -3- Installation avec un noyau pré-installé - -Aller dans le répertoire Aster du répertoire Eficas -et modifier le fichier prefs.py comme suit : -Mettre dans la variable CODE_PATH le chemin absolu vers -le répertoire contenant les deux répertoires Noyau et Validation que vous voulez -utiliser à la place de ceux fournis dans la livraison d'Eficas - -Pour changer les catalogues, modifier le fichier editeur.ini dans le répertoire Aster - - diff --git a/Aster/Include.com b/Aster/Include.com deleted file mode 100644 index 78fdda81..00000000 --- a/Aster/Include.com +++ /dev/null @@ -1,2 +0,0 @@ - -MAAA=LIRE_MAILLAGE(UNITE=20,); diff --git a/Aster/LICENSE.TERMS b/Aster/LICENSE.TERMS deleted file mode 100644 index 8c88a1e5..00000000 --- a/Aster/LICENSE.TERMS +++ /dev/null @@ -1,21 +0,0 @@ - ====================================================================== - THIS PROGRAM IS FREE SOFTWARE. YOU CAN REDISTRIBUTE IT AND/OR MODIFY - IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY - THE FREE SOFTWARE FOUNDATION, EITHER VERSION 2 OF THE LICENSE, AND - ANY LATER VERSION. - THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT - WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - SEE THE GNU GENERAL PUBLIC LICENSE FOR MORE DETAILS. - ====================================================================== - TRADUCTION EDF ( POUR INFORMATION ) - ====================================================================== - CE PROGRAMME EST UN LOGICIEL LIBRE. VOUS POUVEZ LE DIFFUSER ET/OU LE - MODIFIER SELON LES DISPOSITIONS DE LA LICENCE GRAND PUBLIC GNU (GPL) - TELLE QU'ELLE EST PUBLIEE PAR LA FREE SOFTWARE FOUNDATION, VERSION 2 - DE LA LICENCE ET TOUTE VERSION ULTERIEURE. - CE PROGRAMME EST DIFFUSE AVEC L'ESPOIR QU'IL SERA UTILE, MAIS SANS - GARANTIE, SANS MEME LA GARANTIE IMPLICITE DE QUALIFICATION DE MISE SUR - LE MARCHE OU D'ADAPTATION A UNE UTILISATION PARTICULIERE. - VOIR POUR DE PLUS AMPLES DETAILS LA LICENCE GRAND PUBLIC GNU (GPL) - ====================================================================== diff --git a/Aster/NEWS b/Aster/NEWS deleted file mode 100644 index d228a9b0..00000000 --- a/Aster/NEWS +++ /dev/null @@ -1,53 +0,0 @@ -Version 1.12 (6/2007): - Mise en synchronisation avec la version 9.1 de Code_Aster de mai 2007. - -Version 1.11 (12/2006): - Mise en synchronisation avec la version 8.4 de Code_Aster de decembre 2006. - Première version du Traducteur de V7 en V8 - -Version 1.10 (6/2006): - Mise en synchronisation avec la version 8.3 de Code_Aster de juin 2006. - -Version 1.9 (12/2005): - Mise en synchronisation avec la version 8.2 de Code_Aster de decembre 2005. - -Version 1.8 (6/2005): - Mise en synchronisation avec la version 8.1 de Code_Aster de mai 2005. - Les includes et poursuites peuvent etre édités. Introduction de la notation - scientifique pour les flottants. - -Version 1.7 : (12/2004) - Mise en synchronisation avec la version STA7 de Code_Aster (7.4). - Les formules changent et deviennent des formules au sens python. - Disparition des PARAMETRE-EVAL - Les touches raccourcis (CtrlC par exple) sont activées et paramétrables dans prefs.py. - -Version 1.6 : (05/2004) - Mise en synchronisation avec la version STA7 de Code_Aster (7.2.26) - Evolution de la saisie des valeurs pour definir une fonction (EO2003-241) : - - Saisie des valeurs sous forme de tuple. - - Si une valeur est selectionnée, l'insertion se fera après cette valeur - et non en fin de liste - -Version 1.5 (10/2003): - Mise en synchronisation avec la version STA7 de Code_Aster d'octobre 2003 (7.2) - Introduction des validateurs de mots cles simples - -Version 1.4 (5/2003): - Mise en synchronisation avec la version STA7 de Code_Aster de mai 2003 (7.1) - Possibilité de donner un nom de fichier en argument lors de l'ouverture d'EFICAS (EO2003-060) - Correction d'une anomalie dans la fonctionnalité de commentarisation des commandes (AO2003-041) - Ajout du bouton de documentation dans le panneau FORMULE (AO2002-447) - Selection automatique du concept quand il n'en existe qu'un (EO2002-162) - -Version 1.3 (11/2002): - Mise en synchronisation avec la version STA6 de Code_Aster de septembre 2002 - Ajout de la possibilité de visualiser les INCLUDE, INCLUDE_MATERIAU et POURSUITE (popup - sur click droit de la souris sur l'icone de la commande) - Possibilité d'afficher la liste des commandes par groupe (menu option->affichage commandes) - Reprise profonde du mécanisme de gestion des fichiers inclus (voir menus d'AIDE pour plus de détails) - Corrections diverses - -Version 1.2 (5/2002): - Reconception de la version 1.1 : décomposition en packages Python - Mise en synchronisation avec la version STA6 de Code_Aster de fevrier 2002 diff --git a/Aster/README b/Aster/README deleted file mode 100644 index 0597ecbb..00000000 --- a/Aster/README +++ /dev/null @@ -1,2 +0,0 @@ - -Pour installer EFICAS voir dans le fichier INSTALL diff --git a/Aster/Tests/README b/Aster/Tests/README deleted file mode 100644 index bea23866..00000000 --- a/Aster/Tests/README +++ /dev/null @@ -1,8 +0,0 @@ -Ce repertoire contient quelques tests d'Eficas pour Aster. - -Les fichiers tests doivent etre lisibles par Eficas sans probleme. -Le repertoire Recette contient le cas de recette d'eficas_aster. -On doit pouvoir le relire tel que et le reconstruire de zero (fichier -normal et poursuite). - -Le test torsion.comm est un test pour format AsterV5 diff --git a/Aster/Tests/Recette/az.comm b/Aster/Tests/Recette/az.comm deleted file mode 100644 index ef01a563..00000000 --- a/Aster/Tests/Recette/az.comm +++ /dev/null @@ -1,119 +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','Group_1',), - 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=P5, - 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 - -INCLUDE(UNITE=12,); - -Tinclude=AFFE_MODELE(MAILLAGE=MINCLUDE, - AFFE=_F(MAILLE='ss', - PHENOMENE='THERMIQUE', - MODELISATION='AXIS_FOURIER',),); - -FIN(); -#CHECKSUM:62d9fdf65439daf4987e928b1c76bfbd -:FIN CHECKSUM \ No newline at end of file diff --git a/Aster/Tests/Recette/efica01a.11 b/Aster/Tests/Recette/efica01a.11 deleted file mode 100755 index c140f8b1..00000000 --- a/Aster/Tests/Recette/efica01a.11 +++ /dev/null @@ -1,19 +0,0 @@ -DEPL2 = FORMULE(NOM_PARA='INST',VALE='sin(OMEGAA*INST)/(OMEGAA**xx)') -DEPLACE2=CALC_FONC_INTERP( FONCTION=DEPL2, - LIST_PARA=L_INST, - NOM_PARA='INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE', - NOM_RESU='DEPL' ) - -MONO_X=CALC_CHAR_SEISME( MATR_MASS=MASSE, - DIRECTION=( 1., 0., 0.,), - MONO_APPUI='OUI' ) - - -MACRO_PROJ_BASE(BASE=MODE_MEC,MATR_ASSE_GENE=( - _F( MATRICE = CO("MASS_GEN"), MATR_ASSE = MASSE), - _F( MATRICE = CO("RIGI_GEN"), MATR_ASSE = RIGIDITE)), - VECT_ASSE_GENE=_F( VECTEUR = CO("VECT_X"), VECT_ASSE = MONO_X) - ) - diff --git a/Aster/Tests/Recette/efica01a.com0 b/Aster/Tests/Recette/efica01a.com0 deleted file mode 100755 index 214e3b89..00000000 --- a/Aster/Tests/Recette/efica01a.com0 +++ /dev/null @@ -1,49 +0,0 @@ -POURSUITE(CODE=_F( NOM = 'EFICA01A')) - -INCLUDE_MATERIAU( NOM_AFNOR='18MND5', TYPE_MODELE='REF', - VARIANTE='A', TYPE_VALE='NOMI', - NOM_MATER='MAT3', INFO=2 ) - -CHMAT3=AFFE_MATERIAU( MAILLAGE=MAILLA3, - AFFE=_F( TOUT='OUI', MATER = MAT3, TEMP_REF = 20.)) - -riginor = 2.88E7 - -TRAN_GE2=DYNA_TRAN_MODAL( MASS_GENE=MGEN_BIC, RIGI_GENE=RGEN_BIC, - METHODE='EULER', - AMOR_REDUIT=( 0.07, 0.07, ), - MODE_STAT=MSTA_BIC,EXCIT=( - _F( VECT_GENE = VECT_X1, ACCE = ACCELER1, - MULT_APPUI = 'OUI', - DIRECTION = ( 1., 0., 0.,), NOEUD = 'NO1', - VITE = VITESSE1, DEPL = DEPLACE1), - _F( VECT_GENE = VECT_X2, ACCE = ACCELER2, - MULT_APPUI = 'OUI', - DIRECTION = ( 1., 0., 0.,), NOEUD = 'NO11', - VITE = VITESSE2, DEPL = DEPLACE2)), - CHOC=_F( GROUP_NO_1 = 'MASSES1', - GROUP_NO_2 = 'MASSES2', - OBSTACLE = GRILLE, - INTITULE = 'NO2/NO12', - NORM_OBST = (0., 0., 1.,), - DIST_1 = 0.4495, - DIST_2 = 0.4495, - RIGI_NOR = riginor, - AMOR_NOR = 0., - RIGI_TAN = 0., - COULOMB = 0.), - INCREMENT=_F( INST_INIT = 0., INST_FIN = 1., PAS = 0.00025), - ARCHIVAGE=_F( PAS_ARCH = 8) - ) - -LISTIMP=DEFI_LIST_REEL( DEBUT=0., - INTERVALLE=_F( JUSQU_A = 1., NOMBRE = 500)) - -RESUA1=REST_BASE_PHYS( RESU_GENE=TRAN_GE1, - LIST_INST=LISTIMP, - INTERPOL='LIN', - NOM_CHAM='DEPL', - MULT_APPUI='OUI' - ) - -FIN() diff --git a/Aster/Tests/Recette/efica01a.comm b/Aster/Tests/Recette/efica01a.comm deleted file mode 100755 index 20eea866..00000000 --- a/Aster/Tests/Recette/efica01a.comm +++ /dev/null @@ -1,275 +0,0 @@ -# MODIF DATE 20/09/2004 AUTEUR DURAND C.DURAND -# TITRE TEST DE NON REGRESSION DE L IHM EFICAS - DERIVE DE SDND102A -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# Ce cas test est gere en configuration dans la base ASTER, il sert de -# modele pour prononcer la recette de l IHM d EFICAS : l objectif est de -# pouvoir recreer ce test a l identique dans EFICAS a partir d une page -# blanche. -# On a donc essaye d y placer toutes les commandes un peu particulieres -# du langage de commandes d ASTER -# -# Il s agit en fait du test SDND102A auquel on a ajoute : -# la definition d un parametre (VAL) -# l inclusion d un fichier (INCLUDE) -# une poursuite (POURSUITE) -# Il contient ainsi : -# des parametres, des formules, des macros, des mots cles facteurs repetes -# (y compris conditionnes par des regles : calc_fonction / COMB), -# des blocs (mode_iter_simult,calc_char_seisme), un defi_valeur, un parametre. -# -# -# Il faudra y associer quelques recommandations pour la recette : -# - verifier qu en ouvrant le .com0, il demande bien a browser le .comm puis, en cascade, le .11 -# - verifier qu on peut bien supprimer une commande, un mot cle simple et facteur -# - verifier les acces a la doc -# -# - - -DEBUT(CODE=_F(NOM='EFICA01A',NIV_PUB_WEB='INTERNET',VISU_EFICAS='NON'),) - -MAILLAGE=LIRE_MAILLAGE() - -MAILLAGE=DEFI_GROUP(reuse=MAILLAGE, - MAILLAGE=MAILLAGE, - CREA_GROUP_NO=(_F(NOEUD='NO2', - NOM='MASSES',), - _F(NOEUD='NO1', - NOM='ENCASTRE',),),) - -MAILLA2=LIRE_MAILLAGE(UNITE=21,) - -MODELE=AFFE_MODELE(MAILLAGE=MAILLAGE, - AFFE=(_F(GROUP_MA='RESSORT', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(GROUP_NO='MASSES', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',),),) - -BICHOC=AFFE_MODELE(MAILLAGE=MAILLA2, - AFFE=(_F(GROUP_MA='RESSORTS', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(GROUP_NO=('MASSES1','MASSES2',), - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',),),) -VAL = 98696.0 - - -CARA_ELE=AFFE_CARA_ELEM(MODELE=MODELE, - DISCRET=(_F(GROUP_MA='RESSORT', - REPERE='GLOBAL', - CARA='K_T_D_L', - VALE=(VAL,0.0,0.0,),), - _F(GROUP_NO='MASSES', - CARA='M_T_D_N', - VALE=25.0,),),) - -CARA_BIC=AFFE_CARA_ELEM(MODELE=BICHOC, - DISCRET=(_F(GROUP_MA='RESSORTS', - REPERE='GLOBAL', - CARA='K_T_D_L', - VALE=(VAL,0.0,0.0,),), - _F(GROUP_NO='MASSES1', - CARA='M_T_D_N', - VALE=25.0,), - _F(GROUP_NO='MASSES2', - CARA='M_T_D_N', - VALE=25.0,),),) - -CON_LIM=AFFE_CHAR_MECA(MODELE=MODELE, - DDL_IMPO=(_F(GROUP_NO='ENCASTRE', - DX=0.0, - DY=0.0, - DZ=0.0,), - _F(GROUP_NO='MASSES', - DY=0.0, - DZ=0.0,),),) - -CL_BICHO=AFFE_CHAR_MECA(MODELE=BICHOC, - DDL_IMPO=(_F(GROUP_NO='ENCBICHO', - DX=0.0, - DY=0.0, - DZ=0.0,), - _F(GROUP_NO=('MASSES1','MASSES2',), - DY=0.0, - DZ=0.0,),),) - -MACRO_MATR_ASSE(MODELE=MODELE, - CARA_ELEM=CARA_ELE, - CHARGE=CON_LIM, - NUME_DDL=CO('NUMEDDL'), - MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'), - OPTION='RIGI_MECA',), - _F(MATRICE=CO('MASSE'), - OPTION='MASS_MECA',),),) - -MACRO_MATR_ASSE(MODELE=BICHOC, - CARA_ELEM=CARA_BIC, - CHARGE=CL_BICHO, - NUME_DDL=CO('NUMDDLC'), - MATR_ASSE=(_F(MATRICE=CO('RIGI_BIC'), - OPTION='RIGI_MECA',), - _F(MATRICE=CO('MASS_BIC'), - OPTION='MASS_MECA',),),) - -MODE_MEC=MODE_ITER_SIMULT(MATR_A=RIGIDITE, - MATR_B=MASSE,) - -MODE_MEC=NORM_MODE(reuse =MODE_MEC, - MODE=MODE_MEC, - NORME='MASS_GENE',) - -MODE_BIC=MODE_ITER_SIMULT(MATR_A=RIGI_BIC, - MATR_B=MASS_BIC, - METHODE='JACOBI', - OPTION='SANS', - CALC_FREQ=_F(OPTION='BANDE', - FREQ=(1.0,10.0,),),) - -MODE_BIC=NORM_MODE(reuse =MODE_BIC, - MODE=MODE_BIC, - NORME='MASS_GENE',) - -MODE_STA=MODE_STATIQUE(MATR_RIGI=RIGIDITE, - MATR_MASS=MASSE, - MODE_STAT=_F(TOUT='OUI', - AVEC_CMP='DX',),) - -MSTA_BIC=MODE_STATIQUE(MATR_RIGI=RIGI_BIC, - MATR_MASS=MASS_BIC, - MODE_STAT=_F(TOUT='OUI', - AVEC_CMP='DX',),) - -L_INST=DEFI_LIST_REEL(DEBUT=0.0, - INTERVALLE=_F(JUSQU_A=1.0, - PAS=1.E-4,),) - -OMEGAA=2.*pi*10. - -ACCE1 = FORMULE(VALE = 'sin(OMEGAA*INST)', - NOM_PARA='INST') - -ACCELER1=CALC_FONC_INTERP(FONCTION=ACCE1, - NOM_RESU='ACCE', - LIST_PARA=L_INST, - NOM_PARA = 'INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE',) - -ACCE2 = FORMULE(VALE = '-sin(OMEGAA*INST)', - NOM_PARA='INST') - -ACCELER2=CALC_FONC_INTERP(FONCTION=ACCE2, - NOM_RESU='ACCE', - LIST_PARA=L_INST, - NOM_PARA = 'INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE',) - -VITE1 = FORMULE(VALE = '-cos(OMEGAA*INST)/OMEGAA', - NOM_PARA='INST') - -VITESSE1=CALC_FONC_INTERP(FONCTION=VITE1, - NOM_RESU='VITE', - LIST_PARA=L_INST, - NOM_PARA = 'INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE',) - -DEPL1 = FORMULE(VALE = '-sin(OMEGAA*INST)/(OMEGAA**2)', - NOM_PARA='INST') - -DEPLACE1=CALC_FONC_INTERP(FONCTION=DEPL1, - NOM_RESU='DEPL', - LIST_PARA=L_INST, - NOM_PARA = 'INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE',) - -VITE2 = FORMULE(VALE = 'cos(OMEGAA*INST)/OMEGAA', - NOM_PARA='INST') - -VITESSE2=CALC_FONC_INTERP(FONCTION=VITE2, - NOM_RESU='VITE', - LIST_PARA=L_INST, - NOM_PARA = 'INST', - PROL_DROITE='LINEAIRE', - PROL_GAUCHE='LINEAIRE',) - -xx=2 - -INCLUDE(UNITE=11, - INFO=1,) - -MUR=DEFI_OBSTACLE(TYPE='PLAN_Z',) - -TRAN_GE1=DYNA_TRAN_MODAL(METHODE='EULER', - MASS_GENE=MASS_GEN, - RIGI_GENE=RIGI_GEN, - AMOR_REDUIT=0.07, - MODE_STAT=MODE_STA, - INCREMENT=_F(INST_INIT=0.0, - INST_FIN=1.0, - PAS=2.0E-4,), - ARCHIVAGE=_F(PAS_ARCH=8,), - EXCIT=_F(VECT_GENE=VECT_X, - ACCE=ACCELER1, - VITE=VITESSE1, - DEPL=DEPLACE1, - MULT_APPUI='OUI', - DIRECTION=(1.0,0.0,0.0,), - NOEUD='NO1',), - CHOC=_F(INTITULE='NO2/MUR', - GROUP_NO_1='MASSES', - OBSTACLE=MUR, - ORIG_OBST=(-1.0,0.0,0.0,), - NORM_OBST=(0.0,0.0,1.0,), - JEU=1.1005, - RIGI_NOR=5.76E7, - AMOR_NOR=0.0, - RIGI_TAN=0.0, - COULOMB=0.0,),) - -MULT_X1=CALC_CHAR_SEISME(MATR_MASS=MASS_BIC, - DIRECTION=(1.0,0.0,0.0,), - MODE_STAT=MSTA_BIC, - NOEUD='NO1',) - -MULT_X2=CALC_CHAR_SEISME(MATR_MASS=MASS_BIC, - DIRECTION=(1.0,0.0,0.0,), - MODE_STAT=MSTA_BIC, - NOEUD='NO11',) - -MACRO_PROJ_BASE(BASE=MODE_BIC, - MATR_ASSE_GENE=(_F(MATRICE=CO('MGEN_BIC'), - MATR_ASSE=MASS_BIC,), - _F(MATRICE=CO('RGEN_BIC'), - MATR_ASSE=RIGI_BIC,),), - VECT_ASSE_GENE=(_F(VECTEUR=CO('VECT_X1'), - VECT_ASSE=MULT_X1,), - _F(VECTEUR=CO('VECT_X2'), - VECT_ASSE=MULT_X2,),),) - -GRILLE=DEFI_OBSTACLE(TYPE='BI_PLAN_Z',) - -MAILLA3=LIRE_MAILLAGE(UNITE=22,) - -FIN() diff --git a/Aster/Tests/d0.comm b/Aster/Tests/d0.comm deleted file mode 100644 index 726e2840..00000000 --- a/Aster/Tests/d0.comm +++ /dev/null @@ -1,6 +0,0 @@ -DEBUT() -print "***********************************" -print "*********COUCOU1*******************" -print "***********************************" -INCLUDE(UNITE=11) -FIN() diff --git a/Aster/Tests/err.comm b/Aster/Tests/err.comm deleted file mode 100644 index 6ded4a0a..00000000 --- a/Aster/Tests/err.comm +++ /dev/null @@ -1,39 +0,0 @@ - -# Test pour vérifier qu'une commande dont le concept -# produit est nommé sansnom est considérée comme invalide -#plusieurs commandes : PROC, MACRO, OPER - -DEBUT(); - -MA=LIRE_MAILLAGE(); - -kk=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -uu=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -SD_4=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -sansnom=AFFE_CHAR_CINE(MODELE=None,); - -MACR_ADAP_MAIL(ADAPTATION=_F(LIBRE='RAFFINEMENT', - MAILLAGE_N=MA, - MAILLAGE_NP1=CO('MAA'), - RESULTAT_N=None, - INDICATEUR=None, - NOM_CMP_INDICA=None, - CRIT_RAFF_ABS=1.0,),); - -MACR_ADAP_MAIL(ADAPTATION=_F(LIBRE='RAFFINEMENT', - MAILLAGE_N=MA, - MAILLAGE_NP1=MAA, - RESULTAT_N=None, - INDICATEUR=None, - NOM_CMP_INDICA=None, - CRIT_RAFF_ABS=1.0,),); - -PRE_CHAR_IDEAS(MODELE=None,); - -FIN(); diff --git a/Aster/Tests/err2.comm b/Aster/Tests/err2.comm deleted file mode 100644 index 485c0f77..00000000 --- a/Aster/Tests/err2.comm +++ /dev/null @@ -1,18 +0,0 @@ - -DEBUT(); - -MA=LIRE_MAILLAGE(); - -kk=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -uu=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -zezea=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -SD_5=DEFI_MATERIAU(ELAS=_F(E=56.24, - NU=0.3,),); - -FIN(); diff --git a/Aster/Tests/err3.comm b/Aster/Tests/err3.comm deleted file mode 100644 index 371a2426..00000000 --- a/Aster/Tests/err3.comm +++ /dev/null @@ -1,60 +0,0 @@ - - -DEBUT(); - -ma=LIRE_MAILLAGE(); - -air=DEFI_MATERIAU(); - -champmat=AFFE_MATERIAU(MAILLAGE=ma, - AFFE=_F(TOUT='OUI', - MATER=air,),); - -mo=AFFE_MODELE(MAILLAGE=ma, - AFFE=_F(TOUT='OUI', - PHENOMENE='ACOUSTIQUE', - MODELISATION='3D',),); - -characou=AFFE_CHAR_ACOU(MODELE=mo, - VITE_FACE=_F(GROUP_MA=('ENTREE','SORTIE','TOTO','TITI',), - VNOR=('RI',0.014,0.0,),),); - -MACRO_MATR_ASSE(MODELE=mo, - NUME_DDL=CO('num'), - MATR_ASSE=_F(MATRICE=CO('matasm'), - OPTION='MASS_ACOU',),); - -vectelem=CALC_VECT_ELEM(OPTION='CHAR_ACOU', - CHAM_MATER=champmat, - CHARGE=characou,); - -sansnom=ASSE_VECTEUR(VECT_ELEM=None, - NUME_DDL=num,); - -sansnom=ASSE_VECTEUR(VECT_ELEM=vectelem, - NUME_DDL=num,); - -ch=ASSE_VECTEUR(VECT_ELEM=vectelem, - NUME_DDL=num,); - -sansnom=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=None,),); - -sansnom=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=ch, - COEF_R=1,),); - -chno=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=ch, - COEF_R=1,),); - -matasm=FACT_LDLT(reuse =matasm, - MATR_ASSE=matasm,); - -sansnom=RESO_LDLT(MATR_FACT=matasm, - CHAM_NO=None, - ); -sansnom=RESO_LDLT(MATR_FACT=matasm, - CHAM_NO=chno, - ); -rr =RESO_LDLT(MATR_FACT=matasm, - CHAM_NO=chno, - ); - diff --git a/Aster/Tests/incl.11 b/Aster/Tests/incl.11 deleted file mode 100644 index 4d2f5fdc..00000000 --- a/Aster/Tests/incl.11 +++ /dev/null @@ -1,3 +0,0 @@ -MA=LIRE_MAILLAGE() - - diff --git a/Aster/Tests/incl.12 b/Aster/Tests/incl.12 deleted file mode 100644 index 6bdb45de..00000000 --- a/Aster/Tests/incl.12 +++ /dev/null @@ -1 +0,0 @@ -MMA=LIRE_MAILLAGE() diff --git a/Aster/Tests/incl.13 b/Aster/Tests/incl.13 deleted file mode 100644 index 3e1feeec..00000000 --- a/Aster/Tests/incl.13 +++ /dev/null @@ -1 +0,0 @@ -a=1/ diff --git a/Aster/Tests/incl.14 b/Aster/Tests/incl.14 deleted file mode 100644 index e1d48a40..00000000 --- a/Aster/Tests/incl.14 +++ /dev/null @@ -1 +0,0 @@ -INCLUDE(UNITE=15) diff --git a/Aster/Tests/incl.15 b/Aster/Tests/incl.15 deleted file mode 100644 index 16b438a8..00000000 --- a/Aster/Tests/incl.15 +++ /dev/null @@ -1 +0,0 @@ -XXX=LIRE_MAILLAGE() diff --git a/Aster/Tests/incl.16 b/Aster/Tests/incl.16 deleted file mode 100644 index 79db1b98..00000000 --- a/Aster/Tests/incl.16 +++ /dev/null @@ -1 +0,0 @@ -mm=LIRE_MAILLAGE() diff --git a/Aster/Tests/incl.17 b/Aster/Tests/incl.17 deleted file mode 100644 index d3ec5d6d..00000000 --- a/Aster/Tests/incl.17 +++ /dev/null @@ -1,15 +0,0 @@ -MMA=LIRE_MAILLAGE() - -mo=AFFE_MODELE(MAILLAGE=MMA, - AFFE=_F(TOUT='OUI', - PHENOMENE='MECANIQUE', - MODELISATION='3D',),); - -MACRO_MATR_ASSE(MODELE=mo, - NUME_DDL=CO('numdl'), - MATR_ASSE=_F(MATRICE=CO('mm'), - OPTION='RIGI_MECA',),); - -mm=FACT_LDLT(reuse =mm, - MATR_ASSE=mm,); - diff --git a/Aster/Tests/incl.25 b/Aster/Tests/incl.25 deleted file mode 100644 index 2e89f000..00000000 --- a/Aster/Tests/incl.25 +++ /dev/null @@ -1 +0,0 @@ -MA=LIRE_MAILLAGE() diff --git a/Aster/Tests/incl1.comm b/Aster/Tests/incl1.comm deleted file mode 100644 index e68cf5a3..00000000 --- a/Aster/Tests/incl1.comm +++ /dev/null @@ -1,3 +0,0 @@ -DEBUT() -INCLUDE(UNITE=13) -FIN() diff --git a/Aster/Tests/inclmat.comm b/Aster/Tests/inclmat.comm deleted file mode 100644 index b05656a2..00000000 --- a/Aster/Tests/inclmat.comm +++ /dev/null @@ -1,9 +0,0 @@ -DEBUT() -MA=LIRE_MAILLAGE() -INCLUDE_MATERIAU(NOM_AFNOR='A42', - TYPE_MODELE='REF', - VARIANTE='C', - TYPE_VALE='NOMI', - NOM_MATER='MAT', - ) -FIN() diff --git a/Aster/Tests/inclmat2.comm b/Aster/Tests/inclmat2.comm deleted file mode 100644 index b605ec5c..00000000 --- a/Aster/Tests/inclmat2.comm +++ /dev/null @@ -1,14 +0,0 @@ -DEBUT() -INCLUDE_MATERIAU(NOM_AFNOR='A42', - TYPE_MODELE='REF', - VARIANTE='C', - TYPE_VALE='NOMI', - NOM_MATER='M', - ) -INCLUDE_MATERIAU(NOM_AFNOR='A42', - TYPE_MODELE='REF', - VARIANTE='F', - TYPE_VALE='NOMI', - NOM_MATER='N', - ) -FIN() diff --git a/Aster/Tests/j0.comm b/Aster/Tests/j0.comm deleted file mode 100644 index 7aa78c2f..00000000 --- a/Aster/Tests/j0.comm +++ /dev/null @@ -1,6 +0,0 @@ - -DEBUT(PAR_LOT='OUI',); - -INCLUDE(UNITE=11,); - -FIN(); diff --git a/Aster/Tests/j1.comm b/Aster/Tests/j1.comm deleted file mode 100644 index 35190d65..00000000 --- a/Aster/Tests/j1.comm +++ /dev/null @@ -1,2 +0,0 @@ -POURSUITE() -FIN() diff --git a/Aster/Tests/j1.ini b/Aster/Tests/j1.ini deleted file mode 100644 index 2fb4dc86..00000000 --- a/Aster/Tests/j1.ini +++ /dev/null @@ -1,5 +0,0 @@ -[jdc] -jdc=a -[a] -comm=Tests/j0.comm -11=Tests/incl.11 diff --git a/Aster/Tests/j2.ini b/Aster/Tests/j2.ini deleted file mode 100644 index f0dd6ce1..00000000 --- a/Aster/Tests/j2.ini +++ /dev/null @@ -1,20 +0,0 @@ -[jdc] -jdc=a -[a] -comm=p3.comm -poursuite=b -11=incl.11 -17=incl.17 -16=incl.16 -25=incl.25 -[b] -comm=p2.comm -poursuite=c -11=pincl.11 -[c] -comm=p1.comm -poursuite=d -11=qincl.11 -[d] -comm=d0.comm -11=rincl.11 diff --git a/Aster/Tests/jdc.ini b/Aster/Tests/jdc.ini deleted file mode 100644 index eae54ec9..00000000 --- a/Aster/Tests/jdc.ini +++ /dev/null @@ -1,17 +0,0 @@ -[jdc] -jdc=a -[a] -comm=Tests/p0.comm -poursuite=pours1 -11=Tests/incl.11 -[pours1] -comm=Tests/p1.comm -poursuite=pours2 -12=Tests/incl.11 -[pours2] -comm=Tests/p2.comm -poursuite=pours3 -13=Tests/incl.11 -[pours3] -comm=Tests/p3.comm -14=Tests/incl.11 diff --git a/Aster/Tests/p0.comm b/Aster/Tests/p0.comm deleted file mode 100644 index 35190d65..00000000 --- a/Aster/Tests/p0.comm +++ /dev/null @@ -1,2 +0,0 @@ -POURSUITE() -FIN() diff --git a/Aster/Tests/p1.comm b/Aster/Tests/p1.comm deleted file mode 100644 index 7f15f690..00000000 --- a/Aster/Tests/p1.comm +++ /dev/null @@ -1,6 +0,0 @@ -POURSUITE() -print "+++++++++++++++++++++++++++++++++++" -print "+++++++++COUCOU3+++++++++++++++++++" -print "+++++++++++++++++++++++++++++++++++" -INCLUDE(UNITE=11) -FIN() diff --git a/Aster/Tests/p2.comm b/Aster/Tests/p2.comm deleted file mode 100644 index 7f15f690..00000000 --- a/Aster/Tests/p2.comm +++ /dev/null @@ -1,6 +0,0 @@ -POURSUITE() -print "+++++++++++++++++++++++++++++++++++" -print "+++++++++COUCOU3+++++++++++++++++++" -print "+++++++++++++++++++++++++++++++++++" -INCLUDE(UNITE=11) -FIN() diff --git a/Aster/Tests/p3.comm b/Aster/Tests/p3.comm deleted file mode 100644 index 40ec7776..00000000 --- a/Aster/Tests/p3.comm +++ /dev/null @@ -1,7 +0,0 @@ -POURSUITE() -print "+++++++++++++++++++++++++++++++++++" -print "+++++++++COUCOU4+++++++++++++++++++" -print "+++++++++++++++++++++++++++++++++++" -INCLUDE(UNITE=17) -INCLUDE(UNITE=11) -FIN() diff --git a/Aster/Tests/perr.comm b/Aster/Tests/perr.comm deleted file mode 100644 index ee7d6fec..00000000 --- a/Aster/Tests/perr.comm +++ /dev/null @@ -1,5 +0,0 @@ -DEBUT() -import traceback -traceback.print_stack() -a= -FIN() diff --git a/Aster/Tests/perr2.comm b/Aster/Tests/perr2.comm deleted file mode 100644 index bb93df79..00000000 --- a/Aster/Tests/perr2.comm +++ /dev/null @@ -1,3 +0,0 @@ -DEBUT() -IMPR_CO() -FIN() diff --git a/Aster/Tests/pincl.11 b/Aster/Tests/pincl.11 deleted file mode 100644 index b1bd46d9..00000000 --- a/Aster/Tests/pincl.11 +++ /dev/null @@ -1 +0,0 @@ -MAA=LIRE_MAILLAGE() diff --git a/Aster/Tests/pp.comm b/Aster/Tests/pp.comm deleted file mode 100644 index dda00d50..00000000 --- a/Aster/Tests/pp.comm +++ /dev/null @@ -1,2 +0,0 @@ -DEBUT() -FIN() diff --git a/Aster/Tests/princ.comm b/Aster/Tests/princ.comm deleted file mode 100644 index 59f33a88..00000000 --- a/Aster/Tests/princ.comm +++ /dev/null @@ -1,16 +0,0 @@ - -POURSUITE(); - -# commentaire - -xx=LIRE_MAILLAGE(); - -INCLUDE(UNITE=12,); - -INCLUDE(UNITE=35,); - -INCLUDE(UNITE=11,); - -yy=LIRE_MAILLAGE(); - -DETRUIRE(CONCEPT=_F(NOM=None,),); diff --git a/Aster/Tests/princ.ini b/Aster/Tests/princ.ini deleted file mode 100644 index a8865fbc..00000000 --- a/Aster/Tests/princ.ini +++ /dev/null @@ -1,20 +0,0 @@ -[jdc] -jdc=a -[a] -comm=princ.comm -poursuite=pours1 -11=princl.11 -12=princl.12 -14=princl.14 -35=princl.35 -[pours1] -comm=p1.comm -poursuite=pours2 -11=incl.11 -[pours2] -comm=p2.comm -poursuite=pours3 -11=incl.12 -[pours3] -comm=d0.comm -11=incl.16 diff --git a/Aster/Tests/princl.11 b/Aster/Tests/princl.11 deleted file mode 100644 index ef02b73e..00000000 --- a/Aster/Tests/princl.11 +++ /dev/null @@ -1,3 +0,0 @@ -MAA=LIRE_MAILLAGE() - - diff --git a/Aster/Tests/princl.12 b/Aster/Tests/princl.12 deleted file mode 100644 index eb15ffd4..00000000 --- a/Aster/Tests/princl.12 +++ /dev/null @@ -1,15 +0,0 @@ -MMAA=LIRE_MAILLAGE() - -mo=AFFE_MODELE(MAILLAGE=MMAA, - AFFE=_F(TOUT='OUI', - PHENOMENE='MECANIQUE', - MODELISATION='3D',),); - -MACRO_MATR_ASSE(MODELE=mo, - NUME_DDL=CO('numdl'), - MATR_ASSE=_F(MATRICE=CO('mmm'), - OPTION='RIGI_MECA',),); - -mmm=FACT_LDLT(reuse =mmm, - MATR_ASSE=mmm,); - diff --git a/Aster/Tests/princl.14 b/Aster/Tests/princl.14 deleted file mode 100644 index 3ee3c9fe..00000000 --- a/Aster/Tests/princl.14 +++ /dev/null @@ -1,11 +0,0 @@ - -mmo=AFFE_MODELE(MAILLAGE=xx, - AFFE=_F(TOUT='OUI', - PHENOMENE='MECANIQUE', - MODELISATION='3D',),); - -MACRO_MATR_ASSE(MODELE=mmo, - NUME_DDL=CO('nume'), - MATR_ASSE=_F(MATRICE=CO('mmb'), - OPTION='RIGI_MECA',),); - diff --git a/Aster/Tests/princl.35 b/Aster/Tests/princl.35 deleted file mode 100644 index 4a9f4aab..00000000 --- a/Aster/Tests/princl.35 +++ /dev/null @@ -1,5 +0,0 @@ - - -INCLUDE(UNITE=14,); - -DETRUIRE(CONCEPT=_F(NOM=None,),); \ No newline at end of file diff --git a/Aster/Tests/qincl.11 b/Aster/Tests/qincl.11 deleted file mode 100644 index c7101a0d..00000000 --- a/Aster/Tests/qincl.11 +++ /dev/null @@ -1 +0,0 @@ -MAAA=LIRE_MAILLAGE() diff --git a/Aster/Tests/rincl.11 b/Aster/Tests/rincl.11 deleted file mode 100644 index c0277244..00000000 --- a/Aster/Tests/rincl.11 +++ /dev/null @@ -1 +0,0 @@ -MAAAA=LIRE_MAILLAGE() diff --git a/Aster/Tests/torsion.comm b/Aster/Tests/torsion.comm deleted file mode 100755 index 83f56092..00000000 --- a/Aster/Tests/torsion.comm +++ /dev/null @@ -1,340 +0,0 @@ - DEBUT(); - - - INCLUDE(UNITE: 80); - -TPS = 1. ; - - - -SY = 90. ; - - - -A = 1. ; -H = 0.01 ; -N = 50 ; -T = 0.01 ; -TD = DEFI_VALEUR(R8: EVAL(T*180./PI)) ; -CT = DEFI_VALEUR(R8: EVAL(COS(T))) ; -ST = DEFI_VALEUR(R8: EVAL(SIN(T))) ; -MST= DEFI_VALEUR(R8: EVAL(-ST)); -RAT= DEFI_VALEUR(R8: EVAL(H/A)); - - -K_REF = DEFI_VALEUR( R8: EVAL(0.9845615*Q1) ); -EPS_Y = DEFI_VALEUR( R8: EVAL( (1./K_REF)**5. )); -YOUNG = DEFI_VALEUR( R8: EVAL(SY/EPS_Y) ); - -!FORMULE( REEL: ( - RP(REEL:EPSI) = K_REF * SY * EPSI**0.2 - ) ); - -ECH_EPSI = DEFI_LIST_REEL ( - DEBUT: EPS_Y - INTERVALLE: ( - JUSQU_A: 3. - NOMBRE : 300 - ) - ) ; - -TRAC = CALC_FONC_INTERP ( - FONCTION: RP - LIST_PARA : ECH_EPSI - PROL_GAUCHE: 'LINEAIRE' - PROL_DROIT : 'LINEAIRE' - ) ; - - - PRE_GIBI(); - MA = LIRE_MAILLAGE(); - -&MA = DEFI_GROUP - ( - MAILLAGE: MA - CREA_GROUP_NO: - ( - TOUT_GROUP_MA: 'OUI' - ) - ) ; - - - CUIVRE = DEFI_MATERIAU - ( - ELAS : - ( - E : YOUNG - NU: 0.3 - ) - TRACTION : ( - SIGM: TRAC - ) - NON_LOCAL: ( - LONG_CARA: LC - ) - ) ; - - CHMAT = AFFE_MATERIAU - ( - MAILLAGE: MA - AFFE : - ( - GROUP_MA: TRANCHE - MATER : CUIVRE - ) - ) ; - - - MO_MECA = AFFE_MODELE - ( - MAILLAGE: MA - AFFE : - ( - GROUP_MA : TRANCHE - PHENOMENE : 'MECANIQUE' - MODELISATION : '3D_SI' - ) - ) ; - - MO_DELO = AFFE_MODELE ( - MAILLAGE: MA - AFFE: - ( - GROUP_MA: TRANCHE - PHENOMENE: 'NON_LOCAL' - MODELISATION: '3D' - ) - ) ; - - -!FORMULE ( REEL : ( UX_IMP(REEL: INST, REEL:X, REEL:Y) = - -INST*RAT*Y - )); -!FORMULE ( REEL : ( UY_IMP(REEL: INST, REEL:X, REEL:Y) = - INST*RAT*X - )); -!FORMULE ( REEL : ( UZ_IMP(REEL:X, REEL:Y) = 0. )); - - - ANCRAGE = AFFE_CHAR_MECA ( - MODELE : MO_MECA - FACE_IMPO: - ( - GROUP_MA: BAS - DX: 0. - DY: 0. - DZ: 0. - ) - ) ; - - TORSION = AFFE_CHAR_MECA_F ( - MODELE : MO_MECA - FACE_IMPO: - ( - GROUP_MA: HAUT - DX : UX_IMP - DY : UY_IMP - DZ : UZ_IMP - ) - ) ; - - - SYMETRIE = AFFE_CHAR_MECA ( - MODELE: MO_MECA - LIAISON_GROUP: ( - GROUP_MA_1 : SYM_CY_0 - GROUP_MA_2 : SYM_CY_1 - SANS_GROUP_NO: (HAUT, BAS) - DDL_1 : ('DX' 'DY' ) - DDL_2 : ('DX' ) - COEF_MULT_1 : (CT MST) - COEF_MULT_2 : (-1.) - COEF_IMPO : 0. - CENTRE : (0. 0. 0.) - ANGL_NAUT : (TD 0. 0.) - SOMMET : 'OUI' - ) - LIAISON_GROUP: ( - GROUP_MA_1 : SYM_CY_0 - GROUP_MA_2 : SYM_CY_1 - SANS_GROUP_NO: (HAUT, BAS) - DDL_1 : ('DX' 'DY' ) - DDL_2 : ('DY' ) - COEF_MULT_1 : (ST CT) - COEF_MULT_2 : (-1.) - COEF_IMPO : 0. - CENTRE : (0. 0. 0.) - ANGL_NAUT : (TD 0. 0.) - SOMMET : 'OUI' - ) - LIAISON_GROUP: ( - GROUP_MA_1 : SYM_CY_0 - GROUP_MA_2 : SYM_CY_1 - SANS_GROUP_NO: (HAUT, BAS) - DDL_1 : ('DZ') - DDL_2 : ('DZ') - COEF_MULT_1 : (1.) - COEF_MULT_2 : (-1.) - COEF_IMPO : 0. - CENTRE : (0. 0. 0.) - ANGL_NAUT : (TD 0. 0.) - SOMMET : 'OUI' - ) - ) ; - - - INSTANTS = DEFI_LIST_REEL - ( - DEBUT: 0. - INTERVALLE: - (JUSQU_A: TPS NOMBRE: 50) - ) ; - - - - EVOL = STAT_NON_LINE - ( - MODELE: MO_MECA - CHAM_MATER: CHMAT - EXCIT : - (CHARGE: TORSION) - (CHARGE: ANCRAGE) - (CHARGE: SYMETRIE) - INCREMENT: - ( - LIST_INST: INSTANTS - SUBD_PAS : 5 - SUBD_PAS_MINI: 0.0001 - ) - COMP_INCR: - ( - RELATION: 'PLAS_GRAD_TRAC' - DEFORMATION: 'PETIT' - ) - NEWTON: - ( - MATRICE:'ELASTIQUE' - ) - CONVERGENCE: - ( - RESI_GLOB_RELA: 1.E-4 - ITER_GLOB_MAXI: 500 - ITER_INTE_MAXI: 250 - RESI_INTE_RELA: 1.E-9 - ) - ARCHIVAGE: ( - ARCH_ETAT_INIT: 'OUI' - LIST_INST : INSTANTS - ) - - MODELE_NON_LOCAL: MO_DELO - LAGR_NON_LOCAL: ( - RESI_PRIM_ABSO: 1.E-9 - RESI_DUAL_ABSO: 1.E-4 - RHO: 1000. - ITER_PRIM_MAXI: 100 - ITER_DUAL_MAXI: 10 - ) - ) ; - - - -&EVOL = CALC_ELEM ( - MODELE: MO_MECA - CHAM_MATER: CHMAT - RESULTAT : EVOL - OPTION: ('SIEF_ELNO_ELGA' 'VARI_ELNO_ELGA') - ) ; - -&EVOL = CALC_NO ( - RESULTAT: EVOL - OPTION: ('FORC_NODA' - 'SIEF_NOEU_ELGA' 'VARI_NOEU_ELGA') - ) ; - - -ECHAN = INTE_MAIL_3D ( - MAILLAGE : MA - DEFI_SEGMENT: ( - GROUP_NO_ORIG: O1 - GROUP_NO_EXTR: A1 - ) - ) ; - - PLAS_CUM = POST_RELEVE_T ( - ACTION: ( - INTITULE : 'P' - CHEMIN : ECHAN - RESULTAT : EVOL - NOM_CHAM : 'VARI_NOEU_ELGA' - NOM_CMP : 'V1' - INST : TPS - OPERATION: 'EXTRACTION' - ) - ) ; - - - SIGMA = POST_RELEVE_T ( - ACTION: ( - INTITULE : 'SIYZ' - CHEMIN : ECHAN - RESULTAT : EVOL - NOM_CHAM : 'SIEF_NOEU_ELGA' - NOM_CMP : 'SIYZ' - INST : TPS - OPERATION: 'EXTRACTION' - ) - ) ; - - - - MOM_A = POST_RELEVE_T ( - ACTION: ( - INTITULE : 'MOMENT' - GROUP_NO : HAUT - RESULTAT : EVOL - NOM_CHAM : 'FORC_NODA' - RESULTANTE: ('DX' 'DY' 'DZ') - MOMENT : ('DRX' 'DRY' 'DRZ') - POINT : (0. 0. H) - TOUT_ORDRE: 'OUI' - OPERATION : 'EXTRACTION' - ) - ) ; - - MOM_KA_A = RECU_FONCTION ( - TABLE : MOM_A - PARA_X: 'INST' - PARA_Y: 'MOMENT_Z' - ) ; - -!FORMULE ( REEL:( MA3_KA(REEL: INST) = MOM_KA_A(INST)*360/TD/A**3/SY)); - - - - DEFUFI( - IMPRESSION: ( - NOM: 'POST_PY' - UNITE: 81 - ) - ) ; - - - - IMPR_COURBE( - FORMAT: 'AGRAF' - FICHIER: 'POST_PY' - COURBE: ( - FONCTION : MA3_KA - LIST_PARA: INSTANTS - ) - ) ; - - - FIN(); - - -IMPR_TABLE(TABLE:SIGMA); -IMPR_TABLE(TABLE:PLAS_CUM); - - FIN(); \ No newline at end of file diff --git a/Aster/__init__.py b/Aster/__init__.py deleted file mode 100644 index 8ed65e16..00000000 --- a/Aster/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# diff --git a/Aster/a.dat b/Aster/a.dat deleted file mode 100644 index 1122ebca..00000000 --- a/Aster/a.dat +++ /dev/null @@ -1,3 +0,0 @@ -1,2 -3,7 -8,9 diff --git a/Aster/alphasdist.py b/Aster/alphasdist.py deleted file mode 100644 index f3e6cab5..00000000 --- a/Aster/alphasdist.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions de versions alpha d'EFICAS en fonction - du tag CVS courant (Vx_yaz). Une version alpha est une version dont toutes les fonctionnalités - ne sont pas implémentées. On utilise pour ces versions, les packages Noyau Validation Cata et Macro - locaux. - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - - un zip pour Windows contenant mx TextTools préinstallé - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'Eficas par la commande : - cvs export -r TAG -d Eficas_export EficasV1_2 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_3a1) - 4- Aller dans le répertoire Eficas_export - 4- Executer le script alphasdist.py - python alphasdist.py - Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions - et de les copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -version="$Name: V7_main $"[7:-2] or 'Test1_4' -# ==========Path du noyau local ==================== -path_Noyau=".." -# ============================================================ -nom_distrib="Eficas"+version+"AsterSTA8" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) -# Packages globaux (pour toutes les versions sauf surcharge) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster','Cata'),['*.py', ]) - copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) - copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) -# version 5 -# On enleve la V5 a la demande d AMA -# copyfiles('Cata/cataSTA5',os.path.join(path_distrib,'Aster','Cata','cataSTA5'),['*.py']) -#version 6 - copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) - copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) -#version 7.3 -# copyfiles('Cata/cataSTA73',os.path.join(path_distrib,'Aster','Cata','cataSTA73'),['*.py']) -# copyfiles('Cata/cataSTA73/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA73','Macro'),['*.py']) -#version 7.6 - copyfiles('Cata/cataSTA76',os.path.join(path_distrib,'Aster','Cata','cataSTA76'),['*.py']) - copyfiles('Cata/cataSTA76/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA76','Macro'),['*.py']) -#version 8 - copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) - copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8,'Macro'),['*.py']) - - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', - 'editeur.ini', - 'properties.py', - 'eficas_aster.py', - 'style.py', - ]) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - - copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) - - copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) - copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) - copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) - copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) - copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - try: - shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) - except: - print "Impossible de recuperer mxTextTools : ",dir_download - sys.exit(1) - - zipfile= makezipfile('dist',nom_distrib,nom_distrib) - try: - shutil.copy(zipfile,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - if os.path.isfile(file):shutil.copy(file,dir_cible) - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - -def makezipfile(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - os.chdir(dir_trav) - os.system("zip -rq "+nom_tar+".zip "+dir_cible) - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".zip") - -main() - diff --git a/Aster/configuration_ASTER.py b/Aster/configuration_ASTER.py deleted file mode 100644 index 4851738f..00000000 --- a/Aster/configuration_ASTER.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert pour charger les parametres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['exec_acrobat', 'catalogues','savedir','lang'] - self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/Aster/configuration_Aster.py b/Aster/configuration_Aster.py deleted file mode 120000 index ae867366..00000000 --- a/Aster/configuration_Aster.py +++ /dev/null @@ -1 +0,0 @@ -configuration_ASTER.py \ No newline at end of file diff --git a/Aster/eficasManager.py b/Aster/eficasManager.py deleted file mode 100644 index 922e5fed..00000000 --- a/Aster/eficasManager.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# -*- coding: iso-8859-1 -*- -# -# This module helps you to dynamically add a catalog in the list of -# Aster catalogs and then start Eficas with this catalog -# -# WARN: this requires that and /Aster are -# both in the PYTHONPATH -# -# WARN: This python module is a prototype. For industrial usage, it -# should be integrated in a package outside from the Aster specific -# package ==> define a generic prefs -# -# (gboulant - 23/03/2012) - -import sys -sys.path.append("..") - -# =================================================================== -# This part is to manage the catalog that defines the data structure -import prefs_ASTER -def addCatalog(catalogName, catalogPath): - """ - Function to add a catalog caraterized by a name (for the -c option - of the command line) and a path (the location of the python module - that corresponds to the catalog). - """ - prefs_ASTER.addCatalog(catalogName, catalogPath) - -import sys -import prefs -from InterfaceQT4 import eficas_go -def start(catalogName=None): - """ - This simply start Eficas as usual, and passing the catalog name as - an argument if not already present on the command line. - """ - if catalogName is not None and not "-c" in sys.argv: - # The catalogName can be consider as the -c option - sys.argv.append("-c") - sys.argv.append(catalogName) - eficas_go.lance_eficas(code=prefs.code) - -# =================================================================== -# This part is to manage the data saved from Eficas to comm file. -# The text contained in a comm file defines a JdC ("Jeu de Commandes"). - -def loadJdc(filename): - """ - This function loads the text from the specified JdC file. A JdC - file is the persistence file of Eficas (*.comm). - """ - fcomm=open(filename,'r') - jdc = "" - for line in fcomm.readlines(): - jdc+="%s"%line - - # Warning, we have to make sure that the jdc comes as a simple - # string without any extra spaces/newlines - return jdc.strip() - -def getJdcParameters(jdc,macro): - """ - This function converts the data from the specified macro of the - specified jdc text to a python dictionnary whose keys are the - names of the data of the macro. - """ - context = {} - source = "def args_to_dict(**kwargs): return kwargs \n" - source+= "%s = _F = args_to_dict \n"%macro - source+= "parameters="+jdc+" \n" - source+= "context['parameters'] = parameters \n" - #print source - code = compile(source, 'file.py', 'exec') - eval(code) - parameters = context['parameters'] - return parameters - -# -# =========================================================== -# Unit tests -# =========================================================== -# -def TEST_start(): - addCatalog(catalogName="demo", catalogPath="mycata.py") - #start() - start("demo") - -def TEST_getJdcParameters_fromString(): - jdc="S_EP_INTERNE(dir_name='/tmp', \n \ - TYPE_SEP='TUBE_SOUS_EPAISSEUR', \n \ - MAIL_TUBE=_F(UNITE_LONGUEUR='MM', \n \ - R_EXT=130., \n \ - EP_NOMINALE=22.0, \n \ - NB_SEG_AMORTISSEMENT=11, \n \ - NB_SEG_TRANSITION=4, \n \ - NB_SEG_GENERATRICES=5, \n \ - DIST_PTS_GEN_MIN=100.0, \n \ - NB_SEG_GEN_MIN=3, \n \ - NB_SEG_ARC=5, \n \ - NB_SEG_EP=3,),);" - - parameters=getJdcParameters(jdc,"S_EP_INTERNE") - print "parameters = ",parameters - print parameters['MAIL_TUBE']['R_EXT'] - - -def TEST_getJdcParameters_fromFile(): - jdc = loadJdc('data.comm') - parameters=getJdcParameters(jdc,"EPREUVE_ENCEINTE") - print parameters - - -if __name__ == "__main__": - TEST_start() - TEST_getJdcParameters_fromString() - TEST_getJdcParameters_fromFile() diff --git a/Aster/eficas_aster.py b/Aster/eficas_aster.py deleted file mode 100755 index bc668a5b..00000000 --- a/Aster/eficas_aster.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert à lancer EFICAS configuré pour Code_Aster -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -from InterfaceTK import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/Aster/lance_test.sh b/Aster/lance_test.sh deleted file mode 100755 index 743c70be..00000000 --- a/Aster/lance_test.sh +++ /dev/null @@ -1,43 +0,0 @@ -#unalias do -#set -x -version=NEW9 -passe=1 -rm -rf ./Batch/${version}/ok_${passe} -rm -rf ./Batch/${version}/bad_${passe} -rm -rf ./Batch/${version}/badfile_${passe} -rm -rf ./Batch/${version}/nt_${passe} -for file in `cat ./Batch/${version}/aTester` -do - echo $file - grep "VISU_EFICAS='NON'" $file > /dev/null 2>/dev/null - rc=$? - if [ "$rc" != "0" ] - then - grep INCLUDE $file | grep -v "#" | grep -v INCLUDE_MATERIAU > /dev/null 2>/dev/null - rc=$? - if [ "$rc" != "0" ] - then - cr=`./test_eficas.py $file` - if [ "${cr}" == "" ] - then - echo $file >> ./Batch/${version}/bad_${passe} - else - nomfeuille=`basename $file` - boncr="DEBUT CR validation : "${nomfeuille}" FIN CR validation :"${nomfeuille} - cr=`echo $cr` - if [ "${cr}" != "$boncr" ] - then - echo $file >> ./Batch/${version}/bad_${passe} - echo $cr >>./Batch/${version}/bad_${passe} - echo $file >>./Batch/${version}/badfile_${passe} - else - echo $file >> ./Batch/${version}/ok_${passe} - fi - fi - else - echo $file >> ./Batch/${version}/nt_${passe} - fi - else - echo $file >> ./Batch/${version}/nt_${passe} - fi -done diff --git a/Aster/prefs.py b/Aster/prefs.py deleted file mode 100644 index b4663f8f..00000000 --- a/Aster/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="ASTER" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/Aster/prefs.py.win b/Aster/prefs.py.win deleted file mode 100644 index c70c90fe..00000000 --- a/Aster/prefs.py.win +++ /dev/null @@ -1,101 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys - -# repIni sert à localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) - -# INSTALLDIR sert à localiser l'installation d'Eficas -# Obligatoire -INSTALLDIR=os.path.join(repIni,'..') - -# CODE_PATH sert à localiser Noyau et Validation éventuellement -# non contenus dans la distribution EFICAS -# Par défaut on utilise les modules de INSTALLDIR -# Peut valoir None (defaut) -CODE_PATH = None -#CODE_PATH = os.path.join(repIni,'../../Superv') - -# la variable code donne le nom du code a selectionner -code="ASTER" - -# ICONDIR sert à localiser le répertoire contenant les icones -# Par défaut on utilise le répertoire icons dans Editeur -ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') - -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -labels= ('Fichier','Edition','Jeu de commandes', -# 'Catalogue','Browsers', - 'Options', - 'Aide', - ) - -appli_composants=['readercata','bureau', -# 'browser', - 'options', - ] - -menu_defs={ 'bureau': [ - ('Fichier',[ - ('Nouveau','newJDC','','Ctrl+N'), - ('Nouvel INCLUDE','newJDC_include'), - ('Ouvrir','openJDC','','Ctrl+O'), - ('Enregistrer','saveJDC','','Ctrl+S'), - ('Enregistrer sous','saveasJDC','','Ctrl+E'), - None, - ('Fermer','closeJDC','','Ctrl+W'), - ('Quitter','exitEFICAS','','Ctrl+Q'), - ] - ), - ('Edition',[ - ('Copier','copy','','Ctrl+C'), - ('Couper','cut','','Ctrl+X'), - ('Coller','paste','','Ctrl+V'), - ] - ), - ('Jeu de commandes',[ - ('Rapport de validation','visuCRJDC','','Ctrl+R'), - ('Fichier source','visu_txt_brut_JDC','','Ctrl+B'), - #('Paramètres Eficas','affichage_fichier_ini'), - ] - ), - ('Aide',[ - ('Aide EFICAS','aideEFICAS','','Ctrl+A'), - ] - ), - ] - } - -userprefs=os.path.expanduser("~/Eficas_install/prefs.py") -if os.path.isfile(userprefs): - try: - execfile(userprefs) - except: - pass - -sys.path[:0]=[INSTALLDIR] diff --git a/Aster/prefs_ASTER.py b/Aster/prefs_ASTER.py deleted file mode 100644 index f9aa732c..00000000 --- a/Aster/prefs_ASTER.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -import os - -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -rep_cata = os.path.join(repIni,'Cata') -mode_nouv_commande='alpha' - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -# Utilisateur/Developpeur -isdeveloppeur = "NON" - -rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau') -rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau') -rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau') - -#path_doc="/local/noyret/Docs" -rep_doc_STA88="/local/noyret/Docs" -rep_doc_STA103="/local/noyret/Docs" -rep_doc_STA11="/local/noyret/Docs/cataSTA11c_clefs_docu" - -# Choix des catalogues -catalogues=( -#('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'), -#('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'), -#('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'), -#('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'), -('ASTER','STA12',os.path.join(rep_cata,'cataSTA12'),'python','defaut'), -) -exec_acrobat = '/usr/bin/xgd-open' - - -def addCatalog(catalogName, catalogPath): - """ - This function helps you to add a new catalog dynamically - """ - global catalogues - item=('ASTER',catalogName,catalogPath,'python') - catalogues+=(item,) - diff --git a/Aster/prefs_Aster.py b/Aster/prefs_Aster.py deleted file mode 120000 index 11643fec..00000000 --- a/Aster/prefs_Aster.py +++ /dev/null @@ -1 +0,0 @@ -prefs_ASTER.py \ No newline at end of file diff --git a/Aster/properties.py b/Aster/properties.py deleted file mode 100644 index 3e8be170..00000000 --- a/Aster/properties.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -version = "10.1.27" -date = "02/06/2010" -exploit = False diff --git a/Aster/qtEficas_aster.py b/Aster/qtEficas_aster.py deleted file mode 100755 index f49b9bcb..00000000 --- a/Aster/qtEficas_aster.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/Aster/qtGroup.py b/Aster/qtGroup.py deleted file mode 100755 index 308eda6b..00000000 --- a/Aster/qtGroup.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert à lancer EFICAS configuré pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -eficas_go.lance_eficas_ssIhm_cherche_Groupes(code=prefs.code,version='STA10.3') diff --git a/Aster/reecrit_comm.py b/Aster/reecrit_comm.py deleted file mode 100755 index eac5d59c..00000000 --- a/Aster/reecrit_comm.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -if hasattr(prefs,'encoding'): - # Hack pour changer le codage par defaut des strings - import sys - reload(sys) - sys.setdefaultencoding(prefs.encoding) - del sys.setdefaultencoding - # Fin hack - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -if len(sys.argv) > 1 : - # on veut ouvrir un fichier directement au lancement d'Eficas - eficas_go.lance_eficas_ssIhm_reecrit(code='ASTER',fichier = sys.argv[1],version='STA11') diff --git a/Aster/sdist.py b/Aster/sdist.py deleted file mode 100644 index a626f377..00000000 --- a/Aster/sdist.py +++ /dev/null @@ -1,180 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS en fonction - du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - - un zip pour Windows contenant mx TextTools préinstallé - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 4- Copier le répertoire fourni par Aster (ACCAS6.2.0) au meme niveau que Eficas_export - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions - et de les copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -version="$Name: V7_main $"[7:-2] or 'Test1_4' -# ==========Path du noyau fourni par Aster==================== -path_Noyau="../../AccasAster" -# ============================================================ -nom_distrib="Eficas"+version -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py']) - copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) - copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - # AIDE - copyfiles('../Aide',os.path.join(path_distrib,'Aide'),['*_ASTER.adp']) - copyfiles('../Aide/fichiers_ASTER',os.path.join(path_distrib,'Aide','fichiers_ASTER'),['*']) - #pour Aster TK - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # Code_Aster - copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', - 'prefs_ASTER.py', - 'editeur.ini', - 'editeur_salome.ini', - 'eficas_aster.py', - 'qtEficas_aster.py', - 'configuration.py', - 'configuration_ASTER.py', - 'test_eficas.py', - 'style.py', - '__init__.py' - ]) - - # Les Catalogues, Macros, Materiaux et SD - # copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) - # copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) - - #copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) - #copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) - - #copyfiles('Cata/cataSTA7',os.path.join(path_distrib,'Aster','Cata','cataSTA7'),['*.py']) - #copyfiles('Cata/cataSTA7/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA7','Macro'),['*.py']) - #copyfiles('Cata/cataSTA7/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA7/materiau'),['README.py']) - - copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) - copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8/Macro'),['*.py']) - copyfiles('Cata/cataSTA8/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA8/materiau'),['README.py']) - - copyfiles('Cata/cataSTA9',os.path.join(path_distrib,'Aster','Cata','cataSTA9'),['*.py']) - copyfiles('Cata/cataSTA9/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA9/Macro'),['*.py']) - copyfiles('Cata/cataSTA9/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA9/materiau'),['README.py']) - copyfiles('Cata/cataSTA9/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA9/SD'),['*.py']) - - copyfiles('Cata/cataSTA10',os.path.join(path_distrib,'Aster','Cata','cataSTA10'),['*.py']) - copyfiles('Cata/cataSTA10/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA10/Macro'),['*.py']) - #copyfiles('Cata/cataSTA10/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA10/materiau'),['README.py']) - copyfiles('Cata/cataSTA10/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA10/SD'),['*.py']) - - copyfiles('Cata',os.path.join(path_distrib,'Aster','Cata'),['*9c_clefs_docu']) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) - - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif','*.png']) - copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/ASTER',os.path.join(path_distrib,'Editeur','Patrons','ASTER'),['*.com*']) - - copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Accas'),os.path.join(path_distrib,'Aster'),['properties.py']) - copyfiles(os.path.join(path_Noyau,'Cata'),os.path.join(path_distrib,'Aster','Cata'),['__init__.py',]) - copyfiles(os.path.join(path_Noyau,'Macro'),os.path.join(path_distrib,'Aster','Cata','cataSTA9','Macro'),['.py']) - #os.system("mv "+path_distrib+"/Aster/Cata/cata_STA9.py "+path_distrib+"/Aster/Cata/cataSTA9/cata.py") - - copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) - copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) - copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) - copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) - copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - shutil.copy('prefs.py.win',os.path.join(path_distrib,'Aster','prefs.py')) - shutil.copy('editeur.ini.win',os.path.join(path_distrib,'Aster','editeur.ini')) - - try: - shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) - except: - print "Impossible de recuperer mxTextTools : ",dir_download - sys.exit(1) - - zipfile= makezipfile('dist',nom_distrib,nom_distrib) - try: - shutil.copy(zipfile,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - -def makezipfile(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - os.chdir(dir_trav) - os.system("zip -rq "+nom_tar+".zip "+dir_cible) - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".zip") - -main() - diff --git a/Aster/style.py b/Aster/style.py deleted file mode 100644 index 7ee50545..00000000 --- a/Aster/style.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" -Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les -informations sur le style voulu dans son repertoire Eficas_install. - -La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le -fichier style.py d'Eficas_install. Exemple:: - - style.background='yellow' - -pour modifier la couleur du background. - -Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. - -Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs -de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: - - class STYLE(STYLE): - background='yellow' - -Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: - - style=STYLE() - -Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: - - background='gray90' - foreground='black' - entry_background='white' - list_background='white' - list_select_background='#00008b' - list_select_foreground='grey' - tooltip_background="yellow" - - standard = ("Helvetica",12) - standard_italique = ("Helvetica",12,'italic') - standard_gras = ("Helvetica",12,'bold') - standard_gras_souligne = ("Helvetica",12,'bold','underline') - - canvas = ('Helvetica',10) - canvas_italique = ('Helvetica',10,'italic') - canvas_gras = ("Helvetica",10,'bold') - canvas_gras_italique = ("Helvetica",12,'bold','italic') - - standard12 = ("Helvetica",14) - standard12_gras = ("Helvetica",14,'bold') - standard12_gras_italique = ( "Helvetica",14,'bold','italic') - - -Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. -Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install -sont prises en compte dans cet ordre. -""" - -p1=10 -p2=14 -f1="Helvetica" - -style.background='gray90' -style.foreground='black' -style.standard = (f1,p1) -style.standard_italique = (f1,p1,'italic') -style.standard_gras = (f1,p1,'bold') -style.canvas_italique = (f1,p1,'italic') -style.canvas_gras = (f1,p1,'bold') -style.statusfont = (f1,p2) diff --git a/Aster/test_eficas.py b/Aster/test_eficas.py deleted file mode 100755 index 5ccac45c..00000000 --- a/Aster/test_eficas.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -if hasattr(prefs,'encoding'): - # Hack pour changer le codage par defaut des strings - import sys - reload(sys) - sys.setdefaultencoding(prefs.encoding) - del sys.setdefaultencoding - # Fin hack - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -if len(sys.argv) > 1 : - # on veut ouvrir un fichier directement au lancement d'Eficas - eficas_go.lance_eficas_ssIhm_cherche_cr(code='ASTER',fichier = sys.argv[1],version='STA10.3') diff --git a/CarmelCND/CMakeLists.txt b/CarmelCND/CMakeLists.txt deleted file mode 100644 index b708105c..00000000 --- a/CarmelCND/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - - -install ( FILES - qtEficas_CarmelCND.py prefs_CARMELCND.py prefs.py configuration_CARMELCND.py - acquiertGroupes.py CarmelCND_Cata.py PrepareRunCarmel.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/CarmelCND - ) - -### Local Variables: -### mode: cmake -### End: diff --git a/CarmelCND/CarmelCND_Cata.py b/CarmelCND/CarmelCND_Cata.py deleted file mode 100644 index a8413ce9..00000000 --- a/CarmelCND/CarmelCND_Cata.py +++ /dev/null @@ -1,75 +0,0 @@ -from Accas import * - -class source(ASSD): - pass - -class conducteur(ASSD): - pass - -class nocond(ASSD): - pass - -class vcut(ASSD): - pass - -class zs(ASSD): - pass - - -import types -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 - - __repr__=info - __str__=info - -JdC = JDC_CATA (code = 'monCode', - execmodul = None, - ) - -# ====================================================================== - - -SOURCE=OPER(nom='SOURCE',op=None,sd_prod=source,UIinfo = { "groupes" : ( "CACHE", ) }, - EnveloppeConnexeInducteur=SIMP(statut='o',typ='TXM',defaut="default"), - VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), - #VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),homo="constant",validators=VerifTypeTuple(('R','R','R'))), - Centre=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), - SectionBobine=SIMP(statut='o',typ='R',fr='en m2',ang='(m2)'), - Amplitude=SIMP(statut='o',typ='R',fr='en A',ang='(A)'), - NbdeTours=SIMP(statut='o',typ='I',val_min=1), -) - -CONDUCTEUR=OPER(nom='CONDUCTEUR',op=None,sd_prod=conducteur,UIinfo = { "groupes" : ( "CACHE", ) }, - Conductivite=SIMP(statut='o',typ='R',fr='en S/m',ang='(S/m)'), - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -NOCOND=OPER(nom='NOCOND',op=None,sd_prod=nocond,UIinfo = { "groupes" : ( "CACHE", ) }, - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -# -VCUT=OPER(nom='VCUT',op=None,sd_prod=vcut,UIinfo = { "groupes" : ( "CACHE", ) }, - Orientation=SIMP(statut='o',typ='TXM',into=("Oppose","Meme sens"),defaut="Oppose"), -) -ZS=OPER(nom='ZS',op=None,sd_prod=zs,UIinfo = { "groupes" : ( "CACHE", ) }, - Conductivite=SIMP(statut='o',typ='R',), - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -PARAMETRES=PROC(nom='PARAMETRES',op=None, UIinfo = { "groupes" : ( "CACHE", ) }, - RepCarmel=SIMP(typ='Repertoire',fr= "Repertoire Carmel",ang= "Carmel Directory",statut= "o",defaut="/projets/projets.002/carmel3d.001/frequentiel/V_240/Compil"), - TypedeFormule=SIMP(statut='o',typ='TXM',into=("TOMEGA","APHI")), - Frequence=SIMP(statut='o',typ='I',fr="en Hz",ang="(Hz)"), - Nb_Max_Iterations=SIMP(statut='o',typ='I',val_min=1,val_max=50000,defaut=10000), - Erreur_Max=SIMP(statut='o',typ='R',defaut=1E-9), -) diff --git a/CarmelCND/PourTraductionCarmel.py b/CarmelCND/PourTraductionCarmel.py deleted file mode 100644 index c0056847..00000000 --- a/CarmelCND/PourTraductionCarmel.py +++ /dev/null @@ -1,21 +0,0 @@ -print tr("SOURCE") -print tr("EnveloppeConnexeInducteur") -print tr("EnveloppeConnexe2") -print tr("VecteurDirecteur") -print tr("Centre") -print tr("SectionBobine") -print tr("Amplitude") -print tr("NbdeTours") -print tr("CONDUCTEUR") -print tr("Conductivite") -print tr("PermeabiliteRelative") -print tr("NOCOND") -print tr("VCUT") -print tr("Orientation") -print tr("ZS") -print tr("PARAMETRES") -print tr("RepCarmel") -print tr("TypedeFormule") -print tr("Frequence") -print tr("Nb_Max_Iterations") -print tr("Erreur_Max") diff --git a/CarmelCND/PrepareRunCarmel.py b/CarmelCND/PrepareRunCarmel.py deleted file mode 100644 index 58af31d7..00000000 --- a/CarmelCND/PrepareRunCarmel.py +++ /dev/null @@ -1,24 +0,0 @@ -def prepareRunCarmel(repertoireExe,repertoireMed,nom): - texte= 'echo "Debut execution gendof" \n' - texte+= 'cd ' + repertoireMed + ' \n' - texte+= repertoireExe+"/gendof.exe -scale 0.001 < " + nom + ".ingendof\n" - texte+= 'echo "Debut execution fcarmel" \n' - #texte+= repertoireExe+"/gendof.exe -scale 0.001 \n" - #texte+= 'if [ ! -f "'+nom+'.car" ]\n' - #texte+= 'then\n exit(1)\nfi \n\n' - texte+= repertoireExe+"/fcarmel.exe < " + nom + ".infcarmel\n" - #texte+= repertoireExe+"/fcarmel.exe \n" - #texte+= 'if [ ! -f "'+nom+'.xmat" ]\n' - #texte+= 'then\n exit(1)\nfi \n\n' - texte+= 'echo "Debut execution postprocess" \n' - texte+= repertoireExe+"/postprocess.exe < " + nom + ".inpostprocess\n" - texte+= 'read a' - #texte+= repertoireExe+"/postprocess.exe" - - return texte - -if __name__ == "__main__": - repertoire="/home/A96028/ExecCarmel/Compil" - nom="lance/Domaine" - print prepareRunCarmel(repertoire,nom) - diff --git a/CarmelCND/acquiertGroupes.py b/CarmelCND/acquiertGroupes.py deleted file mode 100755 index 35eb0918..00000000 --- a/CarmelCND/acquiertGroupes.py +++ /dev/null @@ -1,123 +0,0 @@ -#! /usr/bin/env python -# -*- coding:utf-8 -*- -# /* This file is part of MED. -# * -# * COPYRIGHT (C) 1999 - 2013 EDF R&D, CEA/DEN -# * MED is free software: you can redistribute it and/or modify -# * it under the terms of the GNU Lesser General Public License as published by -# * the Free Software Foundation, either version 3 of the License, or -# * (at your option) any later version. -# * -# * MED is distributed in the hope that it will be useful, -# * but WITHOUT ANY WARRANTY; without even the implied warranty of -# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# * GNU Lesser General Public License for more details. -# * -# * You should have received a copy of the GNU Lesser General Public License -# * along with MED. If not, see . -# */ - - -import sys -sys.path.append('/home/A96028/Salome/V7_main/tools/install/Medfichier-307-hdf51810/lib/python2.7/site-packages') - -from med.medfile import * -from med.medmesh import * -from med.medfamily import * -from med.medfilter import * - - -def getGroupes(filename,debug=0) : - listeGroupes=[] - maa="" - - dicoNumFam={} - - try : - fid = MEDfileOpen(filename,MED_ACC_RDONLY) - except : - return ("Pb a la lecture du fichier", listeGroupes,maa) - - - # /* Lecture des infos concernant le premier maillage */ - maa, sdim, mdim, type, desc, dtunit, sort, nstep, rep, nomcoo,unicoo = MEDmeshInfo(fid, 1) - if debug : - print "Maillage de nom : |%s| de dimension : %ld , et de type %s\n"%(maa,mdim,type) - print "Maillage de nom : |%s| , de dimension : %ld , et de type %s\n"%(maa,mdim,type) - print "\t -Dimension de l'espace : %ld\n"%(sdim) - print "\t -Description du maillage : %s\n"%(desc) - print "\t -Noms des axes : |%s|\n"%(nomcoo) - print "\t -Unités des axes : |%s|\n"%(unicoo) - print "\t -Type de repère : %s\n"%(rep) - print "\t -Nombre d'étape de calcul : %ld\n"%(nstep) - print "\t -Unité des dates : |%s|\n"%(dtunit) - - # /* Lecture du nombre de familles */ - nfam = MEDnFamily(fid,maa) - if debug : - print "Nombre de familles : %d \n"%(nfam) - - # /* Lecture de chaque famille */ - for i in xrange(0,nfam): - - # /* Lecture du nombre de groupe */ - ngro = MEDnFamilyGroup(fid,maa,i+1) - if debug : - print "Famille %d a %d groupes \n"%(i+1,ngro) - - gro = MEDCHAR(MED_LNAME_SIZE*ngro+1) - - nomfam,numfam,gro = MEDfamilyInfo(fid,maa,i+1,gro) - if debug : - print "Famille de nom %s et de numero %d : \n"%(nomfam,numfam) - print "Attributs : \n" - - for j in xrange(0,ngro): - # print "gro = %s\n"%(gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE]) - groupSplit=gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE] - groupeName="".join(groupSplit).split("\x00")[0] - groupeName=groupeName.replace(' ','') - if groupeName[0:7]=="CENTRE_" : dicoNumFam[groupeName]=numfam - if groupeName not in listeGroupes : listeGroupes.append(groupeName) - - - #print dicoNumFam - #print listeGroupes - - # /* Lecture des Numeros de Familles */ - - nnoe, chgt, trsf = MEDmeshnEntity(fid,maa,MED_NO_DT,MED_NO_IT, MED_NODE,MED_NONE,MED_COORDINATE,MED_NO_CMODE) - nufano = MEDINT(nnoe) - MEDmeshEntityFamilyNumberRd(fid,maa, MED_NO_DT, MED_NO_IT, MED_NODE,MED_NONE,nufano) - dicoNumNode={} - for groupe in dicoNumFam.keys(): - famille=dicoNumFam[groupe] - i=0 - while i < nufano.size(): - if nufano[i]==famille : - dicoNumNode[groupe]=i+1 - break - i=i+1 - - - #print dicoNumNode - dicoCoord={} - for groupe in dicoNumNode.keys() : - flt=MEDINT(1) - flt[0]=dicoNumNode[groupe] - coo1=MEDFLOAT(3) - filter=med_filter() - err=MEDfilterEntityCr( fid, nnoe, 1, sdim, MED_ALL_CONSTITUENT, MED_FULL_INTERLACE, MED_COMPACT_PFLMODE, MED_NO_PROFILE,1 , flt, filter) - MEDmeshNodeCoordinateAdvancedRd(fid, maa, MED_NO_DT, MED_NO_IT, filter, coo1) - MEDfilterClose(filter) - dicoCoord[groupe]=coo1 -# dicoCoord['CENTRE_saxBas']=(0,0,28.5e-3) -# dicoCoord['CENTRE_saxHaut']=(0,0,31.5e-3) - - MEDfileClose(fid) - return ("",listeGroupes,maa,dicoCoord) - -if __name__ == "__main__": - filename="/home/A96028/Carmel/Pascale/Domaine_Bidouille.med" - #filename="/home/A96028/Carmel/nouveauMed/Domaine.med" - print getGroupes(filename) diff --git a/CarmelCND/configuration_CARMELCND.py b/CarmelCND/configuration_CARMELCND.py deleted file mode 100644 index 4ab64b85..00000000 --- a/CarmelCND/configuration_CARMELCND.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/CarmelCND/prefs.py b/CarmelCND/prefs.py deleted file mode 100644 index cfd8503b..00000000 --- a/CarmelCND/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="CARMELCND" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/CarmelCND/prefs_CARMELCND.py b/CarmelCND/prefs_CARMELCND.py deleted file mode 100644 index 555d37b3..00000000 --- a/CarmelCND/prefs_CARMELCND.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] -sys.path[:0]=[repIni] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('monCode','default',os.path.join(repIni,'CarmelCND_Cata.py'),'CARMELCND','python'), -) diff --git a/CarmelCND/qtEficas_CarmelCND.py b/CarmelCND/qtEficas_CarmelCND.py deleted file mode 100755 index f49b9bcb..00000000 --- a/CarmelCND/qtEficas_CarmelCND.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/CarmelCS/CMakeLists.txt b/CarmelCS/CMakeLists.txt deleted file mode 100644 index 70486eae..00000000 --- a/CarmelCS/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - - -install ( FILES - CarmelCS_cata.py configuration_CARMELCS.py pilotyacsCS.py - prefs_CARMELCS.py prefs.py qtEficas_CarmelCS.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/CarmelCND - ) - -### Local Variables: -### mode: cmake -### End: diff --git a/CarmelCS/CarmelCS_cata.py b/CarmelCS/CarmelCS_cata.py deleted file mode 100644 index 7fe65f74..00000000 --- a/CarmelCS/CarmelCS_cata.py +++ /dev/null @@ -1,25 +0,0 @@ -from Accas import * - - -JdC = JDC_CATA (code = 'CarmelCS', - execmodul = None, - regles=(AU_MOINS_UN('PARAM_CS',),) - ) - -# ====================================================================== -# ====================================================================== - - -PARAM_CS=PROC(nom='PARAM_CS',op=None, - Formulation=SIMP(statut='o',typ='TXM',defaut="tomega",into=('tomega','aphi'),), - Per=SIMP(statut='o',typ='I',min=1), - Ind=SIMP(statut='o',typ='I',min=0), - FinalTime=SIMP(statut='o',typ='I',min=1), - SyrthesProcNumber=SIMP(statut='o',typ='I',defaut=1,min=1), - HomogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_homogene.phys",), - HeterogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_heterogene.phys",), - Carmel3D_StudyDirectory=SIMP(typ='Repertoire', statut='o'), - Syrthes_StudyDirectory=SIMP(typ='Repertoire', statut='o'), - XMLYacsFile=SIMP(typ=('Fichier','Files (*.xml)'),fr= 'Schema yacs du couplage a executer',ang= 'Yacs coupling schema for running', statut='o'), -#TODO examiner comment generer un schema yacs de maniere automatique -) diff --git a/CarmelCS/configuration_CARMELCS.py b/CarmelCS/configuration_CARMELCS.py deleted file mode 100644 index 4ab64b85..00000000 --- a/CarmelCS/configuration_CARMELCS.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/CarmelCS/pilotyacsCS.py b/CarmelCS/pilotyacsCS.py deleted file mode 100644 index 374b2d85..00000000 --- a/CarmelCS/pilotyacsCS.py +++ /dev/null @@ -1,40 +0,0 @@ -def pilotyacsCS(runxmlfile) : - import sys - import pilot - import SALOMERuntime - import loader - SALOMERuntime.RuntimeSALOME_setRuntime() - - xmlLoader = loader.YACSLoader() - - try: - p = xmlLoader.load(runxmlfile) - except IOError,ex: - print "IO exception:",ex - sys.exit(1) - - logger=p.getLogger("parser") - if not logger.isEmpty(): - print "The imported file has errors :" - print logger.getStr() - sys.exit(1) - - if not p.isValid(): - print "The schema is not valid and can not be executed" - print p.getErrorReport() - sys.exit(1) - - info=pilot.LinkInfo(pilot.LinkInfo.ALL_DONT_STOP) - p.checkConsistency(info) - if info.areWarningsOrErrors(): - print "The schema is not consistent and can not be executed" - print info.getGlobalRepr() - sys.exit(1) - executor = pilot.ExecutorSwig() - executor.RunPy(p) - -if __name__ == '__main__' : - - import sys - if sys.argv <> None : - pilotyacsCS(sys.argv[1]) diff --git a/CarmelCS/prefs.py b/CarmelCS/prefs.py deleted file mode 100644 index 2692b028..00000000 --- a/CarmelCS/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="CARMELCS" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/CarmelCS/prefs_CARMELCS.py b/CarmelCS/prefs_CARMELCS.py deleted file mode 100644 index 0b0e427b..00000000 --- a/CarmelCS/prefs_CARMELCS.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'CARMELCS','python'), -) -#catalogues=( -# ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'dico','python'), -#) diff --git a/CarmelCS/qtEficas_CarmelCS.py b/CarmelCS/qtEficas_CarmelCS.py deleted file mode 100755 index b1254f2c..00000000 --- a/CarmelCS/qtEficas_CarmelCS.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -from PyQt4.QtCore import * -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index 0d974573..58653335 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -299,7 +299,7 @@ class ObjectTreeItem(TreeItem,Delegate): index = self.get_index_child(name) return self.addobject(name,index) - def append_brother(self,name,pos='after'): + def appendBrother(self,name,pos='after'): """ Permet d'ajouter un frere a self par defaut on l'ajoute apres self @@ -310,7 +310,7 @@ class ObjectTreeItem(TreeItem,Delegate): elif pos == 'after': index = index +1 else: - print((tr("%d n'est pas un index valide pour append_brother", pos))) + print((tr("%d n'est pas un index valide pour appendBrother", pos))) return return self.parent.addobject(name,index) diff --git a/Editeur/session.py b/Editeur/session.py index 954f277d..1f7bb5a3 100644 --- a/Editeur/session.py +++ b/Editeur/session.py @@ -288,7 +288,7 @@ def parse(args): options.comm.append(file) options.studies.append({"comm":file}) #print options.studies - elif len(args)==1 and (re.search('.comm',file) or re.search('.map',file)): + elif len(args)==1 and (re.search('.comm',file) or re.search('.map',file) or re.search('.cas',file)): try : f=open(file,'w') f.close() diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index 712a813b..7e9427c6 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -189,7 +189,7 @@ class JDCTree( QTreeWidget,GereRegles ): def choisitPremier(self,name): self.editor.layoutJDCCHOIX.removeWidget(self.racine.fenetre) self.racine.fenetre.close() - new_node=self.racine.append_brother(name,'after') + new_node=self.racine.appendBrother(name,'after') # type de noeud COMMENT = "COMMENTAIRE" @@ -407,7 +407,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): pos = 'after' else: pos = 'before' - return self.append_brother( COMMENT, pos ) + return self.appendBrother( COMMENT, pos ) def addParameters( self, after=True ): """ @@ -416,7 +416,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.editor.init_modif() if after: pos = 'after' else: pos = 'before' - child=self.append_brother( PARAMETERS, pos ) + child=self.appendBrother( PARAMETERS, pos ) return child @@ -434,7 +434,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): # Methodes de creation et destruction de noeuds # Certaines de ces methodes peuvent etre appelees depuis l'externe #------------------------------------------------------------------ - def append_brother(self,name,pos='after',plier=False): + def appendBrother(self,name,pos='after',plier=False): """ Permet d'ajouter un objet frere a l'objet associe au noeud self par defaut on l'ajoute immediatement apres @@ -455,7 +455,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): if pos == 'before': index = index elif pos == 'after': index = index +1 else: - print(six.text_type(pos), tr(" n'est pas un index valide pour append_brother")) + print(six.text_type(pos), tr(" n'est pas un index valide pour appendBrother")) return 0 return self.treeParent.append_child(name,pos=index,plier=plier) @@ -767,7 +767,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): child=None try : #if 1 : - child = self.append_brother(objet_a_copier,pos) + child = self.appendBrother(objet_a_copier,pos) except : pass return child diff --git a/InterfaceQT4/compomclist.py b/InterfaceQT4/compomclist.py index 8ae69573..cbfde1cb 100644 --- a/InterfaceQT4/compomclist.py +++ b/InterfaceQT4/compomclist.py @@ -61,7 +61,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): def doPaste(self,node_selected,pos): objet_a_copier = self.item.get_copie_objet() # before est un effet de bord heureux sur l index - child=self.append_brother(objet_a_copier,'before') + child=self.appendBrother(objet_a_copier,'before') if self.editor.fenetreCentraleAffichee : self.editor.fenetreCentraleAffichee.node.affichePanneau() self.update_node_label_in_black() self.parent().build_children() diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 134549a5..2e247640 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -53,6 +53,7 @@ from . import browser from . import readercata DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'} +debug = False @@ -282,7 +283,8 @@ class JDCEditor(Ui_baseWidget,QWidget): ### - #print ('in runPSEN_N1', dico) + print ('in runPSEN_N1', dico) + print (dico) from Run import run run(dico) #res,txt_exception=run(dico) @@ -306,7 +308,7 @@ class JDCEditor(Ui_baseWidget,QWidget): for k in dico['CONTINGENCY_PROCESSING']: #print (k) if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' : - newK=k.replace('___',' ') + newK=k.replace('__',' ') l="'"+str(newK)+"'" dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k] del dico['CONTINGENCY_PROCESSING'][k] @@ -431,7 +433,9 @@ class JDCEditor(Ui_baseWidget,QWidget): # Le convertisseur existe on l'utilise #appli = self p=convert.plugins[self.appliEficas.format_fichier_in]() + p.readfile(fn) + if p.text=="" : self.nouveau=1 pareil,texteNew=self.verifieCHECKSUM(p.text) #if texteNew == "" @@ -441,7 +445,19 @@ class JDCEditor(Ui_baseWidget,QWidget): memeVersion,texteNew=self.verifieVersionCataDuJDC(p.text) if memeVersion == 0 : texteNew=self.traduitCatalogue(texteNew) p.text=texteNew + + #import cProfile, pstats, StringIO + #pr = cProfile.Profile() + #pr.enable() + text=p.convert('exec',self.appliEficas) + #pr.disable() + #s = StringIO.StringIO() + #sortby = 'cumulative' + #ps = pstats.Stats(pr, stream=s).sort_stats(sortby) + #ps.print_stats() + #print (s.getvalue()) + if not p.cr.estvide(): self.affiche_infos("Erreur a la conversion",Qt.red) else : @@ -910,7 +926,8 @@ class JDCEditor(Ui_baseWidget,QWidget): else: txt += eol txt=self.ajoutVersionCataDsJDC(txt) - checksum=self.get_checksum(txt) + if self.code != 'PSEN' and self.code != 'PSEN_N1' : checksum=self.get_checksum(txt) + else : checksum='' txt=txt+checksum if self.code=="TELEMAC" : return 1 try: @@ -1447,20 +1464,22 @@ class JDCEditor(Ui_baseWidget,QWidget): if monMC== None : monMC= ouChercher.addentite(MCFils) monMC.isvalid() - #-------------------------------------# + #-------------------------------------------------# def getValeur(self,nomEtape,MCFils,listeAvant=()): - #-------------------------------------# + #-------------------------------------------------# # dans le JDC ouChercher=None for e in self.jdc.etapes: if e.nom == nomEtape : ouChercher=e; break + if debug : print ('etape trouvee', ouChercher) if ouChercher==None : return None for mot in listeAvant : ouChercher=ouChercher.get_child(mot,restreint="oui") - #print (mot, ouChercher) + if debug : print (mot, ouChercher) if ouChercher==None : return None monMC=ouChercher.get_child(MCFils,restreint="oui") + if debug : print ('monMC', monMC) if monMC== None : return None return monMC.valeur @@ -1589,6 +1608,7 @@ class JDCEditor(Ui_baseWidget,QWidget): ouChercher=ouChercher.entites[k] MCADetruire=ouChercher.entites[nomDuMC] ouChercher.ordre_mc.remove(nomDuMC) + print ('remove de ', nomDuMC) del ouChercher.entites[nomDuMC] del self.dicoNouveauxMC[nomDuMC] @@ -1608,6 +1628,10 @@ class JDCEditor(Ui_baseWidget,QWidget): #Nouveau.ordre_mc=[] ouChercher.entites[nomDuMC]=Nouveau ouChercher.ordre_mc.append(nomDuMC) + #print ('ajout de ', nomDuMC) + #traceback.print_stack() + # ajout CIST sauvegarde + if nomDuMC in self.dicoNouveauxMC : del self.dicoNouveauxMC[nomDuMC] self.dicoNouveauxMC[nomDuMC]=('ajoutDefinitionMC',nomEtape,listeAvant,nomDuMC,typ,args) #print self.dicoNouveauxMC @@ -1717,8 +1741,12 @@ class JDCEditor(Ui_baseWidget,QWidget): indexFin=text.find(":FIN CHECKSUM") checkAvant=text[indexDeb:indexFin+13] textJDC=text[0:indexDeb]+text[indexFin+13:-1] - checksum=self.get_checksum(textJDC) - pareil=(checkAvant==checksum) + if self.code != 'PSEN' and self.code != 'PSEN_N1': + checksum=self.get_checksum(textJDC) + pareil=(checkAvant==checksum) + else : + pareil=1 + #if self.code=='PSEN' return pareil, textJDC #---------------------------# @@ -1759,7 +1787,7 @@ class JDCEditor(Ui_baseWidget,QWidget): def _newPSEN_N1(self): #---------------------------# texte="CASE_SELECTION();N_PROCESSING_OPTIONS();CONTINGENCY_OPTIONS();CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " - texte="CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " + #texte="CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " return texte #---------------------------# diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index f6178f4e..14ad60ff 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -134,11 +134,11 @@ def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION options=session.parse(sys.argv) from .qtEficas import Appli - app = QApplication(sys.argv) - Eficas=Appli(code=code,ssCode=None) + #app = QApplication(sys.argv) + #Eficas=Appli(code=code,ssCode=None,salome=0) from .ssIhm import QWParentSSIhm - parent=QWParentSSIhm(code,Eficas,version) + Eficas=QWParentSSIhm(code,version) from . import readercata if not hasattr ( Eficas, 'readercata'): @@ -151,6 +151,12 @@ def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION parameters=getJdcParameters(texte,macro) return parameters +def getEficasSsIhm(code='Adao',version='V0'): + from .qtEficasSsIhm import AppliSsIhm + app = QApplication(sys.argv) + Eficas=Appli(code=code,ssCode=None,salome=0) + return Eficas + def getJdcParameters(jdc,macro): """ This function converts the data from the specified macro of the diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index 0c28f887..ce9be4e6 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -135,7 +135,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): if self.name != None : plier=self.editor.afficheCommandesPliees if nodeCourrant==self.node : nouveau=self.node.append_child(self.name,'first',plier) - else : nouveau=nodeCourrant.append_brother(self.name,plier=plier) + else : nouveau=nodeCourrant.appendBrother(self.name,plier=plier) else : nouveau = 0 if nouveau == 0 : return # on n a pas insere le noeud @@ -195,9 +195,14 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick - else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - self.buttonGroup.buttonClicked.connect(self.rbClique) + #if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick + #else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + #self.buttonGroup.buttonClicked.connect(self.rbClique) + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : + self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) + else : + self.buttonGroup.buttonClicked.connect(self.rbClique) elif self.affiche_groupe==1 : listeGroupes,dictGroupes=self.jdc.get_groups() for grp in listeGroupes: @@ -218,9 +223,11 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick - else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - self.buttonGroup.buttonClicked.connect(self.rbClique) + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : + self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) + else : + self.buttonGroup.buttonClicked.connect(self.rbClique) label2=QLabel(self) label2.setText(" ") self.listeWidget.append(label2) @@ -238,11 +245,14 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick - else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - self.buttonGroup.buttonClicked.connect(self.rbClique) + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : + self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) + else : + self.buttonGroup.buttonClicked.connect(self.rbClique) + def ajoutePushButtons(self): if hasattr(self,'buttonGroup') : for b in self.buttonGroup.buttons(): @@ -264,9 +274,19 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.verticalLayout.addLayout(self.maGrilleBouton) col=-1 ligne = 0 + if self.affiche_alpha==1 : liste=self.creeListeCommande(None) - for cmd in liste : + elif self.affiche_ordre: + liste=self.creeListeCommande(None) + listeFiltre=self.creeListeCommande(None) + liste=[] + if self.editor.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre + else : Ordre_Des_Commandes=self.editor.Ordre_Des_Commandes + for cmd in Ordre_Des_Commandes : + if cmd in listeFiltre : + liste.append(cmd) + for cmd in liste : col=col+1 if col == self.editor.nombreDeBoutonParLigne : col=0 @@ -302,7 +322,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): def rbClique(self,id): self.name=self.dicoCmd[str(id.text())] definitionEtape=getattr(self.jdc.cata[0],self.name) - commentaire=getattr(definitionEtape,self.jdc.lang) + #commentaire=getattr(definitionEtape,self.jdc.lang) try : commentaire=getattr(definitionEtape,self.jdc.lang) except : diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 86eabea5..174eb4c3 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -110,6 +110,11 @@ class SaisieValeur(object): except : valeur=valeurBrute + # pour traiter 11.0 - 30.0 pour le CIST + if (valeurTraitee and (type(valeurTraitee) in types.StringTypes) and (self.node.item.wait_TXM())) : + valeur=str(valeurTraitee) + + if type(valeur) in (list,tuple) : if self.node.item.wait_complex() : indice = 0 diff --git a/InterfaceQT4/ssIhm.py b/InterfaceQT4/ssIhm.py index 350cfb73..7ac43144 100644 --- a/InterfaceQT4/ssIhm.py +++ b/InterfaceQT4/ssIhm.py @@ -51,16 +51,9 @@ class appliEficasSSIhm(object): self.CONFIGURATION = configuration.make_config(self,prefsCode.repIni) class QWParentSSIhm(object): - def __init__(self,code,appliEficas,version_code,ssCode=None): + def __init__(self,code,version_code): self.ihm="QT" self.code=code self.version_code=version_code - self.ssCode=ssCode - if ssCode != None : - self.format_fichier= ssCode #par defaut - #prefsCode.NAME_SCHEME=ssCode - else : - self.format_fichier="python" #par defaut - self.appliEficas=appliEficas - self.appliEficas.ssCode=ssCode + self.format_fichier="python" #par defaut diff --git a/MAP/configuration_MAP.py b/MAP/configuration_MAP.py index 78613652..6c997677 100644 --- a/MAP/configuration_MAP.py +++ b/MAP/configuration_MAP.py @@ -38,7 +38,7 @@ class CONFIG(configuration.CONFIG_BASE): self.adresse="ftp://ftp.pleiade.edf.fr/projets/MAP/OnlineDoc/MAP2014.1/components" self.labels_user=['exec_acrobat','savedir','path_doc'] - self.labels_eficas=['exec_acrobat','savedir','path_doc','catalogues'] + self.labels_eficas=['exec_acrobat','savedir','path_doc','catalogues','closeAutreCommande','closeFrameRechercheCommande','taille'] #self.cataFile="catalogues_MAP.ini" configuration.CONFIG_BASE.__init__(self,appli,repIni) diff --git a/MAP/prefs_MAP.py b/MAP/prefs_MAP.py index 07014f30..f134bd1d 100644 --- a/MAP/prefs_MAP.py +++ b/MAP/prefs_MAP.py @@ -39,6 +39,7 @@ path_doc = os.path.join(repIni,'Doc') exec_acrobat = "/usr/bin/xpdf" savedir = os.environ['HOME'] affiche = "groupe" +taille = 1400 rep_cata=os.path.dirname(os.path.abspath(__file__)) @@ -53,4 +54,6 @@ catalogues=( ('MAP','Map',os.path.join(rep_cata,'mapcata.py'), 'essai'), ) +closeAutreCommande = True +closeFrameRechercheCommande = True diff --git a/MED/CataAZ.py b/MED/CataAZ.py new file mode 100755 index 00000000..b6e6494e --- /dev/null +++ b/MED/CataAZ.py @@ -0,0 +1,210 @@ +# coding: utf-8 +import types +from Accas import * + +class grno(GEOM): + """ + Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande + En clair : un chaine de longueur 24. + """ + def __convert__(cls,valeur): + """ + Fonction de verification de la longueur de la chaine + """ + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: + return valeur.strip() + raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) + __convert__ = classmethod(__convert__) + +class grma(GEOM): + """ + Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande + En clair : un chaine de longueur 24. + """ + def __convert__(cls,valeur): + """ + Fonction de verification de la longueur de la chaine + """ + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: + return valeur.strip() + raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) + __convert__ = classmethod(__convert__) + + +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 + + __repr__=info + __str__=info + +class ObjetUtilisateur(ASSD): pass + + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + ) + + +EXAMPLE = PROC (nom = 'EXAMPLE', + op=None, + + TITRE = SIMP(statut ='o', typ = 'TXM', defaut = 'Mon Etude',), + TITRE2 = SIMP(statut ='f', typ = 'TXM', ), +) +CREEOBJET = OPER (nom="CREEOBJET", + op=None, + sd_prod=ObjetUtilisateur, + UIinfo={"groupes":("Group1",)}, + + TITLE = SIMP(statut ='o', typ = 'TXM', defaut = '',), + RB1 = SIMP(statut ='o', typ = 'I', into = [1,2,3],), + RB2 = SIMP(statut ='o', typ = 'I', into = [1,2,3,4,5,6,],), + CB = SIMP(statut ='o', typ = 'I', into = [1,2,3,4,5,6,7,8,9],), + MBool = SIMP(statut ='o', typ = bool,), + MFile = SIMP(statut ='o', typ = ('Fichier','All Files (*)')), + MDir = SIMP(statut ='o', typ = 'Repertoire'), + Reel1 = SIMP(statut ='o', typ = 'R'), + Compl = SIMP(statut ='o', typ = 'C'), + Tuple2 = SIMP(statut ='o', typ = Tuple(2), validators=VerifTypeTuple(('R','R'))), + Tuple3 = SIMP(statut ='o', typ = Tuple(3), validators=VerifTypeTuple(('R','R','R'))), + InSalome = SIMP(statut ='o', typ = SalomeEntry), + + LTITLE = SIMP(statut ='o', typ = 'TXM', max='**', defaut = '',), + LRB2 = SIMP(statut ='o', typ = 'I', max = '**', into = [1,2,3,4,5,6,],), + LCB = SIMP(statut ='o', typ = 'I', max = '**', homo="SansOrdreNiDoublon", into = [1,2,3,4,5,6,7,8,9],), + LReel1 = SIMP(statut ='o', typ = 'R', max = "**"), + LCompl = SIMP(statut ='o', typ = 'C', max = "**"), + LTuple2 = SIMP(statut ='o', typ = Tuple(2), validators=VerifTypeTuple(('R','R')), max = "**"), + LTuple3 = SIMP(statut ='o', typ = Tuple(3), validators=VerifTypeTuple(('R','R','R')), max = "**"), + LInSalome = SIMP(statut ='o', typ = SalomeEntry, max="**"), + + LREEL = SIMP(statut ='f', typ = 'R', max='**', defaut = '',), +) + +UTILISEOBJET = PROC (nom="UTILISEOBJET", + op=None, + UIinfo={"groupes":("Group1",)}, + Obj = SIMP (statut ='o', typ = ObjetUtilisateur,) +) + +ESSAI_FACT=OPER(nom="ESSAI_FACT", + sd_prod=ObjetUtilisateur, + op=None, + fr="Affectation de caractéristiques à des éléments de structure", + regles = (AU_MOINS_UN('Poutre','Barre'), + EXCLUS('Discret','Discret_2D'),), + Info = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), + Verif = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("Maille","Noeud") ), +# +# ============================================================================== + Poutre = FACT(statut= 'f',max= '**', + Section = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), + + b_generale = BLOC(condition = " Section == 'GENERALE'", + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), + + Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), + + b_constant = BLOC(condition = "Vari == 'CONSTANT'", + regles = (PRESENT_ABSENT('Table','Cara'), + PRESENT_PRESENT('Table','Nom'), + PRESENT_PRESENT('Cara','Valeur'),), + Table = SIMP(statut= 'f',typ='TXM'), + Nom = SIMP(statut= 'f',typ= 'TXM'), + Cara = SIMP(statut= 'o',typ= 'TXM',min= 4 ,max= 5, + fr= "A,IY,IZ,JX sont des paramètres obligatoires", + validators= [NoRepeat(), Compulsory(['A','IY','IZ','JX'])], + into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT","JG","IYR2","IZR2","AI") ), + Valeur = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), + ), + ), + b_rectangle = BLOC(condition = "Section == 'RECTANGLE'", + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), + Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), + b_constant = BLOC(condition = "Vari == 'CONSTANT'", + Cara = SIMP(statut= 'o',typ= 'TXM',min= 1 ,max= 4, + validators = [NoRepeat(), + OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), + AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], + into= ("H","EP", "HY","HZ","EPY","EPZ"),), + Valeur = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), + ), + + Metrique = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), + Fcx = SIMP(statut= 'f',typ= 'R'), + Tuyau = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), + ), + ), +# +# ============================================================================== + Barre = FACT(statut='f',max='**', + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), + GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + Section = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), + b_generale = BLOC(condition = "Section=='GENERALE'", + regles = (PRESENT_ABSENT('Table','Cara'), + PRESENT_PRESENT('Table','Nom'), + PRESENT_PRESENT('Cara','Valeur')), + Table = SIMP(statut='f',typ='TXM'), + Nom = SIMP(statut='f',typ='TXM',validators=LongStr(1,24) ), + Cara = SIMP(statut='f',typ='TXM',into=("A",) ), + Valeur = SIMP(statut='f',typ='R',min=1,max=1 ), + ), + b_rectangle = BLOC(condition = "Section=='RECTANGLE'", + Cara = SIMP(statut='o',typ='TXM', min=1, max=4, + validators = [NoRepeat(), + OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), + AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], + into=("H","EP","HZ","HY","EPY","EPZ"), ), + Valeur = SIMP(statut='o',typ='R',min=1,max=4 ), ), + b_cercle = BLOC(condition = "Section=='CERCLE'", + Cara = SIMP(statut='o',typ='TXM',validators=[NoRepeat(),Compulsory(['R'])],min=1,max=2,into=("R","EP") ), + Valeur = SIMP(statut='o',typ='R',min=1,max=2 ), ), + ), +# +# ============================================================================== + Discret = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + b_SYME_OUI = BLOC(condition="SYME=='OUI'", + fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + Cara = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into = ("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE + b_AK_T_D_N = BLOC(condition = "((Cara=='K_T_D_N')or(Cara=='A_T_D_N'))", + fr = "Noeud: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('Maille','GroupeMailles','Noeud','GROUP_NO'),), + Noeud = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + Maille = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), + GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),homo='SansOrdreNiDoublon',max='**'), + Valeur = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + ), + ), +# +# ============================================================================== + Discret_2D = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + ), +) + + diff --git a/MED/Elementary_Lists_52996_Cata.py b/MED/Elementary_Lists_52996_Cata.py new file mode 100644 index 00000000..f3cc11c8 --- /dev/null +++ b/MED/Elementary_Lists_52996_Cata.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +from Accas import * + +#class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('ALL_LISTS'), + #AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') + ) +) + +class grma(): + def __convert__(cls,valeur): + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24 : #and ("item" in (valeur.strip())) + return valeur.strip() + raise ValueError("Name length does not contain \"test\" and is longer than allowed, 24") + __convert__ = classmethod(__convert__) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +#empty_defauts=True + +def myBloc(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values + defauts_mask=[False,False,True,True,True] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+str(defauts0[id0]) + else: + item="" + defauts.append(item) + #print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make different widgets optional, one by one: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + #if empty_defauts: + # clean_defaut=num%myLen + + myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" + print myString + return eval(myString) + +ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + reentrant='n', + #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), + + #LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**'), + #LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**'), + #LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**'), + #LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**'), + + #LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**'), + #LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**'), + #LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**'), + #LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**'), + + #LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), + #LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), + + LIST_O_NOREPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04",), min=3, max='**'), + #LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**'), +) + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53000_Cata.py b/MED/Elementary_Lists_53000_Cata.py new file mode 100644 index 00000000..0dbba473 --- /dev/null +++ b/MED/Elementary_Lists_53000_Cata.py @@ -0,0 +1,52 @@ +# coding: utf-8 +from Accas import * + +#class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('ALL_LISTS'), + #AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') + ) +) + + +ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + reentrant='n', + LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ="TXM",validators=NoRepeat(), + into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), + defaut=('item01','item02','item03'), + homo="SansOrdreNiDoublon", + min=3, max='**'), + + #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), + + #LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**'), + #LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**'), + #LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**'), + #LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**'), + + #LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**'), + #LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**'), + #LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**'), + #LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**'), + + #LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), + #LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), + + #LIST_O_NOREPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04",), min=3, max='**'), + + + #LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**'), +) + + + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53013_Cata.py b/MED/Elementary_Lists_53013_Cata.py new file mode 100644 index 00000000..cf371ff2 --- /dev/null +++ b/MED/Elementary_Lists_53013_Cata.py @@ -0,0 +1,59 @@ +# coding: utf-8 +from Accas import * + +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('ALL_LISTS'), + #AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') + ) +) + +class grma(): + def __convert__(cls,valeur): + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # + return valeur.strip() + raise ValueError("Name length does not contain \"test\" and is longer than allowed, 12") + __convert__ = classmethod(__convert__) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + fr="All lists definition FR", + ang="All lists definition EN", + reentrant='n', + #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), + + L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), + L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), + L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), + L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), + + L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), + L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), + L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), + L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), + + L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), + L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), + L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), + L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), + + L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), + L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), + L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03","item02","text02","item01","text01",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), +) + + + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53036_Cata.py b/MED/Elementary_Lists_53036_Cata.py new file mode 100644 index 00000000..5cdc0faa --- /dev/null +++ b/MED/Elementary_Lists_53036_Cata.py @@ -0,0 +1,59 @@ +# coding: utf-8 +from Accas import * + +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('ALL_LISTS'), + #AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') + ) +) + +class grma(): + def __convert__(cls,valeur): + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # + return valeur.strip() + raise ValueError("Name length does not contain \"item\" and is longer than allowed, 12") + __convert__ = classmethod(__convert__) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + fr="All lists definition FR", + ang="All lists definition EN", + reentrant='n', + #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), + + L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), + L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), + L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), + L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), + + L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), + L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), + L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), + L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), + + L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), + L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), + L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), + L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), + + L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), + L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), + L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NOREPEAT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03","item03","text03","item02","text02","item01","text01",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), #validators=NoRepeat(), +) + + + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_Cata.py b/MED/Elementary_Lists_Cata.py new file mode 100755 index 00000000..92d20b35 --- /dev/null +++ b/MED/Elementary_Lists_Cata.py @@ -0,0 +1,59 @@ +# coding: utf-8 +from Accas import * + +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('ALL_LISTS'), + #AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') + ) +) + +class grma(): + def __convert__(cls,valeur): + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # + return valeur.strip() + raise ValueError("Name length does not contain \"test\" and is longer than allowed, 12") + __convert__ = classmethod(__convert__) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + fr="All lists definition FR", + ang="All lists definition EN", + reentrant='n', + #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), + + L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), + L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), + L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), + L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), + + L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), + L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), + L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), + L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), + + L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), + L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), + L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), + L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), + + L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), + L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), + L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), +) + + + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Global_Condition_Cata.py b/MED/Global_Condition_Cata.py new file mode 100755 index 00000000..02396340 --- /dev/null +++ b/MED/Global_Condition_Cata.py @@ -0,0 +1,53 @@ +# coding: utf-8 +from Accas import * +#class myModel(ASSD): pass + +JdC = JDC_CATA(code='GLOB_COND', + execmodul=None, + regles=(AU_PLUS_UN('TYPES',), + AU_PLUS_UN('INITS',), + AU_PLUS_UN('DATAS',), + #A_CLASSER('TYPES','INITS','DATAS') + ) +); + +TYPES=PROC(nom='TYPES',op=None,UIinfo={"groupes":("Global_Workflow",)}, #sd_prod=myModel, + MODE=SIMP( + typ='TXM', + statut='o', + position='global_jdc', + into=("MANUAL","AUTOMATIC","MIXED"), + defaut="AUTOMATIC", + ), +); + +liste_condition=('INITS', 'DATAS') + +INITS=PROC(nom='INITS',op=None,UIinfo={"groupes":("INI_param",)}, + ini_manual=BLOC(condition="MODE == 'MANUAL'", + Informer=SIMP(statut='o',typ='TXM', defaut="INITS MANUAL"), + ), + ini_auto=BLOC(condition="MODE == 'AUTOMATIC'", + Informer=SIMP(statut='o', typ='TXM', defaut="INITS AUTOMATIC",), + ), + ini_mixed=BLOC(condition="MODE == 'MIXED'", + Informer=SIMP(statut='o',typ='TXM', defaut="INITS MIXED",), + ), +); +DATAS=PROC(nom='DATAS',op=None,UIinfo={"groupes":("DATAS",)}, + data_manual=BLOC(condition="MODE == 'MANUAL'", + Informer=SIMP(statut='o',typ='TXM', defaut="DATAS MANUAL", + ), + ), + data_auto=BLOC(condition="MODE == 'AUTOMATIC'", + Informer=SIMP(statut='o', typ='TXM', defaut="DATAS AUTOMATIC", + ), + ), + data_mixed=BLOC(condition="MODE == 'MIXED'", + Informer=SIMP(statut='o',typ='TXM', defaut="DATAS MIXED", + ), + ), +); + +Classement_Commandes_Ds_Arbre=('TYPES','INITS','DATAS') +Ordre_Des_Commandes = ('TYPES','INITS','DATAS') diff --git a/MED/Many_Concepts_52983_Cata.py b/MED/Many_Concepts_52983_Cata.py new file mode 100644 index 00000000..70f099ac --- /dev/null +++ b/MED/Many_Concepts_52983_Cata.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +from Accas import * + +#class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(UN_PARMI('DEBUT', 'POURSUITE'), + AU_MOINS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) + +DEBUT=PROC(nom="DEBUT", op=68, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", + PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), +) +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=None,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + MESH=SIMP(statut='o',typ='TXM',into=("mesh_01","mesh_02","mesh_03","mesh_04",) , defaut="mesh_01"), + #reentrant='n', + #regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')), + + + block_mesh_01=BLOC(condition="MESH=='mesh_01'", + AFFE=FACT(statut='o', + ALL=SIMP(statut='o', typ=bool,ang='ALL 01 help EN', defaut=True), + PHENOMENA=SIMP(statut='o',typ='TXM',into=('phenomena_01','phenomena_02',), defaut='phenomena_01'), + #MODELISATION=SIMP(statut='o',typ='TXM', min=2,max='**', into=("mesh_01","mesh_02","mesh_03","mesh_04",) ,ang='Input 01 list EN', fr='Input 01 list FR'), + MODELISATION=SIMP(statut='o',typ='TXM', min=2,max='**', into=('Item_01_01','Item_01_02',) ,ang='Input 01 list EN', fr='Input 01 list FR'), + ), + ), +) +FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, + FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), +) + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH','AFFE_MODELE','FIN') +Ordre_Des_Commandes = ('DEBUT','MESH','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52988_Cata.py b/MED/Many_Concepts_52988_Cata.py new file mode 100644 index 00000000..52d4f10f --- /dev/null +++ b/MED/Many_Concepts_52988_Cata.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +from Accas import * + +class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('AFFE_MODELE'), + AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +empty_defauts=True + +def myBloc(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values + defauts_mask=[False,False,True,True,True] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+str(defauts0[id0]) + else: + item="" + defauts.append(item) + #print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make some widgets optional: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + if empty_defauts: + clean_defaut=num%myLen + + myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" + print myString + return eval(myString) + +DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", + PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), +); + +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + reentrant='n', + regles=(AU_MOINS_UN('APPROVED')), + MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), + APPROVED=SIMP(statut="o", typ=bool), + block_mesh_01=myBloc(1), + block_mesh_02=myBloc(2), + block_mesh_03=myBloc(3), + block_mesh_04=myBloc(4), +) + + +FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, + FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), +); + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52989_Cata.py b/MED/Many_Concepts_52989_Cata.py new file mode 100644 index 00000000..930d9e89 --- /dev/null +++ b/MED/Many_Concepts_52989_Cata.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +from Accas import * + +#class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('AFFE_MODELE'), + AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +#empty_defauts=True + +def myBloc(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values + defauts_mask=[False,False,True,True,True] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+str(defauts0[id0]) + else: + item="" + defauts.append(item) + #print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make different widgets optional, one by one: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + #if empty_defauts: + # clean_defaut=num%myLen + + myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" + print myString + return eval(myString) + +DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", + PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), +); + +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + reentrant='n', + regles=(AU_MOINS_UN('APPROVED')), + MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), + APPROVED=SIMP(statut="f", typ=bool), # presence of this item will validate the whole group + PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ='I', defaut=True), + block_mesh_01=myBloc(1), + block_mesh_02=myBloc(2), + block_mesh_03=myBloc(3), + block_mesh_04=myBloc(4), +) + + +FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, + FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), +); + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52992_Cata.py b/MED/Many_Concepts_52992_Cata.py new file mode 100644 index 00000000..13145b96 --- /dev/null +++ b/MED/Many_Concepts_52992_Cata.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +from Accas import * + +#class myMesh(ASSD): pass +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), + AU_PLUS_UN('AFFE_MODELE'), + AU_PLUS_UN('FIN'), + A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) + +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +#empty_defauts=True + +def myBloc(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values + defauts_mask=[False,False,True,True,False] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+str(defauts0[id0]) + else: + item="" + defauts.append(item) + #print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make different widgets optional, one by one: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + #if empty_defauts: + # clean_defaut=num%myLen + + myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=4,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" + print myString + return eval(myString) + +DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", + PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), +); + +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, + UIinfo={"groupes":("Group1",)}, + ang="Model mesh definition EN", + reentrant='n', + regles=(AU_MOINS_UN('APPROVED')), + MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), + APPROVED=SIMP(statut="f", typ=bool), # presence of this item will validate the whole group + block_mesh_01=myBloc(1), + block_mesh_02=myBloc(2), + block_mesh_03=myBloc(3), + block_mesh_04=myBloc(4), +) + + +FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, + FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), +); + +Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') + +Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Matrix_Cata.py b/MED/Matrix_Cata.py new file mode 100644 index 00000000..268a77bf --- /dev/null +++ b/MED/Matrix_Cata.py @@ -0,0 +1,87 @@ +# coding: utf-8 +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + + +class myModel(ASSD): pass + +JdC = JDC_CATA(code='PATTERNS', + execmodul=None, + regles=(AU_MOINS_UN ( 'CORRELATION' ), + ) +) + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', typ = "TXM", fr = "Nom", ang = "Name", defaut = "Var1" ), + T = SIMP ( statut = 'o', defaut = "in", into = ( "in" , "out", ), typ = "TXM", fr = "Type", ang = "Type" ), + R = SIMP ( statut = 'o', defaut = 0, typ = "I", fr = "Rang", ang = "Rank" ), +) + +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + R = SIMP ( statut = "o", typ = "R", max = 1, val_min = 0., fr = "Parametre R de la loi | R > 0", ang = "R parameter | R > 0", defaut = 0.5 ), + # T > R + T = SIMP ( statut = "o", typ = "R", max = 1, val_min = 0., fr = "Parametre T de la loi | T > R", ang = "T parameter | T > R", defaut = 0.7 ), + A = SIMP ( statut = "o", typ = "R", max = 1, fr = "Borne inferieure du support de la loi", ang = "Support lower bound", defaut = 0.1 ), + # B > A + B = SIMP ( statut = "o", typ = "R", max = 1, fr = "Borne superieure du support de la loi", ang = "Support upper bound", defaut = 0.3 ), +) + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", typ = ( variable, ), fr = "Variable d'entrée du modèle", ang = "Input variable of the model" ), + Distribution = SIMP ( statut = "o", typ = ( loi, ), fr = "Modélisation probabiliste", ang = "Probabilistic modelisation" ), +) + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + CorrelationMatrix = SIMP ( statut = "o", typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables" ), +) diff --git a/MED/Nested_Cond_52945_Cata.py b/MED/Nested_Cond_52945_Cata.py new file mode 100644 index 00000000..9d3b119d --- /dev/null +++ b/MED/Nested_Cond_52945_Cata.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +from Accas import * + +class loi(): pass + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +use_and=False #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 +def cond2(myMax=False): + if use_and: + if myMax: + out= " and MAX_ROWS>="+str(myMax) + else: + out="" + else: + out="" + print out + return out + +PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", + MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), + PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1A","2A","add new row",)), + wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), + PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1A","add new row","3A",)), + wideblock2=BLOC(condition='PROCGROUP2=="add new row"'+cond2(2), + PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + PROCGROUP689=SIMP(statut='o',typ='TXM',), + wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), + PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), + PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), + PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), + PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), + PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), + ) + ) + ) + ) + ) + ) + ) + ) +) + +#LEV1 = OPER( nom = "LEV1", +# sd_prod=loi, +# op=68, +# fr='LEV1 FR', +# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), +# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), +#) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52946_Cata.py b/MED/Nested_Cond_52946_Cata.py new file mode 100644 index 00000000..fef5edf0 --- /dev/null +++ b/MED/Nested_Cond_52946_Cata.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +from Accas import * + +class loi(): pass + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +use_and=True #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 +def cond2(myMax=False): + if use_and: + if myMax: + out= " and MAX_ROWS>="+str(myMax) + else: + out="" + else: + out="" + print out + return out + +PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", + MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), + PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), + PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + #wideblock2=BLOC(condition='PROCGROUP2=="add new row"', + wideblock2=BLOC(condition='MAX_ROWS == 8', + #wideblock2=BLOC(condition='PROCGROUP2=="add new row" and (MAX_ROWS > 2)', + PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), + PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), + PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), + PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), + PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), + PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), + ) + ) + ) + ) + ) + ) + ) + ) +) + +#LEV1 = OPER( nom = "LEV1", +# sd_prod=loi, +# op=68, +# fr='LEV1 FR', +# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), +# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), +#) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52947_Cata.py b/MED/Nested_Cond_52947_Cata.py new file mode 100644 index 00000000..bf3be39e --- /dev/null +++ b/MED/Nested_Cond_52947_Cata.py @@ -0,0 +1,17 @@ +# coding: utf-8 + +from Accas import * + +class loi(): pass + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) + +PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", + PROCGROUP1=SIMP(statut='o',typ='TXM',into=("a1","a2","a3",)), +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52948_Cata.py b/MED/Nested_Cond_52948_Cata.py new file mode 100644 index 00000000..81f216f8 --- /dev/null +++ b/MED/Nested_Cond_52948_Cata.py @@ -0,0 +1,21 @@ +# coding: utf-8 + +from Accas import * + +class loi(ASSD): pass + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) + +PER_01 = OPER( nom = "PER_01", + sd_prod=loi, + op=68, + fr='LEV1 FR', + Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), + SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), +) + +#Classement_Commandes_Ds_Arbre=('OPER_01',) + +#Ordre_Des_Commandes = ('OPER_01',) diff --git a/MED/Nested_Cond_52949_Cata.py b/MED/Nested_Cond_52949_Cata.py new file mode 100644 index 00000000..d09011a3 --- /dev/null +++ b/MED/Nested_Cond_52949_Cata.py @@ -0,0 +1,19 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) + +PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", + MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), + PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock1=BLOC(condition='PROCGROUP1 in "add new row"', + PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + ) +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52952_Cata.py b/MED/Nested_Cond_52952_Cata.py new file mode 100644 index 00000000..47a8d7c5 --- /dev/null +++ b/MED/Nested_Cond_52952_Cata.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +from Accas import * + +class loi(): pass + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +use_and=False #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 +def cond2(myMax=False): + if use_and: + if myMax: + out= " and MAX_ROWS>="+str(myMax) + else: + out="" + else: + out="" + #print out + return out + +PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", + MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), + PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), + PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock2=BLOC(condition='PROCGROUP2=="add new row"'+cond2(2), + PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), + PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), + PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), + PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), + wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), + PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), + wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), + PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), + wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), + ) + ) + ) + ) + ) + ) + ) + ) +) + +#LEV1 = OPER( nom = "LEV1", +# sd_prod=loi, +# op=68, +# fr='LEV1 FR', +# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), +# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), +#) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52958_Cata.py b/MED/Separate_Blocks_52958_Cata.py new file mode 100644 index 00000000..1327a3fb --- /dev/null +++ b/MED/Separate_Blocks_52958_Cata.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +def several(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +NUMERICAL_PARAMETERS=PROC(nom = "NUMERICAL_PARAMETERS", op=None, ang="Help for NUMERICAL_PARAMETERS, English version", + #Equations=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + Solver_definition=FACT(statut = 'o', + Solver = SIMP(statut = 'o',typ = 'TXM', into=several("Solver_",12), defaut="Solver_06"), + ) +) +PASCALE=PROC(nom = "PASCALE", op=None, ang="Help for NUMERICAL_PARAMETERS, English version", + Equations=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + Solver_definition=FACT(statut = 'o', + Solver = SIMP(statut = 'o',typ = 'TXM', into=several("Solver_",12), defaut="Solver_06"), + ) +) + +Classement_Commandes_Ds_Arbre=('NUMERICAL_PARAMETERS',) + +Ordre_Des_Commandes = ('NUMERICAL_PARAMETERS',) diff --git a/MED/Separate_Blocks_52963_Cata.py b/MED/Separate_Blocks_52963_Cata.py new file mode 100644 index 00000000..c115196f --- /dev/null +++ b/MED/Separate_Blocks_52963_Cata.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +def myFact(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + myString="FACT(statut = 'f', List_"+myNum+" = SIMP(statut = 'o',typ = 'TXM', into=mySeveral('"+list_item_body+"',12), defaut='"+list_item_body+myNum+"'),Real_"+myNum+" = SIMP(statut = 'o',typ = 'R', defaut = "+str(num/100.)+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = 'o',typ = 'I', defaut = "+str(100+num)+",ang='Max_Iter "+myNum+" help EN'))" + print myString + return eval(myString) + + +PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", + Radio_01=SIMP(statut = 'f',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + FACT_01=myFact(1), + FACT_02=myFact(2), + FACT_03=myFact(3), + FACT_04=myFact(4), + FACT_05=myFact(5), + FACT_06=myFact(6), + FACT_07=myFact(7), + FACT_08=myFact(8), + FACT_09=myFact(9), + FACT_10=myFact(10), + FACT_11=myFact(11), + FACT_12=myFact(12), +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52966_Cata.py b/MED/Separate_Blocks_52966_Cata.py new file mode 100644 index 00000000..baef1eb1 --- /dev/null +++ b/MED/Separate_Blocks_52966_Cata.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=False #change 'o' to 'f' of some widgets in the loop + +def myFact(num): + opt=['o','f','o','o'] + if switch_facultatif: + myLen=len(opt) + make_f=(num-1)%myLen + opt[make_f]='f' + #print opt + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12), defaut='"+list_item_body+myNum+"'),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R', defaut = "+str(num/100.)+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I', defaut = "+str(100+num)+",ang='Max_Iter "+myNum+" help EN'))" + print myString + return eval(myString) + + +PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", + Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + FACT_01=myFact(1), + FACT_02=myFact(2), + FACT_03=myFact(3), + FACT_04=myFact(4), + FACT_05=myFact(5), + FACT_06=myFact(6), + FACT_07=myFact(7), + FACT_08=myFact(8), + FACT_09=myFact(9), + FACT_10=myFact(10), + FACT_11=myFact(11), + FACT_12=myFact(12), +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52972_Cata.py b/MED/Separate_Blocks_52972_Cata.py new file mode 100644 index 00000000..88927e49 --- /dev/null +++ b/MED/Separate_Blocks_52972_Cata.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +empty_defauts=True + +def myFact(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + + defauts0=["","'"+list_item_body+myNum+"'", str(num/100.), str(100+num), "'Text_"+myNum+"'" ] #presence of default values + defauts_mask=[False,True,True,False,True] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+defauts0[id0] + else: + item="" + defauts.append(item) + print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make some widgets optional: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + if empty_defauts: + clean_defaut=num%myLen + + + myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12)"+defauts[1]+"),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R'"+defauts[2]+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I'"+defauts[3]+",ang='Integer "+myNum+" help EN'),Text_"+myNum+" = SIMP(statut = '"+opt[4]+"',typ = 'TXM'"+defauts[4]+",ang='Text "+myNum+" help EN'))" + print myString + return eval(myString) + + +PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", + Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + FACT_01=myFact(1), + FACT_02=myFact(2), + FACT_03=myFact(3), + FACT_04=myFact(4), + FACT_05=myFact(5), + #FACT_06=myFact(6), + #FACT_07=myFact(7), + #FACT_08=myFact(8), + #FACT_09=myFact(9), + #FACT_10=myFact(10), + #FACT_11=myFact(11), + #FACT_12=myFact(12), +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52975_Cata.py b/MED/Separate_Blocks_52975_Cata.py new file mode 100644 index 00000000..88927e49 --- /dev/null +++ b/MED/Separate_Blocks_52975_Cata.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'PATTERNS', + execmodul = None, + ) +def mySeveral(suffix,num): + out=list() + for i in range(1,num+1): + out.append(suffix+str(i).zfill(2)) + return out + +switch_facultatif=True #change 'o' to 'f' of some widgets in the loop +empty_defauts=True + +def myFact(num): + myNum=str(num).zfill(2) + list_item_body="Item_"+myNum+"_" + + defauts0=["","'"+list_item_body+myNum+"'", str(num/100.), str(100+num), "'Text_"+myNum+"'" ] #presence of default values + defauts_mask=[False,True,True,False,True] #switch off defaults of some types + defauts=list() + for id0 in range(len(defauts0)): + if defauts_mask[id0]: + item=", defaut="+defauts0[id0] + else: + item="" + defauts.append(item) + print defauts + + opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups + #make some widgets optional: + myLen=len(opt) + if switch_facultatif: + make_f=(num)%myLen + opt[make_f]='f' + #print opt + if empty_defauts: + clean_defaut=num%myLen + + + myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12)"+defauts[1]+"),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R'"+defauts[2]+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I'"+defauts[3]+",ang='Integer "+myNum+" help EN'),Text_"+myNum+" = SIMP(statut = '"+opt[4]+"',typ = 'TXM'"+defauts[4]+",ang='Text "+myNum+" help EN'))" + print myString + return eval(myString) + + +PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", + Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), + FACT_01=myFact(1), + FACT_02=myFact(2), + FACT_03=myFact(3), + FACT_04=myFact(4), + FACT_05=myFact(5), + #FACT_06=myFact(6), + #FACT_07=myFact(7), + #FACT_08=myFact(8), + #FACT_09=myFact(9), + #FACT_10=myFact(10), + #FACT_11=myFact(11), + #FACT_12=myFact(12), +) + +Classement_Commandes_Ds_Arbre=('PROC_01',) + +Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/a b/MED/a new file mode 100644 index 00000000..0018d1d5 --- /dev/null +++ b/MED/a @@ -0,0 +1,110 @@ +ESSAI_FACT=OPER(nom="ESSAI_FACT", + sd_prod=ObjetUtilisateur, + op=None, + fr=tr("Affectation de caractéristiques à des éléments de structure"), + regles = (AU_MOINS_UN('Poutre','Barre'), + EXCLUS('Discret','Discret_2D'),), + Info = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), + Verif = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("Maille","Noeud") ), +# +# ============================================================================== + Poutre = FACT(statut= 'f',max= '**', + Section = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), + + b_generale = BLOC(condition = " Section == 'GENERALE'", + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'), + GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), + + Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), + + b_constant = BLOC(condition = "Vari == 'CONSTANT'", + regles = (PRESENT_ABSENT('Table','Cara'), + PRESENT_PRESENT('Table','Nom'), + PRESENT_PRESENT('Cara','Valeur'),), + Table = SIMP(statut= 'f',typ='TXM'), + Nom = SIMP(statut= 'f',typ= 'TXM'), + Cara = SIMP(statut= 'o',typ= 'TXM',min= 4 ,max= 5, + fr= tr("A,IY,IZ,JX sont des paramètres obligatoires"), + validators= [NoRepeat(), Compulsory(['A','IY','IZ','JX'])], + into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT","JG","IYR2","IZR2","AI") ), + Valeur = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), + ), + ), + b_rectangle = BLOC(condition = "Section == 'RECTANGLE'", + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'), + GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), + Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), + b_constant = BLOC(condition = "Vari == 'CONSTANT'", + Cara = SIMP(statut= 'o',typ= 'TXM',min= 1 ,max= 4, + validators = [NoRepeat(), + OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), + AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], + into= ("H","EP", "HY","HZ","EPY","EPZ"),), + Valeur = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), + ), + + Metrique = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), + Fcx = SIMP(statut= 'f',typ= 'R'), + Tuyau = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), + ), + ), +# +# ============================================================================== + Barre = FACT(statut='f',max='**', + regles = (UN_PARMI('Maille','GroupeMailles'),), + Maille = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + Section = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), + b_generale = BLOC(condition = "Section=='GENERALE'", + regles = (PRESENT_ABSENT('Table','Cara'), + PRESENT_PRESENT('Table','Nom'), + PRESENT_PRESENT('Cara','Valeur')), + Table = SIMP(statut='f',typ=table_sdaster), + Nom = SIMP(statut='f',typ='TXM',validators=LongStr(1,24) ), + Cara = SIMP(statut='f',typ='TXM',into=("A",) ), + Valeur = SIMP(statut='f',typ='R',min=1,max=1 ), + ), + b_rectangle = BLOC(condition = "Section=='RECTANGLE'", + Cara = SIMP(statut='o',typ='TXM', min=1, max=4, + validators = [NoRepeat(), + OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), + AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], + into=("H","EP","HZ","HY","EPY","EPZ"), ), + Valeur = SIMP(statut='o',typ='R',min=1,max=4 ), ), + b_cercle = BLOC(condition = "Section=='CERCLE'", + Cara = SIMP(statut='o',typ='TXM',validators=[NoRepeat(),Compulsory(['R'])],min=1,max=2,into=("R","EP") ), + Valeur = SIMP(statut='o',typ='R',min=1,max=2 ), ), + ), +# +# ============================================================================== + Discret = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + b_SYME_OUI = BLOC(condition="SYME=='OUI'", + fr=tr("SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds"), + Cara = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into = ("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE + b_AK_T_D_N = BLOC(condition = "((Cara=='K_T_D_N')or(Cara=='A_T_D_N'))", + fr = tr("Noeud: 3 valeurs (triangulaire supérieure par colonne)"), + regles = (UN_PARMI('Maille','GroupeMailles','Noeud','GROUP_NO'),), + Noeud = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + Maille = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),homo='SansOrdreNiDoublon',max='**'), + Valeur = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + ), + ), +# +# ============================================================================== + Discret_2D = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + ), +) diff --git a/MED/cata_diapo.py b/MED/cata_diapo.py new file mode 100644 index 00000000..0c5268ef --- /dev/null +++ b/MED/cata_diapo.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +from Accas import * +class Tuple: + def __init__(self,ntuple): + self.ntuple=ntuple + + def __convert__(self,valeur): + import types + 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 + + __repr__=info + __str__=info + + + +class forme ( ASSD ) : pass + +JdC = JDC_CATA (code = 'MED', + execmodul = None, + ) + +FORME_GEOMETRIQUE=OPER(nom='FORME_GEOMETRIQUE',sd_prod =forme ,op=None, + Forme=SIMP(statut="o",typ='TXM',into=[ 'carre', 'cercle', 'triangle' ],defaut='carre'), + bloc_pour_Carre = BLOC (condition = "Forme=='carre'", + Cote=SIMP(statut="o",typ='I'), ) , # fin bloc_pour_carre + bloc_pour_cercle = BLOC (condition ="Forme=='cercle'", + rayon=SIMP(statut="o",typ='I'), ) , # fin bloc_pour_cercle + + DE_NOMBREUSES_WIDGETS= FACT(statut="o", + Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R'))), + Fichier_Med = SIMP( statut = 'o', typ = ('Fichier', 'Med Files (*.med);;All Files (*)',),), + ListeDeChoixPlusGrande=SIMP(statut="o",typ='TXM',into=['a','b,','c','d','e','f','g','h'], + homo="SansOrdreNiDoublon",), + Un_Parametre_Facultatif=SIMP(statut="f",typ='TXM') + + ), + Couleur=SIMP(statut = 'f',typ='TXM'), + Matiere=SIMP(statut = 'f',typ='TXM'), +); + diff --git a/MED/cata_med.py b/MED/cata_med.py new file mode 100644 index 00000000..4640f81e --- /dev/null +++ b/MED/cata_med.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +from Accas import * + +JdC = JDC_CATA (code = 'MED', + execmodul = None, + ) +FAS=PROC(nom='FAS',op=None, + FAMILY_MESH_NAME_REF = FACT(statut='o', max='**', + + NAME=SIMP(statut="o",typ='TXM'), + ELEM=FACT(statut="f", max="**", + NUM=SIMP(statut="o",typ='TXM',), + NAME=SIMP(statut="o",typ='TXM',), + ATT=FACT(statut="f", + NBR=SIMP(statut="o", max=1 , typ = 'I'), + DES=SIMP(statut="o", max="**", typ = 'TXM'), + IDE=SIMP(statut="o", max="**", typ = 'I'), + VAL=SIMP(statut="o", max="**", typ = 'I'), + ), + GRO=FACT(statut="f", + NBR=SIMP(statut="o", max=1 , typ = 'I'), + NOM=SIMP(statut="o", max="**", typ='TXM'), + ), + ), + ), +); + + diff --git a/MED/configuration_MED.py b/MED/configuration_MED.py new file mode 100644 index 00000000..4ab64b85 --- /dev/null +++ b/MED/configuration_MED.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +from InterfaceQT4 import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['catalogues','lang'] + self.labels_eficas=['lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/MED/images/essaiAster.png b/MED/images/essaiAster.png new file mode 100644 index 00000000..d01c5de8 Binary files /dev/null and b/MED/images/essaiAster.png differ diff --git a/MED/items_integer_space.txt b/MED/items_integer_space.txt new file mode 100644 index 00000000..8e17136e --- /dev/null +++ b/MED/items_integer_space.txt @@ -0,0 +1,2 @@ +"4" "3" "2" "1" +"4" "5" "6" "7" \ No newline at end of file diff --git a/MED/monCode_qtEficas.py b/MED/monCode_qtEficas.py new file mode 100755 index 00000000..b1254f2c --- /dev/null +++ b/MED/monCode_qtEficas.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +from PyQt4.QtCore import * +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/MED/prefs.py b/MED/prefs.py new file mode 100644 index 00000000..2e9d0a2e --- /dev/null +++ b/MED/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="MED" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/MED/prefs_MED.py b/MED/prefs_MED.py new file mode 100644 index 00000000..220dc3f0 --- /dev/null +++ b/MED/prefs_MED.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='en' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni + +# +catalogues=( + #('med','med',os.path.join(repIni,'cata_med.py'),'dico','python'), + ('med','med',os.path.join(repIni,'CataAZ.py'),'python','python'), +) + +simpleClic=True +nombreDeBoutonParLigne = 4 +dicoImages={ +'CREEOBJET' : os.path.join(repIni,'images/essaiAster.png') +} + diff --git a/MED/prefs_monCode.py b/MED/prefs_monCode.py new file mode 100644 index 00000000..b9e513fc --- /dev/null +++ b/MED/prefs_monCode.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='en' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni + +# +catalogues=( + ('monCode','med',os.path.join(repIni,'CataAZ.py'),'python','python'), +# ('monCode','53036',os.path.join(repIni,'Elementary_Lists_53036_Cata.py'),'dico','python'), +# ('monCode','53033',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), +# ('monCode','53031',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), +# ('monCode','53030',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), +# ('monCode','53020',os.path.join(repIni,'Nested_Cond_52945_Cata.py'),'dico','python'), +# ('monCode','53013',os.path.join(repIni,'Elementary_Lists_53013_Cata.py'),'dico','python'), +# ('monCode','53000',os.path.join(repIni,'Elementary_Lists_53030_Cata.py'),'dico','python'), +# ('monCode','52996',os.path.join(repIni,'Elementary_Lists_52996_Cata.py'),'dico','python'), +# ('monCode','52992',os.path.join(repIni,'Many_Concepts_52992_Cata.py'),'dico','python'), +# ('monCode','52989',os.path.join(repIni,'Many_Concepts_52989_Cata.py'),'dico','python'), +# ('monCode','52988',os.path.join(repIni,'Many_Concepts_52988_Cata.py'),'dico','python'), +# ('monCode','52985',os.path.join(repIni,'fin_52985_Cata.py'),'dico','python'), +# ('monCode','52983',os.path.join(repIni,'Many_Concepts_52983_Cata.py'),'dico','python'), +# ('monCode','52975',os.path.join(repIni,'Separate_Blocks_52975_Cata.py'),'dico','python'), +# ('monCode','52972',os.path.join(repIni,'Separate_Blocks_52972_Cata.py'),'dico','python'), +# ('monCode','52958',os.path.join(repIni,'Separate_Blocks_52958_Cata.py'),'dico','python'), +# ('monCode','52952',os.path.join(repIni,'Nested_Cond_52952_Cata.py'),'dico','python'), +# ('monCode','52949',os.path.join(repIni,'Nested_Cond_52949_Cata.py'),'dico','python'), +# ('monCode','52947',os.path.join(repIni,'Nested_Cond_52947_Cata.py'),'dico','python'), +# ('monCode','52946',os.path.join(repIni,'Nested_Cond_52946_Cata.py'),'dico','python'), +# ('monCode','52945',os.path.join(repIni,'Nested_Cond_52945_Cata.py'),'dico','python'), +# ('monCode','Global',os.path.join(repIni,'Global_Condition_Cata.py'),'dico','python'), +## resolu ('monCode','52948',os.path.join(repIni,'Nested_Cond_52948_Cata.py'),'dico','python'), +# pb d afffichage des optionnels ('monCode','52963',os.path.join(repIni,'Separate_Blocks_52963_Cata.py'),'dico','python'), +# pb d afffichage des optionnels ('monCode','52966',os.path.join(repIni,'Separate_Blocks_52966_Cata.py'),'dico','python'), + +# ('monCode','test',os.path.join(repIni,'monCode_Cata1.py'),'dico','python'), +) + diff --git a/MED/properties.py b/MED/properties.py new file mode 100644 index 00000000..1d328a46 --- /dev/null +++ b/MED/properties.py @@ -0,0 +1,24 @@ +#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "1.2" +date = "25/05/2010" +exploit = False diff --git a/MED/qtEficas_AZ.py b/MED/qtEficas_AZ.py new file mode 100755 index 00000000..f49b9bcb --- /dev/null +++ b/MED/qtEficas_AZ.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/MED/qtEficas_Med.py b/MED/qtEficas_Med.py new file mode 100755 index 00000000..f49b9bcb --- /dev/null +++ b/MED/qtEficas_Med.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/MED/typescript b/MED/typescript new file mode 100644 index 00000000..f070be17 --- /dev/null +++ b/MED/typescript @@ -0,0 +1,34 @@ +Le script a débuté sur mar. 29 nov. 2016 15:37:06 CET +]0;A96028@dsp0780471: ~/QT5GitEficasTravail/eficas/monCodeA96028@dsp0780471:~/QT5GitEficasTravail/eficas/monCode$ ./qtEficas_Med.py /tmp/a.commoo.comm +eficas_en /home/A96028/QT5GitEficasTravail/eficas/monCode/../Extensions/../UiQT4 +() +{'typ': 'TXM', 'statut': 'o'} +() +{'typ': 'TXM', 'statut': 'o'} +() +{'typ': 'TXM', 'statut': 'o'} +() +{'max': 1, 'typ': 'I', 'statut': 'o'} +() +{'max': '**', 'typ': 'TXM', 'statut': 'o'} +() +{'max': '**', 'typ': 'I', 'statut': 'o'} +() +{'max': '**', 'typ': 'I', 'statut': 'o'} +() +{'NBR': , 'IDE': , 'DES': , 'VAL': , 'statut': 'f'} +() +{'max': 1, 'typ': 'I', 'statut': 'o'} +() +{'max': '**', 'typ': 'TXM', 'statut': 'o'} +() +{'NOM': , 'NBR': , 'statut': 'f'} +() +{'NAME': , 'statut': 'f', 'max': '**', 'ATT': , 'NUM': , 'GRO': } +() +{'NAME': , 'ELEM': , 'statut': 'o'} +() +{'nom': 'FAS', 'FAMILY_MESH_NAME_REF': , 'op': None} +]0;A96028@dsp0780471: ~/QT5GitEficasTravail/eficas/monCodeA96028@dsp0780471:~/QT5GitEficasTravail/eficas/monCode$ exit + +Script terminé sur mar. 29 nov. 2016 15:37:13 CET diff --git a/MT/MT_Cata_V2016.py b/MT/MT_Cata_V2016.py new file mode 100644 index 00000000..6911bb19 --- /dev/null +++ b/MT/MT_Cata_V2016.py @@ -0,0 +1,1066 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +# 20120510 : suppression de la valeur par defaut de MATERIAU->PARAMETRES_MAT->NU +# changement du nom MATERIAU->PARAMETRES_MAT->MASS_VOL en MATERIAU->PARAMETRES_MAT->RHO +# +# 20120619 : changement ordre d'affichage des macros -> ordre de création +# 20120725 : modification definition (matrices A,K,M) palier et support +# 20130411 : ajout elements dans palier generalise (mail tdg + comm tdg) +# +# todo : supprimer les noeuds -> definir les elements par leur longueur +# +# +# +# +# + + + + +from Accas import * +# + +import types +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 + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +VERSION_CATALOGUE="2016.0.0"; +JdC = JDC_CATA(code = 'MT', + execmodul = None, + regles = (AU_MOINS_UN ( 'LIGNE_ARBRE',), + AU_PLUS_UN ( 'LIGNE_ARBRE',)), + ) # Fin JDC_CATA + +class Direction(ASSD): pass +class Materiau(ASSD): pass +#class Masse(ASSD): pass +class Zone(ASSD): pass +class Palier(ASSD): pass +#class Masse(ASSD): pass +#class ConditionsAuxLimites(ASSD): pass +class LigneArbre(ASSD): pass +class Support(ASSD): pass +class Butee(ASSD): pass +class PalTor(ASSD):pass +#class Noeud(ASSD): pass + +## def macro_noeuds(self, NOEUD, **args): +## """ +## """ +## if NOEUD is not None: +## self.type_sdprod(NOEUD, Noeud) +## pass +## else: +## raise AsException("Impossible de typer les concepts resultats") + +## return Noeuds + +############################# DIRECTION ######################################## +DIRECTION = MACRO(nom = "DIRECTION", + op = None, + sd_prod = Direction, + reentrant = 'n', + UIinfo = {"groupes": ("Machine tournante",)}, + fr = "Renseignement de la direction de la ligne d'arbres", + AXE = SIMP(statut = 'o', + typ = 'TXM', + fr = "Direction de l'axe de la ligne d'arbres", + min=1, + max=1, + into = ('HORIZONTAL','VERTICAL'), + defaut = 'HORIZONTAL', + ), # end AXE + ) # end DIRECTION + + +############################# MATERIAUX ######################################## +# @todo +# introduction manuelle => dans ce cas l'utilisateur definit le +# materiau comme ci-dessous +# recuperation depuis une bibliothèque de materiau => sera specife +# plus tard +MATERIAUX = MACRO(nom = 'MATERIAUX', + op = None, + sd_prod = Materiau, + reentrant = 'n', + UIinfo = {"groupes": ("Machine tournante",)}, + fr = "Renseignement des caracteristiques des materiaux", + TYPE_INTRO = SIMP(statut='o', + fr = "Mode de description des caracteristiques des materiaux", + typ='TXM', + into=('MANUELLE','FICHIER'), + min=1, + max=1, + defaut='MANUELLE', + ), # end TYPE_INTRO + PARAMETRES_MAT = BLOC(condition = "((TYPE_INTRO == 'MANUELLE') )", + #MASS_VOL = SIMP(statut='o', typ='R', min=1, max=1, fr='masse volumique'), + fr = "Saisie manuelle des caracteristiques du materiau", + RHO = SIMP(statut='o', + typ='R', + min=1, + fr='Masse volumique (kg/m**3)', + ), # end RHO + E = SIMP(statut='o', + typ='R', + min=1, + max=1, + fr="Module d'Young (Pa)", + ), # end E + NU = SIMP(statut='o', + typ='R', + min=1, + max=1, + val_min=-1.0, + val_max=0.5, + fr='Coefficient de cisaillement (-1.0 <= NU <= 0.5)', + ), # end NU + ALPHA = SIMP(statut='f', + typ='R', + min=1, + max=1, + fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la rigidite", + ), # end ALPHA + BETA = SIMP(statut='f', + typ='R', + min=1, + max=1, + fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la masse", + ), # end BETA + GAMA = SIMP(statut='f', + typ='R', + min=1, + max=1, + fr = "Coefficient d'amortissement hysteretique permettant de definir le module d'Young complexe", + ), # end GAMA + ), # end PARAMETRES_MAT + FICHIER_MAT = BLOC(condition = "((TYPE_INTRO == 'FICHIER') )", + MATERIAU_CATALOGUE = SIMP(statut='o', + fr="Fichier decrivant les caracteristiques materiaux (format decrit dans le Manuel Utilisateur)", + min=1, + max=1, + typ=('Fichier','Fichier materiau (*.*)'), + ), # end MATERIAU_CATALOGUE + ), # end FICHIER_MAT + #SIMP(typ=('Fichier','JDC Files (*.comm)'),docu='',min=1,max=1,statut='o',defaut=None) + ) # end MATERIAU + + + +############################# ZONES ######################################## +ZONE = MACRO(nom = 'ZONE', + op = None, + sd_prod = Zone, + reentrant = 'n', + UIinfo = {"groupes":("Machine tournante",)}, + fr = "Description d'une zone (comportant noeuds et elements, et en option masses ponctuelles et fissures)", + regles = (AU_MOINS_UN("ELEMENTS")), + MASSE = FACT(statut='f', + min=0, + max='**', + fr = "Description des masses ponctuelles", + #POSITION = SIMP(statut='o', + NOEUD = SIMP(statut='o', + typ='TXM', + defaut=None, + fr = "Definition de la position axiale de la masse (label du noeud de la ligne d'arbres en vis-a-vis)", + ), # end POSITION + TYPE_MASSE = SIMP(statut='o', + typ='TXM', + fr = "Renseignement du type de masse consideree", + into=('DISQUE','AILETTE','QUELCONQUE'), + ), # end TYPE_MASSE + DISQUE = BLOC(condition = "((TYPE_MASSE == 'DISQUE') )", + TYPE_SAISIE = SIMP(statut='o', + typ='TXM', + fr = "Type de saisie des parametres du DISQUE", + into = ('MECANIQUE','GEOMETRIQUE'), + defaut = 'MECANIQUE' + ), # end TYPE_SAISIE + PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", + PARAMETRES = FACT(statut = 'o', + fr = "Parametres mecaniques pour un DISQUE", + MASSE = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Masse du DISQUE (kg)", + ), # end MASSE_DISQUE + INERTIEX = SIMP(statut='o', + typ='R', + fr = "Inertie du DISQUE en X (kg.m**2)", + ), # end INERTIEX + INERTIEY = SIMP(statut='o', + typ='R', + fr = "Inertie du DISQUE en Y (kg.m**2)", + ), # end INERTIEY + INERTIEZ = SIMP(statut='o', + typ='R', + fr = "Inertie du DISQUE en Z (axe de rotation de la ligne d'arbres)(kg.m**2)", + ), # end INERTIEZ + ) # end PARAMETRES_DISQUE_M + ), # end PARAMETRES_MECANIQUE + PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", + PARAMETRES = FACT(statut = 'o', + fr = "Parametres geometriques pour un DISQUE", + DIAMETRE_EXT = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Diametre exterieur du DISQUE (m)", + ), # end MASSE_DISQUE + DIAMETRE_INT = SIMP(statut='o', + typ='R', + fr = "Diametre interieur du DISQUE (m). Verifier le diametre exterieur du rotor avant saisie", + ), # end INERTIEX + EPAISSEUR = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Epaisseur (dans la direction axiale) du DISQUE (m)", + ), # end INERTIEY + MATERIAU = SIMP(statut='o', + typ=Materiau, + fr = "Materiau constituant le DISQUE (doit avoir ete defini via une entree MATERIAUX)", + ), # end INERTIEZ + ) # nd PARAMETRES_DISQUE_G + ), # end PARAMETRES_MECANIQUE + ), # end DISQUE + AILETTE = BLOC(condition = "((TYPE_MASSE == 'AILETTE') )", + TYPE_SAISIE = SIMP(statut='o', + typ='TXM', + fr = "Type de saisie des parametres de la rangee d'AILETTES", + into = ('MECANIQUE','GEOMETRIQUE'), + defaut = 'MECANIQUE' + ), # end TYPE_SAISIE + PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", + PARAMETRES = FACT(statut = 'o', + fr = "Parametres mecaniques de la rangee d'AILETTES", + MASSE = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Masse de la rangee d'AILETTES (kg)", + ), # end MASSE_AILETTE + INERTIEX = SIMP(statut='o', + typ='R', + fr = "Inertie de la rangee d'AILETTES en X (kg.m**2)", + ), # end INERTIEX + INERTIEY = SIMP(statut='o', + typ='R', + fr = "Inertie de la rangee d'AILETTES en Y (kg.m**2)", + ), # end INERTIEY + INERTIEZ = SIMP(statut='o', + typ='R', + fr = "Inertie de la rangee d'AILETTES en Z (axe de rotation de la ligne d'arbres) (kg.m**2)", + ), # end INERTIEZ + ) # nd PARAMETRES_AILETTE_M + ), # end PARAMETRES_MECANIQUE + PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", + PARAMETRES = FACT(statut = 'o', + fr = "Parametres geometriques d'une AILETTE", + MASSE_AILETTE = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Masse d'une AILETTE (kg)", + ), # end MASSE_AILETTE + RAYON = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Distance entre le pied de l'AILETTE et le centre de rotation (m). Verifier le diametre exterieur du rotor avant saisie", + ), # end RAYON + HAUTEUR = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Distance entre les deux extremites de l'AILETTE (m)", + ), # end HAUTEUR + BASE = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Largeur du pied de l'AILETTE (m)", + ), # end BASE + NOMBRE = SIMP(statut='o', + typ='I', + val_min=1, + fr = "Nombre d'AILETTES dans la rangee", + ), + ) # end PARAMETRES_DISQUE + ), # end PARAMETRES_MECANIQUE + ), # end AILETTE + QUELCONQUE = BLOC(condition = "((TYPE_MASSE == 'QUELCONQUE') )", + #TYPE_SAISIE = SIMP(statut='c',typ='TXM',defaut="MECANIQUE"), # cf 20120622 test : mot-clé caché + PARAMETRES = FACT(statut = 'o', + fr = "Parametres pour masse de type QUELCONQUE", + MASSE = SIMP(statut='o', + typ='R', + val_min=0, + fr = "Masse (m)", + ), # end MASSE + INERTIEX = SIMP(statut='o', + typ='R', + fr = "Inertie en X (kg.m**2)", + ), # end INERTIEX + INERTIEY = SIMP(statut='o', + typ='R', + fr = "Inertie en Y (kg.m**2)", + ), # end INERTIEY + INERTIEZ = SIMP(statut='o', + typ='R', + fr = "Inertie en Z (axe de rotation de la ligne d'arbres) (kg.m**2)", + ), # end INERTIEZ + ), # end PARAMETRES_QUELCONQUE + ), # end QUELCONQUE + ), # end MASSE + ESSAI=SIMP(typ = Tuple(2), + max = '**', + validators=VerifTypeTuple(('TXM','R')),), + + NOEUDS = FACT(fr = "Definition des noeuds de la zone (2 noeuds minimum)", + statut='o', + min=2, + max='**', + NOM = SIMP(statut='o', + typ='TXM', + fr="Label du noeud", + ), # end NOM + POSITION_AXIALE = SIMP(statut='o', + typ='R', + defaut=0.0, + val_min=0.0, + fr = "Position axiale du noeud (relative par rapport au debut de la zone (1er noeud a 0m)) (m)", + ), # end X + ), # end NOEUDS + ELEMENTS = FACT(fr = "Definition des elements poutre de la zone", + statut='o', + min=1, + max='**', + NOM = SIMP(statut='o', + typ='TXM', + fr="Label de l'element" + ), # end NOM + NOEUD_DEBUT = SIMP(statut='o', + typ='TXM', + fr= "Noeud de debut de l'element poutre (label d'un noeud)" + ), # end DEBUT + NOEUD_FIN = SIMP(statut='o', + typ='TXM', + fr= "Noeud de fin de l'element poutre (label d'un noeud)" + ), # end FIN + RAFFINEMENT = SIMP(fr = "Choix de raffiner l'element poutre", + statut='o', + typ='TXM', + into=('OUI','NON'), + defaut='NON' + ), # end RAFFINEMENT + PARAM_RAFFINEMENT = BLOC(fr = "Nombre de points supplementaires a ajouter pour le raffinement (nombre elements : 1 -> nb points + 1)", + condition = "((RAFFINEMENT == 'OUI') )", + NB_POINTS_SUPPL = SIMP(statut='o', + typ='I' + ), # end NB_POINTS_SUPPL + ), # end PARAM_RAFFINEMENT + MATERIAU = SIMP(statut='o', + typ=Materiau, + fr= "Materiau constituant l'element poutre (doit avoir ete defini via une entree MATERIAUX)" + ), # end MATERIAU + SECTION_MASSE = FACT(statut='o', + fr = "Section a partir de laquelle est determinee la masse de l'element poutre", + TYPE_SECTION = SIMP(statut='o', + fr = "Choix d'une section de dimensions constantes ou variables", + typ='TXM', + into=('CONSTANTE','VARIABLE'), + defaut='CONSTANTE', + ), # end TYPE_SECTION + DIAM_EXTERN_DEBUT = SIMP(statut='o', + typ='R', + fr = "Diametre exterieur en debut d'element poutre (m)", + ), # end DIAM_EXTERN_DEBUT + DIAM_INTERN_DEBUT = SIMP(statut='o', + typ='R', + fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)", + ), # end DIAM_INTERN_DEBUT + PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", + fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)", + DIAM_EXTERN_SORTIE = SIMP(statut='o', + typ='R', + fr = "Diametre exterieur en fin d'element (m)", + ), # end DIAM_EXTERN_SORTIE + DIAM_INTERN_SORTIE = SIMP(statut='o', + typ='R', + fr = "Diametre interieur en fin d'element (m)", + ), # DIAM_INTERN_SORTIE + ), + ), # end SECTION_MASSE + SECTION_RIGIDITE = FACT(statut='f', + fr = "Section a partir de laquelle est determinee la rigidite de l'element poutre", + TYPE_SECTION = SIMP(statut='o', + fr = "Choix d'une section de dimensions constantes ou variables", + typ='TXM', + into=('CONSTANTE','VARIABLE'), + defaut='CONSTANTE', + ), # end TYPE_SECTION + DIAM_EXTERN_DEBUT = SIMP(statut='o', + typ='R', + fr = "Diametre exterieur en debut d'element poutre (m)", + ), # end DIAM_EXTERN_DEBUT + DIAM_INTERN_DEBUT = SIMP(statut='o', + typ='R', + fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)", + ), # end DIAM_INTERN_DEBUT + PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", + fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)", + DIAM_EXTERN_SORTIE = SIMP(statut='o', + typ='R', + fr = "Diametre exterieur en fin d'element (m)", + ), # end DIAM_EXTERN_SORTIE + DIAM_INTERN_SORTIE = SIMP(statut='o', + typ='R', + fr = "Diametre interieur en fin d'element (m)", + ), # end DIAM_INTERN_SORTIE + ), # end PARAMETRE_SECT_VAR + ), # end SECTION_RIGIDITE + ), # end ELEMENTS + FISSURE = FACT(statut='f', + fr="Description d'une fissure sur un noeud de l'arbre (licite uniquement si les elements poutres a gauche et a droite du noeud ont des sections masse et rigidite constantes)", + MATERIAU = SIMP(statut='o', + typ=Materiau, + fr="Materiau a la position de la fissure (doit avoir ete defini via une entree MATERIAUX)" + ), # end MATERIAU + NOEUD_FISSURE = SIMP(statut='o', + typ='TXM', + fr="Label du noeud ou est positionnee la fissure", + ), # end POSITION_FISSURE + ORIENTATION_FISSURE = SIMP(statut='o', + typ='R', + fr="Angle initial du fond de fissure par rapport à sa définition dans la loi de comportement de fissure (0. par defaut)(degres)", + ), # end ORIENTATION_FISSURE + FICHIER_RAIDEUR = SIMP(statut='o', + typ=('Fichier','Fichier loi de raideur (*.*)'), + fr="Fichier contenant la loi de comportement en raideur de la fissure", + ), # end FICHIER_RAIDEUR + DIAMETRE = SIMP(statut='o', + typ='R', + fr="Diametre du rotor a l'emplacement de la fissure (m)", + ), # end DIAMETRE + ), # end FISSURE + + ) # end ZONE + +############################# PALIERS ######################################## +PALIER = MACRO(nom = 'PALIER', + op = None, + sd_prod = Palier, + reentrant = 'n', + UIinfo = {"groupes":("Machine tournante",)}, + fr = "Description d'un palier radial", + POSITION = SIMP(statut='o', + typ='R', + defaut=0.0, + fr = "Position axiale (absolue) du palier radial (m)", + ), # end POSITION + TYPE_PALIER = SIMP(statut='o', + fr = "Type de palier radial", + typ='TXM', + into=('PALIER LINEAIRE','PALIER NON-LINEAIRE','LAME FLUIDE'), + ), # end TYPE_PALIER + PALIER_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER LINEAIRE') )", + fr = "Description d'un palier radial lineaire", + TYPE_SAISIE = SIMP(statut='o', + fr = "Mode de description des caracteristiques du palier radial lineaire", + typ='TXM', + into=('MANUELLE', 'CATALOGUE'), + ), # end TYPE_SAISIE + MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", + fr = "Saisie manuelle des caracteristiques du palier radial lineaire", + CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques du palier par vitesse de rotation de la ligne d'arbres", + VITESSE_ROTATION = SIMP(statut='o', + typ='R', + fr= "Vitesse de rotation (tr/min)", + ), # end VITESSE_ROTATION + SYME = SIMP(statut = 'o', + typ = 'TXM', + max = 1, + fr = "Symetrie des matrices du palier radial lineaire (KXY=KYX et AXY=AYX)", + into = ('OUI','NON'), + defaut = 'OUI', + ), # end SYME + RIGIDITE_NS = BLOC(condition="(SYME=='NON')", + RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite du palier radial lineaire", + KXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXX dans la matrice de rigidite (N/m)", + ),# end KXX + KXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXY dans la matrice de rigidite (N/m)", + ),# end KXY + KYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYX dans la matrice de rigidite (N/m)", + ),# end KYX + KYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYY dans la matrice de rigidite (N/m)", + ),# end KYY + ), # end RIGIDITE + ), # end RIGIDITE_S + RIGIDITE_S = BLOC(condition="(SYME=='OUI')", + RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite du palier radial lineaire", + KXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXX dans la matrice de rigidite (N/m)", + ),# end KXX + KXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXY dans la matrice de rigidite (N/m)", + ),# end KXY + KYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYY dans la matrice de rigidite (N/m)", + ),# end KYY + ), # end RIGIDITE + ), # end RIGIDITE_NS + AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", + AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement du palier radial lineaire", + AXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", + ),# end AXX + AXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", + ),# end AXY + AYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", + ),# end AYX + AYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", + ),# end AYY + ), # end AMORTISSEMENT + ), # end AMORTISSEMENT_NS + AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", + AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement du palier radial lineaire", + AXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", + ),# end AXX + AXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", + ),# end AXY + AYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", + ),# end AYY + ), # end AMORTISSEMENT + ), # end AMORTISSEMENT_S + ), # end CARAC_PALIER + ),# end MANUELLE + CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", + fr = "Renseignement des fichiers contenant les caracteristiques du palier radial lineaire", + CATALOGUE_AMORTISSEMENT = SIMP(statut='o', + min=1, + max=1, + typ='Fichier', + fr="Fichier decrivant les caracteristiques d'amortissement (N.s/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)", + ), # end CATALOGUE_AMORTISSEMENT + CATALOGUE_RIGIDITE = SIMP(statut='o', + min=1, + max=1, + typ='Fichier', + fr="Fichier decrivant les caracteristiques de rigidite (N/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)", + ), # end CATALOGUE_RIGIDITE + ), # end CATALOGUE + ), # end PALIER_LINEAIRE + LAME_FLUIDE = BLOC(condition = "((TYPE_PALIER == 'LAME FLUIDE') )", + fr = "Description d'une lame fluide", + TYPE_SAISIE = SIMP(statut='o', + fr = "Mode de description des caracteristiques de la lame fluide", + typ='TXM', + defaut = 'MANUELLE', + #into=('MANUELLE', 'CATALOGUE'), #Fonctionnalite catalogue non encore implementee + into=('MANUELLE',), + ), # end TYPE_SAISIE + MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", + fr = "Saisie manuelle des caracteristiques de la lame fluide", + CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques de la lame fluide par vitesse de rotation de la ligne d'arbres", + SYME = SIMP(statut = 'o', + typ = 'TXM', + max = 1, + fr = "Symetrie des matrices de la lame fluide (KXY=KYX et AXY=AYX)", + into = ('OUI','NON'), + defaut = 'OUI', + ), # end SYME + RIGIDITE_NS = BLOC(condition="(SYME=='NON')", + RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite de la lame fluide", + KXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXX dans la matrice de rigidite (N/m)", + ),# end KXX + KXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXY dans la matrice de rigidite (N/m)", + ),# end KXY + KYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYX dans la matrice de rigidite (N/m)", + ),# end KYX + KYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYY dans la matrice de rigidite (N/m)", + ),# end KYY + ), # end RIGIDITE_NS + RIGIDITE_S = BLOC(condition="(SYME=='OUI')", + RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite de la lame fluide", + KXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXX dans la matrice de rigidite (N/m)", + ),# end KXX + KXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXY dans la matrice de rigidite (N/m)", + ),# end KXY + KYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYY dans la matrice de rigidite (N/m)", + ),# end KYY + ), # end RIGIDITE + ), # end RIGIDITE_S + AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", + AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement de la lame fluide", + AXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", + ),# end AXX + AXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", + ),# end AXY + AYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", + ),# end AYX + AYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", + ),# end AYY + ), # end AMORTISSEMENT + ), # end AMORTISSEMENT + ), # end AMORTISSEMENT_NS + AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", + AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement de la lame fluide", + AXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", + ),# end AXX + AXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", + ),# end AXY + AYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", + ),# end AYY + ), # end AMORTISSEMENT + ), # end AMORTISSEMENT_S + MASSE_NS = BLOC(condition="(SYME=='NON')", + MASSE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de masse de la lame fluide", + MXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXX dans la matrice de masse (kg)", + ),# end MXX + MXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXY dans la matrice de masse (kg)", + ),# end MXY + MYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MYX dans la matrice de masse (kg)", + ),# end MYX + MYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MYY dans la matrice de masse (kg)", + ),# end MYY + ), # end MASSE + ), # end MASSE_NS + MASSE_S = BLOC(condition="(SYME=='OUI')", + MASSE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de masse de la lame fluide", + MXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXX dans la matrice de masse (kg)", + ),# end MXX + MXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXY dans la matrice de masse (kg)", + ),# end MXY + MYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MYY dans la matrice de masse (kg)", + ),# end MYY + ), # end MASSE + ), # end MASSE_S + VITESSE_ROTATION = SIMP(statut='o', + typ='R', + fr= "Vitesse de rotation (tr/min)", + ), # end VITESSE_ROTATION + ), # end CARAC_PALIER + ), # end MANUELLE + #Fonctionnalite non encore implementee + CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", + PALIERS_CATALOGUE = SIMP(statut='o', + min=1, + max=1, + typ='Fichier', + fr="Format du fichier : CSV.", + ), # end PALIERS_CATALOGUE + ), # end CATALOGUE + + ), # end LAME_FLUIDE + PALIER_NON_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER NON-LINEAIRE') )", + fr = "Description d'un palier non-lineaire (licite uniquement en cas d'analyse de type 'TRANSITOIRE ACCIDENTEL'", + TYPE = SIMP(statut='o', + typ='TXM', + into=('PAPANL','PAFINL','PAHYNL','PACONL'), + defaut=None, + fr="Type de palier non-lineaire parmi ceux proposes dans Edyos", + ), # end TYPE + REPERTOIRE_EDYOS = SIMP(statut='o', + typ=('Repertoire'), + defaut=None, + fr="Repertoire 'CDC' du palier non-lineaire utilise (les fichiers Geometrie et Donnees doivent exister dans les repertoires parents respectivement de niveau 2 et 1 de CDC)", + ), # end REPERTOIRE_EDYOS + ), # end PALIER_NON_LINEAIRE + ) # end PALIER + +PALIER_TORSION=MACRO(nom="PALIER_TORSION", + op=None, + sd_prod=PalTor, + reentrant='n', + UIinfo={"groupes":("Machine tournante",)}, + fr="Description d'un palier de torsion", + POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) du palier de torsion (m)",), # end POSITION + TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques du palier de torsion",), # end TYPE_SAISIE + MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", + fr = "Saisie manuelle des caracteristiques du palier de torsion", + CARAC_PALIER = FACT(statut = 'o',max=1,fr = "Caracteristiques du palier par vitesse de rotation de l'arbre", + VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',fr= "Liste des vitesses de rotation (tr/min)",), # end VITESSE_ROTATION + KRZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de rigidite (N/m) du palier de torsion en fonction de la vitesse de rotation",),# end KRZ + ARZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques d'amortissement (N.s/m) du palier de torsion en fonction de la vitesse de rotation",),# end ARZ + MRZ = SIMP(statut = 'f',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de masse ajoutee (kg) du palier de torsion en fonction de la vitesse de rotation",),# end MRZ + ),#end CARAC_PALIER + ), # end MANUELLE + #Fonctionnalite pas encore implementee + CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", + fr = "Renseignement des fichiers contenant les caracteristiques du palier de torsion", + CATA_PALIER = SIMP(statut='o',min=1,max=1,typ='Fichier',fr="Format du fichier : CSV.",), # end CATA_PALIER + ), # end CATALOGUE + )#end PALIER TORSION + +BUTEE=MACRO(nom="BUTEE", + op=None, + sd_prod=Butee, + reentrant='n', + UIinfo={"groupes":("Machine tournante",)}, + fr="Description d'une butee", + POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) de la butee (m)",), # end POSITION + TYPE_BUTEE = SIMP(statut='o',typ='TXM',into=('BUTEE LINEAIRE',),fr = "Type de butee",), # end TYPE_BUTEE, BUTEE NON LINEAIRE reintegrable + BUTEE_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE LINEAIRE'", + fr = "Description d'une butee lineaire", + TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques de la butee lineaire",), # end TYPE_SAISIE; 'CATALOGUE' reintegrable + MANUELLE=BLOC(condition="TYPE_SAISIE=='MANUELLE'", + fr = "Saisie manuelle des caracteristiques de la butee lineaire", + CARAC_BUTEE=FACT(statut='o',max=1,fr="Caracteristiques de la butee en fonction de la vitesse de rotation", + VITESSE_ROTATION=SIMP(statut='o',typ='R',min=1,max='**',fr="Liste des vitesses de rotation (tr/min)",), + SYMETRIQUE=SIMP(statut='o',typ='TXM',min=1,max=1,into=("OUI","NON"),defaut="OUI",fr="Symetrie des matrices de la butee (KRXRY=KRYRX , ARXRY=ARYRX et MRXRY=MRYRX)",), + + RIGIDITE_NS = BLOC(condition="(SYMETRIQUE=='NON')", + RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation", + KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + ), #END RIGIDITE + ),#END RIGIDITE_NS + RIGIDITE_S = BLOC(condition="(SYMETRIQUE=='OUI')", + RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation", + KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), + ), #END RIGIDITE + ),#END RIGIDITE_S + + AMORTISSEMENT_NS = BLOC(condition="(SYMETRIQUE=='NON')", + AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation", + AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ),#END AMORTISSEMENT + ),#END AMORTISSEMENT_NS + AMORTISSEMENT_S = BLOC(condition="(SYMETRIQUE=='OUI')", + AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation", + AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), + ),#END AMORTISSEMENT + ),#END AMORTISSEMENT_S + + INERTIE_NS = BLOC(condition="(SYMETRIQUE=='NON')", + INERTIE=FACT(statut='f',max=1,fr="Caracteristiques non-symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation", + MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), + ),#END INERTIE + ),#END INERTIE_NS + INERTIE_S = BLOC(condition="(SYMETRIQUE=='OUI')", + INERTIE=FACT(statut='f',max=1,fr="Caracteristiques symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation", + MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), + MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), + ),#END INERTIE + ),#END INERTIE_S + + ),#END CARA_BUTEE + ),#end MANUELLE + CATALOGUE=BLOC(condition="TYPE_SAISIE=='CATALOGUE'", + fr = "Renseignement des fichiers contenant les caracteristiques de la butee lineaire", + ),#END CATALOGUE + ),#END BUTEE LINEAIRE + + BUTEE_NON_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE NON LINEAIRE'", + fr = "Description d'une butee non-lineaire", + ),#END BUTEE NON LINEAIRE + + );#END BUTEE + +############################# SUPPORT ######################################## +SUPPORT = MACRO(nom = "SUPPORT", + op = None, + sd_prod = Support, + reentrant = 'n', + UIinfo = {"groupes":("Machine tournante",)}, + fr = "Description d'un support ", + TYPE_SUPPORT = SIMP(statut='o', + fr = "Type de support", + typ='TXM', + defaut="RIGIDE", + into=("RIGIDE", "SIMPLIFIE", "GENERALISE", ), + ), # end TYPE_SUPPORT + SIMPLIFIE = BLOC(condition = "((TYPE_SUPPORT == 'SIMPLIFIE') )", + fr = "Description d'un support simplifie", + RIGIDITE = FACT(statut='o', fr = "Renseignement des caracteristiques de rigidite du support simplifie", + KXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXX dans la matrice de rigidite (N/m)", + ),# end KXX + KXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KXY dans la matrice de rigidite (N/m)", + ),# end KXY + KYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYX dans la matrice de rigidite (N/m)", + ),# end KYX + KYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de KYY dans la matrice de rigidite (N/m)", + ),# end KYY + ), # end RIGIDITE + AMORTISSEMENT = FACT(statut='o', fr= "Renseignement des caracteristiques d'amortissement du support simplifie", + AXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", + ),# end AXX + AXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", + ),# end AXY + AYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", + ),# end AYX + AYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", + ),# end AYY + ), # end AMORTISSEMENT + MASSE = FACT(statut='o', fr= "Renseignement des caracteristiques de masse du support simplifie", + MXX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXX dans la matrice de masse (kg)", + ),# end MXX + MXY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MXY dans la matrice de masse (kg)", + ),# end MXY + MYX = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MYX dans la matrice de masse (kg)", + ),# end MYX + MYY = SIMP(statut = 'o', + typ = 'R', + max = 1, + fr = "Valeur de MYY dans la matrice de masse (kg)", + ),# end MYY + ), # end MASSE + ), # end SIMPLIFIE + GENERALISE = BLOC(condition = "((TYPE_SUPPORT == 'GENERALISE') )", + fr = "Description d'un support generalise", + ANGL_NAUT = SIMP(statut='f', + fr="Rotation du modele du support generalise a effectuer pour coincider avec le repere de la ligne d'arbres (rotation autour de X, puis Y, puis Z (degres))", + typ='R', + min=3,max=3, + ), # end ANGL_NAUT + TRANS = SIMP(statut='f', + fr="Translation du modele du support generalise a effectuer pour que ses noeuds de connexion soient confondus avec ceux de la ligne d'arbres (translation suivant X, Y et Z (m))", + typ='R', + min=3,max=3, + ), # end TRANS + MAIL_TDG = SIMP(statut='o', + fr="Fichier du maillage du support generalise", + typ=("Fichier","Fichier maillage TdG (*.*)"), + min=1,max=1, + ), # end MAIL_TDG + COMM_TDG = SIMP(statut='o', + fr="Fichier de la mise en donnees du support generalise", + typ=("Fichier","Fichier commande TdG (*.*)"), + min=1,max=1, + ), # end COMM_TDG + NOM_MACRO_ELEMENT_DYNAMIQUE = SIMP(statut='o', + fr="Nom du macro element dynamique cree pour le support generalise", + typ='TXM', + min=1,max=1, + ), # end NOM_MACRO_ELEMENT_DYNAMIQUE + NOM_INTERFACE = SIMP(statut='o', + fr="Nom de l'interface cree pour le support generalise", + typ='TXM', + min=1,max=1, + ), # end NOM_INTERFACE + NOM_GROUP_MA_MASSIF = SIMP(statut='o', + fr="Nom du groupe de maille representant le support generalise", + typ='TXM', + min=1,max=1, + ), # end NOM_GROUP_MA_MASSIF + REDUIT = SIMP(statut='f', + fr="Introduction du mot-cle REDUIT pour le cas ou le nombre d'interfaces n'est pas identique entre le support generalise et la ligne d'arbres", + typ='TXM', + into=("OUI",), + defaut="OUI", + ), # end REDUIT + ), # end GENERALISE + ) # end SUPPORT + +############################# LIGNE_ARBRE ######################################## +LIGNE_ARBRE = MACRO(nom = 'LIGNE_ARBRE', + op = None, + sd_prod = LigneArbre, + reentrant = 'n', + UIinfo = {"groupes":("Machine tournante",)}, + fr = "Description de la ligne d'arbres", + DIRECTION = SIMP(statut='o', + fr = "Direction de la ligne d'arbres consideree (choisir une des entrees DIRECTION creees)", + typ=Direction, + min=1, + max=1, + ), # end DIRECTION + ZONES = SIMP(statut='o', + fr = "Zone(s) composant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees ZONE creees)", + typ=Zone, + min=1, + max='**', + ), # end ZONES + PALIERS = SIMP(statut='o', + fr = "Paliers supportant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIER creees)", + typ=Palier, + min=2, + max='**', + ), # end PALIERS + + BUTEES = SIMP(statut='f', + fr = "Butee(s) guidant axialement la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees BUTEES creees)", + typ=Butee, + max='**' + ),#end BUTEE + PALIERS_TORSION=SIMP(statut='f', + fr = "Palier(s) de torsion de la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIERS_TORSION creees)", + typ=PalTor, + max='**' + ),#end PALIERS_TORSION + SUPPORTS = SIMP(statut='o', + fr = "Supports sous les paliers (choisir, en faisant attention a l'ordre, parmi les entrees SUPPORTS creees)", + typ=Support, + min=1, + max='**', + ), # end SUPPORTS + ) # end LIGNE_ARBRE + diff --git a/MT/mesScripts_MT.py b/MT/mesScripts_MT.py index 30d46079..010ea2d6 100644 --- a/MT/mesScripts_MT.py +++ b/MT/mesScripts_MT.py @@ -45,11 +45,12 @@ def import_zone(listeparam): #print editor.updateJdc #editor.updateJdc(itemWidget,txt) - editor.updateJdcEtape(itemWidget,texte) + retour = editor.updateJdcEtape(itemWidget,texte) + if retour : - oldItem=itemParent.children[index] - oldItem.select() - oldItem.supprimeNoeud() + oldItem=itemParent.children[index] + oldItem.select() + oldItem.supprimeNoeud() # le dictionnaire des commandes a la structure suivante : diff --git a/MT/opsOT.py b/MT/opsOT.py deleted file mode 100644 index e2af4083..00000000 --- a/MT/opsOT.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: iso-8859-1 -*- - -def INCLUDE(self,FileName,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - if hasattr(self,'change_fichier'): - delattr(self,'change_fichier') - delattr(self,'fichier_ini') - - self.make_include2(fichier=FileName) - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - diff --git a/MT/reecrit_comm.py_VOprofile.py b/MT/reecrit_comm.py_VOprofile.py new file mode 100755 index 00000000..2ea327f2 --- /dev/null +++ b/MT/reecrit_comm.py_VOprofile.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" +""" +# Modules Python +from __future__ import absolute_import + +import sys,os + +# Modules Eficas +import prefs +if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack + + +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4 import eficas_go + +from PyQt5.QtWidgets import QApplication +app = QApplication(sys.argv) +# on veut ouvrir un fichier directement au lancement d'Eficas + + +import cProfile, pstats, StringIO +pr = cProfile.Profile() +pr.enable() +eficas_go.lance_eficas_ssIhm_reecrit(code='MT',fichier = 'gros_modele_MT.comm',ou = 'toto',cr=True) +pr.disable() +s = StringIO.StringIO() +sortby = 'cumulative' +ps = pstats.Stats(pr, stream=s).sort_stats(sortby) +ps.print_stats() +print s.getvalue() diff --git a/MT/sdll124a.machine b/MT/sdll124a.machine new file mode 100644 index 00000000..ecc40046 --- /dev/null +++ b/MT/sdll124a.machine @@ -0,0 +1,207 @@ + +DIRE=DIRECTION(AXE='HORIZONTAL',); + +MAT=MATERIAUX(TYPE_INTRO='MANUELLE', + RHO=7800.0, + E=2e+11, + NU=0.3,); + +P1=PALIER(POSITION=0.0, + TYPE_PALIER='PALIER LINEAIRE', + TYPE_SAISIE='MANUELLE', + CARAC_PALIER=( + _F(VITESSE_ROTATION=0.0, + SYME='NON', + RIGIDITE=_F(KXX=70000000.0, + KXY=0.0, + KYX=0.0, + KYY=50000000.0,), + AMORTISSEMENT=_F(AXX=700.0, + AXY=0.0, + AYX=0.0, + AYY=500.0,),), + _F(VITESSE_ROTATION=None, + SYME='OUI', + RIGIDITE=_F(KXX=None, + KXY=None, + KYY=None,), + AMORTISSEMENT=_F(AXX=None, + AXY=None, + AYY=None,),),),); + +P2=PALIER(POSITION=1.3, + TYPE_PALIER='PALIER LINEAIRE', + TYPE_SAISIE='MANUELLE', + CARAC_PALIER=_F(VITESSE_ROTATION=0.0, + SYME='NON', + RIGIDITE=_F(KXX=70000000.0, + KXY=0.0, + KYX=0.0, + KYY=50000000.0,), + AMORTISSEMENT=_F(AXX=700.0, + AXY=0.0, + AYX=0.0, + AYY=500.0,),),); + +Z=ZONE(MASSE=(_F(NOEUD='N3', + TYPE_MASSE='DISQUE', + TYPE_SAISIE='GEOMETRIQUE', + PARAMETRES=_F(DIAMETRE_EXT=0.24, + DIAMETRE_INT=0.1, + EPAISSEUR=0.05, + MATERIAU=MAT,),), + _F(NOEUD='N6', + TYPE_MASSE='DISQUE', + TYPE_SAISIE='GEOMETRIQUE', + PARAMETRES=_F(DIAMETRE_EXT=0.4, + DIAMETRE_INT=0.1, + EPAISSEUR=0.05, + MATERIAU=MAT,),), + _F(NOEUD='N11', + TYPE_MASSE='DISQUE', + TYPE_SAISIE='GEOMETRIQUE', + PARAMETRES=_F(DIAMETRE_EXT=0.4, + DIAMETRE_INT=0.1, + EPAISSEUR=0.06, + MATERIAU=MAT,),),), + NOEUDS=(_F(NOM='N1', + POSITION_AXIALE=0.0,), + _F(NOM='N2', + POSITION_AXIALE=0.0,), + _F(NOM='N3', + POSITION_AXIALE=0.0,), + _F(NOM='N4', + POSITION_AXIALE=0.0,), + _F(NOM='N5', + POSITION_AXIALE=0.0,), + _F(NOM='N6', + POSITION_AXIALE=0.0,), + _F(NOM='N7', + POSITION_AXIALE=0.0,), + _F(NOM='N8', + POSITION_AXIALE=0.0,), + _F(NOM='N9', + POSITION_AXIALE=0.0,), + _F(NOM='N10', + POSITION_AXIALE=0.0,), + _F(NOM='N11', + POSITION_AXIALE=0.0,), + _F(NOM='N12', + POSITION_AXIALE=0.0,), + _F(NOM='N13', + POSITION_AXIALE=0.0,), + _F(NOM='N14', + POSITION_AXIALE=0.0,),), + ELEMENTS=(_F(NOM='E1', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E2', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E3', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E4', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E5', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E6', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E7', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E8', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E9', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E10', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E11', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E12', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),), + _F(NOM='E13', + NOEUD_DEBUT=None, + NOEUD_FIN=None, + RAFFINEMENT='NON', + MATERIAU=MAT, + SECTION_MASSE=_F(TYPE_SECTION='CONSTANTE', + DIAM_EXTERN_DEBUT=0.1, + DIAM_INTERN_DEBUT=0.0,),),),); + +SUPP=SUPPORT(TYPE_SUPPORT='RIGIDE',); + +LA=LIGNE_ARBRE(DIRECTION=DIRE, + ZONES=Z, + PALIERS=(P1,P2,), + SUPPORTS=SUPP,); +#VERSION_CATALOGUE:2016.0.0:FIN VERSION_CATALOGUE +#CHECKSUM:285dfc315d1960bb4f61ff9617312f36 -:FIN CHECKSUM \ No newline at end of file diff --git a/MT/txtZone.py b/MT/txtZone.py new file mode 100644 index 00000000..89f4204f --- /dev/null +++ b/MT/txtZone.py @@ -0,0 +1,227 @@ +texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,),\ + _F(NOM='N2',POSITION_AXIALE=0.1,),\ + _F(NOM='N3',POSITION_AXIALE=0.2,),\ + _F(NOM='N4',POSITION_AXIALE=0.3,),\ + _F(NOM='N5',POSITION_AXIALE=0.4,),\ + _F(NOM='N6',POSITION_AXIALE=0.5,),\ + _F(NOM='N7',POSITION_AXIALE=0.6,),\ + _F(NOM='N8',POSITION_AXIALE=0.7,),\ + _F(NOM='N9',POSITION_AXIALE=0.8,),\ + _F(NOM='N10',POSITION_AXIALE=0.9,),\ + _F(NOM='N11',POSITION_AXIALE=1.0,),\ + _F(NOM='N12',POSITION_AXIALE=1.1,),\ + _F(NOM='N13',POSITION_AXIALE=1.2,),\ + _F(NOM='N14',POSITION_AXIALE=1.3,),\ +),\ + ELEMENTS=(_F(NOM='E1',\ + NOEUD_DEBUT='N1',\ + NOEUD_FIN='N2',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E2',\ + NOEUD_DEBUT='N2',\ + NOEUD_FIN='N3',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E3',\ + NOEUD_DEBUT='N3',\ + NOEUD_FIN='N4',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E4',\ + NOEUD_DEBUT='N4',\ + NOEUD_FIN='N5',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E5',\ + NOEUD_DEBUT='N5',\ + NOEUD_FIN='N6',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E6',\ + NOEUD_DEBUT='N6',\ + NOEUD_FIN='N7',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E7',\ + NOEUD_DEBUT='N7',\ + NOEUD_FIN='N8',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.05,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.05,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.05,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.05,),),\ + _F(NOM='E8',\ + NOEUD_DEBUT='N8',\ + NOEUD_FIN='N9',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E9',\ + NOEUD_DEBUT='N9',\ + NOEUD_FIN='N10',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E10',\ + NOEUD_DEBUT='N10',\ + NOEUD_FIN='N11',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E11',\ + NOEUD_DEBUT='N11',\ + NOEUD_FIN='N12',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E12',\ + NOEUD_DEBUT='N12',\ + NOEUD_FIN='N13',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E13',\ + NOEUD_DEBUT='N13',\ + NOEUD_FIN='N14',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ +),\ + MASSE=(_F(NOEUD='N5',\ + TYPE_MASSE='AILETTE',\ + TYPE_SAISIE='MECANIQUE',\ + PARAMETRES=_F(MASSE=1.3,\ + INERTIEX=0.1,\ + INERTIEY=0.1,\ + INERTIEZ=0.05,),),\ + _F(NOEUD='N8',\ + TYPE_MASSE='QUELCONQUE',\ + PARAMETRES=_F(MASSE=1.2,\ + INERTIEX=0.0,\ + INERTIEY=0.0,\ + INERTIEZ=0.0,),),\ +),\ +),\ +" diff --git a/MT/txtZonePN.py b/MT/txtZonePN.py new file mode 100644 index 00000000..89f4204f --- /dev/null +++ b/MT/txtZonePN.py @@ -0,0 +1,227 @@ +texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,),\ + _F(NOM='N2',POSITION_AXIALE=0.1,),\ + _F(NOM='N3',POSITION_AXIALE=0.2,),\ + _F(NOM='N4',POSITION_AXIALE=0.3,),\ + _F(NOM='N5',POSITION_AXIALE=0.4,),\ + _F(NOM='N6',POSITION_AXIALE=0.5,),\ + _F(NOM='N7',POSITION_AXIALE=0.6,),\ + _F(NOM='N8',POSITION_AXIALE=0.7,),\ + _F(NOM='N9',POSITION_AXIALE=0.8,),\ + _F(NOM='N10',POSITION_AXIALE=0.9,),\ + _F(NOM='N11',POSITION_AXIALE=1.0,),\ + _F(NOM='N12',POSITION_AXIALE=1.1,),\ + _F(NOM='N13',POSITION_AXIALE=1.2,),\ + _F(NOM='N14',POSITION_AXIALE=1.3,),\ +),\ + ELEMENTS=(_F(NOM='E1',\ + NOEUD_DEBUT='N1',\ + NOEUD_FIN='N2',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E2',\ + NOEUD_DEBUT='N2',\ + NOEUD_FIN='N3',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E3',\ + NOEUD_DEBUT='N3',\ + NOEUD_FIN='N4',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E4',\ + NOEUD_DEBUT='N4',\ + NOEUD_FIN='N5',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E5',\ + NOEUD_DEBUT='N5',\ + NOEUD_FIN='N6',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E6',\ + NOEUD_DEBUT='N6',\ + NOEUD_FIN='N7',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E7',\ + NOEUD_DEBUT='N7',\ + NOEUD_FIN='N8',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.05,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.05,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.05,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.05,),),\ + _F(NOM='E8',\ + NOEUD_DEBUT='N8',\ + NOEUD_FIN='N9',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E9',\ + NOEUD_DEBUT='N9',\ + NOEUD_FIN='N10',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E10',\ + NOEUD_DEBUT='N10',\ + NOEUD_FIN='N11',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E11',\ + NOEUD_DEBUT='N11',\ + NOEUD_FIN='N12',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E12',\ + NOEUD_DEBUT='N12',\ + NOEUD_FIN='N13',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ + _F(NOM='E13',\ + NOEUD_DEBUT='N13',\ + NOEUD_FIN='N14',\ + RAFFINEMENT='NON',\ + MATERIAU=MAT,\ + SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.1,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.1,\ + DIAM_INTERN_SORTIE=0.0,),\ + SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ + DIAM_EXTERN_DEBUT=0.11,\ + DIAM_INTERN_DEBUT=0.0,\ + DIAM_EXTERN_SORTIE=0.11,\ + DIAM_INTERN_SORTIE=0.0,),),\ +),\ + MASSE=(_F(NOEUD='N5',\ + TYPE_MASSE='AILETTE',\ + TYPE_SAISIE='MECANIQUE',\ + PARAMETRES=_F(MASSE=1.3,\ + INERTIEX=0.1,\ + INERTIEY=0.1,\ + INERTIEZ=0.05,),),\ + _F(NOEUD='N8',\ + TYPE_MASSE='QUELCONQUE',\ + PARAMETRES=_F(MASSE=1.2,\ + INERTIEX=0.0,\ + INERTIEY=0.0,\ + INERTIEZ=0.0,),),\ +),\ +),\ +" diff --git a/OldCodes/Aster/CMakeLists.txt b/OldCodes/Aster/CMakeLists.txt new file mode 100644 index 00000000..a4e9ae01 --- /dev/null +++ b/OldCodes/Aster/CMakeLists.txt @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +# Installation de tous les fichiers Python, texte et images du repertoire et des sous-repertoires (sauf CVS) +install ( + FILES + configuration_ASTER.py __init__.py prefs_ASTER.py prefs.py + qtEficas_aster.py qtGroup.py style.py + #editeur_salome.ini editeur.ini properties.py + eficas_aster.py + LICENSE.TERMS + DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster + ) +add_subdirectory (Cata) + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/Aster/Cata/CMakeLists.txt b/OldCodes/Aster/Cata/CMakeLists.txt new file mode 100644 index 00000000..00c30d3f --- /dev/null +++ b/OldCodes/Aster/Cata/CMakeLists.txt @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +# Installation de tous les fichiers Python, texte et images du repertoire et des sous-repertoires (sauf CVS) +install ( + FILES + __init__.py cataSTA8c_clefs_docu cataSTA9c_clefs_docu + DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster/Cata + ) +install ( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Utilitai + ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA10 + ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA9 + ${CMAKE_CURRENT_SOURCE_DIR}/cataSTA11 + DESTINATION ${CMAKE_INSTALL_PREFIX}/Aster/Cata +) + + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/Aster/Cata/__init__.py b/OldCodes/Aster/Cata/__init__.py new file mode 100644 index 00000000..fda01819 --- /dev/null +++ b/OldCodes/Aster/Cata/__init__.py @@ -0,0 +1,19 @@ +#@ MODIF __init__ Cata DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== diff --git a/OldCodes/Aster/Cata/cataSTA11/__init__.py b/OldCodes/Aster/Cata/cataSTA11/__init__.py new file mode 100644 index 00000000..3cdb1caf --- /dev/null +++ b/OldCodes/Aster/Cata/cataSTA11/__init__.py @@ -0,0 +1,18 @@ +import os,sys +sys.modules["Cata"]=sys.modules[__name__] +rep_macro = os.path.dirname(__file__) +sys.path.insert(0,rep_macro) +rep_macro=os.path.join(rep_macro,'Macro') +sys.path.insert(0,rep_macro) + +if sys.modules.has_key("SD"): + del sys.modules["SD"] +for k in sys.modules.keys(): + if k[0:3] == "SD.": + del sys.modules[k] + + +from cata import * +from math import ceil +from Extensions import param2 +pi=param2.Variable('pi',pi) diff --git a/OldCodes/Aster/Cata/cataSTA11/cata.py b/OldCodes/Aster/Cata/cataSTA11/cata.py new file mode 100755 index 00000000..484fc518 --- /dev/null +++ b/OldCodes/Aster/Cata/cataSTA11/cata.py @@ -0,0 +1,34413 @@ +# coding: utf-8 +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +import os +from math import sin, cos, tan, asin, acos, atan2, atan, sinh, cosh, tanh +from math import pi ,exp,log, log10, sqrt + +import Accas +from Accas import * +from Accas import _F +import ops + +try: + import aster + aster_exists = True +except ImportError: + aster = None + aster_exists = False + +# Le catalogue est constitué par concaténation des fichiers .capy +# de catapy/{entete,commun,commande}. + +# Tous les imports globaux devraient être faits ici dans accas.capy. +# Veillez à limiter les imports dans la définition des concepts (co_*.capy) +# au strict nécessaire et les faire sous les méthodes qui en ont +# expressément besoin. + +JdC = JDC_CATA(code='ASTER', + execmodul=None, +# regles=(AU_MOINS_UN('DEBUT', 'POURSUITE'), +# AU_MOINS_UN('FIN'), +# A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN')) + ) + +# Types géométriques +class no(GEOM): + """ + Classe servant à définir le nom d'un noeud dans le fichier de commande + En clair : un chaine de longueur 8. + """ + pass + +class grno(GEOM): + """ + Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande + En clair : un chaine de longueur 24. + """ + def __convert__(cls,valeur): + """ + Fonction de verification de la longueur de la chaine + """ + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: + return valeur.strip() + raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) + __convert__ = classmethod(__convert__) + +class ma(GEOM): + """ + Classe servant à définir le nom d'une maille dans le fichier de commande + En clair : un chaine de longueur 8. + """ + pass + +class grma(GEOM): + """ + Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande + En clair : un chaine de longueur 24. + """ + def __convert__(cls,valeur): + """ + Fonction de verification de la longueur de la chaine + """ + if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: + return valeur.strip() + raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) + __convert__ = classmethod(__convert__) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class cabl_precont(ASSD): + cata_sdj = "SD.sd_cabl_precont.sd_cabl_precont" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class cara_elem(ASSD): + cata_sdj = "SD.sd_cara_elem.sd_cara_elem" + + def toEPX(self): + + # Raideurs + ressorts = {} + + try: + EPXnoeud = self.sdj.CARRIGXN.get() + EPXval = self.sdj.CARRIGXV.get() + lenEPXval = len(EPXval) + lenEPXnoeud = len(EPXnoeud)*6 + except: + # s'il y a un problème sur la structure de données ==> + from Utilitai.Utmess import UTMESS + UTMESS('F','MODELISA9_98') + # Vérification de la déclaration qui est faite dans 'acearp' + if ( lenEPXval != lenEPXnoeud ): + from Utilitai.Utmess import UTMESS + UTMESS('F','MODELISA9_97') + # Tout est OK + i=0 + for no in EPXnoeud : + ressorts[no] = EPXval[i:i+6] + i+=6 + + # Amortissements + amorts = {} + try: + EPXnoeud = self.sdj.CARAMOXN.get() + EPXval = self.sdj.CARAMOXV.get() + lenEPXval = len(EPXval) + lenEPXnoeud = len(EPXnoeud)*6 + except: + # s'il y a un problème sur la structure de données ==> + from Utilitai.Utmess import UTMESS + UTMESS('F','MODELISA9_98') + # Vérification de la déclaration qui est faite dans 'acearp' + if ( lenEPXval != lenEPXnoeud ): + from Utilitai.Utmess import UTMESS + UTMESS('F','MODELISA9_97') + # Tout est OK + i=0 + for no in EPXnoeud : + amorts[no] = EPXval[i:i+6] + i+=6 + + return ressorts, amorts + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +class cham_gd_sdaster(ASSD): + cata_sdj = "SD.sd_champ.sd_champ" + +class carte_sdaster(cham_gd_sdaster): + cata_sdj = "SD.sd_champ.sd_carte_class" + +class cham_elem(cham_gd_sdaster): + cata_sdj = "SD.sd_champ.sd_cham_elem_class" + + def EXTR_COMP(self,comp,lgma,topo=0) : + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de mailles lgma avec eventuellement l'info de la + topologie si topo>0. Si lgma est une liste vide, c'est equivalent + a un TOUT='OUI' dans les commandes aster + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs + Si on a demande la topo : + - self.maille : numero de mailles + - self.point : numero du point dans la maille + - self.sous_point : numero du sous point dans la maille """ + import numpy + if not self.accessible() : + raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'") + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' + + aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) + + valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) + point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) + sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) + else : + maille=None + point=None + sous_point=None + + aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) + + return post_comp_cham_el(valeurs,maille,point,sous_point) + +class cham_no_sdaster(cham_gd_sdaster): + cata_sdj = "SD.sd_champ.sd_cham_no_class" + + def EXTR_COMP(self,comp=' ',lgno=[],topo=0) : + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de noeuds lgno avec eventuellement l'info de la + topologie si topo>0. Si lgno est une liste vide, c'est equivalent + a un TOUT='OUI' dans les commandes aster + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs + Si on a demande la topo (i.e. self.topo = 1) : + - self.noeud : numero de noeud + Si on demande toutes les composantes (comp = ' ') : + - self.comp : les composantes associees a chaque grandeur pour chaque noeud + """ + import numpy + if not self.accessible() : + raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'") + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' + + aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) + + valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) + else : + noeud=None + + if comp[:1] == ' ': + comp=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.C')) + aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) + return post_comp_cham_no(valeurs,noeud,comp) + else: + aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) + return post_comp_cham_no(valeurs,noeud) + + def __add__(self, other): + from SD.sd_nume_equa import sd_nume_equa + # on recupere le type + __nume_ddl=sd_nume_equa(self.sdj.REFE.get()[1]) + __gd=__nume_ddl.REFN.get()[1].strip() + __type='NOEU_'+__gd + # on recupere le nom du maillage + __nomMaillage=self.sdj.REFE.get()[0].strip() + # on recupere l'objet du maillage + __maillage=CONTEXT.get_current_step().get_concept(__nomMaillage) + __CHAM = CREA_CHAMP(OPERATION='ASSE', + MAILLAGE=__maillage, + TYPE_CHAM=__type, + INFO=1, + ASSE=(_F(CHAM_GD=self, + TOUT='OUI', + CUMUL='OUI', + COEF_R=1.), + _F(CHAM_GD=other, + TOUT='OUI', + CUMUL='OUI', + COEF_R=1.), + )) + return __CHAM + +# post-traitement : +class post_comp_cham_no : + def __init__(self, valeurs, noeud=None, comp=None) : + self.valeurs = valeurs + self.noeud = noeud + self.comp = comp + +class post_comp_cham_el : + def __init__(self, valeurs, maille=None, point=None, sous_point=None) : + self.valeurs = valeurs + self.maille = maille + self.point = point + self.sous_point = sous_point + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +class cham_mater(ASSD): + cata_sdj = "SD.sd_cham_mater.sd_cham_mater" + + def get_vale_ref(self, nom_varc): + """Retourne la valeur de référence de `nom_varc`.""" + from SD.sd_carte import sd_carte + nom_varc = nom_varc.strip() + varc = self.sdj.varc + nom = [sv.strip() for sv in varc.CVRCNOM.get()] + assert nom_varc in nom, (nom_varc, nom) + idx = nom.index(nom_varc) + novarc = [sv for sv in varc.CVRCVARC.get()] + assert len(novarc) > idx, novarc + nomch = novarc[idx] + # accès à la carte + cartref = sd_carte("%-8s.%-8s.1" % (self.nom, nomch)) + valref = cartref.VALE.get()[0] + return valref + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_acou(ASSD): + cata_sdj = "SD.sd_char_acou.sd_char_acou" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_cine_acou(ASSD): + cata_sdj = "SD.sd_char_cine.sd_char_cine" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_cine_meca(ASSD): + cata_sdj = "SD.sd_char_cine.sd_char_cine" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_cine_ther(ASSD): + cata_sdj = "SD.sd_char_cine.sd_char_cine" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_contact(ASSD): + cata_sdj = "SD.sd_contact.sd_contact" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_meca(ASSD): + cata_sdj = "SD.sd_char_meca.sd_char_meca" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class char_ther(ASSD): + cata_sdj = "SD.sd_char_ther.sd_char_ther" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class compor_sdaster(ASSD): + cata_sdj = "SD.sd_compor.sd_compor" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class corresp_2_mailla(ASSD): + cata_sdj = "SD.sd_corresp_2_mailla.sd_corresp_2_mailla" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class courbe_sdaster(ASSD): + cata_sdj = "SD.sd_courbe.sd_courbe" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +class entier(ASSD): + cata_sdj = "SD.AsBase" + + def __init__(self, valeur=None, **args): + ASSD.__init__(self, **args) + self.valeur = valeur + + def __adapt__(self, validator): + if validator.name == "list": + # validateur liste,cardinalité + return (self, ) + elif validator.name == "type": + # validateur type + return validator.adapt(self.valeur or 0) + else: + # validateur into et valid + return self + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class fiss_xfem(ASSD): + cata_sdj = "SD.sd_xfem.sd_fiss_xfem" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +# types 'fonction' : +class fonction_class(ASSD): + cata_sdj = "SD.sd_fonction.sd_fonction_aster" + + def Valeurs(self): + pass + + def Parametres(self): + """ + Retourne un dictionnaire contenant les parametres de la fonction ; + le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. + """ + from Utilitai.Utmess import UTMESS + if self.accessible(): + TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } + objev = '%-19s.PROL' % self.get_name() + prol = self.sdj.PROL.get() + if prol == None: + UTMESS('F', 'SDVERI_2', valk=[objev]) + dico={ + 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], + 'NOM_PARA' : prol[2][0:16].strip(), + 'NOM_RESU' : prol[3][0:16].strip(), + 'PROL_DROITE' : TypeProl[prol[4][1]], + 'PROL_GAUCHE' : TypeProl[prol[4][0]], + } + elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : + dico={ + 'INTERPOL' : self.etape['INTERPOL'], + 'NOM_PARA' : self.etape['NOM_PARA'], + 'NOM_RESU' : self.etape['NOM_RESU'], + 'PROL_DROITE' : self.etape['PROL_DROITE'], + 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'], + } + if type(dico['INTERPOL']) == tuple: + dico['INTERPOL']=list(dico['INTERPOL']) + elif type(dico['INTERPOL']) == str: + dico['INTERPOL']=[dico['INTERPOL'],] + if len(dico['INTERPOL'])==1 : + dico['INTERPOL']=dico['INTERPOL']*2 + else: + raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'") + return dico + + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une fonction""" + if not self.accessible() : + raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'") + from Utilitai.Graph import Graph + gr=Graph() + gr.AjoutCourbe(Val=self.Valeurs(), + Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']], + Leg=os.linesep.join(self.sdj.TITR.get()) ) + gr.Trace(FORMAT=FORMAT,**kargs) + +class fonction_sdaster(fonction_class): + + def convert(self, arg='real'): + """ + Retourne un objet de la classe t_fonction + représentation python de la fonction + """ + from Cata_Utils.t_fonction import t_fonction, t_fonction_c + class_fonction = t_fonction + if arg == 'complex': + class_fonction = t_fonction_c + absc, ordo = self.Valeurs() + return class_fonction(absc, ordo, self.Parametres(), nom=self.nom) + + def Valeurs(self) : + """ + Retourne deux listes de valeurs : abscisses et ordonnees + """ + from Utilitai.Utmess import UTMESS + if self.accessible(): + vale = '%-19s.VALE' % self.get_name() + lbl = self.sdj.VALE.get() + if lbl == None: + UTMESS('F', 'SDVERI_2', valk=[vale]) + lbl = list(lbl) + dim = len(lbl)/2 + lx = lbl[0:dim] + ly = lbl[dim:2*dim] + elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' : + if self.etape['VALE'] is not None: + lbl = list(self.etape['VALE']) + dim = len(lbl) + lx = [lbl[i] for i in range(0,dim,2)] + ly = [lbl[i] for i in range(1,dim,2)] + elif self.etape['VALE_PARA'] is not None: + lx = self.etape['VALE_PARA'].Valeurs() + ly = self.etape['VALE_FONC'].Valeurs() + elif self.etape['ABSCISSE'] is not None: + lx = self.etape['ABSCISSE'] + ly = self.etape['ORDONNEE'] + else: + raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ + "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ + "dans le fichier de commandes courant.") + else: + raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ + "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ + "dans le fichier de commandes courant.") + return [lx, ly] + + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + + def Ordo(self): + """Retourne la liste des ordonnées""" + return self.Valeurs()[1] + + def __call__(self, val, tol=1.e-6): + """Evaluate a function at 'val'. If provided, 'tol' is a relative + tolerance to match an abscissa value.""" + # Pour EFICAS : substitution de l'instance de classe + # parametre par sa valeur + if isinstance(val, ASSD): + val=val.valeur + __ff=self.convert() + return __ff(val, tol=tol) + + +class fonction_c(fonction_class): + + def convert(self,arg='real'): + """ + Retourne un objet de la classe t_fonction ou t_fonction_c, + représentation python de la fonction complexe + """ + import numpy + from Cata_Utils.t_fonction import t_fonction, t_fonction_c + class_fonction = t_fonction + if arg == 'complex': + class_fonction = t_fonction_c + absc = self.Absc() + para = self.Parametres() + if arg == 'real': + ordo = self.Ordo() + elif arg == 'imag': + ordo = self.OrdoImg() + elif arg == 'modul': + ordo = numpy.sqrt(numpy.array(self.Ordo())**2 + numpy.array(self.OrdoImg())**2) + elif arg == 'phase': + ordo = numpy.arctan2(numpy.array(self.OrdoImg()), numpy.array(self.Ordo())) * 180. / pi + elif arg == 'complex': + ordo = map(complex,self.Ordo(),self.OrdoImg()) + else: + assert False, 'unexpected value for arg: %r' % arg + return class_fonction(self.Absc(), ordo, self.Parametres(), nom=self.nom) + + def Valeurs(self) : + """ + Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. + """ + from Utilitai.Utmess import UTMESS + if self.accessible(): + vale = '%-19s.VALE' % self.get_name() + lbl = self.sdj.VALE.get() + if lbl == None: + UTMESS('F', 'SDVERI_2', valk=[vale]) + lbl = list(lbl) + dim=len(lbl)/3 + lx=lbl[0:dim] + lr=[] + li=[] + for i in range(dim): + lr.append(lbl[dim+2*i]) + li.append(lbl[dim+2*i+1]) + elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' \ + and self.etape['VALE_C'] is not None: + lbl=list(self.etape['VALE_C']) + dim=len(lbl) + lx=[lbl[i] for i in range(0,dim,3)] + lr=[lbl[i] for i in range(1,dim,3)] + li=[lbl[i] for i in range(2,dim,3)] + else: + raise Accas.AsException("Erreur (fonction_c.Valeurs) : ne fonctionne en " \ + "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ + "dans le jdc courant.") + return [lx, lr, li] + + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + + def Ordo(self): + """Retourne la liste des parties réelles des ordonnées""" + return self.Valeurs()[1] + + def OrdoImg(self): + """Retourne la liste des parties imaginaires des ordonnées""" + return self.Valeurs()[2] + + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une fonction complexe""" + if not self.accessible(): + raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'") + from Utilitai.Graph import Graph + para = self.Parametres() + gr=Graph() + gr.AjoutCourbe(Val=self.Valeurs(), + Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']], + Leg=os.linesep.join(self.sdj.TITR.get()) ) + gr.Trace(FORMAT=FORMAT,**kargs) + + def __call__(self, val, tol=1.e-6): + """Evaluate a function at 'val'. If provided, 'tol' is a relative + tolerance to match an abscissa value.""" + # Pour EFICAS : substitution de l'instance de classe + # parametre par sa valeur + if isinstance(val, ASSD): + val=val.valeur + __ff=self.convert(arg='complex') + return __ff(val, tol=tol) + + +class nappe_sdaster(fonction_class): + + def convert(self): + """ + Retourne un objet de la classe t_nappe, représentation python de la nappe + """ + from Cata_Utils.t_fonction import t_fonction, t_nappe + para = self.Parametres() + vale = self.Valeurs() + l_fonc = [] + i = 0 + for pf in para[1] : + para_f = {'INTERPOL' : pf['INTERPOL_FONC'], + 'PROL_DROITE' : pf['PROL_DROITE_FONC'], + 'PROL_GAUCHE' : pf['PROL_GAUCHE_FONC'], + 'NOM_PARA' : para[0]['NOM_PARA_FONC'], + 'NOM_RESU' : para[0]['NOM_RESU'], + } + l_fonc.append(t_fonction(vale[1][i][0],vale[1][i][1],para_f)) + i += 1 + return t_nappe(vale[0], l_fonc, para[0], nom=self.nom) + + def Valeurs(self): + """ + Retourne la liste des valeurs du parametre, + et une liste de couples (abscisses,ordonnees) de chaque fonction. + """ + from Utilitai.Utmess import UTMESS + if not self.accessible(): + raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'") + nsd = '%-19s' % self.get_name() + dicv=aster.getcolljev(nsd+'.VALE') + # les cles de dicv sont 1,...,N (indice du parametre) + lpar=aster.getvectjev(nsd+'.PARA') + if lpar == None: + UTMESS('F', 'SDVERI_2', valk=[nsd+'.PARA']) + lval=[] + for k in range(len(dicv)): + lbl=dicv[k+1] + dim=len(lbl)/2 + lval.append([lbl[0:dim],lbl[dim:2*dim]]) + return [list(lpar),lval] + + def Parametres(self): + """ + Retourne un dictionnaire contenant les parametres de la nappe, + le type jeveux (NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, + et une liste de dictionnaire des parametres de chaque fonction. + """ + from Utilitai.Utmess import UTMESS + if not self.accessible(): + raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'") + TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } + objev = '%-19s.PROL' % self.get_name() + prol=aster.getvectjev(objev) + if prol == None: + UTMESS('F', 'SDVERI_2', valk=[objev]) + dico={ + 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], + 'NOM_PARA' : prol[2][0:16].strip(), + 'NOM_RESU' : prol[3][0:16].strip(), + 'PROL_DROITE' : TypeProl[prol[4][1]], + 'PROL_GAUCHE' : TypeProl[prol[4][0]], + 'NOM_PARA_FONC' : prol[6][0:4].strip(), + } + lparf=[] + nbf=(len(prol)-7)/2 + for i in range(nbf): + dicf={ + 'INTERPOL_FONC' : [prol[7+i*2][0:3],prol[7+i*2][4:7]], + 'PROL_DROITE_FONC' : TypeProl[prol[8+i*2][1]], + 'PROL_GAUCHE_FONC' : TypeProl[prol[8+i*2][0]], + } + lparf.append(dicf) + return [dico,lparf] + + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une nappe""" + if not self.accessible(): + raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'") + from Utilitai.Graph import Graph + gr=Graph() + lv=self.Valeurs()[1] + dp=self.Parametres()[0] + for lx,ly in lv: + gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']], + Leg=os.linesep.join(self.sdj.TITR.get()) ) + gr.Trace(FORMAT=FORMAT,**kargs) + + def __call__(self, val1, val2, tol=1.e-6): + """Evaluate a function at 'val'. If provided, 'tol' is a relative + tolerance to match an abscissa value.""" + # Pour EFICAS : substitution de l'instance de classe + # parametre par sa valeur + if isinstance(val1, ASSD): + val1=val1.valeur + if isinstance(val2, ASSD): + val2=val2.valeur + __ff=self.convert() + return __ff(val1, val2, tol=tol) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class fond_fiss(ASSD): + cata_sdj = "SD.sd_fond_fiss.sd_fond_fiss" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class gfibre_sdaster(ASSD): + cata_sdj = "SD.sd_gfibre.sd_gfibre" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class interf_dyna_clas(ASSD): + cata_sdj = "SD.sd_interf_dyna_clas.sd_interf_dyna_clas" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr + + +class interspectre(ASSD): + cata_sdj = "SD.sd_interspectre.sd_interspectre" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class list_inst(ASSD): + cata_sdj = "SD.sd_list_inst.sd_list_inst" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class listis_sdaster(ASSD): + cata_sdj = "SD.sd_listis.sd_listis" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class listr8_sdaster(ASSD): + cata_sdj = "SD.sd_listr8.sd_listr8" + + def Valeurs(self) : + """ + Retourne la liste des valeurs : [val1, ..., valN] + """ + if not self.accessible(): + raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'") + from Utilitai.Utmess import UTMESS + t_vale = self.sdj.VALE.get() + if t_vale == None: + UTMESS('F', 'SDVERI_2', valk=[vale]) + return list(t_vale) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def VALE_triang2array(vect_VALE, dim, dtype=None): + """Conversion (par recopie) de l'objet .VALE decrivant une matrice pleine + par sa triangulaire sup en numpy.array plein. + """ + import numpy + triang_sup = numpy.array(vect_VALE) + assert dim*(dim+1)/2 == len(triang_sup), \ + 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) + + valeur = numpy.zeros([dim, dim], dtype=dtype) + for i in range(1, dim+1): + for j in range(1, i+1): + k = i*(i-1)/2 + j + valeur[j-1, i-1]=triang_sup[k-1] + valeur = valeur + numpy.transpose(valeur) + for i in range(dim): + valeur[i, i] = 0.5 * valeur[i, i] + return valeur + +class macr_elem_dyna(ASSD): + cata_sdj = "SD.sd_macr_elem_dyna.sd_macr_elem_dyna" + + def EXTR_MATR_GENE(self,typmat) : + """ retourne les valeurs des matrices generalisees reelles + dans un format numpy + typmat='MASS_GENE' pour obtenir la matrice de masse generalisee + typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee + typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'") + + if (typmat=='MASS_GENE') : + macr_elem = self.sdj.MAEL_MASS + elif (typmat=='RIGI_GENE') : + macr_elem = self.sdj.MAEL_RAID + elif (typmat=='AMOR_GENE') : + macr_elem = self.sdj.MAEL_AMOR + else: + raise Accas.AsException("Le type de la matrice est incorrect") + + desc=numpy.array(macr_elem.DESC.get()) + # On teste si le DESC du vecteur existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") + + matrice = VALE_triang2array(macr_elem.VALE.get(), desc[1]) + return matrice + + def RECU_MATR_GENE(self,typmat,matrice) : + """ envoie les valeurs d'un tableau numpy dans des matrices generalisees + reelles definies dans jeveux + typmat='MASS_GENE' pour obtenir la matrice de masse generalisee + typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee + typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee + Attributs ne retourne rien """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'") + + nommacr=self.get_name() + if (typmat=='MASS_GENE') : + macr_elem = self.sdj.MAEL_MASS + elif (typmat=='RIGI_GENE') : + macr_elem = self.sdj.MAEL_RAID + elif (typmat=='AMOR_GENE') : + macr_elem = self.sdj.MAEL_AMOR + else: + raise Accas.AsException("Le type de la matrice est incorrect") + nom_vale = macr_elem.VALE.nomj() + desc=numpy.array(macr_elem.DESC.get()) + + # On teste si le DESC de la matrice jeveux existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") + numpy.asarray(matrice) + + # On teste si la matrice python est de dimension 2 + if (len(numpy.shape(matrice))<>2): + raise Accas.AsException("La dimension de la matrice est incorrecte") + + # On teste si les tailles de la matrice jeveux et python sont identiques + if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : + raise Accas.AsException("La dimension de la matrice est incorrecte") + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmp=numpy.zeros([int(taille)]) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmp[k]=matrice[j-1,i] + aster.putvectjev(nom_vale,len(tmp),tuple(( + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class macr_elem_stat(ASSD): + cata_sdj = "SD.sd_macr_elem_stat.sd_macr_elem_stat" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class maillage_sdaster(ASSD): + cata_sdj = "SD.sd_maillage.sd_maillage" + + def LIST_GROUP_NO(self) : + """ retourne la liste des groupes de noeuds sous la forme : + [ (gno1, nb noeuds gno1), ...] """ + if not self.accessible(): + raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'") + dic_gpno = self.sdj.GROUPENO.get() + if dic_gpno is None: + return [] + return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] + + def LIST_GROUP_MA(self) : + """ retourne la liste des groupes de mailles sous la forme : + [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ + if not self.accessible(): + raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'") + ltyma = aster.getvectjev("&CATA.TM.NOMTM") + catama = aster.getcolljev("&CATA.TM.TMDIM") + dic_gpma = self.sdj.GROUPEMA.get() + if dic_gpma is None: + return [] + dimama = [catama[ltyma[ma-1].ljust(24)][0] for ma in self.sdj.TYPMAIL.get()] + ngpma = [] + for grp in dic_gpma.keys(): + dim = max([dimama[ma-1] for ma in dic_gpma[grp]]) + ngpma.append((grp.strip(), len(dic_gpma[grp]),dim)) + return ngpma + +class grille_sdaster(maillage_sdaster): + cata_sdj = "SD.sd_grille.sd_grille" + +class squelette(maillage_sdaster): + cata_sdj = "SD.sd_squelette.sd_squelette" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class mater_sdaster(ASSD): + cata_sdj = "SD.sd_mater.sd_mater" + + def RCVALE(self, phenomene, nompar=(), valpar=(), nomres=(), stop=1): + """Appel à la routine fortran RCVALE pour récupérer les valeurs des + propriétés du matériau. + """ + if not self.accessible(): + raise Accas.AsException("Erreur dans mater.RCVALE en PAR_LOT='OUI'") + from Utilitai.Utmess import UTMESS + # vérification des arguments + if not type(nompar) in (list, tuple): + nompar = [nompar,] + if not type(valpar) in (list, tuple): + valpar = [valpar,] + if not type(nomres) in (list, tuple): + nomres = [nomres,] + nompar = tuple(nompar) + valpar = tuple(valpar) + nomres = tuple(nomres) + if len(nompar) != len(valpar): + vk1=', '.join(nompar) + vk2=', '.join([repr(v) for v in valpar]) + UTMESS('F','SDVERI_4',valk=[vk1,vk2]) + if len(nomres) < 1: + UTMESS('F', 'SDVERI_5') + # appel à l'interface Python/C + return aster.rcvale(self.nom, phenomene, nompar, valpar, nomres, stop) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +class matr_asse(ASSD): + cata_sdj = "SD.sd_matr_asse.sd_matr_asse" + + def EXTR_MATR(self) : + """ retourne les valeurs de la matrice dans un format numpy + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + import numpy + from SD.sd_stoc_morse import sd_stoc_morse + + if not self.accessible(): + raise Accas.AsException("Erreur dans matr_asse.EXTR_MATR en PAR_LOT='OUI'") + + refa = numpy.array(self.sdj.REFA.get()) + ma=refa[0] + nu=refa[1] + smos = sd_stoc_morse(nu[:14]+'.SMOS') + + valm=self.sdj.VALM.get() + smhc=smos.SMHC.get() + smdi=smos.SMDI.get() + + sym=len(valm)==1 + dim=len(smdi) + nnz=smdi[dim-1] + + triang_sup = numpy.array(valm[1]) + if sym: + triang_inf = triang_sup + else: + triang_inf = numpy.array(valm[2]) + + if type(valm[1][0]) == type(1.j) : + dtype=complex + else : + dtype=float + valeur=numpy.zeros([dim, dim], dtype=dtype) + + jcol=1 + for kterm in range(1,nnz+1): + ilig=smhc[kterm-1] + if (smdi[jcol-1] < kterm): + jcol=jcol+1 + valeur[jcol-1,ilig-1]=triang_inf[kterm-1] + valeur[ilig-1,jcol-1]=triang_sup[kterm-1] + + return valeur + +class matr_asse_gd(matr_asse): + cata_sdj = "SD.sd_matr_asse.sd_matr_asse" + +class matr_asse_depl_c(matr_asse_gd): + pass + +class matr_asse_depl_r(matr_asse_gd): + pass + +class matr_asse_pres_c(matr_asse_gd): + pass + +class matr_asse_pres_r(matr_asse_gd): + pass + +class matr_asse_temp_c(matr_asse_gd): + pass + +class matr_asse_temp_r(matr_asse_gd): + pass + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def VALM_triang2array(dict_VALM, dim, dtype=None): + """Conversion (par recopie) de l'objet .VALM decrivant une matrice pleine + par sa triangulaire inf (et parfois triang sup) en numpy.array plein. + """ + import numpy + # stockage symetrique ou non (triang inf+sup) + sym = len(dict_VALM) == 1 + triang_sup = numpy.array(dict_VALM[1]) + assert dim*(dim+1)/2 == len(triang_sup), \ + 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) + if sym: + triang_inf = triang_sup + else: + triang_inf = numpy.array(dict_VALM[2]) + valeur=numpy.zeros([dim, dim], dtype=dtype) + for i in range(1, dim+1): + for j in range(1, i+1): + k = i*(i-1)/2 + j + valeur[i-1, j-1]=triang_inf[k-1] + valeur[j-1, i-1]=triang_sup[k-1] + return valeur + +def VALM_diag2array(dict_VALM, dim, dtype=None): + """Conversion (par recopie) de l'objet .VALM decrivant une matrice + diagonale en numpy.array plein. + """ + import numpy + diag = numpy.array(dict_VALM[1]) + assert dim == len(diag), 'Dimension incorrecte : %d != %d' % (dim, len(diag)) + valeur=numpy.zeros([dim, dim], dtype=dtype) + for i in range(dim): + valeur[i,i] = diag[i] + return valeur + +class matr_asse_gene(ASSD): + cata_sdj = "SD.sd_matr_asse_gene.sd_matr_asse_gene" + +class matr_asse_gene_r(matr_asse_gene): + def EXTR_MATR_GENE(self) : + """ retourne les valeurs de la matrice generalisee reelle + dans un format numpyal Array + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + if not self.accessible(): + raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'") + import numpy + + desc=numpy.array(self.sdj.DESC.get()) + # On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") + # Si le stockage est plein + if desc[2]==2 : + valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1]) + + # Si le stockage est diagonal + elif desc[2]==1 : + valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1]) + + # Sinon on arrete tout + else: + raise KeyError + return valeur + + def RECU_MATR_GENE(self,matrice) : + """ envoie les valeurs d'un tableau numpy dans des matrices + generalisees reelles definies dans jeveux + Attributs ne retourne rien """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'") + + ncham=self.get_name() + desc=numpy.array(self.sdj.DESC.get()) + + # On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") + numpy.asarray(matrice) + + # On teste si la dimension de la matrice python est 2 + if (len(numpy.shape(matrice))<>2) : + raise Accas.AsException("La dimension de la matrice est incorrecte ") + + # On teste si les tailles des matrices jeveux et python sont identiques + if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : + raise Accas.AsException("La taille de la matrice est incorrecte ") + + # Si le stockage est plein + if desc[2]==2 : + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmp=numpy.zeros([int(taille)]) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmp[k]=matrice[j-1,i] + aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + # Si le stockage est diagonal + elif desc[2]==1 : + tmp=numpy.zeros(desc[1]) + for j in range(desc[1]): + tmp[j]=matrice[j,j] + aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + # Sinon on arrete tout + else: + raise KeyError + return + +class matr_asse_gene_c(matr_asse_gene): + def EXTR_MATR_GENE(self) : + """ retourne les valeurs de la matrice generalisee complexe + dans un format numpy + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'") + + desc = numpy.array(self.sdj.DESC.get()) + if desc == None: + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster ") + # Si le stockage est plein + if desc[2] == 2 : + valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1], complex) + + # Si le stockage est diagonal + elif desc[2]==1 : + valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1], complex) + + # Sinon on arrete tout + else: + raise KeyError + return valeur + + def RECU_MATR_GENE(self,matrice) : + """ envoie les valeurs d'un tableau numpy dans des matrices + generalisees reelles definies dans jeveux + Attributs ne retourne rien """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'") + + numpy.asarray(matrice) + ncham=self.get_name() + desc=numpy.array(self.sdj.DESC.get()) + + # On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") + numpy.asarray(matrice) + + # On teste si la dimension de la matrice python est 2 + if (len(numpy.shape(matrice))<>2) : + raise Accas.AsException("La dimension de la matrice est incorrecte ") + + # On teste si la taille de la matrice jeveux et python est identique + if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : + raise Accas.AsException("La taille de la matrice est incorrecte ") + + # Si le stockage est plein + if desc[2]==2 : + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmpr=numpy.zeros([int(taille)]) + tmpc=numpy.zeros([int(taille)]) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmpr[k]=matrice[j-1,i].real + tmpc[k]=matrice[j-1,i].imag + aster.putvectjev('%-19s.VALM' % ncham, len(tmpr), tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + # Si le stockage est diagonal + elif desc[2]==1 : + tmpr=numpy.zeros(desc[1]) + tmpc=numpy.zeros(desc[1]) + for j in range(desc[1]): + tmpr[j]=matrice[j,j].real + tmpc[j]=matrice[j,j].imag + aster.putvectjev('%-19s.VALM' % ncham,len(tmpr),tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + # Sinon on arrete tout + else: + raise KeyError + return + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class matr_elem(ASSD): + cata_sdj = "SD.sd_matr_elem.sd_matr_elem" + +class matr_elem_depl_c(matr_elem): + pass + +class matr_elem_depl_r(matr_elem): + pass + +class matr_elem_pres_c(matr_elem): + pass + +class matr_elem_temp_r(matr_elem): + pass + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class melasflu_sdaster(ASSD): + cata_sdj = "SD.sd_melasflu.sd_melasflu" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class mode_cycl(ASSD): + cata_sdj = "SD.sd_mode_cycl.sd_mode_cycl" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class modele_gene(ASSD): + cata_sdj = "SD.sd_modele_gene.sd_modele_gene" + + def LIST_SOUS_STRUCT(self) : + """ retourne la liste des sous structures du modele generalise + la liste des macro-elements sous-jacents""" + if not self.accessible(): + raise Accas.AsException("Erreur dans modele_gene.LIST_SOUS_STRUCT en PAR_LOT='OUI'") + nommodgen=self.get_name() + ncham=nommodgen+(8-len(nommodgen))*' ' + ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO') + ssme=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.SSME') + return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))] + + def LIST_LIAIS_STRUCT(self) : + """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme : + [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ + if not self.accessible() : + raise Accas.AsException("Erreur dans modele_gene.LIST_LIAIS_STRUCT en PAR_LOT='OUI'") + nommodgen=self.get_name() + ncham=nommodgen+(8-len(nommodgen))*' ' + lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF') + return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf] + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class modele_sdaster(ASSD): + cata_sdj = "SD.sd_modele.sd_modele" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class nume_ddl_gene(ASSD): + cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class nume_ddl_sdaster(ASSD): + cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +class reel(ASSD): + cata_sdj = "SD.AsBase" + + def __init__(self, valeur=None, **args): + ASSD.__init__(self, **args) + self.valeur = valeur + + def __call__(self): + return self.valeur + + def __adapt__(self, validator): + if validator.name == "list": + # validateur liste,cardinalité + return (self, ) + elif validator.name == "type": + # validateur type + return validator.adapt(self.valeur or 0.) + else: + # validateur into et valid + return self + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class resultat_sdaster(ASSD): + cata_sdj = "SD.sd_resultat.sd_resultat" + + def LIST_CHAMPS (self) : + if not self.accessible(): + raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'") + return aster.GetResu(self.get_name(), "CHAMPS") + + def LIST_NOM_CMP (self) : + if not self.accessible(): + raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'") + return aster.GetResu(self.get_name(), "COMPOSANTES") + + def LIST_VARI_ACCES (self) : + if not self.accessible(): + raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'") + return aster.GetResu(self.get_name(), "VARI_ACCES") + + def LIST_PARA (self) : + if not self.accessible(): + raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'") + return aster.GetResu(self.get_name(), "PARAMETRES") + +class resultat_jeveux(resultat_sdaster): + """Classe permettant d'accéder à un resultat jeveux qui n'a pas d'ASSD associée, + c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" + def __init__(self, nom_jeveux): + resultat_sdaster.__init__(self) + self.set_name(nom_jeveux) + +class comb_fourier(resultat_sdaster): pass +class fourier_elas(resultat_sdaster): pass +class fourier_ther(resultat_sdaster): pass +class mult_elas(resultat_sdaster): pass +class theta_geom(resultat_sdaster): pass + +# resultat_sdaster/evol_sdaster : +class evol_sdaster(resultat_sdaster): pass +class evol_char(evol_sdaster): pass +class evol_elas(evol_sdaster): pass +class evol_noli(evol_sdaster): pass +class evol_ther(evol_sdaster): pass +class evol_varc(evol_sdaster): pass + + + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: hassan.berro at edf.fr + +class dyna_gene(ASSD): + cata_sdj = "SD.sd_dyna_gene.sd_dyna_gene" + +class dyna_phys(resultat_sdaster): + cata_sdj="SD.sd_dyna_phys.sd_dyna_phys" + +# Concepts généralisés +class harm_gene (dyna_gene) : pass +class tran_gene (dyna_gene) : pass + +# Concepts physiques +class acou_harmo (dyna_phys) : pass +class dyna_harmo (dyna_phys) : pass +class dyna_trans (dyna_phys) : pass +class mode_acou (dyna_phys) : pass +class mode_flamb (dyna_phys) : pass +class mode_meca (dyna_phys) : pass +class mode_meca_c(mode_meca) : pass + +# TODO : convertir mode_gene en format généralisé +class mode_gene (dyna_phys) : pass +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class sd_partit(ASSD): + cata_sdj = "SD.sd_partition.sd_partit" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class spectre_sdaster(ASSD): + cata_sdj = "SD.sd_spectre.sd_spectre" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class surface_sdaster(ASSD): + cata_sdj = "SD.sd_surface.sd_surface" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class table_sdaster(ASSD): + cata_sdj = "SD.sd_table.sd_table" + + def __getitem__(self, key): + """Retourne la valeur d'une cellule de la table. + Exemple : TAB['INST', 1] retourne la 1ère valeur de la colonne 'INST'.""" + from Utilitai.Utmess import UTMESS + if not self.accessible(): + raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'") + assert len(key) == 2 + para, numlign = key + tabnom = self.sdj.TBLP.get() + try: + i = tabnom.index('%-24s' % para) + resu = aster.getvectjev(tabnom[i + 2]) + exist = aster.getvectjev(tabnom[i + 3]) + assert resu is not None + assert exist is not None + assert exist[numlign - 1] != 0 + res = resu[numlign - 1] + except (IndexError, AssertionError): + # pour __getitem__, il est plus logique de retourner KeyError. + raise KeyError + return res + + def TITRE(self): + """Retourne le titre d'une table Aster + (Utile pour récupérer le titre et uniquement le titre d'une table dont + on souhaite manipuler la dérivée). + """ + if not self.accessible(): + raise Accas.AsException("Erreur dans table.TITRE en PAR_LOT='OUI'") + #titj = aster.getvectjev('%-19s.TITR' % self.get_name()) + titj = self.sdj.TITR.get() + if titj != None: + titr = '\n'.join(titj) + else: + titr = '' + return titr + + def EXTR_TABLE(self, para=None) : + """Produit un objet Table à partir du contenu d'une table Aster. + On peut limiter aux paramètres listés dans 'para'. + """ + def Nonefy(l1,l2) : + if l2 == 0: + return None + else: + return l1 + if not self.accessible(): + raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'") + from Utilitai.Table import Table + # titre + titr = self.TITRE() + # récupération des paramètres + #v_tblp = aster.getvectjev('%-19s.TBLP' % self.get_name()) + v_tblp = self.sdj.TBLP.get() + if v_tblp == None: + # retourne une table vide + return Table(titr=titr, nom=self.nom) + tabnom=list(v_tblp) + nparam=len(tabnom)/4 + lparam=[tabnom[4*i:4*i+4] for i in range(nparam)] + # restriction aux paramètres demandés + if para is not None: + if type(para) not in (list, tuple): + para = [para, ] + para = [p.strip() for p in para] + restr = [] + for ip in lparam: + if ip[0].strip() in para: + restr.append(ip) + lparam = restr + dval={} + # liste des paramètres et des types + lpar=[] + ltyp=[] + for i in lparam : + value=list(aster.getvectjev(i[2])) + exist=aster.getvectjev(i[3]) + dval[i[0].strip()] = map(Nonefy, value, exist) + lpar.append(i[0].strip()) + ltyp.append(i[1].strip()) + n=len(dval[lpar[0]]) + # contenu : liste de dict + lisdic=[] + for i in range(n) : + d={} + for p in lpar: + d[p]=dval[p][i] + lisdic.append(d) + return Table(lisdic, lpar, ltyp, titr, self.nom) + +class table_fonction(table_sdaster): + """Table contenant en plus une colonne FONCTION et/ou FONCTION_C dont les + valeurs des cellules sont des noms de fonction_sdaster ou fonction_c.""" + +class table_jeveux(table_sdaster): + """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée, + c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" + def __init__(self, nom_jeveux): + table_sdaster.__init__(self) + self.set_name(nom_jeveux) + +class table_fonction(table_sdaster): + """Table contenant une colonne FONCTION et/ou FONCTION_C dont les + valeurs des cellules sont des noms de fonction_sdaster ou + fonction_c.""" + cata_sdj = "SD.sd_table_fonction.sd_table_fonction" + +class table_container(table_sdaster): + """Table contenant les colonnes NOM_OBJET, TYPE_OBJET et NOM_SD.""" + cata_sdj = "SD.sd_table_container.sd_table_container" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class type_flui_stru(ASSD): + cata_sdj = "SD.sd_type_flui_stru.sd_type_flui_stru" + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class vect_asse_gene(ASSD): + cata_sdj = "SD.sd_cham_gene.sd_cham_gene" + + def EXTR_VECT_GENE_R(self) : + """ retourne les valeurs du vecteur generalisee + dans un format numpy + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'") + #ncham=self.get_name() + #ncham=ncham+(8-len(ncham))*' ' + #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) + valeur = numpy.array(self.sdj.VALE.get()) + return valeur + + def RECU_VECT_GENE_R(self, vecteur) : + """ envoie les valeurs d'un tableau numpy dans un vecteur generalise + reel definie dans jeveux + Attributs ne retourne rien """ + if not self.accessible(): + raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'") + import numpy + numpy.asarray(vecteur) + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + #desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + desc = numpy.array(self.sdj.DESC.get()) + # On teste si le DESC du vecteur existe + if (desc==None): + raise Accas.AsException("L'objet vecteur n'existe pas ou \ + est mal cree par Code Aster") + # On teste si la taille du vecteur jeveux et python est identique + if desc[1] != numpy.shape(vecteur)[0] : + raise Accas.AsException("La taille du vecteur python est incorrecte") + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', + len(vecteur), + tuple(range(1, len(vecteur)+1)), + tuple(vecteur), + tuple(vecteur), + 1) + return + + def EXTR_VECT_GENE_C(self) : + """ retourne les valeurs du vecteur generalisee + dans un format numpy + Attributs retourne + - self.valeurs : numpy.array contenant les valeurs """ + import numpy + if not self.accessible(): + raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'") + + #ncham=self.get_name() + #ncham=ncham+(8-len(ncham))*' ' + #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'), complex) + valeur=numpy.array(self.sdj.VALE.get(), complex) + + return valeur + + def RECU_VECT_GENE_C(self,vecteur) : + """ envoie les valeurs d'un tableau numpy dans un vecteur generalise + complexe definie dans jeveux + Attributs ne retourne rien """ + if not self.accessible(): + raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'") + import numpy + numpy.asarray(vecteur) + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + # On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet vecteur n'existe pas ou \ + est mal cree par Code Aster") + # On teste si la taille de la matrice jeveux et python est identique + if desc[1]<>numpy.shape(vecteur)[0] : + raise Accas.AsException("La taille du vecteur python est incorrecte") + tmpr=vecteur.real + tmpc=vecteur.imag + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', + len(tmpr), + tuple(range(1, len(tmpr)+1)), + tuple(tmpr), + tuple(tmpc), + 1) + return + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +class vect_elem(ASSD): + cata_sdj = "SD.sd_vect_elem.sd_vect_elem" + +class vect_elem_depl_r(vect_elem): + pass + +class vect_elem_pres_r(vect_elem): + pass + +class vect_elem_pres_c(vect_elem): + pass + +class vect_elem_temp_r(vect_elem): + pass + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr + +def C_AFFICHAGE() : return FACT(statut='f',max=1, + INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + INFO_TEMPS = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + UNITE = SIMP(statut='f',typ='I',val_min=1), + PAS = SIMP(statut='f',typ='I',val_min=1), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +def C_ARCHIVAGE() : return FACT(statut='d',max=1, + regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + CHAM_EXCLU = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix at edf.fr +def C_COMPORTEMENT(COMMAND=None) : #COMMUN# + + assert COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC','CALC_G','POST_GP','CALC_ESSAI_GEOMECA','CALC_EUROPLEXUS', + 'CALC_POINT_MAT','SIMU_POINT_MAT', 'DYNA_NON_LINE','STAT_NON_LINE','CALCUL','CALC_FORC_NONL', + 'CALC_IFS_DNL','CALC_PRECONT','CREA_RESU','LIRE_RESU','MACR_ECREVISSE','TEST_COMPOR',None) + + if COMMAND !='CALC_EUROPLEXUS': + mcfact = FACT(statut='f',min=1,max='**', + + RELATION =SIMP( statut='o',typ='TXM',defaut="ELAS",into=C_RELATION(COMMAND)), + b_monox = BLOC(condition = "RELATION == 'MONOCRISTAL' ", + fr="SD issue de DEFI_COMPOR", + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), + b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ", + fr="SD issue de DEFI_COMPOR", + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), + b_zmat = BLOC(condition = "RELATION == 'ZMAT' ", + fr="Comportement de la bibliotheque Zmat", + NB_VARI =SIMP(statut='o',typ='I',max=1), + UNITE =SIMP(statut='o',typ='I',max=1),), + b_umat = BLOC(condition = "RELATION == 'UMAT' ", + fr="Comportement utilisateur de type UMAT", + NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), + LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), + fr="Chemin vers la bibliothèque dynamique définissant le comportement UMAT"), + NOM_ROUTINE = SIMP(statut='o', typ='TXM', + fr="Nom de la routine UMAT dans la bibliothèque"),), + b_mfront = BLOC(condition = "RELATION == 'MFRONT' ", + fr="Comportement utilisateur de type MFRONT", + NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), + LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), + fr="Chemin vers la bibliothèque dynamique définissant le comportement MFRONT"), + NOM_ROUTINE = SIMP(statut='o', typ='TXM', + fr="Nom de la routine MFRONT dans la bibliothèque"),), + +# KITs + b_kit_ddi = BLOC(condition = "RELATION == 'KIT_DDI' ", + fr="relations de couplage fluage-plasticite", + RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), + into=( + "VMIS_CINE_LINE", + "VMIS_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ISOT_PUIS", + "GLRC_DM", + "GRANGER_FP", + "GRANGER_FP_INDT", + "GRANGER_FP_V", + "BETON_UMLV_FP", + "ROUSS_PR", + "BETON_DOUBLE_DP", + "ENDO_ISOT_BETON", + "MAZARS" + ),), + ), + b_kit_cg= BLOC(condition = "RELATION == 'KIT_CG' ", + fr="relations pour elements cables gaines", + RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), + into=( + "CABLE_GAINE_FROT", + "VMIS_ISOT_LINE", + "VMIS_ISOT_TRAC", + "VMIS_CINE_LINE", + "PINTO_MENEGOTTO", + "ELAS", + "SANS" + ),), + ), + + b_kit_thm = BLOC(condition = "RELATION in ['KIT_HHM','KIT_HH','KIT_H','KIT_HM','KIT_THHM', \ + 'KIT_THH','KIT_THM','KIT_THV']", + fr="lois de comportements thermo-hydro-mecaniques", + RELATION_KIT =SIMP(statut='o',typ='TXM',max=9,validators=NoRepeat(), + into=( +# MECA + "ELAS", + "CJS", + "HUJEUX", + "CAM_CLAY", + "BARCELONE", + "LAIGLE", + "LETK", + "DRUCK_PRAGER", + "DRUCK_PRAG_N_A", + "VISC_DRUC_PRAG", + "ELAS_GONF", + "HOEK_BROWN_EFF", + "HOEK_BROWN_TOT", + "MAZARS", + "ENDO_ISOT_BETON", + "JOINT_BANDIS", + "CZM_LIN_REG", + "CZM_EXP_REG", +# THMC + "GAZ", + "LIQU_SATU", + "LIQU_GAZ_ATM", + "LIQU_VAPE_GAZ", + "LIQU_AD_GAZ_VAPE", + "LIQU_AD_GAZ", + "LIQU_VAPE", + "LIQU_GAZ", +# HYDR + "HYDR_UTIL", + "HYDR_VGM", + "HYDR_VGC", + "HYDR", + "HYDR_ENDO", + ),), + ), + b_kit_meta = BLOC(condition = "RELATION in ('META_LEMA_ANI','META_P_CL_PT_RE','META_P_CL_PT','META_P_CL_RE','META_P_CL',\ + 'META_P_IL_PT_RE','META_P_IL_PT','META_P_IL_RE','META_P_IL','META_P_INL_PT_RE','META_P_INL_PT','META_P_INL_RE','META_P_INL',\ + 'META_V_CL_PT_RE','META_V_CL_PT','META_V_CL_RE','META_V_CL','META_V_IL_PT_RE','META_V_IL_PT','META_V_IL_RE','META_V_IL',\ + 'META_V_INL_PT_RE','META_V_INL_PT','META_V_INL_RE','META_V_INL')", + fr="nombre de phases metallurgiques", + RELATION_KIT =SIMP(statut='o',typ='TXM',max=1,validators=NoRepeat(), + into=("ACIER","ZIRC"),), + ), + + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT", + into=("PETIT","PETIT_REAC","GROT_GDEP","SIMO_MIEHE","GDEF_HYPO_ELAS","GDEF_LOG")), + + # gestion des contraintes planes par la méthode itérative + + RESI_CPLAN_MAXI =SIMP(statut='f',typ='R', + fr="Critère d'arret absolu pour assurer la condition de contraintes planes"), + + b_resi_cplan =BLOC(condition = " RESI_CPLAN_MAXI == None ", + + RESI_CPLAN_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6, + fr="Critère d'arret relatif pour assurer la condition de contraintes planes"), + ), + + ITER_CPLAN_MAXI =SIMP(statut='f',typ='I',defaut= 1, + fr="Nombre d'itérations maxi pour assurer la condition de contraintes planes"), + # + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 20 ), + + b_redec_local = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GROT_GDEP')", + fr="Nombre de redécoupages internes du pas de temps", + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + ALGO_INTE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE", "SECANTE", "DEKKER", "NEWTON_1D","BRENT", + "NEWTON", "NEWTON_RELI", "NEWTON_PERT", "RUNGE_KUTTA", + "SPECIFIQUE", "SANS_OBJET")), + + TYPE_MATR_TANG =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")), + + b_perturb =BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ", + fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation", + VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-5), + ), + + b_tangsec = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ", + fr="Modification evolutive de la matrice tangente/secante", + SEUIL =SIMP(statut='f',typ='R',defaut= 3. ), + AMPLITUDE =SIMP(statut='f',typ='R',defaut= 1.5 ), + TAUX_RETOUR =SIMP(statut='f',typ='R',defaut= 0.05 ), + ), + + b_crirupt = BLOC(condition = + " RELATION in ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',)", + fr="Critere de rupture selon une contrainte critique", + POST_ITER =SIMP(statut='f',typ='TXM',into=("CRIT_RUPT",), ), + ), + + PARM_THETA =SIMP(statut='f',typ='R',val_min=0.,val_max=1., defaut= 1.), + PARM_ALPHA =SIMP(statut='f',typ='R',defaut= 1. ), + + b_radi =BLOC(condition = "TYPE_MATR_TANG == None", + RESI_RADI_RELA =SIMP(statut='f',typ='R', ), + ), + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + ) + + else: + mcfact = FACT(statut='o',min=1,max='**', #COMMUN# + + RELATION = SIMP( statut='o',typ='TXM',defaut="ELAS",into=('ELAS','GLRC_DAMAGE')), + GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ) + + + return mcfact + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +def C_CONVERGENCE() : return FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),), + b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", + regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE','FORC_REFE', + 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE','LAGR_REFE'),), + FORC_REFE =SIMP(statut='f',typ='R',min=2,max=2, + fr="Force et Moment de référence pour les éléments de structure."), + SIGM_REFE =SIMP(statut='f',typ='R'), + DEPL_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + VARI_REFE =SIMP(statut='f',typ='R'), + LAGR_REFE =SIMP(statut='f',typ='R'), + ), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + RESI_COMP_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +def C_INCREMENT(TYPE_CMD) : #COMMUN# +# + assert TYPE_CMD in ('THERMIQUE','MECANIQUE',) + kwargs = {} + statut_liste_inst = ' ' + +# La liste d'instants est facultative en thermique et obligatoire en mecanique + + if TYPE_CMD in ('THERMIQUE'): + statut_liste_inst = 'f' + elif TYPE_CMD in ('MECANIQUE'): + statut_liste_inst = 'o' + + kwargs['LIST_INST'] =SIMP(statut=statut_liste_inst,typ=(listr8_sdaster,list_inst)) + kwargs['NUME_INST_INIT'] =SIMP(statut='f',typ='I') + kwargs['INST_INIT'] =SIMP(statut='f',typ='R') + kwargs['NUME_INST_FIN'] =SIMP(statut='f',typ='I') + kwargs['INST_FIN'] =SIMP(statut='f',typ='R') + kwargs['PRECISION'] =SIMP(statut='f',typ='R',defaut=1.0E-6 ) + + mcfact = FACT(statut=statut_liste_inst,max='**', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + **kwargs) + + return mcfact + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +def C_NEWTON() : return FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1,val_min=0), + PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOLE") ), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',val_min=0.0), + REAC_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0,val_min=0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: josselin.delmas at edf.fr + +class NOM_CHAM_INTO: #COMMUN# + """ + """ + def Tous(self): + """ Tous les champs + """ + self.all_phenomenes = ('CONTRAINTE', 'DEFORMATION', 'ENERGIE', 'CRITERES', + 'VARI_INTERNE', 'HYDRAULIQUE', 'THERMIQUE', + 'ACOUSTIQUE', 'FORCE', 'ERREUR', 'DEPLACEMENT', + 'METALLURGIE', 'AUTRES') + d = {} + d['CONTRAINTE'] = { + "EFGE_ELGA": ( ("lin", "nonlin",), + _(u"Efforts généralisés aux points de Gauss"), ), + "EFGE_ELNO": ( ("lin", "nonlin",), + _(u"Efforts généralisés aux noeuds par élément"), ), + "EFGE_NOEU": ( ("lin", "nonlin",), + _(u"Efforts généralisés aux noeuds"), ), + "SIEF_ELGA": ( ("lin",), + _(u"Contraintes et efforts aux points de Gauss"), ), + "SIEF_ELNO": ( ("lin", "nonlin",), + _(u"Contraintes et efforts aux noeuds par élément"), ), + "SIEF_NOEU": ( ("lin", "nonlin",), + _(u"Contraintes et efforts aux noeuds"), ), + "SIGM_ELGA": ( ("lin", "nonlin",), + _(u"Contraintes aux points de Gauss"), ), + "SIGM_ELNO": ( ("lin", "nonlin",), + _(u"Contraintes aux noeuds par élément"), ), + "SIGM_NOEU": ( ("lin", "nonlin",), + _(u"Contraintes aux noeuds"), ), + "SIPM_ELNO": ( ("lin","nonlin"), + _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), + "SIPO_ELNO": ( ("lin", "nonlin",), + _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), + "SIPO_NOEU": ( ("lin", "nonlin",), + _(u"Contraintes aux noeuds pour les éléments de poutre"), ), + "SIRO_ELEM": ( ("lin", "nonlin",), + _(u"Contraintes de rosette par élément"), ), + } + d['DEFORMATION'] = { + "DEGE_ELGA": ( ("lin", "nonlin",), + _(u"Déformations généralisées aux points de Gauss"), ), + "DEGE_ELNO": ( ("lin", "nonlin",), + _(u"Déformations généralisées aux noeuds par élément"), ), + "DEGE_NOEU": ( ("lin", "nonlin",), + _(u"Déformations généralisées aux noeuds"), ), + "EPFD_ELGA": ( ("nonlin",), + _(u"Déformations de fluage de déssication aux points de Gauss"), ), + "EPFD_ELNO": ( ("nonlin",), + _(u"Déformations de fluage de déssication aux noeuds par élément"), ), + "EPFD_NOEU": ( ("nonlin",), + _(u"Déformations de fluage de déssication aux noeuds"), ), + "EPFP_ELGA": ( ("nonlin",), + _(u"Déformations de fluage propre aux points de Gauss"), ), + "EPFP_ELNO": ( ("nonlin",), + _(u"Déformations de fluage propre aux noeuds par élément"), ), + "EPFP_NOEU": ( ("nonlin",), + _(u"Déformations de fluage propre aux noeuds"), ), + "EPME_ELGA": ( ("lin", "nonlin",), + _(u"Déformations mécaniques en petits déplacements aux points de Gauss"), ), + "EPME_ELNO": ( ("lin", "nonlin",), + _(u"Déformations mécaniques en petits déplacements aux noeuds par élément"), ), + "EPME_NOEU": ( ("lin", "nonlin",), + _(u"Déformations mécaniques en petits déplacements aux noeuds"), ), + "EPMG_ELGA": ( ("nonlin",), + _(u"Déformations mécaniques en grands déplacements aux points de Gauss"), ), + "EPMG_ELNO": ( ("nonlin",), + _(u"Déformations mécaniques en grands déplacements aux noeuds par élément"), ), + "EPMG_NOEU": ( ("nonlin",), + _(u"Déformations mécaniques en grands déplacements aux noeuds"), ), + "EPSG_ELGA": ( ("lin","nonlin",), + _(u"Déformations de Green-Lagrange aux points de Gauss"), ), + "EPSG_ELNO": ( ("lin","nonlin",), + _(u"Déformations de Green-Lagrange aux noeuds par élément"), ), + "EPSG_NOEU": ( ("lin","nonlin",), + _(u"Déformations de Green-Lagrange aux noeuds"), ), + "EPSI_ELGA": ( ("lin", "nonlin",), + _(u"Déformations aux points de Gauss"), ), + "EPSI_ELNO": ( ("lin", "nonlin",), + _(u"Déformations aux noeuds par élément"), ), + "EPSI_NOEU": ( ("lin", "nonlin",), + _(u"Déformations aux noeuds"), ), + "EPSP_ELGA": ( ("nonlin",), + _(u"Déformations anélastique aux points de Gauss"), ), + "EPSP_ELNO": ( ("nonlin",), + _(u"Déformations anélastique aux noeuds par élément"), ), + "EPSP_NOEU": ( ("nonlin",), + _(u"Déformations anélastique aux noeuds"), ), + "EPVC_ELGA": ( ("lin", "nonlin",), + _(u"Déformations dues aux variables de commande aux points de Gauss"), ), + "EPVC_ELNO": ( ("lin", "nonlin",), + _(u"Déformations dues aux variables de commande aux noeuds par élément"), ), + "EPVC_NOEU": ( ("lin", "nonlin",), + _(u"Déformations dues aux variables de commande aux noeuds"), ), + } + d['ENERGIE'] = { + "DISS_ELEM": ( ("lin", "nonlin",), + _(u"Énergie de dissipation par élément"), ), + "DISS_ELGA": ( ("lin", "nonlin",), + _(u"Densité d'énergie de dissipation aux points de Gauss"), ), + "DISS_ELNO": ( ("lin", "nonlin",), + _(u"Densité d'énergie de dissipation aux noeuds par élément"), ), + "DISS_NOEU": ( ("lin", "nonlin",), + _(u"Densité d'énergie de dissipation aux noeuds"), ), + "ECIN_ELEM": ( ("lin",), + _(u"Énergie cinétique par élément"), ), + "ENEL_ELEM": ( ("lin", "nonlin",), + _(u"Énergie élastique par élément"), ), + "ENEL_ELGA": ( ("lin", "nonlin",), + _(u"Densité d'énergie élastique aux points de Gauss"), ), + "ENEL_ELNO": ( ("lin", "nonlin",), + _(u"Densité d'énergie élastique aux noeuds par élément"), ), + "ENEL_NOEU": ( ("lin", "nonlin",), + _(u"Densité d'énergie élastique aux noeuds"), ), + "EPOT_ELEM": ( ("lin",), + _(u"Énergie potentielle de déformation élastique par élément"), ), + "ETOT_ELEM": ( ("lin", "nonlin",), + _(u"Incrément d'énergie de déformation totale par élément"), ), + "ETOT_ELGA": ( ("lin", "nonlin",), + _(u"Incrément de densité d'énergie de déformation totale aux points de Gauss"), ), + "ETOT_ELNO": ( ("lin", "nonlin",), + _(u"Incrément de densité d'énergie de déformation totale aux noeuds par élément"), ), + "ETOT_NOEU": ( ("lin", "nonlin",), + _(u"Incrément de densité d'énergie de déformation totale aux noeuds"), ), + } + d['CRITERES'] = { + "DERA_ELGA": ( ("nonlin",), + _(u"Indicateur local de décharge et de perte de radialité aux points de Gauss"), ), + "DERA_ELNO": ( ("nonlin",), + _(u"Indicateur local de décharge et de perte de radialité aux noeuds par élément"), ), + "DERA_NOEU": ( ("nonlin",), + _(u"Indicateur local de décharge et de perte de radialité aux noeuds"), ), + "ENDO_ELGA": ( ("nonlin",), + _(u"Dommage de Lemaître-Sermage aux points de Gauss"), ), + "ENDO_ELNO": ( ("nonlin",), + _(u"Dommage de Lemaître-Sermage aux noeuds par élément"), ), + "ENDO_NOEU": ( ("nonlin",), + _(u"Dommage de Lemaître-Sermage aux noeuds"), ), + "EPEQ_ELGA": ( ("lin", "nonlin",), + _(u"Déformations équivalentes aux points de Gauss"), ), + "EPEQ_ELNO": ( ("lin", "nonlin",), + _(u"Déformations équivalentes aux noeuds par élément"), ), + "EPEQ_NOEU": ( ("lin", "nonlin",), + _(u"Déformations équivalentes aux noeuds"), ), + "EPMQ_ELGA": ( ("lin", "nonlin",), + _(u"Déformations mécaniques équivalentes aux points de Gauss"), ), + "EPMQ_ELNO": ( ("lin", "nonlin",), + _(u"Déformations mécaniques équivalentes aux noeuds par élément"), ), + "EPMQ_NOEU": ( ("lin", "nonlin",), + _(u"Déformations mécaniques équivalentes aux noeuds"), ), + "INDL_ELGA": ( ("nonlin",), + _(u"Indicateur de localisation aux points de Gauss"), ), + "PDIL_ELGA": ( ("nonlin",), + _(u"Module de rigidité de micro-dilatation"), ), + "SIEQ_ELGA": ( ("lin", "nonlin",), + _(u"Contraintes équivalentes aux points de Gauss"), ), + "SIEQ_ELNO": ( ("lin", "nonlin",), + _(u"Contraintes équivalentes aux noeuds par élément"), ), + "SIEQ_NOEU": ( ("lin", "nonlin",), + _(u"Contraintes équivalentes aux noeuds"), ), + } + d['VARI_INTERNE'] = { + "VAEX_ELGA": ( ("nonlin",), + _(u"Extraction d'une variable interne aux points de Gauss"), ), + "VAEX_ELNO": ( ("nonlin",), + _(u"Extraction d'une variable interne aux noeuds pas élément"), ), + "VAEX_NOEU": ( ("nonlin",), + _(u"Extraction d'une variable interne aux noeuds"), ), + "VARC_ELGA": ( ("lin", "nonlin",), + _(u"Variables de commande aux points de Gauss"), ), + "VARI_ELNO": ( ("nonlin",), + _(u"Variables internes aux noeuds pas élément"), ), + "VARI_NOEU": ( ("nonlin",), + _(u"Variables internes aux noeuds"), ), + } + d['HYDRAULIQUE'] = { + "FLHN_ELGA": ( ("nonlin",), + _(u"Flux hydrauliques aux points de Gauss"), ), + } + d['THERMIQUE'] = { + "TEMP_ELGA": ( (), + _(u"Température aux points de Gauss"), ), + "FLUX_ELGA": ( (), + _(u"Flux thermique aux points de Gauss"), ), + "FLUX_ELNO": ( (), + _(u"Flux thermique aux noeuds par élément"), ), + "FLUX_NOEU": ( (), + _(u"Flux thermique aux noeuds"), ), + "HYDR_NOEU": ( (), + _(u"Hydratation aux noeuds"), ), + "SOUR_ELGA": ( (), + _(u"Source de chaleur à partir d'un potentiel électrique"), ), + "ETHE_ELEM": ( (), + _(u"Énergie dissipée thermiquement"), ), + } + d['ACOUSTIQUE'] = { + "PRAC_ELNO": ( (), + _(u"Pression acoustique aux noeuds par élément"), ), + "PRAC_NOEU": ( (), + _(u"Pression acoustique aux noeuds"), ), + "PRME_ELNO": ( (), + _(u"Pression aux noeuds par élément pour les éléments FLUIDE"), ), + "INTE_ELNO": ( (), + _(u"Intensité acoustique aux noeuds par élément"), ), + "INTE_NOEU": ( (), + _(u"Intensité acoustique aux noeuds"), ), + } + d['FORCE'] = { + "FORC_NODA": ( (), + _(u"Forces nodales"), ), + "REAC_NODA": ( (), + _(u"Réactions nodales"), ), + } + d['ERREUR'] = { + "SIZ1_NOEU": ( (), + _(u"Contraintes lissées de Zhu-Zienkiewicz version 1 aux noeuds"), ), + "ERZ1_ELEM": ( (), + _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 1 par élément"), ), + "SIZ2_NOEU": ( (), + _(u"Contraintes lissées de Zhu-Zienkiewicz version 2 aux noeuds"), ), + "ERZ2_ELEM": ( (), + _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 2 par élément"), ), + "ERME_ELEM": ( (), + _(u"Indicateur d'erreur en résidu en mécanique par élément"), ), + "ERME_ELNO": ( (), + _(u"Indicateur d'erreur en résidu en mécanique aux noeuds par élément"), ), + "ERME_NOEU": ( (), + _(u"Indicateur d'erreur en résidu en mécanique aux noeuds"), ), + "QIRE_ELEM": ( (), + _(u"Indicateur d'erreur en quantités d'intérêt en résidu par élément"), ), + "QIRE_ELNO": ( (), + _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds par élément"), ), + "QIRE_NOEU": ( (), + _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds"), ), + "QIZ1_ELEM": ( (), + _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 1 par élément"), ), + "QIZ2_ELEM": ( (), + _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 2 par élément"), ), + "SING_ELEM": ( (), + _(u"Degré de singularité par élément"), ), + "SING_ELNO": ( (), + _(u"Degré de singularité aux noeuds par élément"), ), + "ERTH_ELEM": ( (), + _(u"Indicateur d'erreur en résidu en thermique par élément"), ), + "ERTH_ELNO": ( (), + _(u"Indicateur d'erreur en résidu en thermique aux noeuds par élément"), ), + "ERTH_NOEU": ( (), + _(u"Indicateur d'erreur en résidu en thermique aux noeuds"), ), + } + d['METALLURGIE'] = { + "DURT_ELNO": ( (), + _(u"Dureté aux noeuds par élément"), ), + "DURT_NOEU": ( (), + _(u"Dureté aux noeuds"), ), + "META_ELNO": ( (), + _(u"Proportion de phases métallurgiques aux noeuds par élément"), ), + "META_NOEU": ( (), + _(u"Proportion de phases métallurgiques aux noeuds"), ), + } + d['DEPLACEMENT'] = { + "ACCE": ( (), + _(u"Accélération aux noeuds"), ), + "ACCE_ABSOLU": ( (), + _(u"Accélération absolue aux noeuds"), ), + "DEPL": ( (), + _(u"Déplacements aux noeuds"), ), + "DEPL_ABSOLU": ( (), + _(u"Déplacements absolus aux noeuds"), ), + "STRX_ELGA": ( (), + _(u"Efforts généralisés à partir des déplacements en linéaire aux points de Gauss"), ), + "TEMP": ( (), + _(u"Température aux noeuds"), ), + "VITE": ( (), + _(u"Vitesse aux noeuds"), ), + "VALE_CONT": ( (), + _(u"Statuts de contact"), ), + "VARI_ELGA": ( (), + _(u"Variables internes aux points de Gauss"), ), + "VITE_ABSOLU": ( (), + _(u"Vitesse absolue aux noeuds"), ), + } + d['AUTRES'] = { + "COMPORTEMENT": ( (), + _(u"Carte de comportement mécanique"), ), + "COMPORTHER": ( (), + _(u"Carte de comportement thermique"), ), + "DEPL_VIBR": ( (), + _(u"Déplacement pour mode vibratoire"), ), + "DIVU": ( (), + _(u"Déformation volumique en THM"), ), + "EPSA_ELNO": ( (), + _(u"Déformations anélastique aux noeuds par élément"), ), + "EPSA_NOEU": ( (), + _(u"Déformations anélastique aux noeuds"), ), + "FERRAILLAGE": ( ("lin",), + _(u"Densité de ferraillage"), ), + "FSUR_2D": ( (), + _(u"Chargement de force surfacique en 2D"), ), + "FSUR_3D": ( (), + _(u"Chargement de force surfacique en 3D"), ), + "FVOL_2D": ( (), + _(u"Chargement de force volumique en 2D"), ), + "FVOL_3D": ( (), + _(u"Chargement de force volumique en 3D"), ), + "HYDR_ELNO": ( (), + _(u"Hydratation aux noeuds par élément"), ), + "IRRA": ( (), + _(u"Irradition aux noeuds"), ), + "MODE_FLAMB": ( (), + _(u"Mode de flambement"), ), + "MODE_STAB": ( (), + _(u"Mode de stabilité"), ), + "NEUT": ( (), + _(u"Variable de commande 'neutre'"), ), + "PRES": ( (), + _(u"Chargement de pression"), ), + "PTOT": ( (), + _(u"Pression totale de fluide en THM"), ), + "SISE_ELNO": ( (), + _(u"Contraintes aux noeuds par sous-élément"), ), + "SPMX_ELGA": ( (), + _(u"Valeurs maximum sur un sous-point"), ), + "THETA": ( (), + _(u"Champ theta"), ), + "VITE_VENT": ( (), + _(u"Chargement vitesse du vent"), ), + } + for typ in ('ELGA', 'ELNO', 'ELEM', 'NOEU', 'CART'): + for i in range(1, 11): + d['AUTRES']['UT%02d_%s' % (i, typ)]=( (), + _(u"Champ utilisateur numéro %02d_%s" % (i, typ)), ) + self.d_all = d + return + + def CheckPhenom(self): + """ Vérification de la cohérence entre les phenomènes et les clés + """ + l_keys = list(self.d_all.keys()) + l_phen = list(self.all_phenomenes) + uniq_keys = set(l_keys) + uniq_phen = set(l_phen) + if len(l_keys) != len(uniq_keys) or len(l_phen) != len(uniq_phen) : + for i in uniq_keys : + l_keys.remove(i) + assert len(l_keys) == 0, 'Keys must be unique: %s' % l_keys + for i in uniq_phen : + l_phen.remove(i) + assert len(l_phen) == 0, 'Phenomenon must be unique: %s' % l_phen + if len(l_keys) > len(l_phen) : + for i in l_phen : + l_keys.remove(i) + assert len(l_keys) == 0, 'Key %s not listed in the list of phenomenons' % l_keys + if len(l_keys) < len(l_phen) : + for i in l_keys: + l_phen.remove(i) + assert len(l_phen) == 0, 'Phenomenon %s not known as a key' % l_phen + + + def CheckField(self): + """ Vérification des doublons dans les noms des champs + """ + l_cham = [] + for phen in self.all_phenomenes: + l_cham.extend(self.d_all[phen].keys()) + uniq = set(l_cham) + if len(l_cham) != len(uniq): + for i in uniq: + l_cham.remove(i) + assert len(l_cham) == 0, 'Field names must be unique: %s' % l_cham + + + def InfoChamps(self, l_nom_cham): + """ on renvoie juste les informations relatives au(x) champ(s) + """ + d_cham = {}.fromkeys( l_nom_cham, ( '', '', '' ) ) + for nom_cham in l_nom_cham: + for phen in self.all_phenomenes: + for cham in self.d_all[phen].keys(): + if nom_cham == cham: + cate = self.d_all[phen][cham][0] + helptxt = self.d_all[phen][cham][1] + d_cham[nom_cham] = ( phen, cate, helptxt ) + return d_cham + + def Filtre(self, *l_typ_cham, **kwargs): + """ Check des doublons + """ + phenomene = kwargs.get('phenomene') + categorie = kwargs.get('categorie') + # Construction de la liste des champs en tenant compte des eventuels filtre (phenomene, categorie, l_typ_cham) + # ------------------------------------------------------------------------------------------------------------ + l_cham = [] + # Filtre par phenomene + if phenomene is None: + l_phen = self.all_phenomenes + else: + l_phen = [ phenomene ] + for phen in l_phen: + # parcours de tous les champs + for cham in self.d_all[phen].keys(): + isok = True + # Filtre par categorie + if categorie is not None: + lcat = self.d_all[phen][cham][0] + if type(lcat) not in (tuple, list): + lcat = [lcat, ] + if categorie in lcat: + isok = True + else: + isok = False + if isok: + l_cham.append(cham) + l_cham.sort() + # Filtre sur les types de champs + if len(l_typ_cham) == 0: + return tuple(l_cham) + l_ncham = [] + for typ in l_typ_cham : + for cham in l_cham : + if typ in cham.split('_'): + l_ncham.append(cham) + return tuple(l_ncham) + + def __init__(self): + self.Tous() + # check les doublons (fonctionnalite developpeur permettant de detecter les doublons dans les champs) + if 1: + self.CheckPhenom() + self.CheckField() + + def __call__(self, *l_typ_cham, **kwargs): + """Cette fonction retourne la liste des "into" possibles pour le mot-clé NOM_CHAM. + C'est à dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD). + l_typ_cham : rien ou un ou plusieurs parmi 'ELGA', 'ELNO', 'NOEU', 'ELEM'. + kwargs : un dictionnaire de mot-cles, les cles parmis : + 'phenomene' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le suivant) + 'categorie' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le precedent) + 'l_nom_cham' : (une liste ou un string) retourne uniqement les informations relatives au champ precise en argument + """ + l_nom_cham = kwargs.get('l_nom_cham') + if type(l_nom_cham) == str: + l_nom_cham = [ l_nom_cham ] + if l_nom_cham: + return self.InfoChamps(l_nom_cham) + else: + return self.Filtre(*l_typ_cham, **kwargs) + + +C_NOM_CHAM_INTO = NOM_CHAM_INTO() + +# person_in_charge: xavier.desroches at edf.fr +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# ce fichier contient la liste des noms des grandeurs de CODE_ASTER +def C_NOM_GRANDEUR() : return ( #COMMUN# +"ABSC_R", +"ADRSJEVE", +"ADRSJEVN", +"CAARPO", +"CACABL", +"CACOQU", +"CADISA", +"CADISK", +"CADISM", +"CAFI_R", +"CAGEBA", +"CAGEPO", +"CAGNBA", +"CAGNPO", +"CAMASS", +"CAORIE", +"CAPOUF", +"CARCRI", +"CASECT", +"CHLI_R", +"CODE_I", +"COEH_F", +"COEH_R", +"COMPOR", +"CORR_R", +"CRRU_R", +"DBEL_R", +"DCEL_I", +"DDLI_C", +"DDLI_F", +"DDLI_R", +"DDLM_C", +"DDLM_R", +"DEPL_C", +"DEPL_F", +"DEPL_R", +"DISS_R", +"DOMA_R", +"DURT_R", +"ENDO_R", +"ENER_R", +"EPSI_C", +"EPSI_F", +"EPSI_R", +"ERRE_R", +"FACY_R", +"FELECR", +"FER2_R", +"FISS_R", +"FLAPLA", +"FLUN_F", +"FLUN_R", +"FLUX_F", +"FLUX_R", +"FORC_C", +"FORC_F", +"FORC_R", +"FREQ_R", +"FTHM_F", +"FTHM_R", +"G", +"GEOM_R", +"G_DEPL_R", +"HARMON", +"HYDR_R", +"IMPE_C", +"IMPE_F", +"IMPE_R", +"INDL_R", +"INFC_R", +"INST_R", +"INTE_R", +"INTLOC", +"IRRA_R", +"ITECREL", +"ITEDEC", +"J", +"LISTMA", +"MACOMP", +"MASS_R", +"MATE_F", +"NBSP_I", +"NEUT_F", +"NEUT_I", +"NEUT_K16", +"NEUT_K24", +"NEUT_K8", +"NEUT_R", +"NUMC_I", +"NUMMOD", +"ONDE_F", +"ONDE_R", +"PESA_R", +"PDIL_R", +"PILO_K", +"PILO_R", +"POSI", +"PREC", +"PRES_C", +"PRES_F", +"PRES_R", +"RAYO_F", +"RAYO_R", +"RCCM_K", +"RCCM_R", +"RESCREL", +"RICE_TRA", +"ROTA_R", +"SECTION", +"SIEF_C", +"SIEF_R", +"SIZZ_R", +"SOUR_F", +"SOUR_R", +"SPMX_R", +"STRX_R", +"STAOUDYN", +"TEMP_C", +"TEMP_F", +"TEMP_R", +"THETA", +"VALO_R", +"VANL_R", +"VAR2_R", +"VARI_R", +"VENTCX_F", +"VNOR_C", +"VNOR_F", +"VOISIN", +"WEIBULL", +"XCONTAC", + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr + +def C_OBSERVATION() : return FACT(statut='f',max=99, + TITRE =SIMP(statut='f',typ='TXM',max=1), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + into=("VALE_CONT","FORC_NODA", + "DEPL","VITE","ACCE","TEMP", + "SIEF_ELGA","VARI_ELGA", + "DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)), + + EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), + + NOM_CMP =SIMP(statut='o',typ='TXM',max=20), + EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("VALE","FORMULE",),), + + b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", + FORMULE = SIMP(statut='o',typ=formule,max=1), + ), + + b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ + (NOM_CHAM=='VITE') or \ + (NOM_CHAM=='ACCE') or \ + (NOM_CHAM=='TEMP') or \ + (NOM_CHAM=='FORC_NODA') or \ + (NOM_CHAM=='VALE_CONT') or \ + (NOM_CHAM=='DEPL_ABSOLU') or \ + (NOM_CHAM=='VITE_ABSOLU') or \ + (NOM_CHAM=='ACCE_ABSOLU')", + regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), + TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + + + b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ + (NOM_CHAM=='VARI_ELGA')", + regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), + TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("MIN","MAX","VALE",),), + b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", + POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), + SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + ), + ), + + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + PAS_OBSE =SIMP(statut='f',typ='I'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + + + ); + +# person_in_charge: mathieu.courtois at edf.fr +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes +def C_PARA_FONCTION() : return ( #COMMUN# + "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC", + "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP", + "AMOR","ABSC","ABSC_CURV","SIGM","HYDR","SECH","PORO","SAT", + "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO", + "NORM","EPAIS","NEUT1","NEUT2",) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: kyrylo.kazymyrenko at edf.fr +def C_PILOTAGE() : return FACT(statut='f', + regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION", + "ANA_LIM","SAUT_IMPO","SAUT_LONG_ARC") ), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), + EVOL_PARA =SIMP(statut='f',typ='TXM',defaut="SANS", into=("SANS","CROISSANT","DECROISSANT") ), + ETA_PILO_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_MIN =SIMP(statut='f',typ='R'), + ETA_PILO_R_MAX=SIMP(statut='f',typ='R'), + ETA_PILO_R_MIN=SIMP(statut='f',typ='R'), + PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", + into=("RESIDU","MIXTE","ANGL_INCR_DEPL","NORM_INCR_DEPL")), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + FISSURE =SIMP(statut='f',typ=fiss_xfem ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + DIRE_PILO =SIMP(statut='f',typ='TXM',max='**'), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +def C_RECH_LINEAIRE() : return FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE","PILOTAGE") ), + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3,val_max=999), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix@edf.fr +# +def C_RELATION( COMMAND ): + + if COMMAND in ('CALC_G',): + return ( "ELAS", #COMMUN# + "ELAS_VMIS_LINE", + "ELAS_VMIS_TRAC", + "ELAS_VMIS_PUIS", + "ELAS_HYPER", + "VMIS_ISOT_LINE", + "VMIS_ISOT_TRAC", + # relations interdites depuis issue21711, elles + # devront etre introduites dans le F90 si besoin + #"VMIS_CINE_LINE", + #"VMIS_ISOT_PUIS", + ) + elif COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC',): + return ( "ELAS", + "ELAS_VMIS_TRAC", + "VMIS_ISOT_TRAC", + ) + elif COMMAND =='DEFI_COMPOR' : + return ( "ELAS", #uniquement ce qui a du sens (cf doc) et qui fait l'objet d'un test + "BETON_UMLV_FP", + "BETON_DOUBLE_DP", + "CORR_ACIER", + "GRANGER_FP", + "GRANGER_FP_V", + "GRANGER_FP_INDT", + "GRAN_IRRA_LOG", + "MAZARS_GC", + "VISC_IRRA_LOG", + "VMIS_CINE_GC", + "VMIS_CINE_LINE", + "VMIS_ISOT_LINE", + "VMIS_ISOT_TRAC", + "VMIS_ISOT_PUIS", + ) + else : + return ( "ELAS", + "ELAS_VMIS_LINE", + "ELAS_VMIS_TRAC", + "ELAS_VMIS_PUIS", + "ELAS_HYPER", + "ELAS_POUTRE_GR", + "CABLE", + "ARME", + "ASSE_CORN", + "BARCELONE", + "BETON_BURGER_FP", + "BETON_DOUBLE_DP", + "BETON_RAG", + "BETON_REGLE_PR", + "BETON_UMLV_FP", + "CABLE_GAINE_FROT", + "CAM_CLAY", + "CJS", + "CORR_ACIER", + "CZM_EXP", + "CZM_EXP_REG", + "CZM_FAT_MIX", + "CZM_LIN_REG", + "CZM_OUV_MIX", + "CZM_TAC_MIX", + "CZM_LAB_MIX", + "CZM_TRA_MIX", + "DIS_BILI_ELAS", + "DIS_CHOC", + "DIS_ECRO_CINE", + "DIS_GOUJ2E_ELAS", + "DIS_GOUJ2E_PLAS", + "DIS_GRICRA", + "DIS_VISC", + "DRUCK_PRAGER", + "DRUCK_PRAG_N_A", + "ELAS_GONF", + "ELAS_HYPER", + "ENDO_CARRE", + "ENDO_FISS_EXP", + "ENDO_FRAGILE", + "ENDO_HETEROGENE", + "ENDO_ISOT_BETON", + "ENDO_ORTH_BETON", + "ENDO_SCALAIRE", + "GATT_MONERIE", + "GLRC_DAMAGE", + "GLRC_DM", + "DHRC", + "GRANGER_FP", + "GRANGER_FP_INDT", + "GRANGER_FP_V", + "GRAN_IRRA_LOG", + "GRILLE_CINE_LINE", + "GRILLE_ISOT_LINE", + "GRILLE_PINTO_MEN", + "HAYHURST", + "HOEK_BROWN", + "HOEK_BROWN_EFF", + "HOEK_BROWN_TOT", + "HUJEUX", + "IRRAD3M", + "JOINT_BA", + "JOINT_BANDIS", + "JOINT_MECA_RUPT", + "JOINT_MECA_FROT", + "KIT_CG", + "KIT_DDI", + "KIT_HH", + "KIT_H", + "KIT_HHM", + "KIT_HM", + "KIT_THH", + "KIT_THHM", + "KIT_THM", + "KIT_THV", + "LAIGLE", + "LEMAITRE", + "LEMAITRE_IRRA", + "LEMA_SEUIL", + "LETK", + "LMARC_IRRA", + "MAZARS", + "MAZARS_GC", + "META_LEMA_ANI", + "META_P_CL", + "META_P_CL_PT", + "META_P_CL_PT_RE", + "META_P_CL_RE", + "META_P_IL", + "META_P_IL_PT", + "META_P_IL_PT_RE", + "META_P_IL_RE", + "META_P_INL", + "META_P_INL_PT", + "META_P_INL_PT_RE", + "META_P_INL_RE", + "META_V_CL", + "META_V_CL_PT", + "META_V_CL_PT_RE", + "META_V_CL_RE", + "META_V_IL", + "META_V_IL_PT", + "META_V_IL_PT_RE", + "META_V_IL_RE", + "META_V_INL", + "META_V_INL_PT", + "META_V_INL_PT_RE", + "META_V_INL_RE", + "MOHR_COULOMB", + "MONOCRISTAL", + "MULTIFIBRE", + "NORTON", + "NORTON_HOFF", + "PINTO_MENEGOTTO", + "POLYCRISTAL", + "ROUSSELIER", + "ROUSS_PR", + "ROUSS_VISC", + "RUPT_FRAG", + "SANS", + "VENDOCHAB", + "VISC_ENDO_LEMA", + "VISCOCHAB", + "VISC_CIN1_CHAB", + "VISC_CIN2_CHAB", + "VISC_CIN2_MEMO", + "VISC_CIN2_NRAD", + "VISC_MEMO_NRAD", + "VISC_DRUC_PRAG", + "VISC_IRRA_LOG", + "VISC_ISOT_LINE", + "VISC_ISOT_TRAC", + "VISC_TAHERI", + "VMIS_ASYM_LINE", + "VMIS_CIN1_CHAB", + "VMIS_CIN2_CHAB", + "VMIS_CINE_GC", + "VMIS_CIN2_MEMO", + "VMIS_CIN2_NRAD", + "VMIS_MEMO_NRAD", + "VMIS_CINE_LINE", + "VMIS_ECMI_LINE", + "VMIS_ECMI_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ISOT_PUIS", + "VMIS_ISOT_TRAC", + "VMIS_JOHN_COOK", + "ZMAT", + "UMAT", + "MFRONT", + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: olivier.boiteau at edf.fr + +def C_SOLVEUR( COMMAND, BASE=None ) : #COMMUN# + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# VERIFICATIONS +# +# ---------------------------------------------------------------------------------------------------------------------------------- + + assert COMMAND in ('CALC_ERREUR', + 'CALC_FORC_AJOU', + 'CALC_IFS_DNL', + 'CALC_MATR_AJOU', + 'CALC_PRECONT', + 'CREA_ELEM_SSD', + 'DEFI_BASE_MODALE', + 'DYNA_LINE_HARM', + 'DYNA_LINE_TRAN', + 'DYNA_NON_LINE', + 'DYNA_TRAN_MODAL', + 'INFO_MODE', + 'MACR_ASCOUF_CALC', + 'MACR_ASPIC_CALC', + 'MACRO_BASCULE_SCHEMA', + 'MACRO_MATR_AJOU', + 'MECA_STATIQUE', + 'MODE_ITER_SIMULT', + 'MODE_ITER_INV', + 'MODE_STATIQUE', + 'MODE_NON_LINE', + 'STAT_NON_LINE', + 'THER_LINEAIRE', + 'THER_NON_LINE', + 'THER_NON_LINE_MO', + ) + + if BASE != None: + assert COMMAND == 'DYNA_LINE_HARM' + assert BASE in ('GENE','PHYS') + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# CLASSIFICATION EN 3 CATEGORIES : +# - solveurs directs uniquement +# - solveurs pour le linéaire +# - solveurs pour le non-linéaire +# +# GESTION DES EXCEPTIONS +# +# ---------------------------------------------------------------------------------------------------------------------------------- + + _type = None + +# Classification ('SD'/'LIN'/'NL') + if COMMAND in ('CREA_ELEM_SSD', + 'DEFI_BASE_MODALE', + 'DYNA_LINE_HARM', + 'DYNA_TRAN_MODAL', + 'INFO_MODE', + 'MODE_ITER_SIMULT', + 'MODE_ITER_INV', + ): + _type = 'SD' + elif COMMAND in ('CALC_ERREUR', + 'CALC_FORC_AJOU', + 'CALC_MATR_AJOU', + 'DYNA_LINE_TRAN', + 'MACRO_MATR_AJOU', + 'MECA_STATIQUE', + 'MODE_STATIQUE', + 'THER_LINEAIRE', + 'THER_NON_LINE_MO', + ): + _type = 'LIN' + elif COMMAND in ('CALC_IFS_DNL', + 'CALC_PRECONT', + 'DYNA_NON_LINE', + 'MACR_ASCOUF_CALC', + 'MACR_ASPIC_CALC', + 'MACRO_BASCULE_SCHEMA', + 'STAT_NON_LINE', + 'THER_NON_LINE', + 'MODE_NON_LINE', + ): + _type = 'NL' + else: + assert False + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _dist = False + +# MATR_DISTRIBUEE ne fonctionnent que dans MECA_STATIQUE et MECA_NON_LINE + if COMMAND in ('CALC_IFS_DNL', + 'CALC_PRECONT', + 'DYNA_NON_LINE', + 'MACR_ASCOUF_CALC', + 'MACR_ASPIC_CALC', + 'MACRO_BASCULE_SCHEMA', + 'MECA_STATIQUE', + 'STAT_NON_LINE', + ): + _dist = True + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _gene = False + _ldlt = False + +# Avec des matrices généralisées, MULT_FRONT n'est pas permis, LDLT est donc par défaut + if BASE == 'GENE': + _gene = True + _ldlt = True + +# LDLT est le solveur par défaut dans DYNA_TRAN_MODAL (systèmes linéaires petits) + if COMMAND == 'DYNA_TRAN_MODAL': + _ldlt = True + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _syme = False + +# Seuls les opérateurs non-linéaires produisent des matrices non-symétriques + if _type == 'NL': + _syme = True + if COMMAND == 'THER_NON_LINE_MO': + _syme = True + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _singu = True + _rcmk = True + _resol = True + _cmodal = False + +# Avec les solveurs modaux STOP_SINGULIER n'existe pas, de plus RCMK n'est pas disponible + if COMMAND in ('INFO_MODE','MODE_ITER_INV','MODE_ITER_SIMULT'): + _cmodal= True + _singu = False + _rcmk = False +# Dans INFO_MODE on ne fait que factoriser + if COMMAND == 'INFO_MODE': + _resol = False + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _singu_non = False + +# Dans DEFI_BASE_MODALE, NON est le défaut de STOP_SINGULIER + if COMMAND == 'DEFI_BASE_MODALE': + _singu_non = True + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# INITIALISATIONS +# +# ---------------------------------------------------------------------------------------------------------------------------------- + +# Mot-clés simples + _MotCleSimples={} + +# Solveurs + _BlocMF={} + _BlocLD={} + _BlocMU={} + _BlocGC={} + _BlocPE={} + +# Préconditionneurs + _BlocGC_INC={} + _BlocPE_INC={} + _BlocXX_SP={} + _BlocPE_ML={} + _BlocPE_BOOMER={} + _BlocXX_Autres={} + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# MOT-CLES SIMPLES : METHODE +# SYME +# +# ---------------------------------------------------------------------------------------------------------------------------------- + +# METHODE + if (_ldlt): + _defaut = "LDLT" + else: + _defaut = "MULT_FRONT" + + if _type == 'SD': + _into = ("MULT_FRONT", "LDLT", "MUMPS", ) + if _gene: + _into = ("LDLT", "MUMPS", ) + else: + _into = ("MULT_FRONT", "LDLT", "MUMPS", "GCPC", "PETSC", ) + + if COMMAND =='MODE_NON_LINE': + _defaut = "MUMPS" + _into = ("MUMPS",) + + _MotCleSimples['METHODE'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + +# SYME + if _syme: + _MotCleSimples['SYME'] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# MULT_FRONT/LDLT/MUMPS (RENUM/NPREC/STOP_SINGULIER) +# +# ---------------------------------------------------------------------------------------------------------------------------------- + +# RENUM + _BlocMF['RENUM'] = SIMP(statut='f', typ='TXM', defaut="METIS", into=("MD", "MDA", "METIS", ), ) + + if _rcmk: + _into = ("RCMK", "SANS", ) + _defaut = "RCMK" + else: + _into = ("SANS",) + _defaut = "SANS" + + _BlocLD['RENUM'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) + + _BlocMU['RENUM'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("AMD", "AMF", "PORD", "METIS", "QAMD", "SCOTCH", "AUTO", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# NPREC + _BlocMF['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) + _BlocLD['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) + _BlocMU['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# ELIM_LAGR + + if not _cmodal : + _BlocPE['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) + _BlocMF['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) + _BlocLD['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) + _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("OUI", "NON", "LAGR2"), ) + else : + _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("NON", "LAGR2"), ) + + +# ---------------------------------------------------------------------------------------------------------------------------------- +# STOP_SINGULIER + _into = ("OUI", "NON", ) + _defaut = "OUI" + + if _singu_non: + _defaut = "NON" + + if _singu: + _BlocMF['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) + _BlocLD['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) + _BlocMU['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# MUMPS (MOT-CLES RESTANT) +# +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocMU['TYPE_RESOL' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("NONSYM", "SYMGEN", "SYMDEF", "AUTO", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocMU['PRETRAITEMENTS' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + if _resol: + _BlocMU['POSTTRAITEMENTS'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", "FORCE", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocMU['PCENT_PIVOT' ] = SIMP(statut='f', typ='I' , defaut=20, val_min=1, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + if _resol: + if _type == 'LIN': + _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=1.0E-6, ) + else: + _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=-1.0, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocMU['GESTION_MEMOIRE'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("IN_CORE", "OUT_OF_CORE", "AUTO", "EVAL"), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + if _type == 'NL': + _BlocMU['FILTRAGE_MATRICE'] = SIMP(statut='f', typ='R' , defaut=-1.0, ) + _BlocMU['MIXER_PRECISION' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + if _dist: + _BlocMU['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) + _BlocPE['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# GCPC/PETSC +# +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocPE['ALGORITHME'] = SIMP(statut='f', typ='TXM', defaut="GMRES", into=("CG", "CR", "GMRES", "GCR", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocGC['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_INC", into=("LDLT_INC", "LDLT_SP", ), ) + _BlocPE['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_SP" , + into=("LDLT_INC", "LDLT_SP", "JACOBI", "SOR", "ML", "BOOMER", "SANS", ), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocGC['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) + _BlocPE['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocGC['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) + _BlocPE['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- +# Mot-cle cache pour desactiver le critere en norme non preconditionnee dans PETSC + + if _type == 'NL': + _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= -1.0, ) + else: + _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= 0.0, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocGC_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) + _BlocPE_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocGC_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) + _BlocPE_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocPE_INC['REMPLISSAGE'] = SIMP(statut='f', typ='R', defaut= 1.0, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocXX_SP['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) + _BlocXX_SP['REAC_PRECOND'] = SIMP(statut='f', typ='I', defaut=30, ) + _BlocXX_SP['PCENT_PIVOT' ] = SIMP(statut='f', typ='I', defaut=20, val_min=1, ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocPE_ML['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocPE_BOOMER['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) + +# ---------------------------------------------------------------------------------------------------------------------------------- + + _BlocXX_Autres['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS","RCMK", ), ) + + +# ---------------------------------------------------------------------------------------------------------------------------------- +# +# PREPARATION DU MOT-CLE FACTEUR +# +# ---------------------------------------------------------------------------------------------------------------------------------- + + mcfact = FACT(statut='d', + b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", + fr="Paramètres de la méthode multi frontale", + **_BlocMF + ), + b_ldlt = BLOC(condition = "METHODE == 'LDLT' ", + fr="Paramètres de la méthode LDLT", + **_BlocLD + ), + b_mumps = BLOC(condition = "METHODE == 'MUMPS' ", + fr="Paramètres de la méthode MUMPS", + **_BlocMU + ), + b_gcpc = BLOC(condition = "METHODE == 'GCPC' ", + fr="Paramètres de la méthode du gradient conjugué", + b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", + fr="Paramètres de la factorisation incomplète", + **_BlocGC_INC + ), + b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", + fr="Paramètres de la factorisation simple précision", + **_BlocXX_SP + ), + **_BlocGC + ), + b_petsc = BLOC(condition = "METHODE == 'PETSC' ", + fr="Paramètres de la méthode PETSC", + b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", + fr="Paramètres de la factorisation incomplète", + **_BlocPE_INC + ), + b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", + fr="Paramètres de la factorisation simple précision", + **_BlocXX_SP + ), + b_ml = BLOC(condition = "PRE_COND == 'ML' ", + fr="Paramètres du multigrille algébrique ML", + **_BlocPE_ML + ), + b_boomer = BLOC(condition = "PRE_COND == 'BOOMER' ", + fr="Paramètres du multigrille algébrique HYPRE", + **_BlocPE_BOOMER + ), + b_autres = BLOC(condition = "PRE_COND == 'JACOBI' or \ + PRE_COND == 'SOR' or \ + PRE_COND == 'SANS'", + **_BlocXX_Autres + ), + **_BlocPE + ), + **_MotCleSimples + ) + + return mcfact + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr + +def C_SUIVI_DDL() : return FACT(statut='f',max=4, + + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + into=("DEPL","VITE","ACCE", + "FORC_NODA", + "SIEF_ELGA","VARI_ELGA",)), + + EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), + + NOM_CMP =SIMP(statut='o',typ='TXM',max=20), + EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("VALE","FORMULE",),), + + b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", + FORMULE = SIMP(statut='o',typ=formule,max=1), + ), + + b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ + (NOM_CHAM=='VITE') or \ + (NOM_CHAM=='ACCE') or \ + (NOM_CHAM=='FORC_NODA') or \ + (NOM_CHAM=='VALE_CONT')", + regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), + TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + + b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ + (NOM_CHAM=='VARI_ELGA')", + regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), + TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', + into=("MIN","MAX","VALE",),), + b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", + POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), + SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + ), + ), + + TITRE = SIMP(statut='f',typ='TXM',max=3), + + + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def C_TEST_REFERENCE(keyword, max=1): #COMMUN# + """Mots-clés communs pour TEST_RESU, TEST_TABLE, TEST_FONCTION. + On retourne un bloc pour ajouter la règle UN_PARMI.""" + assert keyword in ('CHAM_NO', 'CHAM_ELEM', 'CARTE', 'RESU', 'GENE', 'OBJET', + 'TABLE', 'FONCTION', 'FICHIER') + with_int = keyword not in ('FONCTION', 'FICHIER') + with_complex = keyword not in ('OBJET', 'FICHIER') + with_string = keyword in ('FICHIER', 'TABLE') + vale_abs = keyword not in ('CARTE', 'FICHIER') + type_test = keyword not in ('CARTE', 'GENE', 'OBJET') + multi_prec = keyword in ('RESU', 'GENE') + reference = keyword not in ('FICHIER', ) + un_parmi = keyword not in ('FICHIER', ) + + opts = {} + opts_ref = {} + types = ['',] + def add_type(typ): + ttyp = typ == 'K' and 'TXM' or typ + types.append('_' + typ) + opts['VALE_CALC_' + typ] = SIMP(statut='f',typ=ttyp,max=max) + opts_ref['VALE_REFE_' + typ] = SIMP(statut='f',typ=ttyp,max=max) + if with_int: + add_type('I') + if with_complex: + add_type('C') + if with_string: + add_type('K') + if vale_abs: + opts['VALE_ABS'] = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")) + if type_test: + opts['TYPE_TEST'] = SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")) + if not multi_prec: + opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',defaut=1.e-6) + opts['CRITERE'] = SIMP(statut='f',typ='TXM',defaut='RELATIF',into=("RELATIF","ABSOLU")) + else: + opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',max=2) + opts['CRITERE'] = SIMP(statut='f',typ='TXM',max=2,into=("RELATIF","ABSOLU")) + if un_parmi: + opts['regles'] = (UN_PARMI(*['VALE_CALC' + t for t in types])) + opts_ref['regles'] = (UN_PARMI(*['VALE_REFE' + t for t in types])) + if reference: + opts['b_reference'] = BLOC(condition = "REFERENCE != None", + VALE_REFE = SIMP(statut='f',typ='R',max=max), + PRECISION = SIMP(statut='f',typ='R',defaut=1.e-3), + **opts_ref) + opts['REFERENCE'] = SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER","NON_DEFINI")) + kwargs = { + 'b_values' : BLOC(condition = "True", + VALE_CALC = SIMP(statut='f',typ='R',max=max), + LEGENDE = SIMP(statut='f',typ='TXM'), + **opts + ) + } + return kwargs + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: gerald.nicolas at edf.fr +# +# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM +def C_TYPE_CHAM_INTO( type_cham=None ) : #COMMUN# +# Si aucun argument n'est passe, on utilise tous les types de champs possibles + if ( type_cham is None ) : + l_cham = ["ELEM", "ELNO", "ELGA", "CART", "NOEU"] +# Sinon, on n'utilise que les types passes en argument + else : + l_cham = [] + for typ in type_cham : + l_cham.append(typ) + + l = [] + for gd in C_NOM_GRANDEUR() : + if gd != "VARI_R" : + for typ in l_cham : + l.append(typ+"_"+gd) + else : + # il ne peut pas exister NOEU_VARI_R ni CART_VARI_R (il faut utiliser VAR2_R): + for typ in l_cham : + if typ not in ("CART", "NOEU") : + l.append(typ+"_"+gd) + + return tuple(l) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# 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 caracteristiques a des elements de structure", + reentrant='n', + UIinfo ={"groupes":("Modélisation",)}, + regles = (AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', + 'GRILLE','MEMBRANE','MULTIFIBRE','RIGI_PARASOL'), + PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'), + EXCLUS('DISCRET','DISCRET_2D'),), + MODELE = SIMP(statut='o',typ=modele_sdaster ), + INFO = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), + VERIF = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ), + +# ============================================================================ + POUTRE = FACT(statut= 'f',max= '**', + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'), + GROUP_MA = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), + SECTION = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), + b_generale = BLOC(condition = " SECTION == 'GENERALE'", + VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), + b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", + regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), + PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), + TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), + NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), + CARA = SIMP(statut= 'f',typ= 'TXM',validators= NoRepeat(),min= 4 ,max= 15, + fr= "A,IY,IZ,JX sont des paramètres obligatoires", + into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", + "JG","IYR2","IZR2","AI") ), + VALE = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), ), + b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 8 ,max= 30, + fr= "A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires", + into= ("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", + "RZ1","RT1","JG1","IYR21","IZR21","AI1", + "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", + "RZ2","RT2","JG2","IYR22","IZR22","AI2") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 8 ,max= 30),), + ), + b_rectangle = BLOC(condition = "SECTION == 'RECTANGLE'", + VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), + b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 4, + into= ("H","EP", "HY","HZ","EPY","EPZ") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), ), + b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 8, + into= ("H1","HZ1","HY1","EP1","EPY1","EPZ1", + "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 8), ), + b_affine = BLOC(condition = "VARI_SECT == 'AFFINE'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 3 ,max= 6, + into= ("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 3 ,max= 6), ), + ), + b_cercle = BLOC(condition = " SECTION == 'CERCLE'", + VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), + b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 2, + fr= "R est un paramètre obligatoire", + into= ("R","EP") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 2), ), + b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", + CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 4, + fr= "R1, R2 sont des paramètres obligatoires", + into= ("R1","R2","EP1","EP2") ), + VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 4), ), + MODI_METRIQUE = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), + FCX = SIMP(statut= 'f',typ= (fonction_sdaster,nappe_sdaster,formule) ), + TUYAU_NSEC = SIMP(statut= 'f',typ= 'I',val_max= 32,defaut= 16), + TUYAU_NCOU = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), + ), + ), + +# ============================================================================ + BARRE = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SECTION = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), + b_generale = BLOC(condition = "SECTION=='GENERALE'", + regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), + PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), + TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), + NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), + CARA = SIMP(statut='f',typ='TXM',into=("A",) ), + VALE = SIMP(statut='f',typ='R',min=1,max=1 ), ), + b_rectangle = BLOC(condition = "SECTION=='RECTANGLE'", + CARA = SIMP(statut='o',typ='TXM', + into=("H","EP","HZ","HY","EPY","EPZ"), + validators=NoRepeat(),min=1,max=4 ), + VALE = SIMP(statut='o',typ='R',min=1,max=4 ), ), + b_cercle = BLOC(condition = "SECTION=='CERCLE'", + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ), + VALE = SIMP(statut='o',typ='R',min=1,max=2 ), ), + FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + +# ============================================================================ + COQUE = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA' ), + EXCLUS('ANGL_REP','VECTEUR'), + PRESENT_PRESENT( 'EXCENTREMENT', 'INER_ROTA' ), + PRESENT_PRESENT( 'EXCENTREMENT_FO','INER_ROTA' ), + UN_PARMI('EPAIS','EPAIS_FO' ), + EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + EPAIS = SIMP(statut='f',typ='R' ), + EPAIS_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ANGL_REP = SIMP(statut='f',typ='R',min=2,max=2), + VECTEUR = SIMP(statut='f',typ='R',min=3,max=3), + A_CIS = SIMP(statut='f',typ='R',defaut= 0.8333333E0), + COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-5 ), + COQUE_NCOU = SIMP(statut='f',typ='I',defaut= 1 ), + EXCENTREMENT = SIMP(statut='f',typ='R' ), + EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + INER_ROTA = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MODI_METRIQUE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + +# ============================================================================ + CABLE = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + N_INIT = SIMP(statut='f',typ='R',defaut= 5000. ), + SECTION = SIMP(statut='f',typ='R' ), + FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + +# ============================================================================ + DISCRET = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + b_SYME_OUI = BLOC(condition="SYME=='OUI'", + fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE + b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", + fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", + fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", + fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", + fr="SEGMENT: 6 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", + fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", + fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=21,max=21),), + b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", + fr="NOEUD: 21 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=21,max=21),), + b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", + fr="SEGMENT: 78 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=78,max=78),), + # Affection des caractéristiques de MASSE + b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", + fr="NOEUD: 1 valeur de masse", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", + fr="SEGMENT: 1 valeur de masse", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", + fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentrement", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=10,max=10),), + b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", + fr="SEGMENT: 1 valeur de masse, 3 valeurs du tenseur d'inertie", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=4,max=4),), + ), + # éléments à matrice non-symétrique + # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' + # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' + # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' + # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' + b_SYME_NON = BLOC(condition="SYME=='NON'", + fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE + b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", + fr="NOEUD: 9 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=9 ,max=9 ),), + b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", + fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=36,max=36),), + b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", + fr="NOEUD: 36 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=36,max=36),), + b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", + fr="SEGMENT: 144 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=144,max=144),), + ), + ), +# ============================================================================ + DISCRET_2D = FACT(statut='f',max='**', + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST = SIMP(statut='f',typ='R' ), + SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + b_SYME_OUI = BLOC(condition="SYME=='OUI'", + fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE + b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", + fr="NOEUD: 2 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", + fr="SEGMENT: 2 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", + fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", + fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", + fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", + fr="SEGMENT: 10 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=10,max=10),), + b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", + fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=6 ,max=6),), + b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", + fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=21,max=21),), + # Affection des caractéristiques de MASSE + b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", + fr="NOEUD: 1 valeur de masse", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", + fr="SEGMENT: 1 valeur de masse", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", + fr="NOEUD: 1 valeur de masse, 1 valeur d'inertie, 2 composantes du vecteur d'excentrement", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), + b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", + fr="SEGMENT: 1 valeur de masse, 1 valeur d'inertie", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), + ), + # éléments à matrice non-symétrique + # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' + # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' + # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' + # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' + b_SYME_NON = BLOC(condition="SYME=='NON'", + fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", + into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), + # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE + b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", + fr="NOEUD: 4 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), + b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", + fr="SEGMENT: 16 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=16,max=16),), + b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", + fr="NOEUD: 9 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=9 ,max=9),), + b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", + fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + VALE = SIMP(statut='o',typ='R',min=36,max=36),), + ), + ), +# ============================================================================ + ORIENTATION = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + CARA = SIMP(statut='o',typ='TXM', + into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ), + VALE = SIMP(statut='o',typ='R',max='**'), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-4 ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + +# ============================================================================ + DEFI_ARC = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE', + 'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'), + PRESENT_PRESENT('ORIE_ARC','RAYON'), + EXCLUS('COEF_FLEX','COEF_FLEX_XY'), + EXCLUS('COEF_FLEX','COEF_FLEX_XZ'), + EXCLUS('INDI_SIGM','INDI_SIGM_XY'), + EXCLUS('INDI_SIGM','INDI_SIGM_XZ'), + PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'), + PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ORIE_ARC = SIMP(statut='f',typ='R'), + CENTRE = SIMP(statut='f',typ='R',max='**'), + NOEUD_CENTRE = SIMP(statut='f',typ=no), + GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), + POIN_TANG = SIMP(statut='f',typ='R',max='**'), + NOEUD_POIN_TANG = SIMP(statut='f',typ=no), + GROUP_NO_POIN_TG = SIMP(statut='f',typ=grno), + RAYON = SIMP(statut='f',typ='R'), + COEF_FLEX = SIMP(statut='f',typ='R'), + INDI_SIGM = SIMP(statut='f',typ='R'), + COEF_FLEX_XY = SIMP(statut='f',typ='R'), + INDI_SIGM_XY = SIMP(statut='f',typ='R'), + COEF_FLEX_XZ = SIMP(statut='f',typ='R'), + INDI_SIGM_XZ = SIMP(statut='f',typ='R'), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + +#============================================================================ + MASSIF = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'), + EXCLUS('ANGL_REP','ANGL_EULER'), + EXCLUS('ANGL_REP','ANGL_AXE'), + EXCLUS('ANGL_REP','ORIG_AXE'), + PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ANGL_REP = SIMP(statut='f',typ='R',max=3), + ANGL_EULER = SIMP(statut='f',typ='R',min=3,max=3), + ANGL_AXE = SIMP(statut='f',typ='R',max=2), + ORIG_AXE = SIMP(statut='f',typ='R',max=3), + ), + +# ============================================================================ + POUTRE_FLUI = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + B_T = SIMP(statut='o',typ='R'), + B_N = SIMP(statut='o',typ='R'), + B_TN = SIMP(statut='o',typ='R',defaut= 0.E+0 ), + A_FLUI = SIMP(statut='o',typ='R'), + A_CELL = SIMP(statut='o',typ='R'), + COEF_ECHELLE = SIMP(statut='o',typ='R'), + ), + +# ============================================================================ + GRILLE = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'), + EXCLUS('ANGL_REP','AXE'), + UN_PARMI('SECTION','SECTION_FO' ), + EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'), ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SECTION = SIMP(statut='f',typ='R'), + SECTION_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ANGL_REP = SIMP(statut='f',typ='R',max=2), + EXCENTREMENT = SIMP(statut='f',typ='R'), + EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + AXE = SIMP(statut='f',typ='R',max='**'), + COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-10 ), + ), + +# ============================================================================ + MEMBRANE = FACT(statut='f',max='**', + regles = (UN_PARMI('MAILLE','GROUP_MA'), + EXCLUS('ANGL_REP','AXE'), + ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ANGL_REP = SIMP(statut='f',typ='R',max=2), + AXE = SIMP(statut='f',typ='R',max='**'), + ), + +#============================================================================ + RIGI_PARASOL = FACT(statut='f',max='**', + regles = (UN_PARMI('COEF_GROUP','FONC_GROUP'), + UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), + EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),), + GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', + fr="Surface servant à répartir les caractéristiques des discrets"), + GROUP_MA_POI1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, + fr="Mailles de type point correspondant aux discrets"), + GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, + fr="Mailles de type seg2 correspondant aux discrets"), + FONC_GROUP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_GROUP = SIMP(statut='f',typ='R',max='**'), + REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2, + into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", + "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"), + fr="Choix des types de discrets du tapis de ressorts." ), + b_cara= BLOC(condition =""" au_moins_un(CARA, ["K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", + "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"]) or \ + (len(CARA)==2 and CARA[0][2:]==CARA[1][2:])""", + fr="Valeurs pour les discrets du tapis de ressorts.", + VALE = SIMP(statut='o',typ='R',max='**', + fr="Valeurs pour les discrets du tapis de ressorts.",), + ), + GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), + NOEUD_CENTRE = SIMP(statut='f',typ=no), + COOR_CENTRE = SIMP(statut='f',typ='R',min=2,max=3), + EUROPLEXUS = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), + UNITE = SIMP(statut='f',typ='I',val_min=1), + ), + +#============================================================================ + RIGI_MISS_3D = FACT(statut='f',max='**', + GROUP_MA_POI1 = SIMP(statut='o',typ=grma,max=1), + GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,max=1), + FREQ_EXTR = SIMP(statut='o',typ='R',max=1), + UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=30), + ), + +#============================================================================ + MASS_AJOU = FACT(statut='f',max='**', + GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', + fr="Surface servant à répartir les caractéristiques des discrets"), + GROUP_MA_POI1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max=1, + fr="Mailles de type point correspondant aux discrets"), + FONC_GROUP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + +#============================================================================ + GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, + fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"), + + MULTIFIBRE = FACT(statut='f',max='**', + regles = (AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_FIBRE = SIMP(statut='o',typ='TXM',max='**'), + PREC_AIRE = SIMP(statut= 'f',typ= 'R',defaut= 0.01), + PREC_INERTIE = SIMP(statut= 'f',typ= 'R',defaut= 0.1), + ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# +AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, + fr="Affectation de charges et conditions aux limites acoustiques constantes", + reentrant='n', + UIinfo={"groupes":("Chargements","Acoustique",)}, + regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les pressions imposées", + into=('DUALISATION',),defaut='DUALISATION',), + # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement + PRES_IMPO =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + VITE_FACE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VNOR =SIMP(statut='o',typ='C' ), + ), + IMPE_FACE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + IMPE =SIMP(statut='o',typ='C' ), + ), + LIAISON_UNIF =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args): + if MECA_IMPO != None : return char_cine_meca + if THER_IMPO != None : return char_cine_ther + if ACOU_IMPO != None : return char_cine_acou + if EVOL_IMPO != None : + if AsType(EVOL_IMPO) in (evol_elas,evol_noli) : + return char_cine_meca + elif AsType(EVOL_IMPO) in (evol_ther,) : + return char_cine_ther + else : + raise AsException("Extension à faire ...") + + raise AsException("type de concept resultat non prevu") + + +AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod + ,fr="Affectation de conditions aux limites cinématiques (U=U0) pour un traitement sans dualisation", + reentrant='n', + UIinfo={"groupes":("Chargements","Mécanique",)}, + regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'), + ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + + MECA_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF', + 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', + 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + GRX =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + PRE1 =SIMP(statut='f',typ='R' ), + PRE2 =SIMP(statut='f',typ='R' ), + UI2 =SIMP(statut='f',typ='R' ), + UI3 =SIMP(statut='f',typ='R' ), + UI4 =SIMP(statut='f',typ='R' ), + UI5 =SIMP(statut='f',typ='R' ), + UI6 =SIMP(statut='f',typ='R' ), + UO2 =SIMP(statut='f',typ='R' ), + UO3 =SIMP(statut='f',typ='R' ), + UO4 =SIMP(statut='f',typ='R' ), + UO5 =SIMP(statut='f',typ='R' ), + UO6 =SIMP(statut='f',typ='R' ), + VI2 =SIMP(statut='f',typ='R' ), + VI3 =SIMP(statut='f',typ='R' ), + VI4 =SIMP(statut='f',typ='R' ), + VI5 =SIMP(statut='f',typ='R' ), + VI6 =SIMP(statut='f',typ='R' ), + VO2 =SIMP(statut='f',typ='R' ), + VO3 =SIMP(statut='f',typ='R' ), + VO4 =SIMP(statut='f',typ='R' ), + VO5 =SIMP(statut='f',typ='R' ), + VO6 =SIMP(statut='f',typ='R' ), + WI2 =SIMP(statut='f',typ='R' ), + WI3 =SIMP(statut='f',typ='R' ), + WI4 =SIMP(statut='f',typ='R' ), + WI5 =SIMP(statut='f',typ='R' ), + WI6 =SIMP(statut='f',typ='R' ), + WO2 =SIMP(statut='f',typ='R' ), + WO3 =SIMP(statut='f',typ='R' ), + WO4 =SIMP(statut='f',typ='R' ), + WO5 =SIMP(statut='f',typ='R' ), + WO6 =SIMP(statut='f',typ='R' ), + WO =SIMP(statut='f',typ='R' ), + WI1 =SIMP(statut='f',typ='R' ), + WO1 =SIMP(statut='f',typ='R' ), + GONF =SIMP(statut='f',typ='R' ), + H1X =SIMP(statut='f',typ='R' ), + H1Y =SIMP(statut='f',typ='R' ), + H1Z =SIMP(statut='f',typ='R' ), + E1X =SIMP(statut='f',typ='R' ), + E1Y =SIMP(statut='f',typ='R' ), + E1Z =SIMP(statut='f',typ='R' ), + E2X =SIMP(statut='f',typ='R' ), + E2Y =SIMP(statut='f',typ='R' ), + E2Z =SIMP(statut='f',typ='R' ), + E3X =SIMP(statut='f',typ='R' ), + E3Y =SIMP(statut='f',typ='R' ), + E3Z =SIMP(statut='f',typ='R' ), + E4X =SIMP(statut='f',typ='R' ), + E4Y =SIMP(statut='f',typ='R' ), + E4Z =SIMP(statut='f',typ='R' ), + V11 =SIMP(statut='f',typ='R' ), + V12 =SIMP(statut='f',typ='R' ), + V13 =SIMP(statut='f',typ='R' ), + V21 =SIMP(statut='f',typ='R' ), + V22 =SIMP(statut='f',typ='R' ), + V23 =SIMP(statut='f',typ='R' ), + V31 =SIMP(statut='f',typ='R' ), + V32 =SIMP(statut='f',typ='R' ), + V33 =SIMP(statut='f',typ='R' ), + PRES11 =SIMP(statut='f',typ='R' ), + PRES12 =SIMP(statut='f',typ='R' ), + PRES13 =SIMP(statut='f',typ='R' ), + PRES21 =SIMP(statut='f',typ='R' ), + PRES22 =SIMP(statut='f',typ='R' ), + PRES23 =SIMP(statut='f',typ='R' ), + PRES31 =SIMP(statut='f',typ='R' ), + PRES32 =SIMP(statut='f',typ='R' ), + PRES33 =SIMP(statut='f',typ='R' ), + LH1 =SIMP(statut='f',typ='R' ), + GLIS =SIMP(statut='f',typ='R' ), + ), + + THER_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TEMP =SIMP(statut='f',typ='R' ), + TEMP_MIL =SIMP(statut='f',typ='R' ), + TEMP_SUP =SIMP(statut='f',typ='R' ), + TEMP_INF =SIMP(statut='f',typ='R' ), + ), + + ACOU_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + + EVOL_IMPO =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer les ddls d'un evol_xxx"), + b_evol_impo = BLOC ( condition = "EVOL_IMPO != None", + NOM_CMP =SIMP(statut='f',typ='TXM',max='**',), # pour n'imposer que certaines CMPS (par défaut : toutes) + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args): + if MECA_IMPO != None : return char_cine_meca + if THER_IMPO != None : return char_cine_ther + raise AsException("type de concept resultat non prevu") + +AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_prod, + fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres" + +" pour un traitement sans dualisation", + reentrant='n', + UIinfo={"groupes":("Chargements","Mécanique",)}, + regles=(UN_PARMI('MECA_IMPO','THER_IMPO')), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + MECA_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF', + 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', + 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + UO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WI1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + WO1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V11 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V12 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V13 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V21 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V22 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V23 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V31 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V32 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + V33 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES11=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES12=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES13=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES21=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES22=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES23=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES31=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES32=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES33=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + LH1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + + ), + THER_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca, + fr="Affectation de charges et conditions aux limites mécaniques constantes", + reentrant='n', + UIinfo={"groupes":("Chargements","Mécanique",)}, + regles=(AU_MOINS_UN('EVOL_CHAR','PESANTEUR','ROTATION','DDL_IMPO','DDL_POUTRE','FACE_IMPO', + 'CHAMNO_IMPO','ARETE_IMPO', + 'LIAISON_DDL','LIAISON_OBLIQUE','LIAISON_GROUP','LIAISON_MAIL', + 'LIAISON_CYCL','LIAISON_SOLIDE','LIAISON_ELEM','LIAISON_UNIF', + 'LIAISON_CHAMNO','LIAISON_RBE3','LIAISON_INTERF', + 'VECT_ASSE', + 'FORCE_NODALE','FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', + 'PRE_SIGM','PRES_REP','EFFE_FOND','PRE_EPSI','FORCE_POUTRE','FORCE_TUYAU', + 'FORCE_COQUE','LIAISON_COQUE','RELA_CINE_BP','FORCE_ELEC','INTE_ELEC', + 'IMPE_FACE','VITE_FACE','ONDE_FLUI','FLUX_THM_REP','FORCE_SOL',), + ), + VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + EVOL_CHAR =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul", + typ=evol_char ), + + PESANTEUR =FACT(statut='f',max=1,fr="Champ de pesanteur", + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GRAVITE =SIMP(statut='o',typ='R',min=1,max=1), + DIRECTION =SIMP(statut='o',typ='R',min=3,max=3),), + + METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", + into=('DUALISATION',),defaut='DUALISATION',), + # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement + + ROTATION =FACT(statut='f', max=1, + fr="Définition d'un chargement de rotation", + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(), max='**'), + MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VITESSE =SIMP(statut='o', typ='R',min=1,max=1), + AXE =SIMP(statut='o', typ='R',min=2, max=3), + CENTRE =SIMP(statut='f',typ='R',min=2, max=3), + b_rotation_tout=BLOC(condition="(GROUP_MA == None) and (MAILLE ==None)", + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),),), + + DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON', + 'H1X','H1Y','H1Z','H2X','H2Y','H2Z','H3X','H3Y','H3Z','H4X','H4Y','H4Z', + 'E1X','E1Y','E1Z','E2X','E2Y','E2Z','E3X','E3Y','E3Z','E4X','E4Y','E4Z', + 'LAGS_C','LAGS_F1','LAGS_F2','LAG2_C','LAG2_F1','LAG2_F2','LAG3_C','LAG3_F1', + 'V11','V12','V13','V21','V22','V23','V31','V32','V33', + 'PRES11','PRES12','PRES13','PRES21','PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + GRX =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + PRE1 =SIMP(statut='f',typ='R' ), + PRE2 =SIMP(statut='f',typ='R' ), + UI2 =SIMP(statut='f',typ='R' ), + UI3 =SIMP(statut='f',typ='R' ), + UI4 =SIMP(statut='f',typ='R' ), + UI5 =SIMP(statut='f',typ='R' ), + UI6 =SIMP(statut='f',typ='R' ), + UO2 =SIMP(statut='f',typ='R' ), + UO3 =SIMP(statut='f',typ='R' ), + UO4 =SIMP(statut='f',typ='R' ), + UO5 =SIMP(statut='f',typ='R' ), + UO6 =SIMP(statut='f',typ='R' ), + VI2 =SIMP(statut='f',typ='R' ), + VI3 =SIMP(statut='f',typ='R' ), + VI4 =SIMP(statut='f',typ='R' ), + VI5 =SIMP(statut='f',typ='R' ), + VI6 =SIMP(statut='f',typ='R' ), + VO2 =SIMP(statut='f',typ='R' ), + VO3 =SIMP(statut='f',typ='R' ), + VO4 =SIMP(statut='f',typ='R' ), + VO5 =SIMP(statut='f',typ='R' ), + VO6 =SIMP(statut='f',typ='R' ), + WI2 =SIMP(statut='f',typ='R' ), + WI3 =SIMP(statut='f',typ='R' ), + WI4 =SIMP(statut='f',typ='R' ), + WI5 =SIMP(statut='f',typ='R' ), + WI6 =SIMP(statut='f',typ='R' ), + WO2 =SIMP(statut='f',typ='R' ), + WO3 =SIMP(statut='f',typ='R' ), + WO4 =SIMP(statut='f',typ='R' ), + WO5 =SIMP(statut='f',typ='R' ), + WO6 =SIMP(statut='f',typ='R' ), + WO =SIMP(statut='f',typ='R' ), + WI1 =SIMP(statut='f',typ='R' ), + WO1 =SIMP(statut='f',typ='R' ), + GONF =SIMP(statut='f',typ='R' ), + H1X =SIMP(statut='f',typ='R' ), + H1Y =SIMP(statut='f',typ='R' ), + H1Z =SIMP(statut='f',typ='R' ), + H2X =SIMP(statut='f',typ='R' ), + H2Y =SIMP(statut='f',typ='R' ), + H2Z =SIMP(statut='f',typ='R' ), + H3X =SIMP(statut='f',typ='R' ), + H3Y =SIMP(statut='f',typ='R' ), + H3Z =SIMP(statut='f',typ='R' ), + H4X =SIMP(statut='f',typ='R' ), + H4Y =SIMP(statut='f',typ='R' ), + H4Z =SIMP(statut='f',typ='R' ), + E1X =SIMP(statut='f',typ='R' ), + E1Y =SIMP(statut='f',typ='R' ), + E1Z =SIMP(statut='f',typ='R' ), + E2X =SIMP(statut='f',typ='R' ), + E2Y =SIMP(statut='f',typ='R' ), + E2Z =SIMP(statut='f',typ='R' ), + E3X =SIMP(statut='f',typ='R' ), + E3Y =SIMP(statut='f',typ='R' ), + E3Z =SIMP(statut='f',typ='R' ), + E4X =SIMP(statut='f',typ='R' ), + E4Y =SIMP(statut='f',typ='R' ), + E4Z =SIMP(statut='f',typ='R' ), + LAGS_C =SIMP(statut='f',typ='R' ), + LAGS_F1 =SIMP(statut='f',typ='R' ), + LAGS_F2 =SIMP(statut='f',typ='R' ), + LAG2_C =SIMP(statut='f',typ='R' ), + LAG2_F1 =SIMP(statut='f',typ='R' ), + LAG2_F2 =SIMP(statut='f',typ='R' ), + LAG3_C =SIMP(statut='f',typ='R' ), + LAG3_F1 =SIMP(statut='f',typ='R' ), + V11 =SIMP(statut='f',typ='R' ), + V12 =SIMP(statut='f',typ='R' ), + V13 =SIMP(statut='f',typ='R' ), + V21 =SIMP(statut='f',typ='R' ), + V22 =SIMP(statut='f',typ='R' ), + V23 =SIMP(statut='f',typ='R' ), + V31 =SIMP(statut='f',typ='R' ), + V32 =SIMP(statut='f',typ='R' ), + V33 =SIMP(statut='f',typ='R' ), + PRES11 =SIMP(statut='f',typ='R' ), + PRES12 =SIMP(statut='f',typ='R' ), + PRES13 =SIMP(statut='f',typ='R' ), + PRES21 =SIMP(statut='f',typ='R' ), + PRES22 =SIMP(statut='f',typ='R' ), + PRES23 =SIMP(statut='f',typ='R' ), + PRES31 =SIMP(statut='f',typ='R' ), + PRES32 =SIMP(statut='f',typ='R' ), + PRES33 =SIMP(statut='f',typ='R' ), + LH1 =SIMP(statut='f',typ='R' ), + GLIS =SIMP(statut='f',typ='R' ), + ), + + + + DDL_POUTRE =FACT(statut='f',max='**', + fr="Bloque des DDLs dans un repère local d'une poutre", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'), + UN_PARMI('VECT_Y','ANGL_VRIL'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), +# définition du repère local + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R',), +# restriction sur les mailles servant à définir le repère local + GROUP_MA_REPE =SIMP(statut='f',typ=grma,), + MAILLE_REPE =SIMP(statut='f',typ=ma,), + ), + + + + FACE_IMPO =FACT(statut='f',max='**', + fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)", + regles=(UN_PARMI('GROUP_MA','MAILLE',), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','DNOR','DTAN'), + EXCLUS('DNOR','DX'), + EXCLUS('DNOR','DY'), + EXCLUS('DNOR','DZ'), + EXCLUS('DNOR','DRX'), + EXCLUS('DNOR','DRY'), + EXCLUS('DNOR','DRZ'), + EXCLUS('DTAN','DX'), + EXCLUS('DTAN','DY'), + EXCLUS('DTAN','DZ'), + EXCLUS('DTAN','DRX'), + EXCLUS('DTAN','DRY'), + EXCLUS('DTAN','DRZ'),), +# rajout d'un mot clé REPERE :/ LOCAL /GLOBAL + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + DNOR =SIMP(statut='f',typ='R' ), + DTAN =SIMP(statut='f',typ='R' ), + GRX =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + PRE1 =SIMP(statut='f',typ='R' ), + PRE2 =SIMP(statut='f',typ='R' ), + ), + + CHAMNO_IMPO =FACT(statut='f',max='**', + fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster", +# type de cham_no_sdaster CO() + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() + COEF_MULT =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + ARETE_IMPO =FACT(statut='f',max='**', + fr="Impose à tous les noeuds d'une arete des elements 3D une ou plusieurs valeurs de déplacement", + regles=(UN_PARMI('GROUP_MA','MAILLE',), + AU_MOINS_UN('DX','DY','DZ','DTAN','PRES','PHI','TEMP','PRE1','PRE2'), + EXCLUS('DTAN','DX'), + EXCLUS('DTAN','DY'), + EXCLUS('DTAN','DZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DTAN =SIMP(statut='f',typ='R' ), + PRE1 =SIMP(statut='f',typ='R' ), + PRE2 =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + ), + + LIAISON_DDL =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + ), + + LIAISON_OBLIQUE =FACT(statut='f',max='**', + fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante" + +" dans un repère oblique quelconque", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ANGL_NAUT =SIMP(statut='o',typ='R',max=3), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + ), + + LIAISON_GROUP =FACT(statut='f',max='**', + fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds", + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), + EXCLUS('GROUP_MA_1','GROUP_NO_2'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + DDL_1 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_1 =SIMP(statut='o',typ='R' ,max='**'), + DDL_2 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_2 =SIMP(statut='o',typ='R' ,max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + + LIAISON_MAIL =FACT(statut='f',max='**', + fr="Définit des relations linéaires permettant de recoller deux bords d'une structure", + regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), + AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL')), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + TYPE_RACCORD =SIMP(statut='o',typ='TXM',defaut="MASSIF",into=("MASSIF","COQUE","COQUE_MASSIF","MASSIF_COQUE",)), + + b_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'MASSIF'", + regles=( PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),), + TRAN =SIMP(statut='f',typ='R',max=3 ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), + CENTRE =SIMP(statut='f',typ='R',max=3 ), + DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + ), + b_COQUE_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'COQUE_MASSIF'", + EPAIS =SIMP(statut='o',typ='R'), + CHAM_NORMALE =SIMP(statut='o',typ=cham_no_sdaster), + ), + ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + LIAISON_CYCL =FACT(statut='f',max='**', + fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques", + regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'), + AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), + PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'), + ), + GROUP_MA_MAIT1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_MAIT2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TRAN =SIMP(statut='f',typ='R',max=3 ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), + CENTRE =SIMP(statut='f',typ='R',max=3 ), + COEF_MAIT1 =SIMP(statut='f',typ='R',max=1 ), + COEF_MAIT2 =SIMP(statut='f',typ='R',max=1 ), + COEF_ESCL =SIMP(statut='f',typ='R',max=1 ), + DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + ), + + + LIAISON_SOLIDE =FACT(statut='f',max='**', + fr="Modélise une partie indéformable d'une structure." + +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + TRAN =SIMP(statut='f',typ='R',max=3 ), + DIST_MIN =SIMP(statut='f',typ='R'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + LIAISON_ELEM =FACT(statut='f',max='**', + fr="Modélise le raccord : d'une partie massive 3D avec une poutre ou avec un tuyau, d'une coque" + +" avec une poutre ou avec un tuyau, d'une plaque avec une poutre", + regles =(UN_PARMI('GROUP_MA_1','MAILLE_1'), UN_PARMI('GROUP_NO_2','NOEUD_2'),), + OPTION =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","2D_POU","COQ_POU","COQ_TUYAU","PLAQ_POUT_ORTH") ), + + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + b_plaq_pout_orth =BLOC( condition = "OPTION == 'PLAQ_POUT_ORTH'", + VERIF_EXCENT =SIMP(statut='o',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + b_cara_pout =BLOC( condition = "OPTION == 'COQ_POU' or OPTION == '3D_TUYAU' or OPTION == 'COQ_TUYAU'", + CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), + AXE_POUTRE =SIMP(statut='o',typ='R',max=3), + ), + + + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ), + + ), + + LIAISON_UNIF =FACT(statut='f',max='**', + fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), + + LIAISON_CHAMNO =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO", +# type de cham_no_sdaster CO() + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() + COEF_IMPO =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + LIAISON_RBE3 =FACT(statut='f',max='**', + fr="""Modélise des relations linéaires de type RBE3 entre + les degrés de liberté d'un noeud maître et des noeuds esclaves.""", + regles =(UN_PARMI('GROUP_NO_MAIT','NOEUD_MAIT'), UN_PARMI('GROUP_NO_ESCL','NOEUD_ESCL'),), + GROUP_NO_MAIT =SIMP(statut='f',typ=grno,max=1), + NOEUD_MAIT =SIMP(statut='f',typ=no ,max=1), + DDL_MAIT =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=6,into=('DX','DY','DZ','DRX','DRY','DRZ')), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),min=1,max='**'), + DDL_ESCL =SIMP(statut='o',typ='TXM',min=1,max='**'), + COEF_ESCL =SIMP(statut='f',typ='R',min=1,max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + LIAISON_INTERF =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre les DDLs d'interface à partir d'un MACRELEM", + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna), + TYPE_LIAISON =SIMP(statut='f',typ='TXM',defaut="RIGIDE",into=("RIGIDE","SOUPLE") ), + ), + +# SIMP(statut='f',typ='TXM',defaut="NON" ), + + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster ), +# +# FORCES +# + FORCE_NODALE =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**', + regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + ), + + FORCE_FACE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur une face d'élément volumique", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_ARETE =FACT(statut='f',max='**', + fr="Applique des forces linéiques à une arete d'élément volumique ou de coque", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_CONTOUR =FACT(statut='f',max='**', + fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_INTERNE =FACT(statut='f',max='**', + fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + ), + + PRE_SIGM =FACT(statut='f',max='**', + fr="Applique des contraintes volumiques (2D ou 3D) à un domaine volumique", + #INST =SIMP(statut='f',typ='R' ), + SIGM =SIMP(statut='o',typ=(cham_elem,carte_sdaster)), + ), + + PRES_REP =FACT(statut='f',max='**', + fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), + AU_MOINS_UN('PRES','CISA_2D' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), + PRES =SIMP(statut='f',typ='R' ), + CISA_2D =SIMP(statut='f',typ='R' ), + ), + + EFFE_FOND =FACT(statut='f',max='**', + fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='R' ), + ), + + PRE_EPSI =FACT(statut='f',max='**', + fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX', + 'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + EPXX =SIMP(statut='f',typ='R' ), + EPYY =SIMP(statut='f',typ='R' ), + EPZZ =SIMP(statut='f',typ='R' ), + EPXY =SIMP(statut='f',typ='R' ), + EPXZ =SIMP(statut='f',typ='R' ), + EPYZ =SIMP(statut='f',typ='R' ), + EPX =SIMP(statut='f',typ='R' ), + KY =SIMP(statut='f',typ='R' ), + KZ =SIMP(statut='f',typ='R' ), + EXX =SIMP(statut='f',typ='R' ), + EYY =SIMP(statut='f',typ='R' ), + EXY =SIMP(statut='f',typ='R' ), + KXX =SIMP(statut='f',typ='R' ), + KYY =SIMP(statut='f',typ='R' ), + KXY =SIMP(statut='f',typ='R' ), + ), + + FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ), +# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL + b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", + regles=( + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + N =SIMP(statut='f',typ='R' ), + VY =SIMP(statut='f',typ='R' ), + VZ =SIMP(statut='f',typ='R' ), + MT =SIMP(statut='f',typ='R' ), + MFY =SIMP(statut='f',typ='R' ), + MFZ =SIMP(statut='f',typ='R' ), + ), + b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", + regles=( + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), + PRESENT_ABSENT('FX','N','VY','VZ',), + PRESENT_ABSENT('FY','N','VY','VZ',), + PRESENT_ABSENT('FZ','N','VY','VZ',), + PRESENT_ABSENT('N','FX','FY','FZ',), + PRESENT_ABSENT('VY','FX','FY','FZ',), + PRESENT_ABSENT('VZ','FX','FY','FZ',),), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + ), + + FORCE_TUYAU =FACT(statut='f',max='**', + fr="Applique une pression sur des éléments TUYAU", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='f',typ='R' ), + ), + + FORCE_COQUE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur des éléments de types coques", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), +# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + + F1 =SIMP(statut='f',typ='R' ), + F2 =SIMP(statut='f',typ='R' ), + F3 =SIMP(statut='f',typ='R' ), + MF1 =SIMP(statut='f',typ='R' ), + MF2 =SIMP(statut='f',typ='R' ), + + PRES =SIMP(statut='f',typ='R' ), + PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ), + ), + + LIAISON_COQUE =FACT(statut='f',max='**', + fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", + regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', + 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + RELA_CINE_BP =FACT(statut='f',max='**', + fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier" + +" la prise en compte des contraintes initiales dans les cables", + CABLE_BP =SIMP(statut='o',typ=cabl_precont ), + SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + DIST_MIN =SIMP(statut='f',typ='R'), + ), + + FORCE_ELEC =FACT(statut='f',max='**', + fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" + +" secondaire droit", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ), + b_fxyz =BLOC ( condition = "POSITION == None", + FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FY =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_para =BLOC ( condition = "POSITION == 'PARA'", + regles=(UN_PARMI('TRANS','DIST'),), + TRANS =SIMP(statut='f',typ='R',max=3), + DIST =SIMP(statut='f',typ='R' ), + b_point2 =BLOC ( condition = "DIST != None", + POINT2 =SIMP(statut='o',typ='R',max=3), + ), + ), + b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')", + POINT1 =SIMP(statut='o',typ='R',max=3), + POINT2 =SIMP(statut='o',typ='R',max=3), + ), + ), + + + + + INTE_ELEC =FACT(statut='f',max='**', + fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" + +" secondaire non nécessairement droit", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'), + EXCLUS('TRANS','SYME'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + TRANS =SIMP(statut='f',typ='R' ,max='**'), + SYME =SIMP(statut='f',typ='R' ,max='**'), + ), + + + IMPE_FACE =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + IMPE =SIMP(statut='o',typ='R' ), + ), + + VITE_FACE =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VNOR =SIMP(statut='o',typ='R' ), + ), + + + + ONDE_FLUI =FACT(statut='f',max='**', + fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='R' ), + ), + + FLUX_THM_REP =FACT(statut='f',max='**', + fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide" + +" (flux hydraulique)", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ='R' ), + FLUN_HYDR1 =SIMP(statut='f',typ='R' ), + FLUN_HYDR2 =SIMP(statut='f',typ='R' ), + ), + FORCE_SOL =FACT(statut='f',max=1, + fr="Définition des impédances et forces de sol temporelles", + regles=(UN_PARMI('GROUP_NO_INTERF','SUPER_MAILLE'), + AU_MOINS_UN('UNITE_RESU_MASS','UNITE_RESU_RIGI','UNITE_RESU_AMOR'),), + GROUP_NO_INTERF =SIMP(statut='f',typ=grno,), + SUPER_MAILLE =SIMP(statut='f',typ=ma,), + UNITE_RESU_MASS =SIMP(statut='f',typ='I', ), + UNITE_RESU_RIGI =SIMP(statut='f',typ='I', ), + UNITE_RESU_AMOR =SIMP(statut='f',typ='I', ), + UNITE_RESU_FORC =SIMP(statut='f',typ='I', ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, + fr="Affectation de charges et conditions aux limites mécaniques complexes", + reentrant='n', + UIinfo={"groupes":("Chargements","Mécanique",)}, + regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", + into=('DUALISATION',),defaut='DUALISATION',), + # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement + DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON','GLIS' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), + DX =SIMP(statut='f',typ='C' ), + DY =SIMP(statut='f',typ='C' ), + DZ =SIMP(statut='f',typ='C' ), + DRX =SIMP(statut='f',typ='C' ), + DRY =SIMP(statut='f',typ='C' ), + DRZ =SIMP(statut='f',typ='C' ), + GRX =SIMP(statut='f',typ='C' ), + PRES =SIMP(statut='f',typ='C' ), + PHI =SIMP(statut='f',typ='C' ), + GLIS =SIMP(statut='f',typ='C' ), + ), + FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), + PRESENT_ABSENT('FX','N','VY','VZ',), + PRESENT_ABSENT('FY','N','VY','VZ',), + PRESENT_ABSENT('FZ','N','VY','VZ',), + PRESENT_ABSENT('N','FX','FY','FZ',), + PRESENT_ABSENT('VY', 'FX','FY','FZ',), + PRESENT_ABSENT('VZ','FX','FY','FZ', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), + FX =SIMP(statut='f',typ='C' ), + FY =SIMP(statut='f',typ='C' ), + FZ =SIMP(statut='f',typ='C' ), + N =SIMP(statut='f',typ='C' ), + VY =SIMP(statut='f',typ='C' ), + VZ =SIMP(statut='f',typ='C' ), + ), + LIAISON_DDL =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD', ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), + COEF_IMPO =SIMP(statut='o',typ='C' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, + fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres", + reentrant='n', + UIinfo={"groupes":("Chargements","Mécanique",)}, + regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', + 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', + 'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE', + 'LIAISON_OBLIQUE','PRE_EPSI','LIAISON_GROUP','LIAISON_UNIF', + 'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU', + 'EFFE_FOND','FLUX_THM_REP',),), + VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + MODELE =SIMP(statut='o',typ=modele_sdaster), + METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", + into=('DUALISATION',),defaut='DUALISATION',), + # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement + + DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies" + +" par l'intermédiaire d'un concept fonction ", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','GONF','LIAISON','H1X', + 'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','GLIS'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + LAGS_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FACE_IMPO =FACT(statut='f',max='**', + fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)" + +" fournies par l'intérmédiaire d'un concept fonction", + regles=(UN_PARMI('GROUP_MA','MAILLE'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'), + EXCLUS('DNOR','DX'), + EXCLUS('DNOR','DY'), + EXCLUS('DNOR','DZ'), + EXCLUS('DNOR','DRX'), + EXCLUS('DNOR','DRY'), + EXCLUS('DNOR','DRZ'), + EXCLUS('DTAN','DX'), + EXCLUS('DTAN','DY'), + EXCLUS('DTAN','DZ'), + EXCLUS('DTAN','DRX'), + EXCLUS('DTAN','DRY'), + EXCLUS('DTAN','DRZ'),), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DNOR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DTAN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + LIAISON_DDL =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par" + +" l'intermediaire d'un concept de type fonction", + regles=(UN_PARMI('GROUP_NO','NOEUD'),UN_PARMI('COEF_MULT','COEF_MULT_FONC'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='f',typ='R',max='**'), + COEF_MULT_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + LIAISON_OBLIQUE =FACT(statut='f',max='**', + fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique" + +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ANGL_NAUT =SIMP(statut='o',typ='R',max=3), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + LIAISON_GROUP =FACT(statut='f',max='**', + fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par" + +" l'intermédiaire de concept fonction", + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), + EXCLUS('GROUP_MA_1','GROUP_NO_2'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DDL_1 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + + LIAISON_UNIF =FACT(statut='f',max='**', + fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), + + + LIAISON_SOLIDE =FACT(statut='f',max='**', + fr="Modélise une partie indéformable d'une structure." + +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + TRAN =SIMP(statut='f',typ='R',max=3 ), + DIST_MIN =SIMP(statut='f',typ='R'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + + + FORCE_NODALE =FACT(statut='f',max='**', + fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire" + +" d'un concept fonction", + regles=(UN_PARMI('GROUP_NO','NOEUD'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ANGL_NAUT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ), + ), + + FORCE_FACE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies" + +" par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + FORCE_ARETE =FACT(statut='f',max='**', + fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont" + +" fournies par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + FORCE_CONTOUR =FACT(statut='f',max='**', + fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes" + +" sont fournies par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FORCE_INTERNE =FACT(statut='f',max='**', + fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies" + +" par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + PRES_REP =FACT(statut='f',max='**', + fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les" + +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), + AU_MOINS_UN('PRES','CISA_2D'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + EFFE_FOND =FACT(statut='f',max='**', + fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise" + +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + PRE_EPSI =FACT(statut='f',max='**', + fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes" + +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + EPXX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPZZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par" + +" l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + + ), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), + # moment interdit avec VENT + b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", + regles=( + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), + PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MFY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MFZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", + regles=( + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), + PRESENT_ABSENT('FX','N','VY','VZ',), + PRESENT_ABSENT('FY','N','VY','VZ',), + PRESENT_ABSENT('FZ','N','VY','VZ',), + PRESENT_ABSENT('N','FX','FY','FZ',), + PRESENT_ABSENT('VY','FX','FY','FZ',), + PRESENT_ABSENT('VZ','FX','FY','FZ',),), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + ), + + FORCE_TUYAU =FACT(statut='f',max='**', + fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FORCE_COQUE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par" + +" l'intermédiaires d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MF1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MF2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL", + into=("SUP","INF","MOY","MAIL") ), + ), + + LIAISON_COQUE =FACT(statut='f',max='**', + fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", + regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', + 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), + ), + + + VITE_FACE =FACT(statut='f',max='**', + fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par" + +" l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + IMPE_FACE =FACT(statut='f',max='**', + fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire" + +" d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + ONDE_PLANE =FACT(statut='f',max=1, + fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire" + +" d'un concept fonction", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','MAILLE'),), + DIRECTION =SIMP(statut='o',typ='R',min=3, max=3), + TYPE_ONDE =SIMP(statut='o',typ='TXM', into=("S", "P", "SV", "SH",) ), + FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + + + + FLUX_THM_REP =FACT(statut='f',max='**', + fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)" + +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_HYDR1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_HYDR2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther + ,fr="Affectation de charges et conditions aux limites thermiques constantes", + reentrant='n', + UIinfo={"groupes":("Chargements","Thermique",)}, + regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE', + 'ECHANGE_PAROI','PRE_GRAD_TEMP','LIAISON_DDL','LIAISON_GROUP', + 'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les températures imposées", + into=('DUALISATION',),defaut='DUALISATION',), + # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement + + TEMP_IMPO =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TEMP =SIMP(statut='f',typ='R'), + TEMP_MIL =SIMP(statut='f',typ='R'), + TEMP_INF =SIMP(statut='f',typ='R'), + TEMP_SUP =SIMP(statut='f',typ='R'), ), + + FLUX_REP =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_PRESENT('CARA_TORSION','GROUP_MA'), + AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ='R'), + FLUN_INF =SIMP(statut='f',typ='R'), + FLUN_SUP =SIMP(statut='f',typ='R'), + CARA_TORSION =SIMP(statut='f',typ=table_sdaster), + ), + + + RAYONNEMENT =FACT(statut='f',max='**', + fr="Attention, exprimer les températures en Celsius si rayonnement", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SIGMA =SIMP(statut='o',typ='R'), + EPSILON =SIMP(statut='o',typ='R'), + TEMP_EXT =SIMP(statut='o',typ='R'), + ), + + ECHANGE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), + ENSEMBLE('COEF_H','TEMP_EXT',), + ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), + ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_H =SIMP(statut='f',typ='R'), + TEMP_EXT =SIMP(statut='f',typ='R'), + COEF_H_INF =SIMP(statut='f',typ='R'), + TEMP_EXT_INF =SIMP(statut='f',typ='R'), + COEF_H_SUP =SIMP(statut='f',typ='R'), + TEMP_EXT_SUP =SIMP(statut='f',typ='R'), + ), + + SOURCE =FACT(statut='f',max='**', + regles=(UN_PARMI('SOUR','SOUR_CALCULEE',), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SOUR =SIMP(statut='f',typ='R'), + SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem) ), + ), + + PRE_GRAD_TEMP =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUX_X =SIMP(statut='f',typ='R' ), + FLUX_Y =SIMP(statut='f',typ='R' ), + FLUX_Z =SIMP(statut='f',typ='R' ), + ), + + LIAISON_DDL =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD', ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**', + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + ), + + LIAISON_GROUP =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), + EXCLUS('GROUP_MA_1','GROUP_NO_2'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",) ), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max='**'), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + ), + + LIAISON_MAIL =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), + AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL', + 'NOEUD_ESCL'),), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TRAN =SIMP(statut='f',typ='R',max='**' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**' ), + CENTRE =SIMP(statut='f',typ='R',max='**' ), + ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + ECHANGE_PAROI =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), + UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), +# ---------------------- + b_paroi_maillee =BLOC( + condition = "FISSURE == None", + COEF_H =SIMP(statut='o',typ='R'), + TRAN =SIMP(statut='f',typ='R',min=2,max=3), + ), +# ---------------------- + b_xfem =BLOC( + condition = "FISSURE != None", + regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), + COEF_H =SIMP(statut='f',typ='R'), + TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + ), + + LIAISON_UNIF =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + ), + + LIAISON_CHAMNO =FACT(statut='f',max='**', + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno" + COEF_IMPO =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + CONVECTION =FACT(statut='f',max='**', + VITESSE =SIMP(statut='o',typ=(cham_no_sdaster) ), + ), + + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther, + fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)" + +" paramètres (temps, ...)", + reentrant='n', + UIinfo={"groupes":("Chargements","Thermique",)}, + regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','SOUR_NL','FLUX_REP','FLUX_NL','ECHANGE', + 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF', + 'PRE_GRAD_TEMP','RAYONNEMENT'),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + + TEMP_IMPO =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FLUX_REP =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FLUX_NL =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + + RAYONNEMENT =FACT(statut='f',max='**', + fr="Attention, exprimer les températures en Celsius si rayonnement", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SIGMA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPSILON =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + + + ECHANGE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), + ENSEMBLE('COEF_H','TEMP_EXT'), + ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), + ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_H_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_H_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + + SOURCE =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + SOUR_NL =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + PRE_GRAD_TEMP =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + ECHANGE_PAROI =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), + UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), +# ---------------------- + b_paroi_maillee =BLOC( + condition = "FISSURE == None", + COEF_H =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TRAN =SIMP(statut='f',typ='R',min=2,max=3), + ), +# ---------------------- + b_xfem =BLOC( + condition = "FISSURE != None", + regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), + COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + ), + + LIAISON_DDL =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + LIAISON_GROUP =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), + EXCLUS('GROUP_MA_1','GROUP_NO_2'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max='**'), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + ), + + LIAISON_UNIF =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='f',typ='TXM',defaut="TEMP", + into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), + ), + + CONVECTION =FACT(statut='f',max='**', + VITESSE =SIMP(statut='o',typ=cham_no_sdaster ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater, + fr="Affecter des matériaux à des zones géométriques d'un maillage", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + + # affectation du nom du matériau (par mailles): + # ---------------------------------------------- + AFFE =FACT(statut='o',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + MATER =SIMP(statut='o',typ=mater_sdaster,max=30), + ), + + # affectation de comportement (multifibres pour l'instant): + # ---------------------------------------------- + AFFE_COMPOR =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1), + ), + + # affectation des variables de commande : + # -------------------------------------------------- + # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : + LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", + "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), + + AFFE_VARC =FACT(statut='f',max='**', + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','TOUT'), + PRESENT_ABSENT('MAILLE','TOUT'), + # La règle suivante permet de donner VALE_REF sans donner EVOL ni CHAM_GD + # Elle est nécessaire pour la THM (voir doc U4.43.03) + # Mais on ne peut plus l'écrire depuis de VALE_REF est dans un bloc + # AU_MOINS_UN('EVOL','CHAM_GD','VALE_REF'), + EXCLUS('EVOL','CHAM_GD'), + ), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut] + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", + "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster,), + EVOL =SIMP(statut='f',typ=evol_sdaster,), + + B_EVOL =BLOC(condition="EVOL!=None", + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("TEMP","CORR","IRRA","NEUT","GEOM", + "HYDR_ELNO","HYDR_NOEU", + "META_ELNO","META_NOEU", + "EPSA_ELNO","EPSA_NOEU","PTOT","DIVU",)), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,formule)), + ), + + # VALE_REF est nécessaire pour certaines VARC : + B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP','SECH')", + VALE_REF =SIMP(statut='o',typ='R'), + ), + + ), + + # mots clés cachés pour les variables de commande NEUT1/NEUT2 : + # -------------------------------------------------------------- + VARC_NEUT1 =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT1"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")), + ), + VARC_NEUT2 =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT2"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")), + ), + + # mots clés cachés pour variable de commande TEMP : + # -------------------------------------------------- + VARC_TEMP =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="TEMP"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), + ), + + # mots clés cachés pour variable de commande GEOM : + # -------------------------------------------------- + VARC_GEOM =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="GEOM"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="GEOM_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), + ), + + # mots clés cachés pour variable de commande PTOT : + # ------------------------------------------------- + VARC_PTOT =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="PTOT"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="DEPL_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), + ), + + # mots clés cachés pour variable de commande SECH : + # -------------------------------------------------- + VARC_SECH =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="SECH"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)), + ), + + # mots clés cachés pour variable de commande HYDR : + # -------------------------------------------------- + VARC_HYDR =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="HYDR"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="HYDR_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), + ), + + # mots clés cachés pour variable de commande CORR : + # -------------------------------------------------- + VARC_CORR =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="CORR"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="CORR_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), + ), + + # mots clés cachés pour variable de commande IRRA : + # -------------------------------------------------- + VARC_IRRA =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="IRRA"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="IRRA_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), + ), + + # mots clés cachés pour variable de commande DIVU : + # -------------------------------------------------- + VARC_DIVU =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="DIVU"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), + ), + + # mots clés cachés pour variable de commande EPSA : + # -------------------------------------------------- + VARC_EPSA =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="EPSA"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPSAXX","EPSAYY","EPSAZZ","EPSAXY","EPSAXZ","EPSAYZ",)), + ), + # mots clés cachés pour variable de commande metallurgique ACIER : + # ----------------------------------------------------------------- + VARC_M_ACIER =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ACIER"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("V1","V2","V3","V4","V5","V6","V7")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("PFERRITE","PPERLITE","PBAINITE", + "PMARTENS","TAUSTE","TRANSF","TACIER",)), + ), + # mots clés cachés pour variable de commande metallurgique ZIRCALOY : + # -------------------------------------------------------------------- + VARC_M_ZIRC =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ZIRC"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("V1","V2","V3","V4")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("ALPHPUR","ALPHBETA","TZIRC","TEMPS")), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, + UIinfo={"groupes":("Modélisation",)}, + fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n', + regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + GRILLE =SIMP(statut='f',typ=grille_sdaster), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), +# +#==== +# Définition des grandeurs caractéristiques +#==== +# + GRANDEUR_CARA =FACT(statut='f',max=1, + fr="Grandeurs caractéristiques pour l'adimensionnement des indicateurs d'erreur HM", + ang="Characteristic data for HM error estimators adimensionalisation", +# + LONGUEUR =SIMP(statut='f',typ='R',val_min=0, + fr ="Longueur caractéristique", + ang="Characteristic length",), + PRESSION =SIMP(statut='f',typ='R',val_min=0, + fr ="Pression caractéristique", + ang="Characteristic pressure",), + TEMPERATURE =SIMP(statut='f',typ='R',val_min=0, + fr ="Température caractéristique", + ang="Characteristic temperature",),), +# + AFFE_SOUS_STRUC =FACT(statut='f', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), + ), + AFFE =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PHENOMENE =SIMP(statut='o',typ='TXM', + into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ), + b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", + fr="modélisations mécaniques", + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( + "2D_DIS_T", # RESP. : FLEJOU J.L.FLEJOU + "2D_DIS_TR", # RESP. : FLEJOU J.L.FLEJOU + "2D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA + "2D_FLUI_PESA", # RESP. : GREFFET N.GREFFET + "2D_FLUI_STRU", # RESP. : GREFFET N.GREFFET + "2D_FLUIDE", # RESP. : GREFFET N.GREFFET + "3D", # RESP. : DESROCHES X.DESROCHES + "3D_ABSO", # RESP. : DEVESA G.DEVESA + "3D_FAISCEAU", # RESP. : VOLDOIRE F.VOLDOIRE + "3D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA + "3D_FLUIDE", # RESP. : GREFFET N.GREFFET + "3D_INCO", # RESP. : SFAYOLLE S.FAYOLLE + "3D_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE + "3D_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE + "3D_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE + "3D_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE + "3D_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE + "3D_SI", # RESP. : DESROCHES X.DESROCHES + "3D_GRAD_EPSI", # RESP. : MICHEL S.MICHEL + "3D_GRAD_VARI", # RESP. : MICHEL S.MICHEL + "3D_GVNO", # RESP. : BEAURAIN J.BEAURAIN + "3D_JOINT", # RESP. : LAVERNE J.LAVERNE + "3D_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE + "3D_INTERFACE", # RESP. : LAVERNE J.LAVERNE + "3D_INTERFACE_S", # RESP. : LAVERNE J.LAVERNE + "AXIS", # RESP. : LEFEBVRE J.P.LEFEBVRE + "AXIS_FLUI_STRU", # RESP. : GREFFET N.GREFFET + "AXIS_FLUIDE", # RESP. : GREFFET N.GREFFET + "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES + "AXIS_INCO", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE + "AXIS_SI", # RESP. : DESROCHES X.DESROCHES + "AXIS_GRAD_VARI", # RESP. : MICHEL S.MICHEL + "AXIS_GVNO", # RESP. : BEAURAIN J.BEAURAIN + "AXIS_JOINT", # RESP. : LAVERNE J.LAVERNE + "AXIS_INTERFACE", # RESP. : LAVERNE J.LAVERNE + "AXIS_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE + "AXIS_ELDI", # RESP. : LAVERNE J.LAVERNE + "BARRE", # RESP. : FLEJOU J.L.FLEJOU + "CABLE_GAINE", # RESP. : + "2D_BARRE", # RESP. : FLEJOU J.L.FLEJOU + "C_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE + "C_PLAN_SI", # RESP. : DESROCHES X.DESROCHES + "C_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL + "CABLE", # RESP. : FLEJOU J.L.FLEJOU + "CABLE_POULIE", # RESP. : None + "COQUE_3D", # RESP. : DESROCHES X.DESROCHES + "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES + "COQUE_C_PLAN", # RESP. : DESROCHES X.DESROCHES + "COQUE_D_PLAN", # RESP. : DESROCHES X.DESROCHES + "D_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE + "D_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL + "D_PLAN_GRAD_VARI",# RESP. : MICHEL S.MICHEL + "D_PLAN_GVNO", # RESP. : BEAURAIN J.BEAURAIN + "D_PLAN_GRAD_SIGM",# RESP. : GRANET S.GRANET + "PLAN_JOINT", # RESP. : LAVERNE J.LAVERNE + "PLAN_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE + "PLAN_INTERFACE", # RESP. : LAVERNE J.LAVERNE + "PLAN_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE + "PLAN_ELDI", # RESP. : LAVERNE J.LAVERNE + "D_PLAN_ABSO", # RESP. : DEVESA G.DEVESA + "D_PLAN_INCO", # RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_INCO_OSGS",# RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE + "D_PLAN_SI", # RESP. : DESROCHES X.DESROCHES + "DIS_T", # RESP. : FLEJOU J.L.FLEJOU + "DIS_TR", # RESP. : FLEJOU J.L.FLEJOU + "DKT", # RESP. : DESROCHES X.DESROCHES + "DKTG", # RESP. : MARKOVIC D.MARKOVIC + "DST", # RESP. : DESROCHES X.DESROCHES + "FLUI_STRU", # RESP. : GREFFET N.GREFFET + "GRILLE_EXCENTRE", # RESP. : ROSPARS C.ROSPARS + "GRILLE_MEMBRANE", # RESP. : ROSPARS C.ROSPARS + "MEMBRANE", # RESP. : ROSPARS C.ROSPARS + "POU_C_T", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_E", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_EM", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_T", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_T_GD", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_TG", # RESP. : FLEJOU J.L.FLEJOU + "POU_D_TGM", # RESP. : FLEJOU J.L.FLEJOU + "Q4G", # RESP. : DESROCHES X.DESROCHES + "Q4GG", # RESP. : DESROCHES X.DESROCHES + "TUYAU_3M", # RESP. : PROIX J.M.PROIX + "TUYAU_6M", # RESP. : PROIX J.M.PROIX + "SHB", # RESP. : DESROCHES X.DESROCHES + "D_PLAN_HHM", # RESP. : GRANET S.GRANET + "D_PLAN_HM", # RESP. : GRANET S.GRANET + "D_PLAN_HM_SI", # RESP. : GRANET S.GRANET + "D_PLAN_THM", # RESP. : GRANET S.GRANET + "D_PLAN_HHMD", # RESP. : GRANET S.GRANET + "D_PLAN_HH2MD", # RESP. : GRANET S.GRANET + "D_PLAN_HMD", # RESP. : GRANET S.GRANET + "D_PLAN_THHD", # RESP. : GRANET S.GRANET + "D_PLAN_THH2D", # RESP. : GRANET S.GRANET + "D_PLAN_THVD", # RESP. : GRANET S.GRANET + "D_PLAN_THH2MD", # RESP. : GRANET S.GRANET + "D_PLAN_THHMD", # RESP. : GRANET S.GRANET + "D_PLAN_THMD", # RESP. : GRANET S.GRANET + "D_PLAN_HHMS", # RESP. : GRANET S.GRANET + "D_PLAN_HH2MS", # RESP. : GRANET S.GRANET + "D_PLAN_HMS", # RESP. : GRANET S.GRANET + "D_PLAN_THHS", # RESP. : GRANET S.GRANET + "D_PLAN_THH2S", # RESP. : GRANET S.GRANET + "D_PLAN_THVS", # RESP. : GRANET S.GRANET + "D_PLAN_THH2MS", # RESP. : GRANET S.GRANET + "D_PLAN_THHMS", # RESP. : GRANET S.GRANET + "D_PLAN_THMS", # RESP. : GRANET S.GRANET + "D_PLAN_HM_P", # RESP. : GRANET S.GRANET + "D_PLAN_HS", # RESP. : GRANET S.GRANET + "D_PLAN_HHD", # RESP. : GRANET S.GRANET + "D_PLAN_HHS", # RESP. : GRANET S.GRANET + "D_PLAN_HH2D", # RESP. : GRANET S.GRANET + "D_PLAN_HH2S", # RESP. : GRANET S.GRANET + "D_PLAN_2DG", # RESP. : GRANET S.GRANET + "D_PLAN_DIL", # RESP. : GRANET S.GRANET + "3D_DIL", # RESP. : GRANET S.GRANET + "AXIS_THM", # RESP. : GRANET S.GRANET + "AXIS_HHM", # RESP. : GRANET S.GRANET + "AXIS_HM", # RESP. : GRANET S.GRANET + "AXIS_HH2MD", # RESP. : GRANET S.GRANET + "AXIS_HHMD", # RESP. : GRANET S.GRANET + "AXIS_HMD", # RESP. : GRANET S.GRANET + "AXIS_THHD", # RESP. : GRANET S.GRANET + "AXIS_THH2D", # RESP. : GRANET S.GRANET + "AXIS_THVD", # RESP. : GRANET S.GRANET + "AXIS_THHMD", # RESP. : GRANET S.GRANET + "AXIS_THH2MD", # RESP. : GRANET S.GRANET + "AXIS_THMD", # RESP. : GRANET S.GRANET + "AXIS_HH2MS", # RESP. : GRANET S.GRANET + "AXIS_HHMS", # RESP. : GRANET S.GRANET + "AXIS_HMS", # RESP. : GRANET S.GRANET + "AXIS_THHS", # RESP. : GRANET S.GRANET + "AXIS_THH2S", # RESP. : GRANET S.GRANET + "AXIS_THVS", # RESP. : GRANET S.GRANET + "AXIS_THHMS", # RESP. : GRANET S.GRANET + "AXIS_THH2MS", # RESP. : GRANET S.GRANET + "AXIS_THMS", # RESP. : GRANET S.GRANET + "AXIS_HHD", # RESP. : GRANET S.GRANET + "AXIS_HHS", # RESP. : GRANET S.GRANET + "AXIS_HH2D", # RESP. : GRANET S.GRANET + "AXIS_HH2S", # RESP. : GRANET S.GRANET + "3D_HHM" , # RESP. : GRANET S.GRANET + "3D_HM", # RESP. : GRANET S.GRANET + "3D_HM_SI", # RESP. : GRANET S.GRANET + "3D_THHM", # RESP. : GRANET S.GRANET + "3D_THM", # RESP. : GRANET S.GRANET + "3D_HHMD", # RESP. : GRANET S.GRANET + "3D_HMD", # RESP. : GRANET S.GRANET + "3D_THHD", # RESP. : GRANET S.GRANET + "3D_THVD", # RESP. : GRANET S.GRANET + "3D_THHMD", # RESP. : GRANET S.GRANET + "3D_THMD", # RESP. : GRANET S.GRANET + "3D_HHMS", # RESP. : GRANET S.GRANET + "3D_HMS", # RESP. : GRANET S.GRANET + "3D_THHS", # RESP. : GRANET S.GRANET + "3D_THVS", # RESP. : GRANET S.GRANET + "3D_THHMS", # RESP. : GRANET S.GRANET + "3D_THMS", # RESP. : GRANET S.GRANET + "3D_THH2MD", # RESP. : GRANET S.GRANET + "3D_THH2MS", # RESP. : GRANET S.GRANET + "3D_HH2MD", # RESP. : GRANET S.GRANET + "3D_HH2MS", # RESP. : GRANET S.GRANET + "3D_THH2S", # RESP. : GRANET S.GRANET + "3D_THH2D", # RESP. : GRANET S.GRANET + "3D_HS", # RESP. : GRANET S.GRANET + "3D_HHD", # RESP. : GRANET S.GRANET + "3D_HHS", # RESP. : GRANET S.GRANET + "3D_HH2D", # RESP. : GRANET S.GRANET + "3D_HH2S", # RESP. : GRANET S.GRANET + "VF1", # RESP. : GRANET S.GRANET + "3D_HH2SUDM", # RESP. : GRANET S.GRANET + "3D_HH2SUDA", # RESP. : GRANET S.GRANET + "3D_HH2SUC", # RESP. : GRANET S.GRANET + "D_PLAN_HH2SUDM", # RESP. : GRANET S.GRANET + "D_PLAN_HH2SUC", # RESP. : GRANET S.GRANET + "D_PLAN_HH2SUDA", # RESP. : GRANET S.GRANET + "PLAN_JHMS", + "AXIS_JHMS", + ) ) ), + + b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", + fr="modélisations thermiques", + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( + "3D", # RESP. : DURAND C.DURAND + "3D_DIAG", # RESP. : DURAND C.DURAND + "AXIS", # RESP. : DURAND C.DURAND + "AXIS_DIAG", # RESP. : DURAND C.DURAND + "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES + "COQUE", # RESP. : DESROCHES X.DESROCHES + "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES + "COQUE_PLAN", # RESP. : DESROCHES X.DESROCHES + "PLAN", # RESP. : DURAND C.DURAND + "PLAN_DIAG", # RESP. : DURAND C.DURAND + ),),), + + b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'", + fr="modélisations acoustiques", + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( + "3D", # RESP. : None + "PLAN" # RESP. : None + ), ),), + + ), + + PARTITION =FACT(statut='d', + PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", + into=("MAIL_CONTIGU","MAIL_DISPERSE","CENTRALISE","GROUP_ELEM")), + b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", + CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,val_max=100), + ), + ), + + VERI_JACOBIEN =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI', + fr ="Vérification de la forme des mailles (jacobiens tous de meme signe).",), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def appl_cine_matr_prod(MATR_ASSE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r + if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c + if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r + if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c + if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r + if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c + raise AsException("type de concept resultat non prevu") + +APPL_CINE_MATR=OPER(nom="APPL_CINE_MATR",op=158,sd_prod=appl_cine_matr_prod, + fr="Appliquer les C.L. cinématiques sur la matrice", + reentrant='f', UIinfo={"groupes":("Résolution",)}, + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, + matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +APPL_CINE_SCMB=OPER(nom="APPL_CINE_SCMB",op=159,sd_prod=cham_no_sdaster,reentrant='f', + fr="Application des C.L. cinématiques au second membre", + UIinfo={"groupes":("Résolution",)}, + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, + matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), + CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr + + +def asse_elem_ssd_prod(self,RESU_ASSE_SSD,**args): + MTYPES = { + 'MODELE' : modele_gene, + 'NUME_DDL_GENE' : nume_ddl_gene, + 'RIGI_GENE' : matr_asse_gene_r, + 'MASS_GENE' : matr_asse_gene_r, + } + for res in RESU_ASSE_SSD: + for mc, typ in MTYPES.items(): + if res[mc]: + self.type_sdprod(res[mc], typ) + return None + +ASSE_ELEM_SSD=MACRO(nom="ASSE_ELEM_SSD", + op=OPS('Macro.asse_elem_ssd_ops.asse_elem_ssd_ops'), + sd_prod=asse_elem_ssd_prod, + reentrant='n', + fr="Enchainer les commandes DEFI_MODELE_GENE, NUME_DDL_GENE et ASSE_MATR_GENE", + UIinfo={"groupes":("Matrices/vecteurs",)}, + +# pour les concepts de sortie + RESU_ASSE_SSD = FACT( statut='o', max=1, + regles=(PRESENT_PRESENT('RIGI_GENE','NUME_DDL_GENE'), + PRESENT_PRESENT('MASS_GENE','NUME_DDL_GENE'),), + MODELE=SIMP(statut='o',typ=CO,defaut=None), + NUME_DDL_GENE=SIMP(statut='f',typ=CO,defaut=None), + RIGI_GENE=SIMP(statut='f',typ=CO,defaut=None), + MASS_GENE=SIMP(statut='f',typ=CO,defaut=None), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + +# pour DEFI_MODELE_GENE + SOUS_STRUC =FACT(statut='o',max='**', + NOM =SIMP(statut='o',typ='TXM' ), + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + TRANS =SIMP(statut='f',typ='R',max=3), + ), + LIAISON =FACT(statut='o',max='**', + SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), + INTERFACE_1 =SIMP(statut='o',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), + INTERFACE_2 =SIMP(statut='o',typ='TXM' ), + regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), + EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), + GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), + ), + VERIF =FACT(statut='d',max=1, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + + +# pour NUME_DDL_GENE + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","ELIMINE") ), + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster, + fr="Assembler deux maillages pour en former un nouveau", + reentrant='n', + UIinfo={"groupes":("Maillage",)}, + MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,), + MAILLAGE_2 = SIMP(statut='o',typ=maillage_sdaster,), + OPERATION = SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),), + b_collage = BLOC(condition = "OPERATION == 'COLLAGE'", + COLLAGE = FACT(statut='o', + GROUP_MA_1 =SIMP(statut='o',typ=grma), + GROUP_MA_2 =SIMP(statut='o',typ=grma), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +def asse_matr_gene_prod(METHODE,**args): + if (METHODE=="INITIAL") : return matr_asse_gene_r + elif (args['OPTION']=="RIGI_GENE_C") : return matr_asse_gene_c + else : return matr_asse_gene_r + +ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod, + fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), + b_option =BLOC(condition = "METHODE == 'CLASSIQUE'", + OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","RIGI_GENE_C","MASS_GENE","AMOR_GENE") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def asse_matrice_prod(MATR_ELEM,**args): + if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r + if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c + if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r + if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c + raise AsException("type de concept resultat non prevu") + +ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, + fr="Construction d'une matrice assemblée",reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + MATR_ELEM =SIMP(statut='o', + typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ), + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster), + SYME =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, + fr="Projection des chargements sur la base modale d'une sous structure", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), + b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'", + CHAR_SOUS_STRUC =FACT(statut='o',max='**', + SOUS_STRUC =SIMP(statut='o',typ='TXM' ), + VECT_ASSE =SIMP(statut='o',typ=cham_no_sdaster ), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster, + fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), + INFO =SIMP(statut='f',typ='I',into=(1,2,) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: albert.alarcon at edf.fr + +def assemblage_prod(self,NUME_DDL,MATR_ASSE,VECT_ASSE,**args): + if ((not MATR_ASSE) and (not VECT_ASSE)): raise AsException("Aucun concept a assembler") + if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") + if NUME_DDL.is_typco(): + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + + if MATR_ASSE !=None: + for m in MATR_ASSE: + opti=m['OPTION'] + if opti in ( "RIGI_MECA","RIGI_FLUI_STRU", + "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA", + "AMOR_MECA","IMPE_MECA","ONDE_FLUI","MASS_MECA_DIAG", + "MECA_GYRO","RIGI_GYRO" ) : t=matr_asse_depl_r + + if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c + + if opti in ( "RIGI_THER","RIGI_THER_CONV" , + "RIGI_THER_CONV_D",) : t=matr_asse_temp_r + + if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c + + self.type_sdprod(m['MATRICE'],t) + + if VECT_ASSE !=None: + for v in VECT_ASSE: + self.type_sdprod(v['VECTEUR'],cham_no_sdaster) + + return None + +ASSEMBLAGE=MACRO(nom="ASSEMBLAGE", + op=OPS('Macro.assemblage_ops.assemblage_ops'), + UIinfo={"groupes":("Matrices et vecteurs",)}, + sd_prod=assemblage_prod, + regles=(AU_MOINS_UN('MATR_ASSE','VECT_ASSE'),), + fr="Calcul des matrices et vecteurs assemblés ", + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + INST =SIMP(statut='f',typ='R',defaut=0.), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), + CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), + NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ), + b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="Paramètres associés à la méthode multifrontale", + RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), + ), + b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="Paramètres associés à la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), + ), + b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="Paramètres associés à la méthode gradient conjugué", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + b_petsc =BLOC(condition = "METHODE == 'PETSC'",fr="Paramètres de la méthode PETSC", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + ), + ), + + MATR_ASSE =FACT(statut='f',max='**', + MATRICE =SIMP(statut='o',typ=CO), + OPTION =SIMP(statut='o',typ='TXM', + into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", + "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", + "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", + "RIGI_ROTA","RIGI_GEOM","MECA_GYRO","RIGI_GYRO", + "RIGI_THER","RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) + ), + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", + SIEF_ELGA =SIMP(statut='o',typ=cham_elem), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), +# + ), # fin MATR_ASSE +# + VECT_ASSE =FACT(statut='f',max='**', + VECTEUR =SIMP(statut='o',typ=CO), + OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_ACOU","CHAR_THER") ), + b_char_meca =BLOC(condition = "OPTION == 'CHAR_MECA'", fr="chargement mécanique", + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", fr="chargement thermique", + CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**'), + ), + + b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", fr="chargement acoustique", + CHARGE =SIMP(statut='f',typ=char_acou,validators=NoRepeat(),max='**'), + ), +# + ), # fin VECT_ASSE +# + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr +CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, + fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + regles=(EXCLUS('AMOR_RAYLEIGH','ENER_SOL',), + EXCLUS('AMOR_RAYLEIGH','AMOR_INTERNE',), + EXCLUS('AMOR_RAYLEIGH','AMOR_SOL',), + PRESENT_PRESENT('ENER_SOL','AMOR_INTERNE'), + PRESENT_PRESENT('ENER_SOL','AMOR_SOL'), + ), + AMOR_RAYLEIGH =FACT(statut='f', + AMOR_ALPHA =SIMP(statut='o',typ='R'), + AMOR_BETA =SIMP(statut='o',typ='R'), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + ), + ENER_SOL =FACT(statut='f', + regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'), + PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'), +# Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ') + PRESENT_PRESENT('KRX','KRY'), + PRESENT_PRESENT('KRX','KRZ'), + PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'), + PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'), + PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),), + METHODE =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_GROUP =SIMP(statut='f',typ='R',max='**'), + KX =SIMP(statut='o',typ='R' ), + KY =SIMP(statut='o',typ='R' ), + KZ =SIMP(statut='o',typ='R' ), + KRX =SIMP(statut='f',typ='R' ), + KRY =SIMP(statut='f',typ='R' ), + KRZ =SIMP(statut='f',typ='R' ), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + COOR_CENTRE =SIMP(statut='f',typ='R',max=3), + ), + AMOR_INTERNE =FACT(statut='f', + ENER_POT =SIMP(statut='o',typ=table_sdaster ), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), + ), + AMOR_SOL =FACT(statut='f', + AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FONC_AMOR_GEO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + HOMOGENE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: josselin.delmas at edf.fr + +CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem, + fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés", + reentrant='n', + UIinfo={"groupes":("Résultats et champs","Post-traitements",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + INST =SIMP(statut='f',typ='R',defaut= 0.E+0), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + MODE_FOURIER =SIMP(statut='f',typ='I',), + + OPTION =SIMP(statut='o',typ='TXM', + into=("FLUX_ELGA","FLUX_ELNO", + "PRAC_ELNO", + "COOR_ELGA"), ), + + b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO','FLUX_ELGA',)", + TEMP =SIMP(statut='o',typ=(cham_no_sdaster,)), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + ), + + b_acoustique =BLOC(condition="OPTION in ('PRAC_ELNO',)", + PRES =SIMP(statut='o',typ=(cham_no_sdaster,)), + ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr +def calc_champ_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu : RESULTAT=%s (type %s)" \ + % (RESULTAT, type(RESULTAT))) + +CALC_CHAMP=OPER(nom="CALC_CHAMP",op=52,sd_prod=calc_champ_prod,reentrant='f', + UIinfo={"groupes":("Post traitements",)}, + fr="Completer ou creer un resultat en calculant des champs par elements ou aux noeuds", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + + RESULTAT = SIMP(statut='o',typ=resultat_sdaster,position='global', + fr="Resultat d'une commande globale"), + + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + ), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM' ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela = BLOC(condition="(CRITERE=='RELATIF')", + PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-6),), + b_prec_abso = BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION = SIMP(statut='o',typ='R'),), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="le calcul sera effectue sur toutes les mailles"), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectue que sur ces groupes de mailles"), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectue que sur ces mailles"), + + EXCIT = FACT(statut='f',max='**', + fr="Charges contenant les temperatures, les efforts repartis pour les poutres...", + regles=(EXCLUS('FONC_MULT','COEF_MULT',),), + CHARGE = SIMP(statut='o',typ=(char_meca,char_cine_meca),), + FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), + COEF_MULT = SIMP(statut='f',typ='R'), + TYPE_CHARGE = SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), + + # Bloc lineaire + b_lineaire = BLOC(condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\ + comb_fourier,mult_elas,fourier_elas,mode_flamb)", + CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de contraintes et efforts generalises", + into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='lin'),), + + DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de deformations", + into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='lin'),), + + ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul d'energies", + into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='lin'),), + + CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de criteres", + into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='lin'),), + + VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de variables internes", + into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='lin'),), + ), + + # Bloc non-lineaire + b_non_lin = BLOC(condition = "AsType(RESULTAT) in (evol_noli,)", + CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de contraintes et efforts generalises", + into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='nonlin'),), + + DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de deformations", + into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='nonlin'),), + + ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul d'energies", + into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='nonlin'),), + + CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de criteres", + into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='nonlin'),), + + VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de variables internes", + into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='nonlin'),), + + b_nom_vari = BLOC(condition = "au_moins_un(VARI_INTERNE, ('VAEX_ELNO','VAEX_ELGA','VAEX_NOEU'))", + NOM_VARI = SIMP(statut='o',typ='TXM',min= 1,max='**', + fr="nom de la variable a extraire", + into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX", + "GAMP","PCR","SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV", + "X11","X22","X33","X12","X13","X23","DIST_DEV","DEV_SUR_CRIT","DIST_ISO", + "NB_ITER","ARRET","NB_REDE","SIGNE","RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA", + "IND_1","IND_2","IND_3","IND_4", + ), + ),), + + HYDRAULIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour le calcul de flux hydraulique", + into=C_NOM_CHAM_INTO(phenomene='HYDRAULIQUE',categorie='nonlin'),), + ), + + # Bloc Thermique + b_ther = BLOC(condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" , + THERMIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', + fr="Options pour le calcul de champs en thermique", + into=C_NOM_CHAM_INTO(phenomene='THERMIQUE',),), + ), + + # Bloc acoustique + b_acou = BLOC(condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,dyna_harmo)", + ACOUSTIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', + fr="Options pour le calcul de champs en acoustique", + into=C_NOM_CHAM_INTO(phenomene='ACOUSTIQUE',),), + ), + + # Bloc FORC_NODA et REAC_NODA + FORCE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="Options pour des forces nodales et des reactions nodales", + into=C_NOM_CHAM_INTO(phenomene='FORCE',),), + + # Mot-cle facteur CHAMp UTILisateur + CHAM_UTIL = FACT(statut='f', max='**', + regles = (UN_PARMI('FORMULE', 'CRITERE', 'NORME'), ), + NOM_CHAM = SIMP(statut='o', typ='TXM', + fr="Nom du champ utilisé en donnée",), + FORMULE = SIMP(statut='f', typ=formule, max='**', + fr="Formule permet d'obtenir le critère",), + CRITERE = SIMP(statut='f', typ='TXM', max=1, + into=('TRACE', 'VMIS', 'INVA_2'), + fr="Calcul d'un critère pré-défini",), + NORME = SIMP(statut='f', typ='TXM', max=1, + into=('L2', 'FROBENIUS', ), + fr="Calcul d'une norme pré-définie",), + NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, + fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), + ), + + INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), + + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster, + fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), + CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr +def calc_char_seisme_prod(MATR_MASS,**args ): + if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster + raise AsException("type de concept resultat non prevu") + +CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod, + reentrant='n',fr="Calcul du chargement sismique", + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),), + MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ), + DIRECTION =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MODE_STAT =SIMP(statut='f',typ=(mode_meca,) ), + b_mode_stat =BLOC ( condition = "MODE_STAT != None", + regles=(UN_PARMI('NOEUD','GROUP_NO' ),), + NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +CALC_CORR_SSD=OPER(nom="CALC_CORR_SSD",op= 91,sd_prod=table_container, + fr="Qualite d'un modele reduit en dynamique", + reentrant='n', + UIinfo={"groupes":("Dynamique",)}, + MODELE_GENE =SIMP(statut='o',typ=modele_gene), + RESU_GENE =SIMP(statut='o',typ=mode_gene ), + UNITE =SIMP(statut='f',typ='I',defaut=6,), + SHIFT =SIMP(statut='f',typ='R',defaut= 1. ), + VERIF =FACT(statut='f',max='**', + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: marina.bottoni at edf.fr + + +def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,**args): + + self.type_sdprod(CHARGE_MECA,char_meca) + self.type_sdprod(CHARGE_THER1,char_ther) + self.type_sdprod(CHARGE_THER2,char_ther) + self.type_sdprod(TABLE,table_sdaster) + self.type_sdprod(DEBIT,table_sdaster) + return None + + + +CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE", + op=OPS('Macro.calc_ecrevisse_ops.calc_ecrevisse_ops'), + sd_prod=calc_ecrevisse_prod, + reentrant='n', + UIinfo={"groupes":("Outils-métier",)},fr="Procedure de couplage avec Ecrevisse", + regles = (UN_PARMI('LOGICIEL','VERSION'),), + +# CONCEPTS SORTANTS : 2 CHARGEMENTS THERMIQUE + 1 MECANIQUE + 2 TABLES POUR LE POST-TRAITEMENT +# ******************************************** + CHARGE_MECA =SIMP(statut='o',typ=CO), + CHARGE_THER1 =SIMP(statut='o',typ=CO), + CHARGE_THER2 =SIMP(statut='o',typ=CO), + TABLE =SIMP(statut='o',typ=CO), + DEBIT =SIMP(statut='o',typ=CO), + + +# MODELES MECANIQUES +# ******************************************** + MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), + MODELE_THER =SIMP(statut='o',typ=modele_sdaster), + + +# DONNEES GEOMETRIQUES RELATIVES AUX RESULTATS +# ******************************************** + RESULTAT =FACT(statut='o',min=1,max=1, + MECANIQUE =SIMP(statut='o',typ=resultat_sdaster), + THERMIQUE =SIMP(statut='o',typ=resultat_sdaster), + regles=(EXCLUS('NUME_ORDRE','INST'),), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), + ), + +# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE +# ******************************************* + + FISSURE =FACT(statut='o',min=1,max='**', + PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, + fr="Groupe(s) des noeuds definissant les levres de la fissure"), + GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), + GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), + ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), + RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), + OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), + TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, + fr="Coefficient de tortuosite de la fissure" ), + SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), + b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", + LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', + fr="Liste des cotes des points definissant le petit axe de la section", + validators=NoRepeat() ), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant le petit axe de la section", ), + ), + b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", + LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', + fr="Liste des cotes des points definissant la largeur de la section", + validators=NoRepeat() ), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant la largeur de la section", ), + ), + ), + + +# DONNEES RELATIVES A L"ECOULEMENT +# ******************************** + + ECOULEMENT =FACT(statut='o',min=1,max=1, + PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), + PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), + FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), + b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", + TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + ), + b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", + TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + ), + + +# CHOIX DES MODELES +# ***************** + + MODELE_ECRE =FACT(statut='o',min=1,max=1, + IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, + fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), + ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), + fr="Type de modele d'ecoulement diphasique [imod]" ), + b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", + PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), + ), + FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), + b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", + REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), + FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), + ), + + TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), + b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", + XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), + XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), + ), + ), + + +# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE +# ******************************************** + + CONVERGENCE =FACT(statut='o',min=1,max=1, + KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, + fr="Parametre de l'algorithme iteratif [kgtest]" ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, + fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), + CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, + fr="Critere de convergence en debit [precdb]" ), + ), + +# GENERAL +# ******* + + COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", + fr="Generation eventuelle des courbes" ), + LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), + VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), + ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), + IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: josselin.delmas at edf.fr +def calc_erreur_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu") + +CALC_ERREUR=OPER(nom="CALC_ERREUR",op=42,sd_prod=calc_erreur_prod,reentrant='f', + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + fr="Compléter ou créer un résultat en calculant des champs d'erreur", + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + + RESULTAT =SIMP(statut='o',typ=resultat_sdaster, + fr="Résultat d'une commande globale"), + + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), + ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI"), + +#----------------------------------------------------------------------- +# pour conserver la compatibilité mais ne sert à rien +#----------------------------------------------------------------------- + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='f',max='**', + fr="Charges contenant les températures, les efforts répartis pour les poutres...", + regles=(EXCLUS('FONC_MULT','COEF_MULT',),), + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca),), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), + COEF_MULT =SIMP(statut='f',typ='R'),), +#----------------------------------------------------------------------- + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='ERREUR',),), + + b_erre_qi =BLOC(condition = "au_moins_un(OPTION, ('QIRE_ELEM','QIZ1_ELEM','QIZ2_ELEM','QIRE_ELNO','QIRE_NOEU'))", + RESU_DUAL=SIMP(statut='o',typ=resultat_sdaster,fr="Résultat du problème dual"),), + + b_sing =BLOC(condition= "au_moins_un(OPTION, 'SING_ELEM')", + PREC_ERR=SIMP(statut='o',typ='R',val_min= 0., + fr="Précision demandée pour calculer la carte de taille des éléments"), + TYPE_ESTI=SIMP(statut='f',typ='TXM',into=("ERME_ELEM","ERZ1_ELEM","ERZ2_ELEM", + "QIRE_ELEM","QIZ1_ELEM","QIZ2_ELEM",), + fr="Choix de l'estimateur d'erreur"),), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR (utilisé actuellement pour estimateur d'erreur ZZ1) + SOLVEUR =C_SOLVEUR('CALC_ERREUR'), +#------------------------------------------------------------------- + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: albert.alarcon at edf.fr + + +def calc_essai_prod(self,RESU_IDENTIFICATION, + RESU_MODIFSTRU, + **args): + + if RESU_IDENTIFICATION != None: + for res in RESU_IDENTIFICATION: + self.type_sdprod(res['TABLE'],interspectre) + + MTYPES = { + 'MODELE' : modele_sdaster, + 'MODE_MECA' : mode_meca, + 'NUME_DDL' : nume_ddl_sdaster, + 'MAILLAGE' : maillage_sdaster, + 'MASS_MECA' : matr_asse_depl_r, + 'RIGI_MECA' : matr_asse_depl_r, + 'AMOR_MECA' : matr_asse_depl_r, + 'MACR_ELEM' : macr_elem_stat, + 'PROJ_MESU' : mode_gene, + 'BASE_ES' : mode_meca, + 'BASE_LMME' : mode_meca, + 'MODE_STA' : mode_meca, + } + if RESU_MODIFSTRU != None: + for res in RESU_MODIFSTRU: + for mc, typ in MTYPES.items(): + if res[mc]: + self.type_sdprod(res[mc], typ) + return None + + +CALC_ESSAI = MACRO(nom = 'CALC_ESSAI', + op = OPS('Macro.calc_essai_ops.calc_essai_ops'), + sd_prod = calc_essai_prod, + reentrant = 'n', + UIinfo = {"groupes":("Outils-métier","Dynamique",)}, + fr = "Outil de post-traitement interactif pour Meidee ", + INTERACTIF = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), + RESU_IDENTIFICATION = FACT( statut='f',max='**', + TABLE = SIMP(statut='f', typ=CO), + ), + RESU_MODIFSTRU = FACT( statut='f', max=1, + MODELE=SIMP(statut='f',typ=CO,defaut=None), + MODE_MECA=SIMP(statut='f',typ=CO,defaut=None), + MAILLAGE=SIMP(statut='f',typ=CO,defaut=None), + NUME_DDL=SIMP(statut='f',typ=CO,defaut=None), + MASS_MECA=SIMP(statut='f',typ=CO,defaut=None), + RIGI_MECA=SIMP(statut='f',typ=CO,defaut=None), + AMOR_MECA=SIMP(statut='f',typ=CO,defaut=None), + MACR_ELEM=SIMP(statut='f',typ=CO,defaut=None), + PROJ_MESU=SIMP(statut='f',typ=CO,defaut=None), + BASE_ES=SIMP(statut='f',typ=CO,defaut=None), + BASE_LMME=SIMP(statut='f',typ=CO,defaut=None), + MODE_STA=SIMP(statut='f',typ=CO,defaut=None), + ), + + b_inter = BLOC( condition="INTERACTIF=='NON'", + + EXPANSION = FACT( statut='f',max='**', + CALCUL = SIMP(statut='o',typ=mode_meca), + NUME_MODE_CALCUL = SIMP(statut='f',typ='I',validators=NoRepeat(), + max='**',defaut=0), + MESURE = SIMP(statut='o',typ=mode_meca), + NUME_MODE_MESURE = SIMP(statut='f',typ='I',validators=NoRepeat(), + max='**',defaut=0), + RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')), + b_reso = BLOC(condition = "RESOLUTION=='SVD'", + EPS = SIMP(statut='f',typ='R', defaut = 0.) + ) + ), + IDENTIFICATION = FACT( statut='f',max='**', + ALPHA = SIMP(statut='f',typ='R', defaut = 0.), + EPS = SIMP(statut='f',typ='R', defaut = 0.), + OBSERVABILITE = SIMP(statut='o',typ=mode_meca), + COMMANDABILITE = SIMP(statut='o',typ=mode_meca), + INTE_SPEC = SIMP(statut='o',typ=interspectre), + RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), + BASE = SIMP(statut='o',typ=mode_meca), + ), + MODIFSTRUCT = FACT( statut='f', max=1, + MESURE = SIMP(statut='o', typ=mode_meca), + MODELE_SUP = SIMP(statut='o', typ=modele_sdaster), + MATR_RIGI = SIMP(statut='o', typ=matr_asse_depl_r), + RESOLUTION = SIMP(statut='f', typ='TXM', + into=('ES', 'LMME'), defaut='ES'), + b_resol = BLOC( condition = "RESOLUTION=='LMME'", + MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r), + ), + NUME_MODE_MESU = SIMP(statut='o', typ='I',max='**'), + NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'), + MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster), + ), + # Si on realise une modification structurale, on donne les DDL capteurs et interface + b_modif = BLOC( condition="MODIFSTRUCT!=None", + GROUP_NO_CAPTEURS = FACT( statut='f', max='**', + GROUP_NO = SIMP(statut='o',typ=grno,), + NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), + ), + GROUP_NO_EXTERIEUR = FACT( statut='f', max='**', + GROUP_NO = SIMP(statut='o',typ=grno,), + NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), + ), + ), + ), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sam.cuvilliez at edf.fr + +def calc_essai_geomeca_prod(self, + ESSAI_TD, + ESSAI_TND, + ESSAI_CISA_C, + ESSAI_TND_C, + #ESSAI_XXX, + **args): + List_essais = [] + if ESSAI_TD != None : List_essais += ESSAI_TD.List_F() + if ESSAI_TND != None : List_essais += ESSAI_TND.List_F() + if ESSAI_CISA_C != None : List_essais += ESSAI_CISA_C.List_F() + if ESSAI_TND_C != None : List_essais += ESSAI_TND_C.List_F() + #if ESSAI_XXX != None : List_essais += ESSAI_XXX.List_F() + for DicoEssai in List_essais : + if DicoEssai.has_key('TABLE_RESU'): + for Table in DicoEssai['TABLE_RESU']: + self.type_sdprod(Table,table_sdaster) + return None + + +CALC_ESSAI_GEOMECA = MACRO(nom="CALC_ESSAI_GEOMECA", + op=OPS('Macro.calc_essai_geomeca_ops.calc_essai_geomeca_ops'), + sd_prod=calc_essai_geomeca_prod, + UIinfo={"groupes":("",)}, + reentrant='n', + fr="", + MATER = SIMP(statut='o',typ=mater_sdaster), + COMPORTEMENT = C_COMPORTEMENT(), + CONVERGENCE = C_CONVERGENCE(), + regles=(AU_MOINS_UN('COMPORTEMENT'), # car COMPORTEMENT est facultatif dans C_COMPORTEMENT + AU_MOINS_UN( + 'ESSAI_TD' , + 'ESSAI_TND' , + 'ESSAI_CISA_C', + 'ESSAI_TND_C' , + #'ESSAI_XXX' , + ),), + # --- + # Essai Triaxial Monotone Draine ('TD') + # --- + ESSAI_TD = FACT(statut='f',max='**', + + PRES_CONF = SIMP(statut='o',typ='R',max='**',), + EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), + NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), + + TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), + GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into= ('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',), + defaut=('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',),), + TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), + + ), + + # --- + # Essai Triaxial Monotone Non Draine ('TND') + # --- + ESSAI_TND = FACT(statut='f',max='**', + + PRES_CONF = SIMP(statut='o',typ='R',max='**',), + EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), + BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), + NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), + + TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), + GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into= ('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',), + defaut=('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',),), + TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), + + ), + + # --- + # Essai de Cisaillement Cyclique Draine ('CISA_C') + # --- + ESSAI_CISA_C = FACT(statut='f',max='**', + + PRES_CONF = SIMP(statut='o',typ='R',max='**',), + EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), + EPSI_ELAS = SIMP(statut='f',typ='R',defaut=1.E-7,val_max=1.E-7), + NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), + NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), + + TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), + GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into= ('EPSXY-SIGXY','EPSXY-G','EPSXY-D',), + defaut=('EPSXY-SIGXY','EPSXY-G','EPSXY-D',),), + TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), + + ), + + # --- + # Essai Triaxial Non Draine Cyclique ('TND_C') + # --- + ESSAI_TND_C = FACT(statut='f',max='**', + + PRES_CONF = SIMP(statut='o',typ='R',max='**',), + SIGM_IMPOSE = SIMP(statut='o',typ='R',max='**',), + BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), + UN_SUR_K = SIMP(statut='o',typ='R',), + NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), + NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), + + TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), + GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into= ('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',), + defaut=('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',),), + TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), + + ), + + # --- + # Essai ... ('XXX') + # --- + #ESSAI_XXX = FACT(statut='f',max='**', + # + # PRES_CONF = SIMP(statut='o',typ='R',max='**',), + # ... + # + # TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), + # GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + # into= ('XXX','XXX','XXX',), + # defaut=('XXX','XXX','XXX',),), + # TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), + # + # ), + + INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + +def calc_europlexus_prod(self,COURBE=None,**args): + if COURBE is not None: + self.type_sdprod(args['TABLE_COURBE'],table_sdaster) + return evol_noli + +CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS", + op=OPS('Macro.calc_europlexus_ops.calc_europlexus_ops'), + sd_prod=calc_europlexus_prod, + reentrant='n', + UIinfo={"groupes":("Outils-métier","Dynamique",)}, + fr="Chainage Code_Aster-Europlexus", + regles=(PRESENT_ABSENT('ETAT_INIT','MODELE'), + PRESENT_ABSENT('ETAT_INIT','CARA_ELEM'), + PRESENT_ABSENT('ETAT_INIT','CHAM_MATER'), + EXCLUS('ETAT_INIT','FONC_PARASOL'), + AU_MOINS_UN('COMPORTEMENT'),), + LOGICIEL = SIMP(statut='f', typ='TXM', defaut='/home/europlex/EPXD/bin/europlexus'), + LANCEMENT = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), + + ETAT_INIT = FACT(statut='f', + RESULTAT = SIMP(statut='o',typ=evol_noli), + CONTRAINTE = SIMP(statut='f', typ='TXM', defaut='NON',into=('OUI','NON')), + EQUILIBRE = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), + b_niter =BLOC(condition = "CONTRAINTE == 'NON' ", + NITER = SIMP(statut='f',typ='I',defaut=1), + ), + ), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + + FONC_PARASOL = FACT(statut='f', + regles=(PRESENT_PRESENT('NFKT','NFKR'),), + NFKT = SIMP(statut='f',typ=(fonction_sdaster,)), + NFKR = SIMP(statut='f',typ=(fonction_sdaster,)), + NFAT = SIMP(statut='f',typ=(fonction_sdaster,)), + NFAR = SIMP(statut='f',typ=(fonction_sdaster,)), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + + + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + COMPORTEMENT =C_COMPORTEMENT('CALC_EUROPLEXUS'), + + EXCIT = FACT(statut='o',max='**', + CHARGE = SIMP(statut='o',typ=(char_meca,)), + FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,)), + ), + + DIME = FACT(statut='f', regles=(AU_MOINS_UN('UNITE_DIME','Q4GS','FORCE', + 'PT6L','ZONE','POUT','ECRO', + 'APPU','BLOQ','PRESS','PMAT', + 'DKT3','DEPL','FNOM','TABLE','FTAB', + 'MTTI','NEPE','LIAI',), ), + UNITE_DIME=SIMP(statut='f',typ='I'), + + Q4GS = SIMP(statut='f',typ='I'), + FORCE = SIMP(statut='f',typ='I'), + PT6L = SIMP(statut='f',typ='I'), + ZONE = SIMP(statut='f',typ='I'), + POUT = SIMP(statut='f',typ='I'), + ECRO = SIMP(statut='f',typ='I'), + APPU = SIMP(statut='f',typ='I'), + BLOQ = SIMP(statut='f',typ='I'), + PRESS = SIMP(statut='f',typ='I',min=2,max=2,), + PMAT = SIMP(statut='f',typ='I'), + DKT3 = SIMP(statut='f',typ='I'), + DEPL = SIMP(statut='f',typ='I'), + FNOM = SIMP(statut='f',typ='I'), + TABLE = SIMP(statut='f',typ='I',min=2,max=2,), + FTAB = SIMP(statut='f',typ='I'), + MTTI = SIMP(statut='f',typ='I'), + NEPE = SIMP(statut='f',typ='I'), + LIAI = SIMP(statut='f',typ='I'), + ), + + CALCUL = FACT(statut='o', + TYPE_DISCRETISATION = SIMP(statut='o',typ='TXM',defaut='AUTO',into=('AUTO','UTIL')), + INST_FIN = SIMP(statut='o',typ='R'), + INST_INIT = SIMP(statut='o',typ='R'), + NMAX = SIMP(statut='f',typ='R'), + + b_auto =BLOC( condition = "TYPE_DISCRETISATION=='AUTO'", + CSTAB = SIMP(statut='o',typ='R',defaut=0.3), +# DTMAX = SIMP(statut='f',typ='R'), + ), + + b_util =BLOC( condition = "TYPE_DISCRETISATION=='UTIL'", + PASFIX = SIMP(statut='o',typ='R'), + ), + ), + + + OBSERVATION =FACT(statut='f',max='**', + SUIVI_DDL = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), + b_suivi =BLOC(condition = "SUIVI_DDL == 'OUI' ", + regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), + EXCLUS('PAS_NBRE','PAS_INST',), + EXCLUS('GROUP_NO','TOUT_GROUP_NO',), + EXCLUS('GROUP_MA','TOUT_GROUP_MA',), ), + NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut=('DEPL',),into=('DEPL' + ,'VITE','ACCE','SIEF_ELGA','EPSI_ELGA','VARI_ELGA'),), + PAS_INST = SIMP(statut='f',typ='R'), + PAS_NBRE = SIMP(statut='f',typ='I'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOUT_GROUP_NO = SIMP(statut='f',typ='TXM',into=('OUI',),), + TOUT_GROUP_MA = SIMP(statut='f',typ='TXM',into=('OUI',),), + ), + ), + + + ARCHIVAGE =FACT(statut='o', regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), EXCLUS('PAS_NBRE','PAS_INST',), ), + PAS_INST = SIMP(statut='f',typ='R'), + PAS_NBRE = SIMP(statut='f',typ='I'), + CONT_GENER = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), + ), + COURBE = FACT(statut='f',max='**', regles=(EXCLUS('GROUP_NO','GROUP_MA')), + UNITE_ALIT = SIMP(statut='f',typ='I'), + NOM_CHAM = SIMP(statut='f',typ='TXM'), + NOM_CMP = SIMP(statut='f',typ='TXM'), +# NOEUD = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), +# MAILLE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), + + b_maille = BLOC(condition = "GROUP_MA != None", regles=(AU_MOINS_UN('NUM_GAUSS')), + NUM_GAUSS = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),), + ), + b_courbe = BLOC(condition = "COURBE != None", + regles=(AU_MOINS_UN('PAS_NBRE_COURBE','PAS_INST_COURBE',), + AU_MOINS_UN('TABLE_COURBE',)), + PAS_INST_COURBE = SIMP(statut='f',typ='R'), + PAS_NBRE_COURBE = SIMP(statut='f',typ='I'), + TABLE_COURBE = SIMP(statut='f', typ=CO), + ), + DOMAINES = FACT(statut='f',max='**', + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + IDENTIFIANT = SIMP(statut='f',typ='I'),), + INTERFACES = FACT(statut='f',max='**', + GROUP_MA_1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOLE = SIMP(statut='f',typ='R'), + IDENT_DOMAINE_1 = SIMP(statut='f',typ='I'), + IDENT_DOMAINE_2 = SIMP(statut='f',typ='I'),), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: van-xuan.tran at edf.fr +def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args): + if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster + if TYPE_CALCUL == "FATIGUE_VIBR" : return cham_elem + raise AsException("type de calcul non prevu") + +CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n', + fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique" + +" dans lequel le cisaillement est maximal.", + UIinfo={"groupes":("Post-traitements","Rupture",)}, + + TYPE_CALCUL = SIMP(statut='o',typ='TXM', + into=("CUMUL_DOMMAGE","FATIGUE_MULTI","FATIGUE_VIBR") ), + + b_cumul_domma =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'", + fr="Calcul d un champ de dommage subi par une structure.", + regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), + OPTION =SIMP(statut='o',typ='TXM', + into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM", + "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI", + "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ), + + b_sigm =BLOC(condition = "OPTION == 'DOMA_ELNO_SIGM' or OPTION == 'DOMA_ELGA_SIGM'", + fr="Calcul a partir d un champ de contraintes.", + HISTOIRE =FACT(statut='o', + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, + evol_noli) ), + EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", + into=("VMIS_SG",) ), + ), + ), + b_epsi =BLOC(condition = "OPTION != 'DOMA_ELNO_SIGM' and OPTION != 'DOMA_ELGA_SIGM'", + fr="Calcul a partir d un champ de déformations.", + HISTOIRE =FACT(statut='o', + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, + evol_noli) ), + EQUI_GD =SIMP(statut='o',typ='TXM',defaut="INVA_2_SG", + into=("INVA_2_SG",) ), + ), + ), + DOMMAGE =SIMP(statut='o',typ='TXM', + into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON", + "TAHERI_MIXTE",) ), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + TAHERI_NAPPE =SIMP(statut='f',typ=(nappe_sdaster,formule) ), + TAHERI_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + b_domma_moda =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_VIBR'", + fr="Calcul d un champ de dommage en dynamique vibratoire", + regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), + OPTION =SIMP(statut='o',typ='TXM', + into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",) ), + CORR_SIGM_MOYE = SIMP(statut='o',typ='TXM',into=("GOODMAN","GERBER")), + HISTOIRE =FACT(statut='o', + RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), + MODE_MECA =SIMP(statut='o',typ=(mode_meca) ), + NUME_MODE =SIMP(statut='o',typ='I',min=1 ,max='**'), + FACT_PARTICI =SIMP(statut='o',typ='R',min=1, max='**',defaut=1. ), + EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", + into=("VMIS_SG",) ), + ), + DOMMAGE =SIMP(statut='o',typ='TXM', + into=("WOHLER",) ), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + ), + + b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'", + fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.", + TYPE_CHARGE =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ), + OPTION =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ), + RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), + CHAM_MATER =SIMP(statut='f',typ=(cham_mater) ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**' ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**' ), + COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), + b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", + "DANG_VAN_MODI_AC","VMIS_TRESCA","FORMULE_CRITERE") ), + b_fati_p =BLOC(condition = "(CRITERE == 'MATAKE_MODI_AC' or CRITERE == 'DANG_VAN_MODI_AC')", + METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), + ), + + b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", + FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), + FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + b_fati_pfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", + FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + ), + + INST_INIT_CYCL =SIMP(statut='f',typ='R',min=1, max=1), + INST_CRIT =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU",) ), + regles=(PRESENT_PRESENT('INST_INIT_CYCL','INST_CRIT', ),), + b_prec_rela=BLOC(condition="(INST_CRIT=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), + b_prec_abso=BLOC(condition="(INST_CRIT=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + ), + b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM', + into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE","VMIS_TRESCA") ), + b_fati_np =BLOC(condition = + "(CRITERE != 'VMIS_TRESCA')", + PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), + DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", + FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), + b_fati_npfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", + FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + ), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def calc_ferraillage_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu") + + +CALC_FERRAILLAGE=OPER(nom="CALC_FERRAILLAGE",op=175,sd_prod=calc_ferraillage_prod, reentrant='o', + UIinfo={"groupes":("Post-traitements","Outils-métier",)}, + fr="calcul de cartes de densité de ferraillage ", + + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,) ), + + +#==== +# Sélection des numéros d'ordre pour lesquels on fait le calcul : +#==== + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + + b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + + +# +#==== +# Définition des grandeurs caractéristiques +#==== +# + TYPE_COMB =SIMP(statut='o',typ='TXM',into=('ELU','ELS')), + +# mot clé facteur répétable pour assigner les caractéristiques locales par zones topologiques (GROUP_MA) + AFFE =FACT(statut='o',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + ENROBG =SIMP(statut='o',typ='R'), # enrobage + CEQUI =SIMP(statut='f',typ='R'), # coefficient d'équivalence acier/béton (pour ELS) + SIGM_ACIER =SIMP(statut='o',typ='R'), # contrainte admissible dans l'acier + SIGM_BETON =SIMP(statut='o',typ='R'), # contrainte admissible dans le béton + PIVA =SIMP(statut='f',typ='R'), # valeur du pivot a (pour ELU) + PIVB =SIMP(statut='f',typ='R'), # valeur du pivot b (pour ELU) + ES =SIMP(statut='f',typ='R'), # valeur du Module d'Young de l'acier (pour ELU) + ), + ) + + +############################################################################################################## +# Remarques : +#----------- +# l'épaisseur des coques sera récupérée automatiquement +# via le cara_elem sous-jacent au résultat + +# Le résultat produit est un champ constant par éléments associé à la grandeur FER2_R +# qui comporte les composantes : +# +# DNSXI densité d'acier longitudinal suivant X, peau inf +# DNSXS densité d'acier longitudinal suivant X, peau sup +# DNSYI densité d'acier longitudinal suivant Y, peau inf +# DNSYS densité d'acier longitudinal suivant Y, peau sup +# DNST densité d'acier transversal à l'ELU +# SIGMBE contrainte beton +# EPSIBE deformation béton + +# arrêt en erreur si: +# - EFGE_ELNO n'a pas été précédemment calculé et n'est donc pas présent dans la structure de données RESULTAT +# - si aucun CARA_ELEM n'est récupérable via la structure de données RESULTAT + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, + reentrant='n', + fr="Calculer les paramètres modaux d'une structure soumise à un écoulement", + UIinfo={"groupes":("Matrices et vecteurs",)}, + VITE_FLUI =FACT(statut='f', + fr="Définir la plage de vitesse fluide étudiée", + VITE_MIN =SIMP(statut='f',typ='R' ), + VITE_MAX =SIMP(statut='f',typ='R' ), + NB_POIN =SIMP(statut='f',typ='I' ), + ), + BASE_MODALE =FACT(statut='o', + + regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**',val_min=0.E+00), + AMOR_UNIF =SIMP(statut='f',typ='R',val_min=0.E+00 ), + AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00), + ), + TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ), + IMPRESSION =FACT(statut='f', + fr="Choix des informations à imprimer dans le fichier RESULTAT", + PARA_COUPLAGE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args): + if AsType(FONCTION) == nappe_sdaster: + return nappe_sdaster + elif AsType(FONCTION) == fonction_sdaster: + return fonction_sdaster + elif AsType(FONCTION) == fonction_c: + return fonction_c + elif AsType(FONCTION) == formule_c: + return fonction_c + elif AsType(FONCTION) == formule: + if NOM_PARA_FONC != None: + return nappe_sdaster + return fonction_sdaster + raise AsException("type de concept resultat non prevu") + +CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, + docu="U4.32.01",reentrant='n', + fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables", + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), + FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), + VALE_PARA =SIMP(statut='f',typ='R',max='**'), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + NOM_RESU =SIMP(statut='f',typ='TXM'), + NOM_PARA =SIMP(statut='f',typ='TXM'), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM'), + b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None", + regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),), + VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'), + LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def calc_fonction_prod(self, DERIVE, EXTRACTION, INTEGRE, INVERSE, COMB, COMB_C, MULT, + ENVELOPPE, FRACTILE, SPEC_OSCI, ASSE, FFT, COMPOSE, CORR_ACCE, + PUISSANCE, LISS_ENVELOP, ABS, REGR_POLYNOMIALE, DSP, **args): + + if (INTEGRE != None): return fonction_sdaster + if (DERIVE != None): return fonction_sdaster + if (INVERSE != None): return fonction_sdaster + if (COMB != None): + type_vale=AsType(COMB[0]['FONCTION']) + for mcfact in COMB : + if(AsType(mcfact['FONCTION'])!=type_vale): + raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction") + return type_vale + if (COMB_C != None): + vale=COMB_C[0]['FONCTION'] + if(AsType(vale) == nappe_sdaster): + for mcfact in COMB_C[1:] : + if(AsType(mcfact['FONCTION'])!=nappe_sdaster): + raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") + return nappe_sdaster + else: + for mcfact in COMB_C : + if(AsType(mcfact['FONCTION'])==nappe_sdaster): + raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") + return fonction_c + if (ENVELOPPE != None): return AsType(ENVELOPPE[0]['FONCTION']) + if (FRACTILE != None): return AsType(FRACTILE[0] ['FONCTION']) + if (EXTRACTION != None): return fonction_sdaster + if (SPEC_OSCI != None): return nappe_sdaster + if (DSP != None): return fonction_sdaster + if (COMPOSE != None): return fonction_sdaster + if (ASSE != None): return fonction_sdaster + if (MULT != None): + type_vale = AsType(MULT[0]['FONCTION']) + for mcfact in MULT: + if(AsType(mcfact['FONCTION']) != type_vale): + raise AsException("CALC_FONCTION/MULT : pas de types hétérogènes nappe/fonction") + return type_vale + if (FFT != None): + vale=FFT[0]['FONCTION'] + if (AsType(vale) == fonction_sdaster ) : return fonction_c + if (AsType(vale) == fonction_c) : return fonction_sdaster + if (CORR_ACCE != None): return fonction_sdaster + if (LISS_ENVELOP!= None): return nappe_sdaster + if (REGR_POLYNOMIALE != None): return fonction_sdaster + if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION']) + if (ABS != None): return fonction_sdaster + raise AsException("type de concept resultat non prevu") + + +CALC_FONCTION=MACRO(nom="CALC_FONCTION", + op=OPS('Macro.calc_fonction_ops.calc_fonction_ops'), + sd_prod=calc_fonction_prod, + fr="Effectue des opérations mathématiques sur des concepts de type fonction", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('DERIVE', 'INTEGRE', 'SPEC_OSCI', 'DSP', 'FFT', 'CORR_ACCE', + 'COMB', 'COMB_C', 'MULT', 'ASSE', 'INVERSE', 'ABS', + 'ENVELOPPE', 'COMPOSE', 'EXTRACTION', 'PUISSANCE', + 'LISS_ENVELOP', 'FRACTILE', 'REGR_POLYNOMIALE'),), + FFT =FACT(statut='f',fr="Transformée de Fourier ou de son inverse", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ), + b_syme =BLOC ( condition = " AsType(FONCTION)==fonction_c ", + SYME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), + ), + ), + DERIVE =FACT(statut='f',fr="Dérivée d une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), + ), + INTEGRE =FACT(statut='f',fr="Intégrale d'une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster), + COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), + ), + LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe", + NAPPE =SIMP(statut='o',typ=nappe_sdaster ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut =0.2), + FREQ_MAX =SIMP(statut='f',typ='R',defaut =35.5), + ELARG =SIMP(statut='f',typ='R',defaut =0.1 ), + TOLE_LISS =SIMP(statut='f',typ='R',defaut =0.25 ), + ), + REGR_POLYNOMIALE = FACT(statut='f',fr="Régression polynomiale d'une fonction", + FONCTION =SIMP(statut='o',typ=fonction_sdaster), + DEGRE =SIMP(statut='o',typ='I'), + ), + SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur", + METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM","HARMO","RICE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R', max='**'), + NORME =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ), + NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), + b_methode =BLOC(condition = "METHODE !='RICE' ", + NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="ACCE", into=("ACCE",),),), + b_rice =BLOC(condition = "METHODE =='RICE' ", + DUREE =SIMP(statut='o', typ='R', val_min=0., + fr="durée de la phase forte pour facteur de pic"), + NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="DSP", into=("DSP",),),), + ), + DSP =FACT(statut='f', fr="Densité spectrale", + FONCTION =SIMP(statut='o', typ=fonction_sdaster ), + AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), + NORME =SIMP(statut='o', typ='R'), + LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), + FREQ_PAS =SIMP(statut='f', typ='R'), + regles=(UN_PARMI('FREQ_PAS','LIST_FREQ'),), + FREQ_COUP =SIMP(statut='o', typ='R', fr="fréquence de coupure" ), + DUREE =SIMP(statut='o', typ='R', val_min=0., + fr="durée de la phase forte pour facteur de peak"), + FRACT =SIMP(statut='o', typ='R', defaut=0.5, val_min=0., val_max=1., fr="fractile" ), + ), + ABS =FACT(statut='f',fr="Valeur absolue d'une fonction", + FONCTION =SIMP(statut='o',typ=fonction_sdaster,), + ), + COMB =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), + COEF =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), + ), + COMB_C =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions", + regles=(UN_PARMI('COEF_R','COEF_C'),), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), + COEF_R =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), + COEF_C =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ), + ), + MULT =FACT(statut='f',max='**',fr="Produit de fonctions réelles", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), + ), + b_comb =BLOC ( condition = "COMB != None or COMB_C != None " \ + "or REGR_POLYNOMIALE != None or MULT != None", + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + ), + COMPOSE =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)", + FONC_RESU =SIMP(statut='o',typ=fonction_sdaster), + FONC_PARA =SIMP(statut='o',typ=fonction_sdaster), + ), + EXTRACTION =FACT(statut='f',fr="Extraction sur une fonction complexe", + FONCTION =SIMP(statut='o',typ=fonction_c), + PARTIE =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"), + ), + ENVELOPPE =FACT(statut='f',fr="Enveloppe d une famille de fonctions", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ), + ), + FRACTILE =FACT(statut='f',fr="Fractile d une famille de fonctions ou de nappes", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), + FRACT =SIMP(statut='o',typ='R',defaut=1.,val_min=0.,val_max=1.,fr="Valeur du fractile" ), + ), + ASSE =FACT(statut='f',fr="Concatenation de fonctions", + FONCTION =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ), + SURCHARGE =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")), + ), + CORR_ACCE =FACT(statut='f',fr="Correction d un accelerogramme reel", + CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), + ), + PUISSANCE =FACT(statut='f',fr="Fonction élevée à une puissance", + FONCTION =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ), + EXPOSANT =SIMP(statut='f', typ='I', defaut=1 ), + ), + INVERSE =FACT(statut='f',fr="Inverse d'une fonction", + FONCTION =SIMP(statut='o', typ=fonction_sdaster), + ), + NOM_PARA =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), + fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ + "fonction ou bien pour le paramètre de la nappe."), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), + fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, + fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure" + +" en analyse sismique", + reentrant ='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + + regles=(EXCLUS('MODE_MECA','MODELE_GENE'), + PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'), + UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'), + UN_PARMI('MONO_APPUI','MODE_STAT')), + + MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_ther ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), + DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + POTENTIEL =SIMP(statut='f',typ=evol_ther ), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + + DIRECTION =SIMP(statut='o',typ='R',max=3), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MODE_STAT =SIMP(statut='f',typ=mode_meca,), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('CALC_FORC_AJOU'), +#------------------------------------------------------------------- + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr + +CALC_FORC_NONL=OPER(nom="CALC_FORC_NONL",op= 183,sd_prod=dyna_trans,reentrant='n', + fr="Créer un dyna_trans contenant des champs nommés 'DEPL' correspondant à 'FONL_NOEU' ", + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), + ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, defaut="FONL_NOEU", + into=("FONL_NOEU",) ), + + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + COMPORTEMENT =C_COMPORTEMENT(), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr +CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster, + fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité" + +" et les facteurs d'intensité de contraintes.", + reentrant='f', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + + THETA =FACT(statut='o', + THETA =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),), + FOND_FISS =SIMP(statut='f',typ=fond_fiss,max=1), + FISSURE =SIMP(statut='f',position='global',typ=fiss_xfem,max=1), + NB_POINT_FOND =SIMP(statut='f',typ='I',val_min=2), + regles=( + EXCLUS('FOND_FISS','NB_POINT_FOND'), + UN_PARMI('THETA','FOND_FISS','FISSURE') + ), + b_theta =BLOC(condition="THETA == None",fr="calcul de theta", + regles=(PRESENT_PRESENT('R_INF','R_SUP'), + PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), + NUME_FOND =SIMP(statut='f',typ='I',defaut=1), + R_INF =SIMP(statut='f',typ='R'), + R_SUP =SIMP(statut='f',typ='R'), + MODULE =SIMP(statut='f',typ='R',defaut=1.), + DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), + DIRECTION =SIMP(statut='f',typ='R',max=3,min=3), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + b_no_fond_fiss =BLOC(condition="FOND_FISS== None", + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + ), + + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca,mult_elas),), + + b_no_mult =BLOC(condition="(AsType(RESULTAT) != mult_elas)", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', + 'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ'),), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + ), + ), + + b_mult_elas =BLOC(condition="(AsType(RESULTAT) == mult_elas)", + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**' ), + ), + + b_no_mult_elas =BLOC(condition="(AsType(RESULTAT) != mult_elas)", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ), + ), + + COMPORTEMENT =FACT(statut='f', + RELATION =SIMP( statut='o',typ='TXM',into=C_RELATION('CALC_G')), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + + b_init =BLOC(condition="RELATION=='ELAS'",), + SIGM_INIT=SIMP(statut='f', typ=(cham_no_sdaster,cham_elem)), + ), + +# ETAT_INIT =FACT(statut='f', +# SIGM =SIMP(statut='f',typ=cham_elem), +# DEPL =SIMP(statut='f',typ=cham_no_sdaster), +# ), + LISSAGE =FACT(statut='d', + LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),), + LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE", + "LAGRANGE_NO_NO","LAGRANGE_REGU"),), + b_legen =BLOC(condition="(LISSAGE_THETA=='LEGENDRE') or (LISSAGE_G=='LEGENDRE')", + DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ), + ), + ), + + OPTION =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G', + into=("CALC_G", + "CALC_G_GLOB", + "CALC_K_G", + "G_MAX", + "G_MAX_GLOB", + "G_BILI", + "G_BILI_GLOB", + "CALC_K_MAX"), + ), + + b_g_max =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')", + BORNES =FACT(statut='o',max='**', + NUME_ORDRE =SIMP(statut='o',typ='I'), + VALE_MIN =SIMP(statut='o',typ='R'), + VALE_MAX =SIMP(statut='o',typ='R'), + ), + ), + b_k_max =BLOC(condition="(OPTION=='CALC_K_MAX')", + SIGNES =FACT(statut='o',max=1, + CHARGE_S =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), + CHARGE_NS =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), + ), + ), + + b_cal_contrainte =BLOC(condition="(COMPORTEMENT!=None and (OPTION=='CALC_G' or OPTION=='CALC_G_GLOB'))", + CALCUL_CONTRAINTE =SIMP(statut='f',typ='TXM',into=("NON",),), + ), + + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: renaud.bargellini at edf.fr +#Quoi qu'il en soit, on sort la table GP +#Si on est sans copeau et que l'utilisateur souhaite verifier +#les copeaux automatiquement crees, il peut grace a CHAMP_COP +def calc_gp_prod(self,TRANCHE_2D,GPMAX, **args): + """Typage des sd_prod + """ + if TRANCHE_2D!=None: + if TRANCHE_2D['ZONE_MAIL']== "NON": + for ss_cop in TRANCHE_2D: + if ss_cop['CHAMP_VISU']!= None: + self.type_sdprod(ss_cop['CHAMP_VISU'], cham_elem) + if GPMAX !=None: + self.type_sdprod(GPMAX, table_sdaster) + return table_sdaster + + +CALC_GP =MACRO(nom="CALC_GP", + op=OPS('Macro.calc_gp_ops.calc_gp_ops'), + sd_prod=calc_gp_prod, +# sd_prod=table_sdaster, + UIinfo={"groupes":("Outils-métier","Rupture",)}, + reentrant='n', + fr="calcul du parametre de clivage energetique Gp en 2D et en 3D", + regles=UN_PARMI('TRANCHE_2D','TRANCHE_3D'), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster, + fr="Resultat d'une commande globale STAT_NON_LINE"), + LIST_INST = SIMP(statut='o',typ=(listr8_sdaster) ), + PRECISION = SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), + CRITERE = SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), + TRANCHE_2D = FACT(statut='f',max = 1, + ZONE_MAIL = SIMP(statut='o',typ='TXM',into=("NON","OUI") ), + b_cop= BLOC(condition = "ZONE_MAIL=='OUI'", + fr="Les copeaux sont mailles", + GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), + TAILLE =SIMP(statut='o',typ=listr8_sdaster),), + b_ss_cop = BLOC(condition="ZONE_MAIL=='NON'", + fr="Les copeaux ne sont pas mailles", + CENTRE =SIMP(statut='o',typ='R',max=2), + RAYON =SIMP(statut='o',typ='R',max=1), + ANGLE =SIMP(statut='o',typ='R',max=1), + TAILLE =SIMP(statut='o',typ='R',max=1), + NB_ZONE =SIMP(statut='o',typ='I',), + CHAMP_VISU =SIMP(statut='f',typ=CO),), + ), + TRANCHE_3D = FACT(statut='f',max ='**', + GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), + ), + b_tranche_2d = BLOC(condition="TRANCHE_2D!=None", + SYME =SIMP(statut='o',typ='TXM',into=("NON","OUI"), + fr="multiplication par 2 si SYME=OUI"),), + b_tranche_3d = BLOC(condition="TRANCHE_3D!=None", + FOND_FISS =SIMP(statut='o',typ=fond_fiss,max=1,),), + GPMAX = SIMP(statut='f',typ=CO,), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +# MACRO DE COUPLAGE IFS AVEC SATURNE VIA YACS +# +CALC_IFS_DNL= MACRO(nom='CALC_IFS_DNL', + op=OPS("Macro.calc_ifs_dnl_ops.calc_ifs_dnl_ops"), + sd_prod=evol_noli, + reentrant='f', + fr="Calcul de l'évolution dynamique d'une structure couplée à un "\ + "domaine fluide (résolu avec le code Saturne) via YACS", + UIinfo={"groupes":("Résolution","Dynamique",)}, + +#IFS +#=> + GROUP_MA_IFS =SIMP(statut='o',typ=grma,max='**'), + NOM_CMP_IFS =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + UNITE_NOEUD =SIMP(statut='f',typ='I',defaut= 81 ), + UNITE_ELEM =SIMP(statut='f',typ='I',defaut= 82 ), + PAS_INIT =SIMP(statut='o',typ='R' ), +#<= +#IFS + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + MODE_STAT =SIMP(statut='f',typ=mode_meca), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), +#IFS +#=> +#(une charge force nodale est fournie par le couplage avec code_saturne + EXCIT =FACT(statut='f',max='**', +#<= +#IFS + regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","SUIV","DIDI")), +#IFS +#=> +#(une charge force nodale est fournie par le couplage avec code_saturne +# CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), +#<= +#IFS + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + EXCIT_GENE =FACT(statut='f',max='**', + FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), + VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), + ), + CONTACT =SIMP(statut='f',typ=char_contact), + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), + AMOR_MODAL =FACT(statut='f', + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), + MODE_MECA =SIMP(statut='f',typ=mode_meca), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + PROJ_MODAL =FACT(statut='f',max='**', + MODE_MECA =SIMP(statut='o',typ=mode_meca), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), + MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + ), +#------------------------------------------------------------------- + COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), +#------------------------------------------------------------------- + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','ACCE'), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','ACCE'), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), +#------------------------------------------------------------------- +#IFS : pas besoin d'INCREMENT +# INCREMENT =C_INCREMENT('MECANIQUE'), +#------------------------------------------------------------------- + SCHEMA_TEMPS =FACT(statut='o', + SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', + into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), + COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), + b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", + PHI =SIMP(statut='f',typ='R',defaut= 1.05),), + + b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", + BETA =SIMP(statut='f',typ='R',defaut= 0.25), + GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), + + b_hht = BLOC(condition="SCHEMA=='HHT'", + ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), + MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), + + b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", + THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), + + b_krenk = BLOC(condition="SCHEMA=='KRENK'", + KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), + + b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", + STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), + + b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", + FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), + ), +#------------------------------------------------------------------- + NEWTON =C_NEWTON(), +#------------------------------------------------------------------- + RECH_LINEAIRE =C_RECH_LINEAIRE(), +#------------------------------------------------------------------- + CONVERGENCE =C_CONVERGENCE(), +#------------------------------------------------------------------- + SOLVEUR =C_SOLVEUR('CALC_IFS_DNL'), +#------------------------------------------------------------------- + OBSERVATION =C_OBSERVATION(), +#------------------------------------------------------------------- + SUIVI_DDL =C_SUIVI_DDL(), +#------------------------------------------------------------------- + AFFICHAGE =C_AFFICHAGE(), +#------------------------------------------------------------------- + ARCHIVAGE =C_ARCHIVAGE(), +#------------------------------------------------------------------- + CRIT_STAB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), + RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), + MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), + PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), + SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), + bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", + DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), + bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", + DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), + ), + regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_CALC = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + MODE_VIBR =FACT(statut='f',min=1,max=1, + MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), + NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, + fr="Nombre de fréquences propres à calculer"), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), + BANDE =SIMP(statut='f',typ='R',min=2,max=2, + fr="Valeur des deux fréquences délimitant la bande de recherche",), + regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_CALC = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), +#------------------------------------------------------------------- + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + b_info=BLOC(condition="(INFO==2)", + fr="filtre les messages émis dans le .mess selon le type de message demandé", + INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into=("CONTACT", + "MECA_NON_LINE", + "PILOTAGE", + "FACTORISATION", + "APPARIEMENT"), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=interspectre, + fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + INST_FIN =SIMP(statut='o',typ='R' ), + DUREE_ANALYSE =SIMP(statut='f',typ='R' ), + DUREE_DECALAGE =SIMP(statut='f',typ='R' ), + NB_POIN =SIMP(statut='o',typ='I' ), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: romeo.fernandes at edf.fr + + +CALC_MAC3COEUR = MACRO(nom="CALC_MAC3COEUR", + op=OPS("Mac3coeur.calc_mac3coeur_ops.calc_mac3coeur_ops"), + sd_prod=evol_noli, + + TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR"),position='global' ), + # TYPE DE COEUR A CONSIDERER + TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N + MAILLAGE_N = SIMP(statut='f',typ=maillage_sdaster), # MAILLAGE EN ATTENDANT MIEUX ??? + + LAME = FACT(statut='f',max=1, + fr="Estimation des lames d'eau entre AC", + TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 + MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),), # MAILLAGE EN ATTENDANT MIEUX ??? + + DEFORMATION = FACT(statut='f',max=1, + fr="Estimation des deformations des AC", + RESU_INIT = SIMP(statut='f',typ=resultat_sdaster), + NIVE_FLUENCE = SIMP(statut='o',typ='R',validators=NoRepeat(),max=1), # FLUENCE MAXIMALE DANS LE COEUR + UNITE_THYC = SIMP(statut='o',typ='I', max=1), + + # choix du maintien dans le cas mono-assemblage + b_maintien_mono = BLOC(condition = "TYPE_COEUR == 'MONO'", + + TYPE_MAINTIEN = SIMP(statut='o',typ='TXM',into=("FORCE","DEPL_PSC"), ), + + b_maintien_mono_force = BLOC(condition = "TYPE_MAINTIEN == 'FORCE'", + fr="valeur de l'effort de maintien imposée", + FORCE_MAINTIEN =SIMP(statut='o',typ='R', max=1),), + + ), + + # choix du maintien dans le cas d'un coeur à plusieurs assemblages + b_maintien_coeur = BLOC(condition = "TYPE_COEUR != 'MONO'", + + TYPE_MAINTIEN = SIMP(statut='f',typ='TXM',into=("DEPL_PSC",),defaut="DEPL_PSC" ), + + ), + + ), + +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, + fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'), + PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'), + PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),), + MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_ther ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster ), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), + DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ), + POTENTIEL =SIMP(statut='f',typ=evol_ther ), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('CALC_MATR_AJOU'), +#------------------------------------------------------------------- +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def calc_matr_elem_prod(OPTION,**args): + if OPTION == "RIGI_MECA" : return matr_elem_depl_r + if OPTION == "RIGI_FLUI_STRU" : return matr_elem_depl_r + if OPTION == "MASS_MECA" : return matr_elem_depl_r + if OPTION == "MASS_FLUI_STRU" : return matr_elem_depl_r + if OPTION == "RIGI_GEOM" : return matr_elem_depl_r + if OPTION == "RIGI_ROTA" : return matr_elem_depl_r + if OPTION == "MECA_GYRO" : return matr_elem_depl_r + if OPTION == "RIGI_GYRO" : return matr_elem_depl_r + if OPTION == "AMOR_MECA" : return matr_elem_depl_r + if OPTION == "IMPE_MECA" : return matr_elem_depl_r + if OPTION == "ONDE_FLUI" : return matr_elem_depl_r + if OPTION == "AMOR_MECA_ABSO" : return matr_elem_depl_r + if OPTION == "RIGI_MECA_HYST" : return matr_elem_depl_c + if OPTION == "RIGI_THER" : return matr_elem_temp_r + if OPTION == "MASS_MECA_DIAG" : return matr_elem_depl_r + if OPTION == "RIGI_ACOU" : return matr_elem_pres_c + if OPTION == "MASS_ACOU" : return matr_elem_pres_c + if OPTION == "AMOR_ACOU" : return matr_elem_pres_c + raise AsException("type de concept resultat non prevu") + +CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod + ,fr="Calcul des matrices élémentaires",reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + + OPTION =SIMP(statut='o',typ='TXM', + into=("RIGI_MECA","MASS_MECA","RIGI_GEOM", + "AMOR_MECA","RIGI_THER","IMPE_MECA", + "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU", + "RIGI_ROTA","MECA_GYRO","RIGI_GYRO","MASS_MECA_DIAG","RIGI_ACOU", + "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST") ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + + # mots clés facultatifs que l'on a du mal à mettre dans les blocs + # sans gener MACRO_MATR_ASSE : + #------------------------------------------------------------------ + INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ), + + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), + ), + + b_mass_meca =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + ), + + b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'", + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + SIEF_ELGA =SIMP(statut='o',typ=cham_elem ), + STRX_ELGA =SIMP(statut='f',typ=cham_elem ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), + ), + + b_meca_gyro = BLOC( condition = "OPTION=='MECA_GYRO'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), + ), + + b_rigi_gyro = BLOC( condition = "OPTION=='RIGI_GYRO'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), + ), + + b_amor_meca =BLOC(condition = "OPTION=='AMOR_MECA'", + regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), + ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + ), + + b_amor_meca_abso =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'", + regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), + ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + ), + + b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", + CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + RIGI_MECA =SIMP(statut='o',typ=matr_elem_depl_r ), + ), + + b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ), + ), + + b_rigi_acou =BLOC(condition = "OPTION=='RIGI_ACOU'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), + ), + + b_mass_acou =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), + ), + + b_rigi_flui =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'", + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ), + ), + + b_mass_flui =BLOC(condition = "OPTION=='MASS_FLUI_STRU'", + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'), + ), + + b_impe_meca =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: renaud.bargellini at edf.fr +CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', + UIinfo={"groupes":("Post-traitements","Thermique",)}, + fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique", + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + + MODELE =SIMP(statut='f',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + RESULTAT =SIMP(statut='o',typ=evol_ther ), + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='METALLURGIE',),), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectué que sur ces mailles là"), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectué que sur ces mailles là"), + + b_meta =BLOC(condition= "au_moins_un(OPTION, ('META_ELNO','META_NOEU'))", + ETAT_INIT =FACT(statut='o', + regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),), + EVOL_THER =SIMP(statut='f',typ=evol_ther ), + META_INIT_ELNO =SIMP(statut='f',typ=carte_sdaster ), + b_etat =BLOC(condition="EVOL_THER != None", + regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),), + NUME_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + b_inst =BLOC(condition="INST_INIT != None", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + ), + + COMPORTEMENT =FACT(statut='o',max=1, + RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ), + ACIER =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), + ZIRC =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma, validators=NoRepeat(), max='**'), + MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(), max='**'), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def calc_miss_sdprod(self, TYPE_RESU, **kwargs): + """Typage des structures de données produites""" + if TYPE_RESU in ('TABLE', 'TABLE_CONTROL'): + return table_sdaster + elif TYPE_RESU == 'HARM_GENE': + return harm_gene + elif TYPE_RESU == 'TRAN_GENE': + return tran_gene + else: + return None + +CALC_MISS = MACRO(nom="CALC_MISS", + op=OPS('Macro.calc_miss_ops.calc_miss_ops'), + sd_prod=calc_miss_sdprod, + fr="Préparation des données, exécution du logiciel Miss3D, et post-traitement", + UIinfo={"groupes":("Résolution","Outils-métier",)}, + + TYPE_RESU = SIMP(statut='o', typ='TXM', + into=('HARM_GENE', 'TRAN_GENE', 'TABLE', 'TABLE_CONTROL', + 'FICHIER', 'FICHIER_TEMPS'), + fr="Type de résultat produit en post-traitement. FICHIER : pas de post-traitement"), + PROJET = SIMP(statut='f', typ='TXM', defaut='MODELE', + fr="Nom de l'étude Miss"), + REPERTOIRE = SIMP(statut='f', typ='TXM', + fr="Répertoire de travail de Miss"), + VERSION = SIMP(statut='f', typ='TXM', into=("V6.6","V6.5"), defaut="V6.6", + fr="Version de Miss utilisée"), + + TABLE_SOL = SIMP(statut='o', typ=table_sdaster, + fr="Table des propriétés du sol"), + + # pas de post-traitement + b_basic = BLOC(condition="TYPE_RESU in ('FICHIER', 'TABLE_CONTROL')", + regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), + ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'),), + MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, + fr="Macro élément produit en amont"), + BASE_MODALE = SIMP(statut='f', typ=mode_meca, + fr="Base de modes"), + b_base_modale = BLOC(condition="BASE_MODALE is not None", + MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), + MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), + ), + AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), + GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', + fr="Groupe de mailles de l'interface"), + GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles fluide-structure"), + GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles fluide-sol"), + GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles sol-sol"), + UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', + fr="Unité des résultats transmis par Code_Aster à Miss"), + UNITE_RESU_IMPE = SIMP(statut='f', typ='I', + fr="Unité logique des impédances écrites par Miss"), + UNITE_RESU_FORC = SIMP(statut='f', typ='I', + fr="Unité logique des forces sismiques écrites par Miss"), + ), + # post-traitement : passage du domaine de Laplace au domaine temporel + b_fichier_temps = BLOC(condition="TYPE_RESU == 'FICHIER_TEMPS'", + regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), + AU_MOINS_UN('UNITE_RESU_RIGI','UNITE_RESU_AMOR','UNITE_RESU_MASS'), + PRESENT_PRESENT('UNITE_RESU_AMOR', 'MATR_GENE'), + PRESENT_PRESENT('UNITE_RESU_MASS', 'MATR_GENE'),), + MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, + fr="Macro élément produit en amont"), + BASE_MODALE = SIMP(statut='f', typ=mode_meca, + fr="Base de modes"), + b_base_modale = BLOC(condition="BASE_MODALE is not None", + MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), + MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), + ), + AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), + GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', + fr="Groupe de mailles de l'interface"), + UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', + fr="Unité des résultats transmis par Code_Aster à Miss"), + UNITE_RESU_RIGI =SIMP(statut='f',typ='I'), + UNITE_RESU_AMOR =SIMP(statut='f',typ='I'), + UNITE_RESU_MASS =SIMP(statut='f',typ='I'), + INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), + PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), + PRECISION = SIMP(statut='f',typ='R',defaut=0.000001), + COEF_SURECH = SIMP(statut='f',typ='I',defaut=1 ), + MATR_GENE =FACT(statut='f', max = 1, + DECOMP_IMPE= SIMP(statut='f',typ='TXM',defaut='PRODUIT',into=('PRODUIT','SANS_PRODUIT')), + AMOR_HYST = SIMP(statut='o',typ='TXM',into=('DANS_IMPEDANCE','DANS_MATR_AMOR'), + fr="Indique comment l'amortissement hysteretique est pris en compte"), + b_amor_nohyst = BLOC(condition="AMOR_HYST == 'DANS_MATR_AMOR'", + MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), + MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), + MATR_AMOR = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), + ), + b_amor_hyst = BLOC(condition="AMOR_HYST == 'DANS_IMPEDANCE'", + regles = (AU_MOINS_UN('MATR_MASS','MATR_RIGI','MATR_AMOR'),), + MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), + MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), + MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), + ), + ), + EXCIT_SOL =FACT(statut='f', max = 1, + regles = (AU_MOINS_UN('CHAM_X','CHAM_Y','CHAM_Z'),), + UNITE_RESU_FORC =SIMP(statut='o',typ='I', + fr="Unité logique des forces sismiques écrites par Miss"), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='DEPL', + into=('ACCE','VITE','DEPL') ), + CHAM_X = SIMP(statut='f', typ=fonction_sdaster,), + CHAM_Y = SIMP(statut='f', typ=fonction_sdaster,), + CHAM_Z = SIMP(statut='f', typ=fonction_sdaster,), + ), + ), + # si post-traitement + b_donnees = BLOC(condition="TYPE_RESU not in ('FICHIER', 'FICHIER_TEMPS', 'TABLE_CONTROL')", + regles=(ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'), + UN_PARMI('MATR_AMOR', 'AMOR_REDUIT'),), + MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, + fr="Macro élément produit en amont"), + BASE_MODALE = SIMP(statut='o', typ=mode_meca, + fr="Base de modes"), + MATR_RIGI = SIMP(statut='o', typ=(matr_asse_depl_r, matr_asse_depl_c),), + MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r ), + MATR_AMOR = SIMP(statut='f', typ=matr_asse_depl_r ), + AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), + GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', + fr="Groupe de mailles de l'interface"), + GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles fluide-structure"), + GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles fluide-sol"), + GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles sol-sol"), + UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', + fr="Unité des résultats transmis par Code_Aster à Miss"), + UNITE_RESU_IMPE = SIMP(statut='f', typ='I', + fr="Unité logique des impédances à relire."), + UNITE_RESU_FORC = SIMP(statut='f', typ='I', + fr="Unité logique des forces sismiques à relire"), + ), + # Paramètres du calcul Miss + PARAMETRE = FACT(statut='o', + regles=(PRESENT_PRESENT('OFFSET_MAX', 'OFFSET_NB'), + PRESENT_PRESENT('FREQ_MIN', 'FREQ_MAX','FREQ_PAS'), + UN_PARMI('FREQ_MIN', 'LIST_FREQ', 'FREQ_IMAG'), + PRESENT_PRESENT('SPEC_MAX', 'SPEC_NB'),), + FREQ_MIN = SIMP(statut='f', typ='R'), + FREQ_MAX = SIMP(statut='f', typ='R'), + FREQ_PAS = SIMP(statut='f', typ='R'), + LIST_FREQ = SIMP(statut='f', typ='R', max='**'), + FREQ_IMAG = SIMP(statut='f', typ='R'), + Z0 = SIMP(statut='f', typ='R', defaut=0.), + SURF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), + ISSF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), + ALLU = SIMP(statut='f', typ='R', defaut=0.), + RFIC = SIMP(statut='f', typ='R', defaut=0.), + + ALGO = SIMP(statut='f', typ='TXM', into=("DEPL","REGU")), + DREF = SIMP(statut='f', typ='R'), + SPEC_MAX = SIMP(statut='f', typ='R'), + SPEC_NB = SIMP(statut='f', typ='I'), + OFFSET_MAX = SIMP(statut='f', typ='R'), + OFFSET_NB = SIMP(statut='f', typ='I'), + TYPE = SIMP(statut='f', typ='TXM', into=("BINAIRE","ASCII",), defaut="ASCII"), + ), + # Post-traitement type 1 - tran_gene + b_post_tran_gene = BLOC(condition="TYPE_RESU == 'TRAN_GENE'", + regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + ), + MODELE = SIMP(statut='o', typ=(modele_sdaster),), + GROUP_NO = SIMP(statut='f', typ=grno, max='**',), + ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), + INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), + PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), + ), + # Post-traitement type 1 - harm_gene + b_post_harm_gene = BLOC(condition="TYPE_RESU == 'HARM_GENE'", + regles=(#AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z',), + AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X','DEPL_Y','DEPL_Z'), + PRESENT_ABSENT('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z', 'INST_FIN'), + PRESENT_ABSENT('EXCIT_HARMO', 'DEPL_X', 'DEPL_Y', 'DEPL_Z'), + PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), + ENSEMBLE('INST_FIN', 'PAS_INST'),), + MODELE = SIMP(statut='o', typ=(modele_sdaster),), + GROUP_NO = SIMP(statut='f', typ=grno, max='**',), + ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), + DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), + INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), + PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), + # identique à EXCIT de DYNA_LINE_HARM au type attendu pour VECT_ASSE près + EXCIT_HARMO = FACT(statut='f', max='**', + regles=(UN_PARMI('VECT_ASSE', 'CHARGE'), + UN_PARMI('FONC_MULT', 'FONC_MULT_C', 'COEF_MULT', 'COEF_MULT_C'),), + VECT_ASSE = SIMP(statut='f', typ=cham_no_sdaster,), + CHARGE = SIMP(statut='f', typ=char_meca), + FONC_MULT_C = SIMP(statut='f', typ=(fonction_c, formule_c),), + COEF_MULT_C = SIMP(statut='f', typ='C'), + FONC_MULT = SIMP(statut='f', typ=(fonction_sdaster, nappe_sdaster, formule) ), + COEF_MULT = SIMP(statut='f', typ='R'), + PHAS_DEG = SIMP(statut='f', typ='R', defaut=0.), + PUIS_PULS = SIMP(statut='f', typ='I', defaut=0), + ), + ), + # Post-traitement type 2 + b_post_table = BLOC(condition="TYPE_RESU == 'TABLE'", + regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z'),), + MODELE = SIMP(statut='o', typ=(modele_sdaster),), + GROUP_NO = SIMP(statut='o', typ=grno, max='**', + fr="Liste des groupes de noeud de post-traitement"), + ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), + INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), + PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), + NORME = SIMP(statut='o', typ='R', + fr="Valeur de la norme du spectre d'oscillateur" ), + AMOR_SPEC_OSCI = SIMP(statut='o', typ='R', max='**', + fr="Amortissement du spectre d'oscillateur"), + LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, + fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), + ), + + # Post-traitement type 3 - points de controle + b_post_control = BLOC(condition="TYPE_RESU == 'TABLE_CONTROL'", + regles=(PRESENT_PRESENT('ACCE_X', 'INST_FIN'), + PRESENT_PRESENT('ACCE_Y', 'INST_FIN'), + PRESENT_PRESENT('ACCE_Z', 'INST_FIN'), + ENSEMBLE('INST_FIN', 'PAS_INST', 'NORME', 'AMOR_SPEC_OSCI'),), + GROUP_MA_CONTROL = SIMP(statut='f', typ=grma, max='**', + fr="Groupe de mailles des points de contrôle"), + ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), + ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), + INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), + PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), + NORME = SIMP(statut='f', typ='R', + fr="Valeur de la norme du spectre d'oscillateur" ), + AMOR_SPEC_OSCI = SIMP(statut='f', typ='R', max='**', + fr="Amortissement du spectre d'oscillateur"), + LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, + fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), + ), + + INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr + + +def calc_modal_prod(self,AMORTISSEMENT,**args): + if AMORTISSEMENT=="NON": return mode_meca + if AMORTISSEMENT=="OUI": return mode_meca_c + raise AsException("type de concept resultat non prevu") + + +CALC_MODAL=MACRO(nom="CALC_MODAL", + op=OPS('Macro.calc_modal_ops.calc_modal_ops'), + UIinfo={"groupes":("Résolution","Dynamique",)}, + sd_prod=calc_modal_prod, + fr="Calcul des modes propres reels ou complexes dans une seule commande", + MODELE =SIMP(statut='o',typ=modele_sdaster), + AMORTISSEMENT =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + INST =SIMP(statut='f',typ='R',defaut=0.), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", + into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), + b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", + PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), + NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), + NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", + PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), + NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), + PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ), + b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", + PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), + PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), + ), + b_qz =BLOC(condition = "METHODE == 'QZ'", + TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), + ), + MODE_RIGIDE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), + CALC_FREQ =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), + ), + b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des fréquences propres les plus proches d une valeur donnée", + FREQ =SIMP(statut='o',typ='R', + fr="Fréquence autour de laquelle on cherche les fréquences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des fréquences propres dans une bande donnée", + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, + fr="Valeurs des deux fréquences délimitant la bande de recherche"), + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), + fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), + regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, + fr="Valeur limite admise pour l ereur a posteriori des modes" ), + STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mohamed.torkhani at edf.fr + + +CALC_MODE_ROTATION=MACRO(nom="CALC_MODE_ROTATION", + op=OPS('Macro.calc_mode_rotation_ops.calc_mode_rotation_ops'), + sd_prod=table_container, + reentrant='n', + fr="calculer les fréquences et modes d'un système en fonction des " \ + "vitesses de rotation", + UIinfo={"groupes":("Résolution","Dynamique",)}, + + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + MATR_GYRO =SIMP(statut='f',typ=matr_asse_depl_r ), + VITE_ROTA =SIMP(statut='f',typ='R',max='**'), + + METHODE =SIMP(statut='f',typ='TXM',defaut="QZ", + into=("QZ","SORENSEN",) ), + + CALC_FREQ =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","CENTRE",), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des valeurs propres les plus proches d une valeur donnée", + FREQ =SIMP(statut='o',typ='R', + fr="Fréquence autour de laquelle on cherche les fréquences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + ), + + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), + STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix at edf.fr +CALC_POINT_MAT=OPER(nom="CALC_POINT_MAT",op=33,sd_prod=table_sdaster,reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Intégrer une loi de comportement", + MATER =SIMP(statut='o',typ=mater_sdaster,max=1), + COMPORTEMENT =C_COMPORTEMENT('CALC_POINT_MAT'), + INCREMENT =C_INCREMENT('MECANIQUE'), + NEWTON =C_NEWTON(), + CONVERGENCE =C_CONVERGENCE(), + + # --MASSIF : orientation du materiau (monocristal, orthotropie) + MASSIF =FACT(statut='f',max='**', + regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), + ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), + ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), + ), + ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. + ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2)), + + regles=( + EXCLUS('SIXX','EPXX',), + EXCLUS('SIYY','EPYY',), + EXCLUS('SIZZ','EPZZ',), + EXCLUS('SIXY','EPXY',), + EXCLUS('SIXZ','EPXZ',), + EXCLUS('SIYZ','EPYZ',), + + ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), + + SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + + EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + + F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + + MATR_C1=FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), + ), + MATR_C2=FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), + ), + VECT_IMPO=FACT(statut='f',max=6, + VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + ), + SIGM_INIT=FACT(statut='f', + SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + ), + EPSI_INIT=FACT(statut='f', + EPXX = SIMP(statut='o',typ='R',max=1), + EPYY = SIMP(statut='o',typ='R',max=1), + EPZZ = SIMP(statut='o',typ='R',max=1), + EPXY = SIMP(statut='o',typ='R',max=1), + EPXZ = SIMP(statut='o',typ='R',max=1), + EPYZ = SIMP(statut='o',typ='R',max=1), + ), + VARI_INIT=FACT(statut='f', + VALE = SIMP(statut='o',typ='R',max='**'), + ), + FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), + + NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), + + OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), + + ARCHIVAGE =FACT(statut='f', + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ), + + + # on permet certaines variables de commandes scalaires, définies par une fonction du temps + # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : + LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", + "M_ACIER","M_ZIRC","NEUT1","NEUT2")), + + AFFE_VARC = FACT(statut='f',max='**', + NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", + "EPSA","NEUT1","NEUT2")), + VALE_FONC = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + + # VALE_REF est nécessaire pour certaines VARC : + B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", + VALE_REF =SIMP(statut='o',typ='R'), + ), + ), + + + + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sylvie.michel-ponnelle at edf.fr + + +CALC_PRECONT=MACRO(nom="CALC_PRECONT", + op=OPS('Macro.calc_precont_ops.calc_precont_ops'), + sd_prod=evol_noli, + fr="Imposer la tension définie par le BPEL dans les cables", + reentrant='f',UIinfo={"groupes":("Modélisation",)}, + reuse =SIMP(statut='f',typ='evol_noli'), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), + CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), + INCREMENT =C_INCREMENT('MECANIQUE'), + RECH_LINEAIRE =C_RECH_LINEAIRE(), + CONVERGENCE =C_CONVERGENCE(), + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(carte_sdaster,cham_elem)), + VARI =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), + METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX")), + b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'", + NEWTON = C_NEWTON(), + ), + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('CALC_PRECONT'), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + ), + + COMPORTEMENT =C_COMPORTEMENT(), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: mathieu.corus at edf.fr + + +CALC_SPEC=MACRO(nom="CALC_SPEC", + op=OPS('Macro.calc_spec_ops.calc_spec_ops'), + sd_prod=interspectre, + reentrant='n', + fr="Calcule une matrice interspectrale ou des fonctions de transferts", + UIinfo={"groupes":("Fonctions",)}, + TAB_ECHANT =FACT(statut='f', + NOM_TAB =SIMP(statut='o',typ=table_sdaster), + LONGUEUR_DUREE =SIMP(statut='f',typ='R'), + LONGUEUR_POURCENT =SIMP(statut='f',typ='R'), + LONGUEUR_NB_PTS =SIMP(statut='f',typ='I'), + RECOUVREMENT_DUREE =SIMP(statut='f',typ='R'), + RECOUVREMENT_POURCENT =SIMP(statut='f',typ='R'), + RECOUVREMENT_NB_PTS =SIMP(statut='f',typ='I'), + ), + ECHANT =FACT(statut='f',max='**', + NUME_ORDRE_I =SIMP(statut='o',typ='I' ), + NUME_MES =SIMP(statut='o',typ='I' ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster), + ), +#-- Cas de la matrice interspectrale --# + INTERSPE =FACT(statut='f', + FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), + BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", + DEFI_FENE =SIMP(statut='f',typ='R',max='**'), + ), + ), +#-- Cas des transferts - estimateurs H1 / H2 / Hv + Coherence --# + TRANSFERT =FACT(statut='f', + ESTIM =SIMP(statut='f',typ='TXM',defaut="H1",into=("H1","H2","CO",)), + REFER =SIMP(statut='o',typ='I',max='**'), + FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), +# DEFI_FENE =SIMP(statut='f',typ='R',max='**'), + BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", + DEFI_FENE =SIMP(statut='f',typ='R',max='**'), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +CALC_STABILITE=MACRO(nom="CALC_STABILITE",sd_prod=table_container, + op=OPS('Macro.calc_stabilite_ops.calc_stabilite_ops'), + fr="post-traitement modes non-linéaires : filtre resultats et calcul de stabilité", + reentrant='f', + UIinfo={"groupes":("Résolution","Dynamique",)}, + + reuse =SIMP(statut='f',typ='table_container'), + + MODE_NON_LINE = SIMP(statut='o',typ=table_container,max=1), + SCHEMA_TEMPS = FACT(statut='d',max=1, + SCHEMA = SIMP(statut='f',typ='TXM',into=('NEWMARK',),defaut='NEWMARK'), + b_newmark= BLOC(condition="SCHEMA=='NEWMARK'", + NB_INST = SIMP(statut='f',typ='I',defaut= 1000 ), + ), + ), + TOLERANCE = SIMP(statut='f',typ='R',defaut= 1.E-2 ), + + FILTRE = FACT(statut='f',max=1,regles=(UN_PARMI('NUME_ORDRE','FREQ_MIN',),), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + FREQ_MIN = SIMP(statut='f',typ='R' ), + b_freq_min = BLOC(condition = "FREQ_MIN != None", + FREQ_MAX = SIMP(statut='o',typ='R' ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + ), + + INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +) ; + + + + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def calc_table_prod(self, TABLE, ACTION, **kargs): + """Typage du concept produit. + """ + l_typ = [AsType(TABLE),] + for mcf in ACTION: + dmc = mcf.cree_dict_valeurs(mcf.mc_liste) + if dmc.get('TABLE') != None: + l_typ.append(AsType(dmc['TABLE'])) + # une table_fonction étant une table + if table_fonction in l_typ: + return table_fonction + elif table_container in l_typ: + return table_container + else: + return table_sdaster + +CALC_TABLE=MACRO(nom="CALC_TABLE", + op=OPS('Macro.calc_table_ops.calc_table_ops'), + sd_prod=calc_table_prod, + fr="Opérations sur une table", + UIinfo={"groupes":("Tables",)}, + reentrant='f', + TABLE = SIMP(statut='o',typ=table_sdaster), + ACTION = FACT(statut='o', max='**', + fr = "Suite des opérations à effectuer sur la table", + OPERATION = SIMP(statut='o', typ='TXM', + into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT_LIGNE', + 'OPER', 'SUPPRIME', 'AJOUT_COLONNE')), + + b_filtre = BLOC(condition="OPERATION == 'FILTRE'", + fr="Sélectionne les lignes de la table vérifiant un critère", + NOM_PARA = SIMP(statut='o',typ='TXM'), + CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ", + into=('EQ','NE','GT','LT','GE','LE','REGEXP', + 'VIDE','NON_VIDE','MAXI','MAXI_ABS','MINI','MINI_ABS'),), + b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE = SIMP(statut='f',typ='R',max='**'), + VALE_I = SIMP(statut='f',typ='I',max='**'), + VALE_C = SIMP(statut='f',typ='C',max='**'), + VALE_K = SIMP(statut='f',typ='TXM',max='**'), + ), + b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'", + VALE_K = SIMP(statut='o',typ='TXM',), + ), + b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')", + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + ), + + b_extr = BLOC(condition="OPERATION == 'EXTR'", + fr="Extrait une ou plusieurs colonnes de la table", + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + fr="Noms des colonnes à extraire"), + ), + + b_suppr = BLOC(condition="OPERATION == 'SUPPRIME'", + fr="Supprime une ou plusieurs colonnes de la table", + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + fr="Noms des colonnes à supprimer"), + ), + + b_renomme = BLOC(condition="OPERATION == 'RENOMME'", + fr="Renomme un ou plusieurs paramètres de la table", + NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2, + fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",), + ), + + b_tri = BLOC(condition="OPERATION == 'TRI'", + fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres", + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + ORDRE = SIMP(statut='f',typ='TXM',defaut="CROISSANT", + into=("CROISSANT","DECROISSANT") ), + ), + + b_comb = BLOC(condition="OPERATION == 'COMB'", + fr="Combine deux tables ayant éventuellement des paramètres communs", + TABLE = SIMP(statut='o',typ=table_sdaster, + fr="Table dont les colonnes vont venir surcharger la table initiale"), + NOM_PARA = SIMP(statut='f',typ='TXM',max='**', + fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\ + "pour que les colonnes soient combinées"), + RESTREINT = SIMP(statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON', + fr="Restreint la fusion uniquement aux lignes où les NOM_PARA sont communs"), + FORMAT_R =SIMP(statut='f',typ='TXM'), + ), + + b_ajout_lig = BLOC(condition="OPERATION == 'AJOUT_LIGNE'", + fr="Ajoute une ligne à la table initiale", + NOM_PARA = SIMP(statut='o',typ='TXM',max='**', + fr="Noms des paramètres dont les valeurs sont fournies sous VALE"), + VALE = SIMP(statut='o',typ=not_checked,max='**', fr='Valeurs des paramètres'), + ), + + b_ajout_col = BLOC(condition="OPERATION == 'AJOUT_COLONNE'", + fr="Ajoute une colonne constante à la table initiale", + NOM_PARA = SIMP(statut='o',typ='TXM',max='**', + fr="Noms des paramètres des colonnes à ajouter"), + VALE = SIMP(statut='o', typ=not_checked, max='**', + fr="Valeur constante pour chaque colonne"), + ), + + b_oper = BLOC(condition="OPERATION == 'OPER'", + fr="Applique une formule dans laquelle les variables sont les paramètres de la table", + FORMULE = SIMP(statut='o',typ=formule, + fr="Formule à appliquer aux colonnes de la table"), + NOM_PARA = SIMP(statut='o',typ='TXM', + fr="Nom de la nouvelle colonne"), + NOM_COLONNE = SIMP(statut='f',typ='TXM', max='**', + fr="Nom des colonnes à utiliser en tant que paramètres de la formule"), + ), + ), + + TITRE = SIMP(statut='f',typ='TXM',max='**', + fr="Titre de la table produite"), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + fr="Définir un champ theta pour le calcul du taux de restitution d'énergie" + +" ou des facteurs d'intensité de contraintes", + regles=(UN_PARMI('THETA_2D','THETA_3D'), + PRESENT_ABSENT('THETA_2D','DIRE_THETA'), + EXCLUS('DIRECTION','DIRE_THETA'),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + THETA_3D =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), + UN_PARMI('MODULE','MODULE_FO'), + ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MODULE =SIMP(statut='f',typ='R'), + R_INF =SIMP(statut='f',typ='R'), + R_SUP =SIMP(statut='f',typ='R'), + MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + b_theta_3d =BLOC(condition="THETA_3D != None", + FOND_FISS =SIMP(statut='o',typ=fond_fiss),), + DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + THETA_2D =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MODULE =SIMP(statut='o',typ='R'), + R_INF =SIMP(statut='o',typ='R'), + R_SUP =SIMP(statut='o',typ='R'), + ), + IMPRESSION =FACT(statut='f', + UNITE =SIMP(statut='f',typ='I',defaut=8), + FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def calc_vect_elem_prod(OPTION,**args): + if OPTION == "CHAR_MECA" : return vect_elem_depl_r + if OPTION == "CHAR_THER" : return vect_elem_temp_r + if OPTION == "CHAR_ACOU" : return vect_elem_pres_c + raise AsException("type de concept resultat non prevu") + +CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + fr="Calcul des seconds membres élémentaires", + OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU") ), + b_char_meca =BLOC(condition = "OPTION=='CHAR_MECA'", + regles=(AU_MOINS_UN('CHARGE','MODELE'),), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + MODELE =SIMP(statut='f',typ=modele_sdaster), + b_charge =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure", + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + b_modele =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure", + SOUS_STRUC =FACT(statut='o',min=01, + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + ), + ), + ), + b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CHARGE =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr + +CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT", + into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INTE_ELEM","FORC_NODA_ELEM"),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + TABLE =SIMP(statut='f',typ=table_container), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE",)), + + ), + DEPL =SIMP(statut='o',typ=cham_no_sdaster ), + INCR_DEPL =SIMP(statut='o',typ=cham_no_sdaster ), + SIGM =SIMP(statut='o',typ=cham_elem), + VARI =SIMP(statut='o',typ=cham_elem), + INCREMENT =FACT(statut='o', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + NUME_ORDRE =SIMP(statut='o',typ='I'),), + COMPORTEMENT =C_COMPORTEMENT('CALCUL'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sylvie.granet at edf.fr +#from Macro.chainage_thm_ops import chainage_thm_ops + +def chainage_thm_prod(self,TYPE_CHAINAGE,TYPE_RESU = None,**args) : + + if TYPE_CHAINAGE == "MECA_HYDR" : return evol_varc + + if TYPE_CHAINAGE == "HYDR_MECA" : + if TYPE_RESU == "CHAM_NO" : + return cham_no_sdaster + elif TYPE_RESU == "EVOL_VARC" : + return evol_varc + + if TYPE_CHAINAGE == "INIT" : + matr_mh = args['MATR_MH'] + matr_hm1 = args['MATR_HM1'] + matr_hm2 = args['MATR_HM2'] + + self.type_sdprod(matr_mh,corresp_2_mailla) + self.type_sdprod(matr_hm1,corresp_2_mailla) + self.type_sdprod(matr_hm2,corresp_2_mailla) + return None + + raise AsException("type de chainage THM non prevu") + +CHAINAGE_THM=MACRO(nom="CHAINAGE_THM", + op=OPS('Macro.chainage_thm_ops.chainage_thm_ops'), + sd_prod=chainage_thm_prod, + reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + docu="Ux.xx.xx", + fr="Calcul des variables de commande pour le chaînage THM", + + TYPE_CHAINAGE = SIMP(statut='o',typ='TXM', + into=("HYDR_MECA","MECA_HYDR","INIT",), + fr="Sens du chaînage ou initialisation des matrices de projection"), + + # Cas HYDR_MECA : + + b_hydr_meca = BLOC(condition = "TYPE_CHAINAGE == 'HYDR_MECA'",fr="Chaînage hydraulique vers mécanique", + + RESU_HYDR = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat hydraulique à chaîner" ), + MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée mécanique"), + TYPE_RESU = SIMP(statut='f',typ='TXM',into=("EVOL_VARC","CHAM_NO"),defaut="EVOL_VARC", ), + MATR_HM1 = SIMP(statut='o',typ=corresp_2_mailla,), + MATR_HM2 = SIMP(statut='o',typ=corresp_2_mailla,), + + b_type_resu = BLOC(condition = "TYPE_RESU == 'EVOL_VARC'",fr="Instant obligatoire si TYPE_RESU=EVOL_VARC", + INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), + + ),), + + # Cas MECA_HYDR : + + b_meca_hydr = BLOC(condition = "TYPE_CHAINAGE == 'MECA_HYDR'",fr="Chaînage mécanique vers hydraulique", + + RESU_MECA = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat mécanique à chaîner" ), + MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée hydraulique"), + + MATR_MH = SIMP(statut='o',typ=corresp_2_mailla,), + INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), + ), + + # Cas INIT : + + b_init = BLOC(condition = "TYPE_CHAINAGE == 'INIT'",fr="Calcul des matrices de projection", + + MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle mécanique"), + MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle hydraulique"), + + MATR_MH = SIMP(statut='o',typ=CO,), + MATR_HM1 = SIMP(statut='o',typ=CO,), + MATR_HM2 = SIMP(statut='o',typ=CO,), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, + reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières", + UIinfo={"groupes":("Post-traitements",)}, + RESULTAT =SIMP(statut='o',typ=(fourier_elas,fourier_ther),), + ANGLE =SIMP(statut='o',typ='R',max='**'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,into=("DEPL","REAC_NODA", + "SIEF_ELGA","EPSI_ELNO","SIGM_ELNO","TEMP","FLUX_ELNO"),), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr +def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): + if COMB_C != None: + type_mat = AsType(COMB_C[0]['MATR_ASSE']) + if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c + if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c + if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c + if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c + elif COMB_R != None: + type_mat = AsType(COMB_R[0]['MATR_ASSE']) + if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r + if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r + if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r + if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r + elif CALC_AMOR_GENE != None: return matr_asse_gene_r + raise AsException("type de concept resultat non prevu") + +COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, + fr="Effectuer la combinaison linéaire de matrices assemblées", + reentrant='f', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),), + COMB_R =FACT(statut='f',max='**', + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c + ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), + COEF_R =SIMP(statut='o',typ='R' ), + ), + COMB_C =FACT(statut='f',max='**', + regles=(UN_PARMI('COEF_R','COEF_C' ),), + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c + ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), + COEF_R =SIMP(statut='f',typ='R' ), + COEF_C =SIMP(statut='f',typ='C' ), + ), + CALC_AMOR_GENE =FACT(statut='f', + RIGI_GENE = SIMP(statut='o', typ=matr_asse_gene_r), + MASS_GENE = SIMP(statut='o', typ=matr_asse_gene_r), + regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),), + AMOR_REDUIT = SIMP(statut='f',typ='R',max='**'), + LIST_AMOR = SIMP(statut='f',typ=listr8_sdaster ), + ), + SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sylvie.audebert at edf.fr +COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_meca, + fr="Réponse sismique par recombinaison modale par une méthode spectrale", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Dynamique",)}, + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'), + UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ), + UN_PARMI('MONO_APPUI','MULTI_APPUI' ),), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + b_freq =BLOC(condition = "FREQ != None or LIST_FREQ != None", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + MODE_CORR =SIMP(statut='f',typ=mode_meca ), + FREQ_COUP = SIMP(statut='f',typ='R',min=1,max=1), + + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), + + MASS_INER =SIMP(statut='f',typ=table_sdaster ), + CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + EXCIT =FACT(statut='o',max='**', + regles=(UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),), + AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",), + TRI_AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",), + TRI_SPEC =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Excitation suivant les trois axes avec trois spectres"), + b_axe =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe", + SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), + ECHELLE =SIMP(statut='f',typ='R',), + ), + b_tri_axe =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre", + SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), + ECHELLE =SIMP(statut='f',typ='R',), + ), + b_tri_spec =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes avec trois spectres", + SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),min=3,max=3 ), + ECHELLE =SIMP(statut='f',typ='R',min=3,max=3), + ), + NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ), + b_mult_appui =BLOC(condition = "(MULTI_APPUI != None)", + regles=(UN_PARMI('NOEUD','GROUP_NO' ),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),) + ), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="excitation imposée unique" ), + MULTI_APPUI =SIMP(statut='f',typ='TXM',position='global',into=("DECORRELE","CORRELE"), + fr="excitation imposée unique" ), + b_decorrele =BLOC(condition = "MULTI_APPUI == 'DECORRELE' ", + GROUP_APPUI =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO' ),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), + + ), + b_correle =BLOC(condition = "MULTI_APPUI == 'CORRELE' ", + COMB_MULT_APPUI =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),), + ), + + COMB_MODE =FACT(statut='o', + TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC","GUPTA") ), + DUREE =SIMP(statut='f',typ='R' ), + b_gupta =BLOC(condition = "TYPE == 'GUPTA' ", + FREQ_1 =SIMP(statut='o',typ='R',), + FREQ_2 =SIMP(statut='o',typ='R',), + ), + ), + COMB_DIRECTION =FACT(statut='f', + TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ), + ), + COMB_DEPL_APPUI=FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','LIST_CAS'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + LIST_CAS =SIMP(statut='f',typ='I',max='**'), + TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), + ), + DEPL_MULT_APPUI =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO'), + AU_MOINS_UN('DX','DY','DZ' ),), + NOM_CAS =SIMP(statut='o',typ='TXM',max='**'), + NUME_CAS =SIMP(statut='o',typ='I',max='**'), + MODE_STAT =SIMP(statut='o',typ=mode_meca, ), + NOEUD_REFE =SIMP(statut='f',typ=no), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + ), + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9, + into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO","SIEF_ELGA", + "EFGE_ELNO","REAC_NODA","FORC_NODA", + "SIPO_ELNO") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + IMPRESSION =FACT(statut='f',max='**', + regles=(EXCLUS('TOUT','NIVEAU'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def copier_prod(CONCEPT,**args): + return AsType(CONCEPT) + +# liste des types de concept acceptes par la commande : +copier_ltyp=( + cabl_precont, + listr8_sdaster, + listis_sdaster, + fonction_sdaster, + nappe_sdaster, + table_sdaster, + maillage_sdaster, + modele_sdaster, + evol_elas, + evol_noli, + evol_ther, +) + +COPIER=OPER(nom="COPIER",op= 185,sd_prod=copier_prod,reentrant='f', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Copier un concept utilisateur sous un autre nom", + + CONCEPT = SIMP(statut='o',typ=copier_ltyp,), + INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=1, ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def crea_champ_prod(TYPE_CHAM,**args): + if TYPE_CHAM[0:5] == "CART_" : + return carte_sdaster + elif TYPE_CHAM[0:5] == "NOEU_" : + return cham_no_sdaster + elif TYPE_CHAM[0:2] == "EL" : + return cham_elem + else : + raise AsException("type de concept resultat_sdaster non prevu") + + +CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, + fr="Création d'un champ ",reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + + # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx + # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs + TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), + +# SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS : +# ------------------------------------------------------------------ + regles=(EXCLUS('NUME_DDL','CHAM_NO',)), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ), + CHAM_NO =SIMP(statut='f',typ=(cham_no_sdaster) ), + + +# AUTORISE-T-ON LE PROLONGEMENT DU CHAMP PAR ZERO ? +# ------------------------------------------------------------------ +# CE MOT CLE N'A DE SENS QUE DANS 2 CAS DE FIGURE : +# - POUR LES CHAM_ELEM (AVEC LE MOT CLE MODELE) +# - POUR LES CHAM_NO SI ON IMPOSE LEUR NUMEROTATION + b_prol_zero =BLOC(condition = "NUME_DDL != None or CHAM_NO != None or (TYPE_CHAM != None and TYPE_CHAM[0:2] == 'EL')", + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",)),), + + +# SI CREATION D'UN CHAM_ELEM, POUR POUVOIR AIDER A L'ALLOCATION DU CHAMP : +# (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM) +# ------------------------------------------------------------------ + OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),), + + +# Si creation d'un cham_elem avec sous-points, pour que tous les sous-points +# soient affectes : on duplique la valeur sur tous les sous-points +# ------------------------------------------------------------------ + AFFE_SP =FACT(statut='f',max=1, + CARA_ELEM =SIMP(statut='o',typ=cara_elem,min=1,max=1), + ), + + +# LE MOT-CLE OPERATION EST OBLIGATOIRE. IL PERMET LE BON AIGUILLAGE. +# ------------------------------------------------------------------ + OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE","R2C","C2R","COMB") ), + +# ------------------------------------------------------------------ + b_norm =BLOC(condition = "OPERATION == 'NORMALE'", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), +# ------------------------------------------------------------------ + b_affe =BLOC(condition = "OPERATION == 'AFFE'", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), + AFFE =FACT(statut='o',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), + UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + VALE =SIMP(statut='f',typ='R',max='**' ), + VALE_I =SIMP(statut='f',typ='I',max='**' ), + VALE_C =SIMP(statut='f',typ='C',max='**' ), + VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), + ), + ), +# ------------------------------------------------------------------ + b_asse =BLOC(condition = "OPERATION == 'ASSE'", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), + ASSE =FACT(statut='o',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), + PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), + NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ), + CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + COEF_R =SIMP(statut='f',typ='R',defaut= 1. ), + COEF_C =SIMP(statut='f',typ='C',max=1), + ), + ), +# ------------------------------------------------------------------ + b_comb =BLOC(condition = "OPERATION == 'COMB'", + fr="Pour faire une combinaison linéaire de cham_no ayant meme profil", + COMB =FACT(statut='o',max='**', + CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), + COEF_R =SIMP(statut='o',typ='R'), + ), + ), +# ------------------------------------------------------------------ + b_eval =BLOC(condition = "OPERATION == 'EVAL'", + CHAM_F =SIMP(statut='o',typ=cham_gd_sdaster), + CHAM_PARA =SIMP(statut='o',typ=cham_gd_sdaster,max='**'), + ), +# ------------------------------------------------------------------ + b_r2c =BLOC(condition = "OPERATION == 'R2C'", + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), + ), +# ------------------------------------------------------------------ + b_c2r =BLOC(condition = "OPERATION == 'C2R'", + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), + PARTIE =SIMP(statut='o',typ='TXM',into=('REEL','IMAG','MODULE','PHASE'),), + ), +# ------------------------------------------------------------------ + b_disc =BLOC(condition = "OPERATION == 'DISC'", + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), + ), +# ------------------------------------------------------------------ + b_extr =BLOC(condition = "OPERATION == 'EXTR'", + regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), + PRESENT_ABSENT('MAILLAGE','FISSURE','RESULTAT','CARA_ELEM','CHARGE'), + PRESENT_ABSENT('FISSURE','MAILLAGE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), + PRESENT_ABSENT('RESULTAT','FISSURE','MAILLAGE','TABLE','CARA_ELEM','CHARGE'), + PRESENT_ABSENT('TABLE','RESULTAT','FISSURE','CARA_ELEM','CHARGE'), + PRESENT_ABSENT('CARA_ELEM','MAILLAGE','TABLE','RESULTAT','FISSURE','CHARGE'), + PRESENT_ABSENT('CHARGE','MAILLAGE','TABLE','RESULTAT','FISSURE','CARA_ELEM'), + ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + FISSURE =SIMP(statut='f',typ=(fiss_xfem) ), + RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), + TABLE =SIMP(statut='f',typ=(table_sdaster),min=1,max=1), + CARA_ELEM =SIMP(statut='f',typ=(cara_elem),min=1,max=1), + CHARGE =SIMP(statut='f',typ=(char_meca),min=1,max=1), + b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("GEOMETRIE",)), + ), + + b_extr_cara_elem =BLOC(condition = "CARA_ELEM != None", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), + into=('.CARGENBA', '.CARMASSI', '.CARCABLE', '.CARCOQUE', '.CARGEOBA', '.CARDISCK', + '.CARARCPO', '.CARGENPO', '.CARDISCM', '.CARORIEN', '.CARDISCA', '.CVENTCXF', + '.CARPOUFL', '.CARGEOPO', '.CARDNSCK', '.CARDNSCM', '.CARDNSCA', '.CARDINFO', + '.CAFIBR', '.CANBSP',)), + ), + + b_extr_charge =BLOC(condition = "CHARGE != None", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), + into=('.CHME.EPSIN', '.CHME.F1D1D', '.CHME.F1D2D', '.CHME.F1D3D', '.CHME.F2D2D', + '.CHME.F2D3D', '.CHME.F3D3D', '.CHME.FCO2D', '.CHME.FCO3D', '.CHME.FELEC', + '.CHME.FL101', '.CHME.FL102', '.CHME.FLUX', '.CHME.FORNO', '.CHME.IMPE', + '.CHME.ONDE', '.CHME.ONDPL', '.CHME.ONDPR', '.CHME.PESAN', '.CHME.PRESS', + '.CHME.ROTAT', '.CHME.SIGIN', '.CHME.SIINT', '.CHME.VNOR',)), + ), + + b_extr_fissure = BLOC(condition = "FISSURE != None", + NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("LTNO","LNNO", + "GRLTNO","GRLNNO","STNO","STNOR","BASLOC","GRI.LNNO","GRI.LTNO","GRI.GRLNNO","GRI.GRLTNO")), + + ), + + b_extr_table =BLOC(condition = "TABLE != None", + MODELE =SIMP(statut='f',typ=(modele_sdaster),), + ), + b_extr_resultat =BLOC(condition = "RESULTAT != None", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + TYPE_MAXI =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ), + + # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre : + b_type_maxi =BLOC(condition = "TYPE_MAXI != None", + TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ), + + regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST', + 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), + ANGLE =SIMP(statut='f',typ='R',max='**'), + ), + + # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre : + b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None", + regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + FREQ =SIMP(statut='f',typ='R'), + NUME_MODE =SIMP(statut='f',typ='I'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max=2), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ANGLE =SIMP(statut='f',typ='R'), + + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), + ), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + + ), # fin bloc b_extr + + + ), +# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT : +#----------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr + +def crea_elem_ssd_prod(self,NUME_DDL,**args): + if NUME_DDL: + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + return macr_elem_dyna + +CREA_ELEM_SSD=MACRO(nom="CREA_ELEM_SSD", + op=OPS('Macro.crea_elem_ssd_ops.crea_elem_ssd_ops'), + sd_prod=crea_elem_ssd_prod, + reentrant='n', + fr="Creation de macro-element dynamique en enchainant les commandes : "\ + "CALC_MATR_ELEM, NUME_DDL, ASSE_MATRICE, MODE_ITER_SIMULT, "\ + "DEFI_INTERF_DYNA, DEFI_BASE_MODALE et MACR_ELEM_DYNA", + UIinfo={"groupes":("Matrices/vecteurs",)}, + +# pour CAL_MATR_ELEM + NUME_DDL + ASSE_MATRICE + MODE_ITER_SIMULT + MODE_STATIQUE + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + NUME_DDL =SIMP(statut='f',typ=CO,defaut=None), + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), + +# pour DEFI_INTERF_DYNA + INTERFACE =FACT(statut='o',max='**', + regles=(ENSEMBLE('NOM','TYPE'), + UN_PARMI('NOEUD','GROUP_NO'),), + NOM =SIMP(statut='f',typ='TXM' ), + TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + FREQ =SIMP(statut='f',typ='R',defaut= 1.), + ), + +# pour DEFI_BASE_MODALE + BASE_MODALE = FACT(statut='o',max = 1, + TYPE =SIMP(statut='o',typ='TXM',max=1,into=('CLASSIQUE','RITZ',),), + b_ritz = BLOC(condition = "TYPE == 'RITZ' ",fr="Base de type Ritz", + TYPE_MODE = SIMP(statut='f',typ='TXM',into=('STATIQUE','INTERFACE',),defaut='INTERFACE',), + b_intf = BLOC(condition = "TYPE_MODE == 'INTERFACE' ", + NMAX_MODE_INTF =SIMP(statut='f',typ='I',defaut=10,val_min=1),), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR (pour MODE_ITER_SIMULT, MODE_STATIQUE, DEFI_BASE_MODALE) + SOLVEUR =C_SOLVEUR('CREA_ELEM_SSD'), +#------------------------------------------------------------------- + +# pour le calcul modal + CALC_FREQ =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","SANS"), + fr="Choix de l option et par consequent du shift du probleme modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des valeurs propres les plus proches d une valeur donnee", + FREQ =SIMP(statut='o',typ='R', + fr="Frequence autour de laquelle on cherche les frequences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des valeurs propres dans une bande donnee", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 9999,val_min=0 ), + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', + fr="Valeurs des frequences delimitant les bandes de recherche"), + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), + fr="Choix du pseudo-produit scalaire pour la resolution du probleme quadratique" ), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + ), + + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, + reentrant='n',fr="Crée un maillage à partir d'un maillage existant", + UIinfo={"groupes":("Maillage",)}, + regles=(UN_PARMI('COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1', + 'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE', + 'QUAD_LINE', 'REPERE','RESTREINT','PENTA15_18','GEOM_FIBRE'),), + + + + # le MAILLAGE est inutile si ECLA_PG et GEOM_FIBRE + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster), + + CREA_POI1 =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),), + NOM_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + CREA_MAILLE =FACT(statut='f',max='**',fr="Duplication de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + PREF_MAILLE =SIMP(statut='o',typ='TXM' ), + PREF_NUME =SIMP(statut='f',typ='I' ), + ), + CREA_GROUP_MA =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + NOM =SIMP(statut='o',typ='TXM'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + PREF_MAILLE =SIMP(statut='o',typ='TXM' ), + PREF_NUME =SIMP(statut='f',typ='I' ), + ), + DETR_GROUP_MA =FACT(statut='f',fr="Destruction de groupes de mailles", + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0, + fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), + ), + RESTREINT =FACT(statut='f',fr="Restreindre un maillage à des groupes de mailles",max=1, + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), + ), + COQU_VOLU =FACT(statut='f', + fr="Creation de mailles volumiques à partir de mailles surfaciques", + NOM =SIMP(statut='o',typ='TXM'), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'), + EPAIS =SIMP(statut='o',typ='R' ), + PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS" ), + PREF_NUME =SIMP(statut='f',typ='I' ,defaut=1 ), + PLAN =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")), + b_MOY =BLOC(condition = "PLAN == 'MOY'", + TRANSLATION =SIMP(statut='o',typ='TXM',into=("SUP","INF") ), + ), + ), + MODI_MAILLE =FACT(statut='f',max='**',fr="Modification du type de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),validators=NoRepeat(), + fr="Choix de la transformation" ), + b_NOS =BLOC(condition = "OPTION == 'TRIA6_7' or OPTION == 'QUAD8_9' or OPTION == 'SEG3_4'", + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'", + PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + ), + CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc", + NOM =SIMP(statut='o',typ='TXM'), + GROUP_NO_1 =SIMP(statut='o',typ=grno), + GROUP_NO_2 =SIMP(statut='o',typ=grno), + PREF_MAILLE =SIMP(statut='o',typ='TXM'), + PREF_NUME =SIMP(statut='f',typ='I',defaut=1 ), + ), + LINE_QUAD =FACT(statut='f',fr="Passage linéaire -> quadratique", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + HEXA20_27 =FACT(statut='f',fr="Passage HEXA20 -> HEXA27", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + PENTA15_18 =FACT(statut='f',fr="Passage PENTA15 -> PENTA18", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + QUAD_LINE =FACT(statut='f',fr="Passage quadratique -> linéaire", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + ), + REPERE =FACT(statut='f',max='**', + fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre", + TABLE =SIMP(statut='o',typ=table_sdaster, + fr="Nom de la table contenant les caractéristiques de la section de poutre" ), + NOM_ORIG =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ), + NOM_ROTA =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére" ), + b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'", + GROUP_MA =SIMP(statut='f',typ=grma, + fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"), + ), + ), + ECLA_PG =FACT(statut='f', + fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss", + MODELE =SIMP(statut='o',typ=modele_sdaster ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), + TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +# + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +def crea_resu_prod(TYPE_RESU,**args): + if TYPE_RESU == "EVOL_ELAS" : return evol_elas + if TYPE_RESU == "EVOL_NOLI" : return evol_noli + if TYPE_RESU == "EVOL_THER" : return evol_ther + if TYPE_RESU == "MULT_ELAS" : return mult_elas + if TYPE_RESU == "MODE_MECA" : return mode_meca + if TYPE_RESU == "DYNA_TRANS" : return dyna_trans + if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo + if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas + if TYPE_RESU == "FOURIER_THER" : return fourier_ther + if TYPE_RESU == "EVOL_VARC" : return evol_varc + if TYPE_RESU == "EVOL_CHAR" : return evol_char + raise AsException("type de concept resultat non prevu") + +CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', + UIinfo={"groupes":("Resultats et champs",)}, + fr="Creer ou enrichir une structure de donnees resultat a partir de champs aux noeuds", + + OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",), + fr="choix de la fonction a activer",), + + TYPE_RESU =SIMP(statut='o',position='global',typ='TXM', + into=( + # pour bloc AFFE + "MODE_MECA","MULT_ELAS","EVOL_ELAS","EVOL_NOLI","DYNA_HARMO","DYNA_TRANS", + "FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER" + # pour bloc ASSE + # "EVOL_THER " + # pour bloc ECLA_PG + # "EVOL_ELAS","EVOL_NOLI","EVOL_THER" + # pour bloc PERM_CHAM + # "EVOL_NOLI" + # pour bloc PROL_RTZ + # "EVOL_THER" + # pour bloc PREP_VRC1 + # "EVOL_THER" + # pour bloc PREP_VRC2 + # "EVOL_THER" + ), + ), + + + # Creation par affectation de champs : + #------------------------------------- + b_affe =BLOC(condition = "OPERATION == 'AFFE'", + + b_type_resu =BLOC(condition = "TYPE_RESU == 'EVOL_CHAR'", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("PRES", + "FSUR_2D","FSUR_3D","FVOL_2D","FVOL_3D","VITE_VENT")), + ), + + b_evol_char =BLOC(condition = "TYPE_RESU != 'EVOL_CHAR'", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + ), + + b_mode =BLOC(condition = "au_moins_un(TYPE_RESU, ('MODE_MECA', 'DYNA_HARMO', 'DYNA_TRANS'))", + MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,), + ), +# +# pour ajouter un comportement dans la SD +# + COMPORTEMENT =C_COMPORTEMENT(), +# +# pour ajouter une charge dans la SD +# + b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), + ), + + b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), + ), + + b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), + ), + + + AFFE =FACT(statut='o',max='**', + CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + +# + b_mult_elas =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ", + NOM_CAS =SIMP(statut='f',typ='TXM' ), + CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), + ), + b_evol =BLOC(condition = "au_moins_un(TYPE_RESU, ('EVOL_ELAS', 'EVOL_NOLI', \ + 'EVOL_THER', 'EVOL_VARC', 'EVOL_CHAR', 'DYNA_TRANS'))", + regles=(UN_PARMI('INST','LIST_INST'),), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + NUME_INIT =SIMP(statut='f',typ='I', val_min=1), + NUME_FIN =SIMP(statut='f',typ='I', val_min=1), + PRECISION =SIMP(statut='f',typ='R',defaut= 0.0 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + b_fourier_elas =BLOC(condition = "(TYPE_RESU == 'FOURIER_ELAS') ", + NUME_MODE =SIMP(statut='f',typ='I'), + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), + CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), + ), + b_fourier_ther =BLOC(condition = "(TYPE_RESU == 'FOURIER_THER') ", + NUME_MODE =SIMP(statut='f',typ='I'), + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), + ), + b_mode =BLOC(condition = "TYPE_RESU == 'MODE_MECA'", + NUME_MODE =SIMP(statut='f',typ='I'), + FREQ =SIMP(statut='f',typ='R'), + ), + b_dyna_harmo =BLOC(condition = "TYPE_RESU == 'DYNA_HARMO'", + regles=(UN_PARMI('FREQ','LIST_FREQ',),), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut=0.0), + ), + ), + ), + + + # Creation par assemblage d'evol_ther : + #----------------------------------------- + b_asse =BLOC(condition = "OPERATION == 'ASSE'", + ASSE =FACT(statut='o',max='**', + RESULTAT =SIMP(statut='o',typ=evol_ther), + TRANSLATION =SIMP(statut='f',typ='R',defaut= 0. ), + ), + ), + + + b_ecla_pg =BLOC(condition = "OPERATION == 'ECLA_PG'", + + ECLA_PG =FACT(statut='o', + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), + MODELE_INIT =SIMP(statut='o',typ=modele_sdaster), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + RESU_INIT =SIMP(statut='o',typ=resultat_sdaster), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + + + b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'", + + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA","STRX_ELGA"), + validators=NoRepeat(),max='**'), + RESU_INIT =SIMP(statut='o',typ=evol_noli), + INST_INIT =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + MAILLAGE_INIT =SIMP(statut='o',typ=maillage_sdaster,), + RESU_FINAL =SIMP(statut='o',typ=evol_noli,), + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), + PERM_CHAM =FACT(statut='o',max='**', + GROUP_MA_FINAL =SIMP(statut='o',typ=grma), + GROUP_MA_INIT =SIMP(statut='o',typ=grma), + TRAN =SIMP(statut='o',typ='R',min=3,max=3), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + ), + ), + + b_prol_rtz =BLOC(condition = "OPERATION == 'PROL_RTZ'", + + PROL_RTZ =FACT(statut='o', + regles=(EXCLUS('INST','LIST_INST'),), + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), + TABLE =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), + REPERE =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),), + ORIGINE =SIMP(statut='o',typ='R',min=3,max=3), + AXE_Z =SIMP(statut='o',typ='R',min=3,max=3), + ), + ), + + b_prep_vrc1 =BLOC(condition = "OPERATION == 'PREP_VRC1'", + # calculer la temperature dans les couches des coques multicouche a partir d'un champ de fonctions + # de fonctions du temps et de l'espace (epaisseur) + + PREP_VRC1 =FACT(statut='o',max=1, + CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), # carte de fonctions du temps et de l'epaisseur + MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche + CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU + INST =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**'), + ), + ), + + b_prep_vrc2 =BLOC(condition = "OPERATION == 'PREP_VRC2'", + # calculer la temperature dans les couches des coques multicouche a partir d'un evol_ther "coque" + # contenant TEMP_MIL/TEMP_INF/TEMP_SUP + + PREP_VRC2 =FACT(statut='o',max=1, + EVOL_THER =SIMP(statut='o',typ=(evol_ther)), # evol_ther de type "coque" (TEMP_MIL/TEMP_INF/TEMP_SUP) + MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche + CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def crea_table_prod(TYPE_TABLE, **args): + """Typage du concept résultat + """ + if TYPE_TABLE == 'TABLE_FONCTION': + return table_fonction + elif TYPE_TABLE == 'TABLE_CONTENEUR': + return table_container + else: + return table_sdaster + +CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod, + fr="Création d'une table à partir d'une fonction ou de deux listes", + reentrant='f', + UIinfo={"groupes":("Tables",)}, + + regles=(EXCLUS('FONCTION','LISTE','RESU'),), + + LISTE=FACT(statut='f',max='**', + fr="Creation d'une table a partir de listes", + regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), + PARA =SIMP(statut='o',typ='TXM'), + TYPE_K =SIMP(statut='f',typ='TXM',defaut='K8', + into=('K8','K16','K24')), + NUME_LIGN=SIMP(statut='f',typ='I',max='**'), + LISTE_I =SIMP(statut='f',typ='I',max='**'), + LISTE_R =SIMP(statut='f',typ='R',max='**'), + LISTE_K =SIMP(statut='f',typ='TXM', max='**'), + ), + FONCTION=FACT(statut='f', + fr="Creation d'une table a partir d'une fonction", + FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)), + PARA=SIMP(statut='f',typ='TXM',min=2,max=2), + ), + RESU=FACT(statut='f',max=1, + fr="Creation d'une table a partir d'un resultat ou d'un champ", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + UN_PARMI('TOUT_CMP','NOM_CMP'), + PRESENT_ABSENT('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), + AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), + ), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), + b_resultat =BLOC(condition = "RESULTAT != None", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', + 'MODE','LIST_MODE','FREQ','LIST_FREQ'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=(listis_sdaster) ), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + MODE =SIMP(statut='f',typ='I',max='**'), + LIST_MODE =SIMP(statut='f',typ=(listis_sdaster) ), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + b_cham_gd =BLOC(condition = "CHAM_GD != None", + CARA_ELEM =SIMP(statut='f',typ=cara_elem),), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + + TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE", + into=('TABLE', 'TABLE_FONCTION', 'TABLE_CONTENEUR'),), + + TITRE=SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + +DEBUG=PROC(nom="DEBUG",op=137, + UIinfo={"groupes":("Utilitaires",)}, + fr="Permettre de changer entre 2 commandes quelques variables globales de debug", + + SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", + statut='f',typ='TXM',into=('OUI','NON')), + JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", + statut='f',typ='TXM',into=('OUI','NON')), + JEVEUX =SIMP(fr="force les déchargement sur disque", + statut='f',typ='TXM',into=('OUI','NON')), + IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", + statut='f',typ='TXM',into=("OUI","NON")), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +DEBUT=MACRO(nom="DEBUT", + op=OPS("Cata.ops.build_debut"), + repetable='n', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers", + sd_prod=ops.DEBUT, + + PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', + into=("OUI","NON"),defaut="OUI"), + IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", + statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), +# FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', +# typ='TXM',defaut="NON",into=("OUI","NON",) ), + BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", + statut='f',min=1,max=2, + FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', + into=('GLOBALE','VOLATILE'),), + TITRE =SIMP(statut='f',typ='TXM'), + CAS =SIMP(statut='f',typ='TXM'), + NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), + LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), + LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), + ), + + CATALOGUE =FACT(statut='f',min=1,max=10, + FICHIER =SIMP(statut='o',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + + CODE =FACT(fr="paramètres réservés aux cas-tests", + statut='f',min=1,max=1, + NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), + VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), + ), + + ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, + ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),), + ), + + DEBUG =FACT(fr="option de déboggage reservée aux développeurs", + statut='f',min=1,max=1, + JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", + statut='f',typ='TXM',into=('OUI','NON')), + JEVEUX =SIMP(fr="force les déchargement sur disque", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", + statut='f',typ='TXM',into=('TEST',)), + HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", + statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), + ), + + MESURE_TEMPS =FACT(fr="Pour afficher le temps des principales étapes de calcul", + statut='d',min=1,max=1, + NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", + statut='f',typ='I',into=(0,1,2,3),defaut=1), + # 0 : rien + # 1 : impression en fin de commande des mesures principales + # 2 : impression en fin de commande des mesures principales et secondaires + # 3 : impression des mesures principales et secondaires pour chaque pas de temps + MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", + statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), + ), + + MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, + TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), + TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), + ), + + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), +# par défaut VALE fixée à 10. dans le FORTRAN si CODE présent + VALE =SIMP(statut='f',typ='I',val_min=0,), +# par défaut 10% dans le FORTRAN + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur en secondes de la réserve maximum bornée à 900 secondes + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900),), + + IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), + + LANG = SIMP(statut='f', typ='TXM', + fr="Permet de choisir la langue utilisée pour les messages (si disponible)", + ang="Allows to choose the language used for messages (if available)"), + + INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr +DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=mode_meca, + reentrant='f', + fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale", + UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, + regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),), + CLASSIQUE =FACT(statut='f', + INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), + MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), + NMAX_MODE =SIMP(statut='f',typ='I',defaut=10,max='**' ), + ), + RITZ =FACT(statut='f',max='**', + regles=(UN_PARMI('MODE_MECA','BASE_MODALE','MODE_INTF'),), + MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), + NMAX_MODE =SIMP(statut='f',typ='I',max='**'), + BASE_MODALE =SIMP(statut='f',typ=mode_meca ), + MODE_INTF =SIMP(statut='f',typ=(mode_meca,mult_elas), ), + ), + b_ritz =BLOC(condition = "RITZ != None", + INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ), + NUME_REF =SIMP(statut='f',typ=nume_ddl_sdaster ), + ORTHO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + fr="Reorthonormalisation de la base de Ritz" ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + b_ortho =BLOC(condition = "ORTHO == 'OUI' ", + MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + ), + DIAG_MASS =FACT(statut='f',max='**', + MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), + MODE_STAT =SIMP(statut='o',typ=mode_meca ), + ), + ORTHO_BASE =FACT(statut='f',max='**', + BASE =SIMP(statut='o',typ=(mode_meca,mult_elas)), + MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('DEFI_BASE_MODALE'), +#------------------------------------------------------------------- + + + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sylvie.michel-ponnelle at edf.fr + + +DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP", + op=OPS('Macro.defi_cable_bp_ops.defi_cable_bp_ops'), + sd_prod=cabl_precont, + fr="Calculer les profils initiaux de tension le long des cables " \ + "de précontrainte d'une structure en béton", + reentrant='n',UIinfo={"groupes":("Modélisation",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), + DEFI_CABLE =FACT(statut='o',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), + MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + TENSION_CT =SIMP(statut='f',typ=table_sdaster), + ), + ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), + TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), + TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), + b_adherent=BLOC(condition="(ADHERENT=='OUI')", + TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), + b_relax_bpel =BLOC(condition = "TYPE_RELAX =='BPEL'", + R_J =SIMP(statut='o',typ='R',val_min=0.E+0), + ), + b_relax_etcc =BLOC(condition = "((TYPE_RELAX=='ETCC_DIRECT') or (TYPE_RELAX=='ETCC_REPRISE'))", + NBH_RELAX =SIMP(statut='o',typ='R',val_min=0.E+0), + ), +# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), +# b_pert_elas =BLOC(condition = "PERT_ELAS=='OUI'", +# EP_BETON = SIMP(statut='o',typ='R',val_min=0.E+0), +# ESP_CABLE = SIMP(statut='o',typ='R',val_min=0.E+0) +# ) , + CONE =FACT(statut='f', + RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0 ), + PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), + ), + ), + b_non_adherent=BLOC(condition="(ADHERENT=='NON')", + TYPE_RELAX =SIMP(statut='c',typ='TXM',into=("SANS",),defaut="SANS",), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sylvie.michel-ponnelle at edf.fr + +DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n', + fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte" + +" (utilisée par la macro DEFI_CABLE_BP)", + UIinfo={"groupes":("Modélisation",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), + DEFI_CABLE =FACT(statut='o',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), + MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + TENSION_CT =SIMP(statut='f',typ=table_sdaster), + ), + ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), + TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), + TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), + TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), + R_J =SIMP(statut='f',typ='R',val_min=0.E+0), + NBH_RELAX =SIMP(statut='f',typ='R',val_min=0.E+0), +# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), +# EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0), +# ESP_CABLE =SIMP(statut='f',typ='R',val_min=0.E+0), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + CONE =FACT(statut='f',min=0, + RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), + PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix at edf.fr +DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, + fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, +# on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas + regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'), + PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'), + ), + MONOCRISTAL =FACT(statut='f', max=5, + MATER =SIMP(statut='o', typ=mater_sdaster, max=1), + ECOULEMENT =SIMP(statut='o', typ='TXM', max=1, + into=('MONO_VISC1', 'MONO_VISC2', 'MONO_DD_KR', 'MONO_DD_CFC', 'MONO_DD_CFC_IRRA', + 'MONO_DD_CC', 'MONO_DD_CC_IRRA', 'MONO_DD_FAT',), + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"), + ELAS =SIMP(statut='f', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"), + b_non_dd =BLOC(condition="ECOULEMENT=='MONO_VISC1' or ECOULEMENT=='MONO_VISC2'", + ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), + ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), + FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, + into=('OCTAEDRIQUE','BCC24','CUBIQUE1','CUBIQUE2','ZIRCONIUM','UNIAXIAL','UTILISATEUR'), + ), + b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", + TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), + ), + ), + b_dd_kr =BLOC(condition="ECOULEMENT=='MONO_DD_KR' ", + FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, + into=('BCC24','UTILISATEUR'),defaut=('BCC24',),), + b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", + TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), + ), + ), + b_ecp_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_FAT' ", + FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, + into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), + ), + b_dd_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_CFC' or ECOULEMENT=='MONO_DD_CFC_IRRA'", + FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, + into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), + b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", + TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), + ), + ), + b_dd_cc =BLOC(condition="ECOULEMENT=='MONO_DD_CC' or ECOULEMENT=='MONO_DD_CC_IRRA' ", + FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, + into=('CUBIQUE1','UTILISATEUR',),defaut=('CUBIQUE1',),), + b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", + TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), + ), + ), + ), + + MATR_INTER =SIMP(statut='f', typ=table_sdaster, max=1,), + + ROTA_RESEAU =SIMP(statut='f', typ='TXM', max=1,into=('NON','POST','CALC'),defaut='NON', + fr="rotation de reseau : NON, POST, CALC"), + + POLYCRISTAL =FACT(statut='f', max='**', + regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), + MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1), + FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"), + ANGL_REP =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"), + ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"), + ), + + + b_poly =BLOC( condition = "POLYCRISTAL!='None'", + LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',), + fr="Donner le nom de la règle de localisation"), + + b_beta =BLOC( condition = "LOCALISATION=='BETA'", + DL =SIMP(statut='o',typ='R',max=1), + DA =SIMP(statut='o',typ='R',max=1), + ), + ), + +##################################################################################### + GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, + fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"), + MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster, + fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"), + MULTIFIBRE = FACT(statut='f',max='**', + GROUP_FIBRE =SIMP(statut='o', typ='TXM', max='**'), + MATER =SIMP(statut='o', typ=mater_sdaster, max=1, + fr="Donner le nom du materiau pour le groupe de fibres"), + RELATION =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",into=C_RELATION('DEFI_COMPOR'), + fr="Donner le nom de la relation incrementale pour le groupe de fibres", + ), + RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into=( +# MECA KIT_DDI + "VMIS_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ISOT_PUIS", + "GRANGER_FP", + "GRANGER_FP_INDT", + "GRANGER_FP_V", + "BETON_UMLV_FP", + "ROUSS_PR", + "BETON_DOUBLE_DP", + ),), +# on pourrait ajouter TOUT_GROUP_FIBRE + + ) ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +DEFI_COMPOSITE=OPER(nom="DEFI_COMPOSITE",op=56,sd_prod=mater_sdaster,reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir" + +" des caractéristiques de chaque couche", + COUCHE =FACT(statut='o',max='**', + EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.E+0, + val_min=-90.E+0,val_max=90.E+0 ), + ), + IMPRESSION =FACT(statut='f', + UNITE =SIMP(statut='f',typ='I',defaut=8), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, + fr="Définir la valeur d'une grandeur invariante", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + VALE =SIMP(statut='o',typ='R',), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +# +DEFI_CONTACT=OPER(nom = "DEFI_CONTACT", + op = 30, + sd_prod = char_contact, + fr = "Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement", + #en = "Allows the definition of contact surfaces as well as unilateral conditions", + reentrant = 'n', + UIinfo = {"groupes":("Modélisation",)}, + +# MODELE + + MODELE =SIMP(statut='o',typ=modele_sdaster,), + INFO =SIMP(statut='f',typ='I',into=(1,2),), + +# FORMULATION (UNIQUE PAR OCCURRENCE DE DEFI_CONTACT) + + FORMULATION =SIMP(statut='o', + position='global', + typ='TXM', + fr="Choix d'une formulation de contact ou de liaisons unilatérales", + defaut="DISCRETE", + into=("DISCRETE","CONTINUE","XFEM","LIAISON_UNIL",),), + +# PARAMETRE GENERAL : FROTTEMENT + + FROTTEMENT =SIMP(statut='f', + position='global', + typ='TXM', + fr="Choix d'un modèle de frottement (uniquement pour les formulations de contact)", + defaut="SANS", + into=("COULOMB","SANS",)), + +### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT MAILLE, NE DEPENDENT PAS DE LA ZONE DE CONTACT) + + b_contact_mail=BLOC(condition = "((FORMULATION == 'CONTINUE') or (FORMULATION == 'DISCRETE'))", +# ARRET DU CALCUL POUR LE MODE SANS RESOLUTION DU CONTACT + STOP_INTERP = SIMP(statut='f', + typ='TXM', + fr="Arrête le calcul dès qu'une interpénétration est détectée en mode RESOLUTION='NON'", + defaut="NON", + into=("OUI","NON")), +# LISSAGE DES NORMALES PAR MOYENNATION AUX NOEUDS + LISSAGE = SIMP(statut='f', + typ='TXM', + fr="Lissage des normales par moyennation aux noeuds", + defaut="NON", + into=("OUI","NON")), +# VERIFICATION DE L'ORIENTATION ET DE LA COHERENCE DES NORMALES + VERI_NORM =SIMP(statut='f', + typ='TXM', + fr="Vérification de l'orientation (sortante) des normales aux surfaces", + defaut="OUI", + into=("OUI","NON"),), + ), + +### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT, NE DEPENDENT PAS DE LA ZONE DE CONTACT) + + b_contact=BLOC(condition = "FORMULATION != 'LIAISON_UNIL' ", + +# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas discret + + b_bouc_geom_maild=BLOC(condition = "FORMULATION == 'DISCRETE'", + ALGO_RESO_GEOM = SIMP(statut='f', + typ='TXM', + into=("POINT_FIXE",), + defaut="POINT_FIXE"), + REAC_GEOM = SIMP(statut='f', + typ='TXM', + into=("AUTOMATIQUE","CONTROLE","SANS",), + defaut="AUTOMATIQUE"), + b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), + RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), + b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", + NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2)), + )), + +# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas continu + + b_bouc_geom_mailc=BLOC(condition = "FORMULATION == 'CONTINUE'", + ALGO_RESO_GEOM = SIMP(statut='f', + typ='TXM', + into=("POINT_FIXE","NEWTON",), + defaut="POINT_FIXE"), + b_algo_reso_geomNE = BLOC(condition = "ALGO_RESO_GEOM=='NEWTON'", + RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.000001),), + + b_algo_reso_geomPF = BLOC(condition = "ALGO_RESO_GEOM=='POINT_FIXE'", + REAC_GEOM = SIMP(statut='f', + typ='TXM', + into=("AUTOMATIQUE","CONTROLE","SANS",), + defaut="AUTOMATIQUE"), + b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), + RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), + b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", + NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2))) + ), + +# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas XFEM + + b_bouc_geom_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", + ALGO_RESO_GEOM = SIMP(statut='f', + typ='TXM', + into=("POINT_FIXE",), + defaut="POINT_FIXE"), + REAC_GEOM =SIMP(statut='f', + typ='TXM', + into=("AUTOMATIQUE","CONTROLE","SANS",), + defaut="SANS", + ), + b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), + RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.0001), + ), + b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", + NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2), + ), + ), + + +# PARAMETRE GENERAL : BOUCLE DE CONTACT + + b_bouc_cont_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ", + ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), + ), + + + b_bouc_cont_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ", + ALGO_RESO_CONT = SIMP(statut='f',typ='TXM',defaut="NEWTON", + into=("POINT_FIXE","NEWTON")), + b_algo_reso_contPF = BLOC(condition = "ALGO_RESO_CONT=='POINT_FIXE'", + ITER_CONT_TYPE = SIMP(statut='f',typ='TXM',defaut="MAXI", + into=("MULT","MAXI")), + b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", + ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), + ), + b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", + ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), + ), + ) + ), + + b_bouc_cont_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", + ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI", + into=("MULT","MAXI")), + b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", + ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), + ), + b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", + ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), + ), + ), + +# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas continu + + b_bouc_frot_cont= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'CONTINUE' ", + ALGO_RESO_FROT = SIMP(statut='f', + typ='TXM', + into=("POINT_FIXE","NEWTON",), + defaut="NEWTON"), + b_algo_reso_frotPF = BLOC(condition = "ALGO_RESO_FROT=='POINT_FIXE'", + ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), + RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), + ), + b_algo_reso_frotNE = BLOC(condition = "ALGO_RESO_FROT=='NEWTON'", + + RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), + ADAPT_COEF = SIMP(statut='f', + typ='TXM', + defaut="NON", + into=("OUI","NON")), + ), + ), + + +# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas XFEM + + b_bouc_frot_xfem= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'XFEM' ", + ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), + RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), + ), + +# PARAMETRES GENERAUX : METHODES DISCRETES + + b_para_discret = BLOC(condition = "FORMULATION == 'DISCRETE' ", +# ## METHODES DE DUALISATION ## + STOP_SINGULIER= SIMP(statut='f', + typ='TXM', + fr="Tient compte de la singularité de la matrice de contact", + defaut="OUI", + into=("OUI","NON"),), + NB_RESOL = SIMP(statut='f', + typ='I', + fr="Nombre de résolutions simultanées pour la construction du complément de Schur", + defaut=10,), +# ## GCP ## + RESI_ABSO = SIMP(statut='f', + typ='R', + fr="Critère de convergence (niveau d'interpénétration autorisé pour 'GCP')",), + ITER_GCP_MAXI = SIMP(statut='f', + typ='I', + fr="Nombre d'itérations maximal ('GCP')", + defaut=0,), + RECH_LINEAIRE = SIMP(statut='f', + typ='TXM', + fr="Autorisation de sortie du domaine admissible lors de la recherche linéaire", + defaut="ADMISSIBLE", + into=("ADMISSIBLE","NON_ADMISSIBLE"),), + PRE_COND = SIMP(statut='f', + typ='TXM', + fr="Choix d'un préconditionneur (accélère la convergence de 'GCP')", + defaut="SANS", + into=("DIRICHLET","SANS"),), + b_dirichlet = BLOC (condition = "PRE_COND == 'DIRICHLET'", + COEF_RESI = SIMP(statut='f', + typ='R', + fr="Activation du préconditionneur quand le résidu a été divisé par COEF_RESI", + defaut = -1.0,), + ITER_PRE_MAXI = SIMP(statut='f', + typ='I', + fr="Nombre d'itérations maximal pour le préconditionneur ('GCP')", + defaut=0,), + ), + ), + +## AFFECTATIONS (ZONES PAR ZONES) + +# AFFECTATION - CAS LIAISON_UNILATERALE + + b_affe_unil = BLOC(condition = "FORMULATION == 'LIAISON_UNIL'", + ZONE=FACT(statut='o', + max='**', +# -- Liaison unilatérale + regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), +# + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),), + COEF_MULT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), +# -- Incompatibilité avec CL + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + + + ), + ), + +# AFFECTATION - CAS DISCRET + + b_affe_discret = BLOC(condition = "FORMULATION == 'DISCRETE'", + ZONE=FACT(statut='o', + max='**', +# -- Appariement + APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", + into=("NODAL","MAIT_ESCL"),), +# + regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), + UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), +# + NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", + into=("MAIT","MAIT_ESCL","ESCL"),), +# + VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO","FIXE","VECT_Y")), + + b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", + MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), + ), + + b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", + MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + ), +# + VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO","FIXE","VECT_Y")), + + b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", + ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), + ), + + b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", + ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + ), +# + TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", + into =("PROCHE","FIXE")), + + b_appa_fixe =BLOC(condition = "TYPE_APPA == 'FIXE'", + DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), + ), +# + DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", + CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), + ), + + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# + TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), +# -- Incompatibilité avec CL + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), +# -- Mode sans calcul + RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_verif=BLOC(condition = "RESOLUTION == 'NON' ", + TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), + ), +# -- Résolution + ALGO_CONT =SIMP(statut='o',typ='TXM',defaut="CONTRAINTE", + into=("CONTRAINTE","LAGRANGIEN","PENALISATION","GCP"),), + + b_active=BLOC(condition = "ALGO_CONT == 'CONTRAINTE' ", + fr="Paramètres de la méthode des contraintes actives (contact uniquement)", + GLISSIERE=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + b_glissiere=BLOC(condition = "GLISSIERE == 'OUI' ", + ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), + ), + ), +# + b_penal_contact=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée (contact)", + E_N=SIMP(statut='o',typ='R'), + ), +# + b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", + fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',), + COEF_MATR_FROT=SIMP(statut='f',typ='R',defaut=0.E+0), + ALGO_FROT =SIMP(statut='o',typ='TXM',defaut="PENALISATION", + into=("PENALISATION","LAGRANGIEN"),), +# + b_penal_frot=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée (frottement)", + E_T=SIMP(statut='o',typ='R'), + ), + ), + ), #fin mot-clé facteur ZONE + ), #fin bloc b_affe_discret + +# AFFECTATION - CAS CONTINUE + + b_affe_continue = BLOC(condition = "FORMULATION == 'CONTINUE'", + ZONE=FACT(statut='o', + max='**', +# -- Appariement + APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", + into=("MAIT_ESCL",)), + + +# + regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), + UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), +# + NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", + into=("MAIT","MAIT_ESCL","ESCL"),), +# + VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO","FIXE","VECT_Y")), + + b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", + MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), + ), + + b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", + MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + ), +# + VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO","FIXE","VECT_Y")), + + b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", + ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), + ), + + b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", + ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + ), +# + TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", + into =("PROCHE","FIXE")), + + b_appa_fixe=BLOC(condition = "TYPE_APPA == 'FIXE'", + DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), + ), +# + DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", + CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), + ), + + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# + TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), +# -- Incompatibilité avec CL + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), +# -- Mode sans calcul + RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_verif=BLOC(condition = "RESOLUTION == 'NON' ", + TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), + ), +# -- Fonctionnalités spécifiques 'CONTINUE' + + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO","GAUSS","SIMPSON","NCOTES",),), + b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", + fr="Degré du polynôme de Legendre donnant les points de Gauss", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=1,val_max=6), + ), + b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", + fr="Nombre de subdivisions du domaine", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), + ), + b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", + fr="Degré du polynôme interpolateur", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), + ), +# + CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="INTERPENETRE", + into=("OUI","INTERPENETRE","NON"),), +# + GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), +# + ALGO_CONT =SIMP(statut='f',typ='TXM',defaut="STANDARD", + into=("STANDARD","PENALISATION"),), + + b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ", + fr="Paramètres de la formulation Lagrangienne", + COEF_CONT = SIMP(statut='f',typ='R',defaut=100.E+0), + ), + b_cont_pena=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée", + COEF_PENA_CONT =SIMP(statut='o',typ='R'), + ), +# + b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", + fr="Paramètres du frottement de Coulomb", + COULOMB = SIMP(statut='o',typ='R',), + SEUIL_INIT = SIMP(statut='f',typ='R',defaut=0.E+0), +# + regles=(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),), + SANS_NOEUD_FR =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + b_sans_group_no_frot=BLOC(condition = " SANS_GROUP_NO_FR != None or \ + SANS_NOEUD_FR != None ", + fr="Direction de frottement à exclure (uniquement dans le cas 3D)", + DIRE_EXCL_FROT=SIMP(statut='f',typ='R',min=3,max=3), + ), + + ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", + into=("STANDARD","PENALISATION"),), + b_frot_std =BLOC(condition = "ALGO_FROT == 'STANDARD' ", + fr="Paramètres de la formulation Lagrangienne", + COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), + ), + + b_frot_pena =BLOC(condition = "ALGO_FROT == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée", + COEF_PENA_FROT =SIMP(statut='o',typ='R'), + ), + + ), #fin bloc b_frottement + ), #fin mot-clé facteur ZONE + ), #fin bloc b_affe_continue + + +# AFFECTATION - CAS XFEM + + b_affe_xfem =BLOC(condition = "FORMULATION == 'XFEM'", + ZONE=FACT(statut='o', + max='**', +# -- Fissure + FISS_MAIT = SIMP(statut='o',typ=fiss_xfem,max=1), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + +# -- Fonctionnalités spécifiques 'XFEM' + INTEGRATION = SIMP(statut='f', + typ='TXM', + defaut="GAUSS", + + into=("NOEUD","GAUSS","SIMPSON","NCOTES",),), + b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", + fr="Dégré du polynôme de Legendre donnant les points de Gauss", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=6,val_min=1,val_max=6), + ), + b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", + fr="Nombre de subdivisions du domaine", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), + ), + b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", + fr="Dégré du polynôme interpolateur", + ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), + ), + + ALGO_LAGR = SIMP(statut='f',typ='TXM',defaut="VERSION1", + into=("NON","VERSION1","VERSION2"),), + + ALGO_CONT = SIMP(statut='f',typ='TXM',defaut="STANDARD", + into=("STANDARD","PENALISATION","CZM"),), + + b_cont_nczm =BLOC(condition = "ALGO_CONT!='CZM'", + CONTACT_INIT = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), + GLISSIERE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), + ), + + b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD'", + fr="Parametres de la formulation Lagrangienne", + COEF_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), + ), + + b_cont_pen=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", + fr="Paramètre de la méthode pénalisée", + COEF_PENA_CONT =SIMP(statut='o',typ='R'), + ), + + b_cont_czm=BLOC(condition = "ALGO_CONT == 'CZM'", + fr="Parametres de la formulation cohesive", + RELATION = SIMP(statut='o',typ='TXM', + into=("CZM_EXP_REG","CZM_LIN_REG","CZM_TAC_MIX","CZM_OUV_MIX"),) + ), + + b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' and ALGO_CONT != 'CZM' ", + fr="Paramètres du frottement", + COULOMB =SIMP(statut='o',typ='R',), + SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0), + ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", + into=("STANDARD","PENALISATION"),), + + b_frot_std=BLOC(condition = "ALGO_FROT == 'STANDARD' ", + fr="Parametres de la formulation Lagrangienne", + COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), + ), + b_frot_pen=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", + fr="Paramètre de la méthode pénalisée", + COEF_PENA_FROT =SIMP(statut='o',typ='R'), + ), + ), #fin bloc b_frottement + ), #fin mot-clé facteur ZONE + ), #fin bloc b_affe_xfem + + ) #fin OPER + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +def DEFIC_prod(self,ACTION,UNITE,**args): + if ACTION == "ASSOCIER" or ACTION == "RESERVER": + if UNITE != None : + return + else : + return entier + elif ACTION == "LIBERER" : + return + else : + raise AsException("ACTION non prevue : %s" % ACTION) + +DEFI_FICHIER=MACRO(nom="DEFI_FICHIER", + op=OPS("Cata.ops.build_DEFI_FICHIER"), + sd_prod=DEFIC_prod, + reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique", + + ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"), + + b_associer =BLOC(condition = "ACTION == 'ASSOCIER'", + fr="Paramètres pour l'ouverture du fichier", + regles=(AU_MOINS_UN('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), + + b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII", + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), + ), + b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE", + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), + ), + ), + + b_reserver =BLOC(condition = "ACTION == 'RESERVER'", + fr="Paramètres pour la réservation de l'unité du fichier", + regles=(AU_MOINS_UN('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + TYPE =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"), + ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), + ), + + b_liberer =BLOC(condition = "ACTION == 'LIBERER'", + fr="Paramètres pour la fermeture du fichier", + regles=(UN_PARMI('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + ), + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition des caratéristiques d'une fissure ou d'une interface avec X-FEM", + regles = EXCLUS('MODELE_GRILLE','FISS_GRILLE'), + +# ------------------------------------------------------------------------------------------------------------------------ +# modele sous-jacent +# ------------------------------------------------------------------------------------------------------------------------ + + MODELE =SIMP(statut='o',typ=modele_sdaster), + +# ------------------------------------------------------------------------------------------------------------------------ +# grille auxiliaire +# ------------------------------------------------------------------------------------------------------------------------ + + MODELE_GRILLE =SIMP(statut='f',typ=modele_sdaster,max=1,position='global'), + FISS_GRILLE =SIMP(statut='f',typ=fiss_xfem,max=1), + +# ------------------------------------------------------------------------------------------------------------------------ +# fissure/interface +# ------------------------------------------------------------------------------------------------------------------------ + + TYPE_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("FISSURE","INTERFACE",) ,defaut="FISSURE",position='global'), + +# ------------------------------------------------------------------------------------------------------------------------ +# caracteristiques de la fissure/interface +# ------------------------------------------------------------------------------------------------------------------------ + + DEFI_FISS =FACT(statut='o',max=1, + + regles =UN_PARMI('GROUP_MA_FISS','FONC_LN','FORM_FISS','CHAM_NO_LSN'), + +# impossible de faire des regles dans des blocs condition, dommage +# b_fissure =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ",fr="Regles pour les fissures", +# regles =(ENSEMBLE('FONC_LN','FONC_LT'), +# ENSEMBLE('CHAM_NO_LSN','CHAM_NO_LST'), +# ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), +# ), +# +# b_interface =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ",fr="Regles pour les interfaces", +# regles =(PRESENT_ABSENT('FONC_LN','FONC_LT'), +# PRESENT_ABSENT('CHAM_NO_LSN','CHAM_NO_LST'), +# PRESENT_ABSENT('GROUP_MA_FISS','GROUP_MA_FOND')), +# ), + + FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + CHAM_NO_LSN =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), + CHAM_NO_LST =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), + GROUP_MA_FISS =SIMP(statut='f',typ=grma,min=1,max=1), + GROUP_MA_FOND =SIMP(statut='f',typ=grma,min=1,max=1), + FORM_FISS =SIMP(statut='f',typ='TXM',into=("ELLIPSE","RECTANGLE","CYLINDRE","DEMI_PLAN", + "SEGMENT","DEMI_DROITE","DROITE","ENTAILLE") ), + b_ellipse =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramètres de la fissure/interface elliptique", + DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), + DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), + CENTRE =SIMP(statut='o',typ='R',min=3,max=3), + VECT_X =SIMP(statut='o',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), + b_rectangle =BLOC(condition = "FORM_FISS == 'RECTANGLE' ",fr="Paramètres de la fissure/interface rectangulaire", + DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), + DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), + RAYON_CONGE =SIMP(statut='f',typ='R',val_min=0.,defaut=0.), + CENTRE =SIMP(statut='o',typ='R',min=3,max=3), + VECT_X =SIMP(statut='o',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), + b_entaille =BLOC(condition = "FORM_FISS == 'ENTAILLE' ",fr="Paramètres de l'interface entaille", + DEMI_LONGUEUR =SIMP(statut='o',typ='R',val_min=0.), + RAYON_CONGE =SIMP(statut='o',typ='R',val_min=0.), + CENTRE =SIMP(statut='o',typ='R',min=3,max=3), + VECT_X =SIMP(statut='o',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), ), + b_cylindre =BLOC(condition = "FORM_FISS == 'CYLINDRE' ",fr="Paramètres de la fissure cylindrique", + DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), + DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), + CENTRE =SIMP(statut='o',typ='R',min=3,max=3), + VECT_X =SIMP(statut='o',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),), + b_demiplan =BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",fr="Paramètres de la fissure plane à front droit", + PFON =SIMP(statut='o',typ='R',min=3,max=3), + NORMALE =SIMP(statut='o',typ='R',min=3,max=3), + DTAN =SIMP(statut='o',typ='R',min=3,max=3),), + b_segment =BLOC(condition = "FORM_FISS == 'SEGMENT' ",fr="Paramètres de la fissure 2D segment", + PFON_ORIG =SIMP(statut='o',typ='R',min=3,max=3), + PFON_EXTR =SIMP(statut='o',typ='R',min=3,max=3),), + b_demidroite =BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",fr="Paramètres de la fissure 2D demi-droite", + PFON =SIMP(statut='o',typ='R',min=3,max=3), + DTAN =SIMP(statut='o',typ='R',min=3,max=3),), + b_droite =BLOC(condition = "FORM_FISS == 'DROITE' ",fr="Paramètres de l'interface 2D (fissure traversante)", + POINT =SIMP(statut='o',typ='R',min=3,max=3), + DTAN =SIMP(statut='o',typ='R',min=3,max=3),), + ), + +# ------------------------------------------------------------------------------------------------------------------------ +# partie du maillage potentiellement enrichie +# ------------------------------------------------------------------------------------------------------------------------ + + GROUP_MA_ENRI =SIMP(statut='f',typ=grma,max=01), + +# ------------------------------------------------------------------------------------------------------------------------ +# types d'enrichissement +# ------------------------------------------------------------------------------------------------------------------------ + + b_enri_inte =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ", + + CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL","SIGM"),defaut="DEPL" ), + + ), + + + b_enri_fiss =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ", + + CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL",),defaut="DEPL" ), + TYPE_ENRI_FOND =SIMP(statut='f',typ='TXM',into=("TOPOLOGIQUE","GEOMETRIQUE"),defaut="TOPOLOGIQUE" ), + + b_enri_geom =BLOC(condition = "TYPE_ENRI_FOND == 'GEOMETRIQUE' ",fr="Paramètres de l enrichissement geometrique", + RAYON_ENRI =SIMP(statut='f',typ='R',val_min=0.E+0), + + b_enri_couches =BLOC(condition = "(RAYON_ENRI == None) ",fr="Paramètres de l enrichissement à n couches", + NB_COUCHES =SIMP(statut='f',typ='I',defaut=4,val_min=1), + + ), + ), + ), + +# ------------------------------------------------------------------------------------------------------------------------ +# branchement +# ------------------------------------------------------------------------------------------------------------------------ + + b_jonction =BLOC(condition = "(MODELE_GRILLE == None) and (FISS_GRILLE == None)", + JONCTION =FACT(statut='f',max=1, + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), + POINT =SIMP(statut='o',typ='R',max=3,), + ), + ), +# ------------------------------------------------------------------------------------------------------------------------ +# info +# ------------------------------------------------------------------------------------------------------------------------ + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, + reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement", + UIinfo={"groupes":("Modélisation",)}, + regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), + FAISCEAU_TRANS =FACT(statut='f',max='**', + regles=( ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),), + COUPLAGE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_RHO_F_INT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_RHO_F_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), + COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), + TYPE_PAS =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ), + TYPE_RESEAU =SIMP(statut='f',typ='I' ), + UNITE_CD =SIMP(statut='f',typ='I',defaut=70), + UNITE_CK =SIMP(statut='f',typ='I',defaut=71), + PAS =SIMP(statut='f',typ='R' ), + CSTE_CONNORS =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00), + NB_CONNORS =SIMP(statut='f',typ='I',val_min=2,), + RHO_TUBE =SIMP(statut='f',typ='R' ), + ), + GRAPPE =FACT(statut='f', + regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',), + PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),), +# peut on créer un bloc a partir de la valeur de couplage + COUPLAGE =SIMP(statut='o',typ='TXM',into=("OUI","NON") ), + GRAPPE_2 =SIMP(statut='f',typ='TXM', + into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ), + NOEUD =SIMP(statut='f',typ=no), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), + RHO_FLUI =SIMP(statut='f',typ='R' ), + UNITE_CA =SIMP(statut='f',typ='I',defaut=70), + UNITE_KA =SIMP(statut='f',typ='I',defaut=71), + ), + FAISCEAU_AXIAL =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'), + UN_PARMI('CARA_ELEM','RAYON_TUBE'), + ENSEMBLE('RAYON_TUBE','COOR_TUBE'), + PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'), + ENSEMBLE('CARA_PAROI','VALE_PAROI'), + ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG', + 'COOR_GRILLE','TYPE_GRILLE', ),), +# on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TRI_GROUP_MA =SIMP(statut='f',typ='TXM' ), + VECT_X =SIMP(statut='f',typ='R',max=3), + PROF_RHO_FLUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_VISC_CINE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + RAYON_TUBE =SIMP(statut='f',typ='R' ), + COOR_TUBE =SIMP(statut='f',typ='R',max='**'), + PESANTEUR =SIMP(statut='f',typ='R',min=4,max=4), + RUGO_TUBE =SIMP(statut='f',typ='R' ), + CARA_PAROI =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5, + into=("YC","ZC","R","HY","HZ") ), + VALE_PAROI =SIMP(statut='f',typ='R',max=5), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + LONG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + LARG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + EPAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + RUGO_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + COEF_DPOR_TYPG =SIMP(statut='f',typ='R',max='**'), + COOR_GRILLE =SIMP(statut='f',typ='R',max='**'), + TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'), + ), + COQUE_COAX =FACT(statut='f', + MASS_AJOU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + GROUP_MA_INT =SIMP(statut='o',typ=grma), + GROUP_MA_EXT =SIMP(statut='o',typ=grma), + VECT_X =SIMP(statut='o',typ='R',max='**'), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MATER_INT =SIMP(statut='o',typ=mater_sdaster ), + MATER_EXT =SIMP(statut='o',typ=mater_sdaster ), + RHO_FLUI =SIMP(statut='o',typ='R' ), + VISC_CINE =SIMP(statut='o',typ='R' ), + RUGOSITE =SIMP(statut='o',typ='R' ), + PDC_MOY_1 =SIMP(statut='o',typ='R' ), + PDC_DYN_1 =SIMP(statut='o',typ='R' ), + PDC_MOY_2 =SIMP(statut='o',typ='R' ), + PDC_DYN_2 =SIMP(statut='o',typ='R' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.relun at edf.fr + + +DEFI_FONC_ELEC=MACRO(nom="DEFI_FONC_ELEC", + op=OPS('Macro.defi_fonc_elec_ops.defi_fonc_elec_ops'), + sd_prod=fonction_sdaster, + reentrant='n', + UIinfo={"groupes":("Outils-métier",)}, + fr="Définir une fonction du temps intervenant dans le calcul des " \ + "forces de LAPLACE", + regles=(UN_PARMI('COUR_PRIN','COUR'), + EXCLUS('COUR','COUR_SECO'), ), + FREQ =SIMP(statut='f',typ='R',defaut= 50.), + SIGNAL =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ), + COUR =FACT(statut='f',max='**', + fr="Définition du courant de court-circuit", + regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'), + UN_PARMI('PHI_CC_2','INTC_CC_2'),), + INTE_CC_1 =SIMP(statut='o',typ='R'), + TAU_CC_1 =SIMP(statut='o',typ='R'), + PHI_CC_1 =SIMP(statut='f',typ='R'), + INTC_CC_1 =SIMP(statut='f',typ='R'), + INTE_CC_2 =SIMP(statut='o',typ='R'), + TAU_CC_2 =SIMP(statut='o',typ='R'), + PHI_CC_2 =SIMP(statut='f',typ='R'), + INTC_CC_2 =SIMP(statut='f',typ='R'), + INST_CC_INIT =SIMP(statut='o',typ='R'), + INST_CC_FIN =SIMP(statut='o',typ='R'), + ), + COUR_PRIN =FACT(statut='f', + fr="Définition du courant de court-circuit avec réenclenchement", + regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),), + INTE_CC_1 =SIMP(statut='o',typ='R'), + TAU_CC_1 =SIMP(statut='o',typ='R'), + PHI_CC_1 =SIMP(statut='f',typ='R'), + INTC_CC_1 =SIMP(statut='f',typ='R'), + INTE_RENC_1 =SIMP(statut='f',typ='R'), + TAU_RENC_1 =SIMP(statut='f',typ='R'), + PHI_RENC_1 =SIMP(statut='f',typ='R'), + INST_CC_INIT =SIMP(statut='o',typ='R'), + INST_CC_FIN =SIMP(statut='o',typ='R'), + INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0), + INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + COUR_SECO =FACT(statut='f',max='**', + fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN", + regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),), + INTE_CC_2 =SIMP(statut='o',typ='R'), + TAU_CC_2 =SIMP(statut='o',typ='R'), + PHI_CC_2 =SIMP(statut='f',typ='R'), + INTC_CC_2 =SIMP(statut='f',typ='R'), + INTE_RENC_2 =SIMP(statut='f',typ='R'), + TAU_RENC_2 =SIMP(statut='f',typ='R'), + PHI_RENC_2 =SIMP(statut='f',typ='R'), + DIST =SIMP(statut='f',typ='R',defaut=1.0E+0), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, + reentrant='n', + fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre", + UIinfo={"groupes":("Modélisation","Fonctions",)}, + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), + NOEUD_INIT =SIMP(statut='o',typ=no), + NOEUD_FIN =SIMP(statut='o',typ=no), + VITE =FACT(statut='o', + VALE =SIMP(statut='f',typ='R',defaut= 1. ), + PROFIL =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ), + NB_BAV =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ), + ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN", + into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU", + into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM' ,defaut="EXCLU", + into=("CONSTANT","LINEAIRE","EXCLU") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,ABSCISSE,**args): + if VALE != None : return fonction_sdaster + if VALE_C != None : return fonction_c + if VALE_PARA != None : return fonction_sdaster + if ABSCISSE != None : return fonction_sdaster + if NOEUD_PARA != None : return fonction_sdaster + raise AsException("type de concept resultat non prevu") + +DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod + ,fr="Définit une fonction réelle ou complexe d'une variable réelle", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA','ABSCISSE'),), + NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + VALE =SIMP(statut='f',typ='R',min=2,max='**', + fr ="Fonction réelle définie par une liste de couples " + "(abscisse,ordonnée)"), + ABSCISSE =SIMP(statut='f',typ='R',min=2,max='**', + fr ="Liste d abscisses d une fonction réelle"), + VALE_C =SIMP(statut='f',typ='R',min=2,max='**', + fr ="Fonction complexe définie par une liste de triplets " + "(absc, partie réelle, partie imaginaire)"), + VALE_PARA =SIMP(statut='f',typ=listr8_sdaster, + fr ="Fonction réelle définie par deux concepts de type listr8" ), + b_vale_para =BLOC(condition = "VALE_PARA != None", + VALE_FONC =SIMP(statut='o',typ=listr8_sdaster ), + ), + b_abscisse =BLOC(condition = "ABSCISSE != None", + ORDONNEE =SIMP(statut='o',typ='R',min=2,max='**', + fr ="Liste d ordonnées d une fonction réelle"), + ), + NOEUD_PARA =SIMP(statut='f',typ=no,max='**', + fr ="Fonction réelle définie par une liste de noeuds et un maillage"), + b_noeud_para =BLOC(condition = "NOEUD_PARA != None", + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + VALE_Y =SIMP(statut='o',typ='R',max='**'), + ), + + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS", + op=55, + sd_prod=fond_fiss, + reentrant='n', + UIinfo={"groupes":("Modélisation",)},fr="Définition de lèvres et d'un fond de fissure", + + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + + # definition du fond de fissure + FOND_FISS = FACT(statut='o',max=2, + + TYPE_FOND = SIMP(statut='f',typ='TXM',into=("OUVERT","FERME","INF","SUP"),defaut="OUVERT"), + + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1 ), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1 ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + + # possibilite d'ordonnencement automatique du fond si groupe de mailles + b_grma = BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND != 'FERME'", + NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), + + # si ordo + b_ordo = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", + NOEUD_EXTR = SIMP(statut='f',typ=no, max=1), + GROUP_NO_EXTR = SIMP(statut='f',typ=grno,max=1), + regles=(EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + ), + ), + # possibilite d'ordonnencement automatique du fond si groupe de mailles + b_grma_ferme= BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND == 'FERME'", + NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), + + # si ordo + b_ordo_ferme = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", + MAILLE_ORIG = SIMP(statut='f',typ=ma, max=1), + GROUP_MA_ORIG = SIMP(statut='f',typ=grma, max=1), + regles=(UN_PARMI('MAILLE_ORIG','GROUP_MA_ORIG'),), + ), + ), + # definition des directions des tangentes aux bords (uniquement pour les fonds non fermes) + b_dtan = BLOC(condition = "TYPE_FOND != 'FERME'", + DTAN_ORIG =SIMP(statut='f',typ='R',max='**'), + DTAN_EXTR =SIMP(statut='f',typ='R',max='**'), + VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + regles=(EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'), + EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR'),), + ), + ), + + CONFIG_INIT = SIMP(statut='f',typ='TXM',into=("COLLEE","DECOLLEE"), defaut="COLLEE",position='global'), + + SYME = SIMP(statut='f',typ='TXM',into=("OUI","NON"), defaut="NON", position='global'), + +# remarque : dans le cas symetrique, il faut soit LEVRE_SUP, soit DTAN_ORIG +# mais impossible de faire une regle. + + LEVRE_SUP =FACT(statut='f',max=1, + regles=(UN_PARMI('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + + b_levre_inf = BLOC(condition = "LEVRE_SUP != None and SYME == 'NON'", + + LEVRE_INF =FACT(statut='o',max=1, + regles=(UN_PARMI('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + ), + + # dans le cas decolle + b_decolle = BLOC(condition = "CONFIG_INIT == 'DECOLLEE'", + NORMALE =SIMP(statut='o',typ='R',max=3),), + + PREC_NORM = SIMP(statut='f',typ='R',defaut=0.1), + +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-luc.flejou at edf.fr +# +DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op= 119, sd_prod=gfibre_sdaster, + fr="Definition des groupes de fibres pour les elements multifibres", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('SECTION','FIBRE'),), + + INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), +#============================================================================ + SECTION =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'), + PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),), + + GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), + TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_SECT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_SECT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + MAILLAGE_SECT =SIMP(statut='o',typ=maillage_sdaster), + COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), + ), + + +#============================================================================ + FIBRE =FACT(statut='f',max='**', + GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), + CARA =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)), + VALE =SIMP(statut='o',typ='R',max='**'), + COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), + ), + + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: sebastien.fayolle at edf.fr +DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + fr="Déterminer les caractéristiques homogenéisées du béton armé à partir des propriétés du béton et des " + +" armatures", + reuse = SIMP(statut='f',typ=mater_sdaster), + RELATION = SIMP(statut='o',typ='TXM',defaut="GLRC_DAMAGE", + into=("GLRC_DM","GLRC_DAMAGE"),), + + b_glrc_dm=BLOC(condition = "RELATION == 'GLRC_DM'", + fr="Paramètres de la loi GLRC_DM", + BETON = FACT(statut='o',max=1, + MATER = SIMP(statut='o',typ=(mater_sdaster),), + EPAIS = SIMP(statut='o',typ='R',val_min=0.E+0 ),), + NAPPE = FACT(statut='o',max=1, + MATER = SIMP(statut='o',typ=(mater_sdaster),), + OMY = SIMP(statut='o',typ='R',val_min=0.E+0,), + OMX = SIMP(statut='o',typ='R',val_min=0.E+0,), + RY = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0,), + RX = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0),), + RHO = SIMP(statut='f',typ='R',val_min=0.E+0,), + AMOR_ALPHA = SIMP(statut='f',typ='R',val_min=0.E+0,), + AMOR_BETA = SIMP(statut='f',typ='R',val_min=0.E+0,), + AMOR_HYST = SIMP(statut='f',typ='R',val_min=0.E+0,), + COMPR = SIMP(statut='o',typ='TXM',defaut="GAMMA", + into=("GAMMA","SEUIL")), + b_gamma=BLOC(condition = "COMPR == 'GAMMA'", + fr="Paramètre d'endommagement en compression ", + GAMMA_C = SIMP(statut='o',typ='R',defaut=1.0E+0,val_min=0.0E+0, val_max=1.0E+0),), + b_seuil=BLOC(condition = "COMPR == 'SEUIL'", + fr="Seuil d'endommagement en compression ", + NYC = SIMP(statut='o',typ='R'),), + PENTE = SIMP(statut='o',typ='TXM',defaut="RIGI_ACIER", + into=("PLAS_ACIER","UTIL","RIGI_ACIER")), + b_util = BLOC(condition = "PENTE == 'UTIL'", + fr="Valeur de la déformation maximale de l'élément", + EPSI_MEMB = SIMP(statut='o',typ='R',defaut=0.E+0), + KAPPA_FLEX = SIMP(statut='o',typ='R',defaut=0.E+0),), + CISAIL = SIMP(statut='o',typ='TXM',defaut="NON", + into=("OUI","NON"),), + METHODE_ENDO = SIMP(statut='o',typ='TXM',defaut="ENDO_INTER", + into=("ENDO_NAISS","ENDO_LIM","ENDO_INTER"),), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2),), + ), + b_glrc_damage=BLOC(condition = "RELATION == 'GLRC_DAMAGE'", + fr="Paramètres de la loi GLRC_DAMAGE", + CISAIL_NL =FACT(statut='f',max=1, + BTD1 =SIMP(statut='o',typ='R'), + BTD2 =SIMP(statut='o',typ='R'), + TSD =SIMP(statut='o',typ='R'), + ), + BETON =FACT(statut='o',max=1, + regles=(ENSEMBLE('MP1X', 'MP1Y', 'MP2X', 'MP2Y'), + ENSEMBLE('MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), + PRESENT_ABSENT('MP1X', 'MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), + ENSEMBLE('OMT', 'EAT'), + ENSEMBLE('BT1','BT2'),), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), + GAMMA =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), + QP1 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), + QP2 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), + + C1N1 =SIMP(statut='o',typ='R',val_min=0.E+0), + C1N2 =SIMP(statut='o',typ='R',val_min=0.E+0), + C1N3 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2N1 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2N2 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2N3 =SIMP(statut='o',typ='R',val_min=0.E+0), + C1M1 =SIMP(statut='o',typ='R',val_min=0.E+0), + C1M2 =SIMP(statut='o',typ='R',val_min=0.E+0), + C1M3 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2M1 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2M2 =SIMP(statut='o',typ='R',val_min=0.E+0), + C2M3 =SIMP(statut='o',typ='R',val_min=0.E+0), + + OMT =SIMP(statut='f',typ='R',val_min=0.E+0), + EAT =SIMP(statut='f',typ='R',val_min=0.E+0), + BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), + BT2 =SIMP(statut='f',typ='R',val_min=0.E+0), + + MP1X =SIMP(statut='f',typ='R'), + MP2X =SIMP(statut='f',typ='R'), + MP1Y =SIMP(statut='f',typ='R'), + MP2Y =SIMP(statut='f',typ='R'), + + MP1X_FO =SIMP(statut='f',typ=fonction_sdaster), + MP2X_FO =SIMP(statut='f',typ=fonction_sdaster), + MP1Y_FO =SIMP(statut='f',typ=fonction_sdaster), + MP2Y_FO =SIMP(statut='f',typ=fonction_sdaster), + ), + NAPPE =FACT(statut='o',max=10, + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + OMX =SIMP(statut='o',typ='R',val_min=0.E+0), + OMY =SIMP(statut='o',typ='R',val_min=0.E+0), + RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + ), + CABLE_PREC =FACT(statut='f',max=1, + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + OMX =SIMP(statut='o',typ='R',val_min=0.E+0), + OMY =SIMP(statut='o',typ='R',val_min=0.E+0), + RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + PREX =SIMP(statut='o',typ='R'), + PREY =SIMP(statut='o',typ='R'), + ), + LINER =FACT(statut='f',max=10, + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + OML =SIMP(statut='o',typ='R',val_min=0.E+0), + RLR =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2),), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr +DEFI_GRILLE=OPER(nom="DEFI_GRILLE",op=82,sd_prod=grille_sdaster,reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition d'une grille", + + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + + INFO = SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def defi_group_prod(MAILLAGE,GRILLE,**args): + if ( MAILLAGE != None ) : + if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster + if AsType(MAILLAGE) == squelette : return squelette + if ( GRILLE != None ) : + return grille_sdaster + raise AsException("type de concept resultat non prevu") + +DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, + fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage", + reentrant='o', + UIinfo={"groupes":("Maillage",)}, + regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'), + UN_PARMI('MAILLAGE','GRILLE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette) ), + GRILLE =SIMP(statut='f',typ=(grille_sdaster) ), + DETR_GROUP_MA =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),), + DETR_GROUP_NO =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), + + + CREA_GROUP_MA =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), + NOM =SIMP(statut='o',typ=grma), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + INTERSEC =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + UNION =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + DIFFE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TYPE_MAILLE =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D", + "POI1","SEG2","SEG3","SEG4","TRIA3","TRIA6","TRIA7", + "QUAD4","QUAD8","QUAD9","TETRA4","TETRA10", + "PENTA6","PENTA15","PENTA18","HEXA8","HEXA20","HEXA27", + "PYRAM5","PYRAM13",),max=1 ), + + OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE", + "BANDE","APPUI_LACHE","APPUI","FISS_XFEM") ), + b_group_ma =BLOC(condition = "GROUP_MA != None", + regles=(EXCLUS('POSITION','NUME_INIT'),), + NUME_INIT =SIMP(statut='f',typ='I'), + POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), + b_nume_init =BLOC(condition = "NUME_INIT != None", + NUME_FIN =SIMP(statut='f',typ='I' ), + ), + ), + b_face_normale =BLOC(condition = "OPTION == 'FACE_NORMALE'", + regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + ANGL_PREC =SIMP(statut='f',typ='R',defaut= 0.5 ), + VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_sphere =BLOC(condition = "OPTION == 'SPHERE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + RAYON =SIMP(statut='o',typ='R' ), + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", + into=("TOUS","AU_MOINS_UN","MAJORITE"),), + ), + b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + RAYON =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", + into=("TOUS","AU_MOINS_UN","MAJORITE"),), + ), + b_bande =BLOC(condition = "OPTION == 'BANDE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + DIST =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", + into=("TOUS","AU_MOINS_UN","MAJORITE"),), + ), + b_app_lache =BLOC(condition = "OPTION == 'APPUI_LACHE'", + regles=(UN_PARMI('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + b_appui =BLOC(condition = "OPTION == 'APPUI'", + regles=(UN_PARMI('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TYPE_APPUI =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET','MAJORITE')), + ), + b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", + TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,defaut='XFEM', + into=('HEAVISIDE','CRACKTIP','MIXTE','FISSUREE','XFEM',),), + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), + ), + ), + + + CREA_GROUP_NO =FACT(statut='f',max='**', + OPTION =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN", + "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL", + "INCLUSION","FISS_XFEM","INTERVALLE_VALE") ), + + b_option =BLOC(condition = "OPTION == None" , + regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD', + 'INTERSEC','UNION','DIFFE'),), + TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + INTERSEC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + UNION =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DIFFE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + + b_nom_group_ma =BLOC(condition = "GROUP_MA != None", + NOM = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS", + into=("TOUS","SOMMET","MILIEU","CENTRE"),), + ), + b_group_no =BLOC(condition = "GROUP_NO != None", + regles=(EXCLUS('POSITION','NUME_INIT'),), + NUME_INIT =SIMP(statut='f',typ='I'), + POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), + b_nume_init =BLOC(condition = "NUME_INIT != None", + NUME_FIN =SIMP(statut='f',typ='I' ), + ), + ), + b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" , + NOM =SIMP(statut='o',typ=grma), + ), + ), + + b_env_sphere =BLOC(condition = "OPTION == 'ENV_SPHERE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), + NOM =SIMP(statut='o',typ=grno), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + RAYON =SIMP(statut='o',typ='R' ), + PRECISION =SIMP(statut='o',typ='R' ), + ), + b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + NOM =SIMP(statut='o',typ=grno), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + RAYON =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + PRECISION =SIMP(statut='o',typ='R' ), + ), + b_env_plan =BLOC(condition = "OPTION == 'PLAN'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + NOM =SIMP(statut='o',typ=grno), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + ANGL_NAUT =SIMP(statut='f',typ='R' ,max=3), + VECT_NORMALE =SIMP(statut='f',typ='R' ,max=3), + PRECISION =SIMP(statut='o',typ='R' ), + ), + b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'", + regles=(AU_MOINS_UN('NOEUD','GROUP_NO'), + UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOM =SIMP(statut='o',typ=grno), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + NOEUD_EXTR =SIMP(statut='f',typ=no), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno), + PRECISION =SIMP(statut='o',typ='R' ), + CRITERE =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'", + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOM =SIMP(statut='o',typ=grno), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: + # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + NOEUD_EXTR =SIMP(statut='f',typ=no), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno), + # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours : + VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR + + ), + b_tunnel =BLOC(condition = "OPTION == 'TUNNEL'", + regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),), + NOM =SIMP(statut='o',typ=grma), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_AXE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_AXE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + RAYON =SIMP(statut='o',typ='R'), + LONGUEUR =SIMP(statut='f',typ='R'), + ), + b_inclusion =BLOC(condition = "OPTION == 'INCLUSION'", + fr="""crée le groupe des noeuds des mailles de GROUP_MA inclus géométriquement + dans les mailles de GROUP_MA_INCL""", + NOM =SIMP(statut='o',typ=grma), + CAS_FIGURE =SIMP(statut='o',typ='TXM',into=("2D","3D","2.5D",)), + DISTANCE_MAX =SIMP(statut='f',typ='R',), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_INCL =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + MAILLAGE_INCL =SIMP(statut='f',typ=maillage_sdaster), + ), + b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", + NOM =SIMP(statut='o',typ=grma), + TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,into=('HEAVISIDE','CRACKTIP','MIXTE','XFEM','ZONE_MAJ','TORE')), + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), + b_rayon =BLOC(condition = "TYPE_GROUP == 'TORE'", + RAYON_TORE =SIMP(statut='o',typ='R',max=1,val_min=0.0), + ), + ), + b_intervalle_vale =BLOC(condition = "OPTION == 'INTERVALLE_VALE'", + NOM =SIMP(statut='o',typ=grma), + CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1), + VALE =SIMP(statut='o',typ='R',min=2,max=2), + ), + ), + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr + +DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115, + sd_prod=interspectre, + reentrant='n', + fr="Définit une matrice interspectrale", + UIinfo={"groupes":("Fonctions",)}, + + DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), + + regles=(UN_PARMI('PAR_FONCTION','KANAI_TAJIMI','CONSTANT'),), + + PAR_FONCTION =FACT(statut='f',max='**', + regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), + NOEUD_I =SIMP(statut='f',typ=no,max=1,), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), + b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), + ), + b_noeud_i = BLOC (condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max=1,), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), + ), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c ),max=1), + ), + + KANAI_TAJIMI =FACT(statut='f',max='**', + regles=(EXCLUS('VALE_R','VALE_C'), + UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), + NOEUD_I =SIMP(statut='f',typ=no,max=1,), + b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), + ), + b_noeud_i = BLOC (condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max=1,), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), + ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), + PAS =SIMP(statut='f',typ='R',defaut= 1. ), + AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.6 ), + FREQ_MOY =SIMP(statut='f',typ='R',defaut= 5. ), + VALE_R =SIMP(statut='f',typ='R' ), + VALE_C =SIMP(statut='f',typ='C' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + ), + CONSTANT =FACT(statut='f',max='**', + regles=(EXCLUS('VALE_R','VALE_C'), + UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), + NOEUD_I =SIMP(statut='f',typ=no,max=1,), + b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), + ), + b_noeud_i = BLOC (condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max=1,), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), + ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), + PAS =SIMP(statut='f',typ='R',defaut= 1. ), + VALE_R =SIMP(statut='f',typ='R' ), + VALE_C =SIMP(statut='f',typ='C' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr + +DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, + fr="Définir les interfaces d'une structure et leur affecter un type", + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), + INTERFACE =FACT(statut='o',max='**', + regles=(ENSEMBLE('NOM','TYPE'), +# erreur doc U sur la condition qui suit + UN_PARMI('NOEUD','GROUP_NO'),), + NOM =SIMP(statut='f',typ='TXM' ), + TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ), + NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), +# DDL_ACTIF =SIMP(statut='f',typ='TXM',max='**'), + MASQUE =SIMP(statut='f',typ='TXM',max='**'), + ), + FREQ =SIMP(statut='f',typ='R',defaut= 1.), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, + fr="Définir une liste d'entiers strictement croissante", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + + OPERATION =SIMP(statut='o',typ='TXM',defaut='DEFI',into=('DEFI','NUME_ORDRE',)), + + + # définition d'une liste d'entiers + #---------------------------------- + b_defi =BLOC(condition = "OPERATION == 'DEFI'", + regles=(UN_PARMI('VALE','DEBUT'), + EXCLUS('VALE','INTERVALLE'),), + VALE =SIMP(statut='f',typ='I',max='**'), + DEBUT =SIMP(statut='f',typ='I'), + INTERVALLE =FACT(statut='f',max='**', + regles=(UN_PARMI('NOMBRE','PAS'),), + JUSQU_A =SIMP(statut='o',typ='I'), + NOMBRE =SIMP(statut='f',typ='I',val_min=1,), + PAS =SIMP(statut='f',typ='I',val_min=1,), + ), + ), + + + # extraction d'une liste de nume_ordre dans une sd_resultat : + #------------------------------------------------------------ + b_extr =BLOC(condition = "OPERATION == 'NUME_ORDRE'", + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + PARAMETRE =SIMP(statut='o',typ='TXM',), + INTERV_R =SIMP(statut='o',typ='R',min=2,max=2), + ), + + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr +DEFI_LIST_FREQ=MACRO(nom="DEFI_LIST_FREQ", + op=OPS('Macro.defi_list_freq_ops.defi_list_freq_ops'), + sd_prod=listr8_sdaster, + fr="Définir une liste de fréquences strictement croissante", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('VALE','DEBUT',), + EXCLUS('VALE','INTERVALLE'), + ENSEMBLE('DEBUT','INTERVALLE')), + VALE =SIMP(statut='f',typ='R',max='**'), + DEBUT =SIMP(statut='f',typ='R'), + INTERVALLE =FACT(statut='f',max='**', + regles=(UN_PARMI('NOMBRE','PAS'),), + JUSQU_A =SIMP(statut='o',typ='R'), + NOMBRE =SIMP(statut='f',typ='I'), + PAS =SIMP(statut='f',typ='R'), + ), + RAFFINEMENT =FACT(statut='f', + LIST_RAFFINE =SIMP(statut='o',typ='R',max='**'), + NB_POINTS =SIMP(statut='f',typ='I',defaut=5), + PAS_MINI =SIMP(statut='f',typ='R',defaut=0.001), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU","LARGEUR_3DB")), + b_crit_rela_abs=BLOC(condition="(CRITERE=='RELATIF' or CRITERE=='ABSOLU')", + DISPERSION =SIMP(statut='f',typ='R',defaut=0.01),), + b_crit_larg=BLOC(condition="(CRITERE=='LARGEUR_3DB')", + AMOR_MODAL =FACT(statut='o', + regles = UN_PARMI('AMOR_REDUIT','LIST_AMOR'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),),), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + + + +# Bloc pour decoupe automatique +bloc_auto =BLOC(fr = "Subdivision de type automatique", + condition = "SUBD_METHODE == 'AUTO'", + SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", + statut = 'f', + typ = 'R', + val_min = 0.0, + max = 1, + defaut = 0., + ), + ) + +# Bloc pour decoupe manuel +bloc_manu =BLOC(fr = "Subdivision de type manuel", + condition = "SUBD_METHODE == 'MANUEL'", + regles = (AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),), + SUBD_PAS = SIMP(fr = "Nombre de subdivision d'un pas de temps", + statut = 'f', + typ = 'I', + val_min = 2, + max = 1, + defaut = 4, + ), + + SUBD_NIVEAU = SIMP(fr = "Nombre maximum de niveau de subdivision d'un pas de temps", + statut = 'f', + typ = 'I', + val_min = 2, + max = 1, + defaut = 3, + ), + SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", + statut = 'f', + typ = 'R', + val_min = 0.0, + max = 1, + defaut = 0., + ), + ) + +# Bloc pour decoupe automatique - Cas de la collision +bloc_auto2 =BLOC(fr = "Subdivision de type automatique", + condition = "SUBD_METHODE == 'AUTO'", + SUBD_INST = SIMP(fr = "Parametre de decoupe fine du pas de temps", + statut = 'o', + typ = 'R', + val_min = 0.0, + max = 1, + ), + SUBD_DUREE = SIMP(fr = "Duree de decoupe apres collision", + statut = 'o', + typ = 'R', + val_min = 0.0, + max = 1, + ), + ) + +# Bloc pour decoupe du pas de temps +bloc_deco =BLOC(fr = "Action de decoupe du pas temps", + condition = "ACTION == 'DECOUPE' or ACTION == 'REAC_PRECOND' or ACTION == 'AUTRE_PILOTAGE'", + SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", + statut = 'f', + typ = 'TXM', + max = 1, + into = ("MANUEL","AUTO"), + defaut = "MANUEL", + ), + b_deco_manu = bloc_manu, + b_deco_auto = bloc_auto, + ) + + +# Bloc pour decoupe du pas de temps - special pour collision +bloc_deco2 =BLOC(fr = "Action de decoupe du pas temps", + condition = "ACTION == 'DECOUPE'", + SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de collision", + statut = 'f', + typ = 'TXM', + max = 1, + into = ("MANUEL","AUTO"), + defaut = "AUTO", + ), + + + + b_deco_manu = bloc_manu, + b_deco_auto = bloc_auto2, + ) + +# Bloc pour extrapolation du nombre d'iterations de Newton +bloc_supp =BLOC(fr = "Action d'extrapolation du nombre d'iterations de Newton", + condition = "ACTION == 'ITER_SUPPL'", + PCENT_ITER_PLUS = SIMP(fr = "Pourcentage d'itérations autorisées en plus", + statut = 'f', + typ = 'I', + val_min = 20, + max = 1, + defaut = 50, + ), + SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", + statut = 'f', + typ = 'TXM', + max = 1, + into = ("MANUEL","AUTO"), + defaut = "MANUEL", + ), + b_deco_manu = bloc_manu, + b_deco_auto = bloc_auto, + ) + +# Bloc pour adaptation du coefficient de penalisation +bloc_pene =BLOC(fr = "Action d' adaptation du coefficient de penalisation", + condition = "ACTION == 'ADAPT_COEF_PENA'", + COEF_MAXI = SIMP(fr = "Coefficient multiplicateur maximum du coefficient de penalisation", + statut = 'f', + typ = 'R', + val_min = 1., + max = 1, + defaut = 1E12, + ), + ) + +DEFI_LIST_INST = OPER(nom="DEFI_LIST_INST",op= 28,sd_prod=list_inst,reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + fr="Définition de la gestion de la liste d'instants", + +# ---------------------------------------------------------------------------------------------------------------------------------- +# mot-cle pour la definition a priori de la liste d'instant +# ---------------------------------------------------------------------------------------------------------------------------------- + +DEFI_LIST =FACT(fr = "Definition a priori de la liste d'instants", + statut = 'o', + max = 1, + METHODE = SIMP(fr = "Methode de definition de la liste d'instants", + statut = 'o', + typ = 'TXM', + max = 1, + position = 'global', + into = ("MANUEL","AUTO",), + defaut = "MANUEL", + ), + b_manuel = BLOC(fr = "Liste d'instants donnée par l'utilisateur", + condition = "METHODE == 'MANUEL' ", + regles=(UN_PARMI('LIST_INST','VALE','RESULTAT'), + PRESENT_PRESENT('RESULTAT','SUBD_PAS'),), + VALE = SIMP(statut = 'f', + typ = 'R', + max = '**'), + LIST_INST = SIMP(statut = 'f', + typ = listr8_sdaster, + ), + RESULTAT = SIMP(statut = 'f', + typ = resultat_sdaster, + ), + SUBD_PAS = SIMP(statut = 'f', + typ = 'I', + max = 1, + val_min = 1, + ), + + ), + b_auto = BLOC(fr = "Gestion automatique de la liste d'instants", + condition = "(METHODE == 'AUTO') ", + regles=(UN_PARMI('LIST_INST','VALE',),), + VALE = SIMP(statut = 'f', + typ = 'R', + max = '**'), + LIST_INST = SIMP(statut = 'f', + typ = listr8_sdaster, + ), + PAS_MINI = SIMP(statut = 'f', + typ = 'R', + max = 1, + val_min = 1.e-12, + ), + PAS_MAXI = SIMP(statut = 'f', + typ = 'R', + max = 1, + ), + NB_PAS_MAXI = SIMP(statut = 'f', + typ = 'I', + max = 1, + val_max = 1000000, + defaut = 1000000, + ), + ), + ), +# ---------------------------------------------------------------------------------------------------------------------------------- +# mot-cle pour le comportement en cas d'echec (on doit recommencer le meme instant) +# ---------------------------------------------------------------------------------------------------------------------------------- + +ECHEC =FACT(fr = "Comportement en cas d'echec", + statut = 'd', + max = '**', + EVENEMENT = SIMP(fr = "Type de l'evenement", + statut = 'f', + typ = 'TXM', + max = 1, + into = ("ERREUR","DELTA_GRANDEUR","COLLISION", + "INTERPENETRATION","DIVE_RESI","INSTABILITE"), + defaut = "ERREUR", + ), + b_erreur = BLOC(fr = "Event: erreur ou iter_maxi", + condition = "EVENEMENT == 'ERREUR' ", + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("ARRET","DECOUPE","REAC_PRECOND", + "ITER_SUPPL","AUTRE_PILOTAGE"), + defaut = "DECOUPE", + ), + b_deco = bloc_deco, + b_supp = bloc_supp, + ), + b_edelta = BLOC(fr = "Event: l'increment d'une composante d'un champ depasse le seuil", + condition = "EVENEMENT == 'DELTA_GRANDEUR' ", + VALE_REF = SIMP(fr = "Valeur du seuil", + statut = 'o', + typ = 'R', + max = 1, + ), + NOM_CHAM = SIMP(fr = "Nom du champ", + statut = 'o', + typ = 'TXM', + max = 1, + into = ("DEPL","VARI_ELGA","SIEF_ELGA",), + ), + NOM_CMP = SIMP(fr = "Nom de la composante", + statut = 'o', + typ = 'TXM', + max = 1, + ), + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("ARRET","DECOUPE",), + defaut = "DECOUPE", + ), + b_deco = bloc_deco, + ), + b_colli = BLOC(fr = "Event: collision", + condition = "EVENEMENT == 'COLLISION' ", + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("ARRET","DECOUPE",), + defaut = "DECOUPE", + ), + b_deco2 = bloc_deco2, + ), + b_penetration = BLOC(fr = "Event: interpenetration des surfaces en contact", + condition = "EVENEMENT == 'INTERPENETRATION' ", + PENE_MAXI = SIMP(fr = "Valeur maxi de l'interpenetration", + statut = 'o', + typ = 'R', + max = 1, + ), + + + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("ARRET","ADAPT_COEF_PENA",), + defaut = "ADAPT_COEF_PENA", + ), + b_pene = bloc_pene, + ), + b_dive_resi = BLOC(fr = "Event: divergence du residu", + condition = "EVENEMENT == 'DIVE_RESI' ", + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("DECOUPE",), + defaut = "DECOUPE", + ), + b_deco = bloc_deco, + ), + b_instabilite = BLOC(fr = "Event: instabilite", + condition = "EVENEMENT == 'INSTABILITE' ", + ACTION = SIMP(fr = "Actions possibles", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("ARRET","CONTINUE",), + defaut = "CONTINUE", + ), + ), + + ), + +# ---------------------------------------------------------------------------------------------------------------------------------- +# Mot-cle pour le comportement en cas de succes (on a bien converge) +# ---------------------------------------------------------------------------------------------------------------------------------- + +b_adap = BLOC(condition="METHODE == 'AUTO'", + +ADAPTATION =FACT(fr = "Parametres de l'evenement declencheur de l'adaptation du pas de temps", + statut = 'd', + max = '**', + EVENEMENT = SIMP(fr = "Nom de l'evenement declencheur de l'adaptation", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("SEUIL","TOUT_INST","AUCUN"), + defaut = "SEUIL", + ), + b_adap_seuil = BLOC(fr = "Seuil d'adaptation", + condition = "EVENEMENT == 'SEUIL' ", + regles = (PRESENT_PRESENT('NB_INCR_SEUIL','NOM_PARA',), + PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',), + PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',),), + NB_INCR_SEUIL = SIMP(statut = 'f', + typ = 'I', + defaut = 2, + ), + NOM_PARA = SIMP(statut = 'f', + typ = 'TXM', + into = ("NB_ITER_NEWTON",), + defaut = "NB_ITER_NEWTON", + ), + CRIT_COMP = SIMP(statut = 'f', + typ = 'TXM', + into = ("LT","GT","LE","GE"), + defaut = "LE", + ), + b_vale_I = BLOC(fr = "Valeur entiere", + condition = "NOM_PARA == 'NB_ITER_NEWTON' ", + VALE_I = SIMP(statut='f',typ='I',), + ), + ), + + +# +# Parametres du mode de calcul de dt+ +# dans le cas FIXE :(deltaT+) = (deltaT-)x(1+PCENT_AUGM/100) +# dans le cas DELTA_GRANDEUR : (deltaT+) = (deltaT-)x(VALREF/deltaVAL) : l'acceleration est inversement proportionnelle +# a la variation de la grandeur +# dans le cas ITER_NEWTON : (deltaT+) = (deltaT-) x sqrt(VALREF/N) : l'acceleration est inversement proportionnelle +# au nombre d'iterations de Newton precedent + + MODE_CALCUL_TPLUS = SIMP(fr = "Parametres du mode de calcul de dt+", + statut = 'f', + max = 1, + typ = 'TXM', + into = ("FIXE","DELTA_GRANDEUR","ITER_NEWTON","IMPLEX"), + defaut = 'FIXE', + ), + + b_mfixe = BLOC(fr = "Mode de calcul de dt+: fixe", + condition = "MODE_CALCUL_TPLUS == 'FIXE' ", + PCENT_AUGM = SIMP(statut = 'f', + max = 1, + typ = 'R', + defaut = 100., + val_min = -100., + ), + ), + b_mdelta = BLOC(fr = "Mode de calcul de dt+: increment d'une grandeur", + condition = "MODE_CALCUL_TPLUS == 'DELTA_GRANDEUR' ", + VALE_REF = SIMP(statut = 'o', + max = 1, + typ = 'R', + ), + NOM_CHAM = SIMP(statut = 'o', + max = 1, + typ = 'TXM', + into = ("DEPL","VARI_ELGA","SIEF_ELGA",), + ), + NOM_CMP = SIMP(statut = 'o', + max = 1, + typ = 'TXM',), + ), + b_mitnew = BLOC(fr = "Mode de calcul de dt+: nb iterations de Newton", + condition = "MODE_CALCUL_TPLUS == 'ITER_NEWTON' ", + NB_ITER_NEWTON_REF= SIMP(statut = 'o', + max = 1, + typ = 'I', + ), + ), +# les schemas pre-definis : +# abaqus : +# EVENEMENT ='SEUIL' +# NB_INCR_SEUIL = 2 +# NOM_PARA ='NB_ITER_NEWTON' +# CRIT_COMP ='LE' +# VALE_I = 5 +# MODE_CALCUL_TPLUS ='FIXE' +# PCENT_AUGM = 50. +# Zebulon 1 : +# EVENEMENT ='TOUT_INST' +# MODE_CALCUL_TPLUS ='DELTA_GRANDEUR' +# VALE_REF = valref +# NOM_CHAM ='VARI_ELGA' +# NOM_CMP ='V1' +# Zebulon 2 : +# EVENEMENT ='TOUT_INST' +# MODE_CALCUL_TPLUS ='ITER_NEWTON' +# NB_ITER_NEWTON_REF= nc +# Tough2 : +# EVENEMENT ='SEUIL' +# NB_INCR_SEUIL = 1 +# NOM_PARA ='NB_ITER_NEWTON' +# CRIT_COMP ='LE' +# VALE_I = n +# MODE_CALCUL_TPLUS ='FIXE' +# PCENT_AUGM = 100. +# Oliver : +# EVENEMENT ='TOUT_INST' +# MODE_CALCUL_TPLUS ='FORMULE' +# NOM_SCHEMA ='OLIVER' + + ), + ), +# ---------------------------------------------------------------------------------------------------------------------------------- + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, + fr="Définir une liste de réels strictement croissante", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('VALE','DEBUT',), + EXCLUS('VALE','INTERVALLE'), + ENSEMBLE('DEBUT','INTERVALLE')), + VALE =SIMP(statut='f',typ='R',max='**'), + DEBUT =SIMP(statut='f',typ='R'), + INTERVALLE =FACT(statut='f',max='**', + regles=(UN_PARMI('NOMBRE','PAS'),), + JUSQU_A =SIMP(statut='o',typ='R'), + NOMBRE =SIMP(statut='f',typ='I'), + PAS =SIMP(statut='f',typ='R'), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, + fr="Définition d'un nouveau maillage à partir de macro-éléments", + reentrant='n', + UIinfo={"groupes":("Maillage",)}, + DEFI_SUPER_MAILLE =FACT(statut='o',max='**', + MACR_ELEM =SIMP(statut='o',typ=(macr_elem_stat,macr_elem_dyna),max='**' ), + SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + b_angl_naut =BLOC(condition = "ANGL_NAUT != None", + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + ), + RECO_GLOBAL =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + RECO_SUPER_MAILLE =FACT(statut='f',max='**', + SUPER_MAILLE =SIMP(statut='o',typ=ma,max='**'), + GROUP_NO =SIMP(statut='o',typ=grno,max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ), + geometrique =BLOC(condition = "OPTION == 'GEOMETRIQUE'", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + ), + DEFI_NOEUD =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD_INIT'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Renommage de tous les noeuds" ), + NOEUD_INIT =SIMP(statut='f',typ=no, + fr="Renommage d un seul noeud"), + b_tout =BLOC(condition = "TOUT != None", + PREFIXE =SIMP(statut='f',typ='TXM' ), + INDEX =SIMP(statut='o',typ='I',max='**'), + ), + b_noeud_init =BLOC(condition = "NOEUD_INIT != None", + SUPER_MAILLE =SIMP(statut='o',typ=ma), + NOEUD_FIN =SIMP(statut='o',typ=no), + ), + ), + DEFI_GROUP_NO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'), + AU_MOINS_UN('INDEX','GROUP_NO_FIN'), + ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),), +# la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Création de plusieurs groupes de noeuds" ), + SUPER_MAILLE =SIMP(statut='f',typ=ma, + fr="Création de plusieurs groupes de noeuds"), + GROUP_NO_INIT =SIMP(statut='f',typ=grno, + fr="Création d un seul groupe de noeuds"), + PREFIXE =SIMP(statut='f',typ='TXM' ), + INDEX =SIMP(statut='f',typ='I',max='**'), + GROUP_NO_FIN =SIMP(statut='f',typ=grno), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-luc.flejou at edf.fr + +DEFI_MATER_GC=MACRO(nom="DEFI_MATER_GC", + op=OPS('Macro.defi_mater_gc_ops.defi_mater_gc_ops'), + sd_prod=mater_sdaster, + reentrant='n', + UIinfo={"groupes":("Modélisation",) }, + fr="Définir des lois matériaux spécifique au Génie Civil", + # + regles = (UN_PARMI('MAZARS','ACIER','ENDO_FISS_EXP'), ), + # + REGLE =SIMP(statut='f',typ='TXM', into=('EC2',), defaut='EC2'), + # ============================================================================ + MAZARS =FACT(statut= 'f',max= 1, + fr="Paramètres matériaux de MAZARS unilatéral en 1D à partir des caractéristiques du béton", + UNITE_LONGUEUR =SIMP(statut='o',typ='TXM', into=("M","MM"), + fr="Unité de longueur du problème [M|MM]"), + FCJ =SIMP(statut='o',typ='R', val_min=0.0E+0, + fr="Contrainte au pic en compression [Unité]"), + EIJ =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Module d'Young [Unité]"), + EPSI_C =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Déformation au pic en compression"), + FTJ =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Contrainte au pic en traction [Unité]"), + NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, + fr="Coefficient de poisson"), + EPSD0 =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Déformation, seuil d'endommagement"), + K =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Asymptote en cisaillement pur"), + AC =SIMP(statut='f',typ='R', val_min=0.E+0, + fr="Paramètre de décroissance post-pic en compression"), + BC =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Paramètre de décroissance post-pic en compression"), + AT =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0E+0, + fr="Paramètre de décroissance post-pic en traction"), + BT =SIMP(statut='f',typ='R', val_min=0.0E+0, + fr="Paramètre de décroissance post-pic en traction"), + # Pour post-traitement ELS et ELU + SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), + EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), + ), + # ============================================================================ + ACIER =FACT(statut= 'f',max= 1, + fr="Définir les paramètres matériaux de l'acier pour le Génie Civil", + E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), + SY =SIMP(statut='o',typ='R', fr="Limite élastique"), + NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), + D_SIGM_EPSI =SIMP(statut='f',typ='R', fr="Module plastique"), + # Pour post-traitement ELS et ELU + SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), + EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), + ), + # ============================================================================ + ENDO_FISS_EXP =FACT(statut= 'f',max= 1, + fr="Définir les paramètres matériaux du béton pour la loi ENDO_FISS_EXP", + regles = ( + UN_PARMI('FT','FT_FENDAGE'), + UN_PARMI('P','DSIG_DU'), + EXCLUS('Q','Q_REL'), + ), + E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), + NU =SIMP(statut='o',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), + FT =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction simple"), + FT_FENDAGE =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction obtenue via un essai brésilien"), + FC =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Limite en compression simple"), + GF =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Energie de fissuration"), + P =SIMP(statut='f',typ='R', val_min=1.0E+0 , fr="Parametre dominant de la loi cohésive asymptotique"), + DSIG_DU =SIMP(statut='f',typ='R', val_min=1.102658 , fr="Pente initiale (au signe pres) de la loi cohesive asymptotique"), + Q =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Parametre secondaire de la loi cohesive asymptotique"), + Q_REL =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0 , fr="Parametre Q exprime de maniere relative par rapport a Qmax(P)"), + LARG_BANDE =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Largeur de bande d'endommagement (2*D)"), + COEF_RIGI_MINI =SIMP(statut='f',typ='R', val_min=0.0, defaut = 0.0 , fr="Rigidite minimale dans la matrice tangente"), + ), + # ============================================================================ + INFO =SIMP(statut='f',typ='I', into=(1,2,), defaut=1), + RHO =SIMP(statut='f',typ='R', fr="Masse volumique"), + ALPHA =SIMP(statut='f',typ='R', fr="Coefficient de dilatation"), + AMOR_ALPHA =SIMP(statut='f',typ='R'), + AMOR_BETA =SIMP(statut='f',typ='R'), + AMOR_HYST =SIMP(statut='f',typ='R'), +) + + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, + fr="Définition des paramètres décrivant le comportement d un matériau", + reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH', + 'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO', + 'ELAS_HYPER','ELAS_2NDG','ELAS_GLRC'), + EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'), + EXCLUS('ECRO_LINE','ECRO_LINE_FO','ECRO_PUIS','ECRO_COOK','ECRO_COOK_FO',), + EXCLUS('ENDO_HETEROGENE'), + EXCLUS('TAHERI','TAHERI_FO'), + EXCLUS('ENDO_SCALAIRE','ENDO_SCALAIRE_FO'), + EXCLUS('ENDO_FISS_EXP','ENDO_FISS_EXP_FO'), + EXCLUS('ROUSSELIER','ROUSSELIER_FO'), + EXCLUS('VISC_SINH','VISC_SINH_FO'), + PRESENT_PRESENT('ROUSSELIER','TRACTION'), + PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'), + EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'), + EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'), + EXCLUS('VISCOCHAB','VISCOCHAB_FO'), + EXCLUS('LEMAITRE','LEMAITRE_FO','VISC_IRRA_LOG', + 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',), + EXCLUS('META_LEMA_ANI','META_LEMA_ANI_FO'), + EXCLUS('VENDOCHAB','VENDOCHAB_FO'), + EXCLUS('VISC_ENDO','VISC_ENDO_FO'), + PRESENT_PRESENT('BPEL_ACIER','ELAS'), + PRESENT_PRESENT('ETCC_ACIER','ELAS'), + EXCLUS('ETCC_ACIER','BPEL_ACIER'), + EXCLUS('ETCC_BETON','BPEL_BETON'), + + EXCLUS('RCCM','RCCM_FO'), + EXCLUS('WEIBULL','WEIBULL_FO'), + PRESENT_PRESENT('DHRC','DHRC_SEUILS'), + PRESENT_PRESENT('LAIGLE','ELAS'), + PRESENT_PRESENT('LETK','ELAS'), + PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), + PRESENT_PRESENT('VISC_DRUC_PRAG','ELAS'), + PRESENT_PRESENT('ELAS_GONF','ELAS'), + PRESENT_PRESENT('HOEK_BROWN','ELAS'), + EXCLUS('MAZARS','MAZARS_FO'), + PRESENT_PRESENT('JOINT_BA','ELAS'), + PRESENT_PRESENT('CABLE','ELAS'), + PRESENT_PRESENT('MOHR_COULOMB','ELAS'), + PRESENT_PRESENT('ELAS_GLRC','GLRC_DM'), + ), + MATER =SIMP(statut='f',typ=mater_sdaster), +# +# comportement élastique +# + ELAS =FACT(statut='f', + E =SIMP(statut='o',typ='R',val_min=0.E+0), + NU =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + AMOR_ALPHA =SIMP(statut='f',typ='R'), + AMOR_BETA =SIMP(statut='f',typ='R'), + AMOR_HYST =SIMP(statut='f',typ='R'), + ), + ELAS_FO =FACT(statut='f', + regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),), + E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.), + ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + K_DESSIC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + B_ENDOGE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_FLUI =FACT(statut='f', + E =SIMP(statut='o',typ='R'), + NU =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='o',typ='R'), + PROF_RHO_F_INT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PROF_RHO_F_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_MASS_AJOU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_ISTR =FACT(statut='f', + E_L =SIMP(statut='o',typ='R'), + E_N =SIMP(statut='o',typ='R'), + NU_LT =SIMP(statut='o',typ='R'), + NU_LN =SIMP(statut='o',typ='R'), + G_LN =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ELAS_ISTR_FO =FACT(statut='f', + regles=( + PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), + ), + E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.), + ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_ORTH =FACT(statut='f', + E_L =SIMP(statut='o',typ='R'), + E_T =SIMP(statut='o',typ='R'), + E_N =SIMP(statut='f',typ='R'), + NU_LT =SIMP(statut='o',typ='R'), + NU_LN =SIMP(statut='f',typ='R'), + NU_TN =SIMP(statut='f',typ='R'), + G_LT =SIMP(statut='o',typ='R'), + G_LN =SIMP(statut='f',typ='R'), + G_TN =SIMP(statut='f',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_T =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + XT =SIMP(statut='f',typ='R',defaut= 1. ), + XC =SIMP(statut='f',typ='R',defaut= 1. ), + YT =SIMP(statut='f',typ='R',defaut= 1. ), + YC =SIMP(statut='f',typ='R',defaut= 1. ), + S_LT =SIMP(statut='f',typ='R',defaut= 1. ), + AMOR_ALPHA =SIMP(statut='f',typ='R'), + AMOR_BETA =SIMP(statut='f',typ='R'), + AMOR_HYST =SIMP(statut='f',typ='R'), + ), + ELAS_ORTH_FO =FACT(statut='f', + regles=( + PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'), + ), + E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1. ), + ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_HYPER =FACT(statut='f', + regles=(UN_PARMI('K','NU'),), + C10 =SIMP(statut='o',typ='R', + fr="Si C10 est le seul coefficient fourni, alors le matériau est Néo-Hookéen."), + C01 =SIMP(statut='f',typ='R',defaut=0.0, + fr="Si l'on fournit C01 en plus de C10, on obtient un matériau de type Mooney-Rivlin."), + C20 =SIMP(statut='f',typ='R',defaut=0.0, + fr="Si l'on fournit C20 en plus de C10 et C01, on obtient un matériau de type Signorini."), + K =SIMP(statut='f',typ='R',fr="Module de compressibilité."), + NU =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0,fr="Coefficient de Poisson."), + RHO =SIMP(statut='f',typ='R',defaut=0.0,fr="Masse volumique."), + ), + ELAS_COQUE =FACT(statut='f', + regles=(EXCLUS('MEMB_L','M_LLLL',), + PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', + 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), + PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', + 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL', + 'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ', + 'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ', + 'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ', + 'C_LZTZ','C_TZTZ'),), + MEMB_L =SIMP(statut='f',typ='R'), + MEMB_LT =SIMP(statut='f',typ='R'), + MEMB_T =SIMP(statut='f',typ='R'), + MEMB_G_LT =SIMP(statut='f',typ='R'), + FLEX_L =SIMP(statut='f',typ='R'), + FLEX_LT =SIMP(statut='f',typ='R'), + FLEX_T =SIMP(statut='f',typ='R'), + FLEX_G_LT =SIMP(statut='f',typ='R'), + CISA_L =SIMP(statut='f',typ='R'), + CISA_T =SIMP(statut='f',typ='R'), + M_LLLL =SIMP(statut='f',typ='R'), + M_LLTT =SIMP(statut='f',typ='R'), + M_LLLT =SIMP(statut='f',typ='R'), + M_TTTT =SIMP(statut='f',typ='R'), + M_TTLT =SIMP(statut='f',typ='R'), + M_LTLT =SIMP(statut='f',typ='R'), + F_LLLL =SIMP(statut='f',typ='R'), + F_LLTT =SIMP(statut='f',typ='R'), + F_LLLT =SIMP(statut='f',typ='R'), + F_TTTT =SIMP(statut='f',typ='R'), + F_TTLT =SIMP(statut='f',typ='R'), + F_LTLT =SIMP(statut='f',typ='R'), + MF_LLLL =SIMP(statut='f',typ='R'), + MF_LLTT =SIMP(statut='f',typ='R'), + MF_LLLT =SIMP(statut='f',typ='R'), + MF_TTTT =SIMP(statut='f',typ='R'), + MF_TTLT =SIMP(statut='f',typ='R'), + MF_LTLT =SIMP(statut='f',typ='R'), + MC_LLLZ =SIMP(statut='f',typ='R'), + MC_LLTZ =SIMP(statut='f',typ='R'), + MC_TTLZ =SIMP(statut='f',typ='R'), + MC_TTTZ =SIMP(statut='f',typ='R'), + MC_LTLZ =SIMP(statut='f',typ='R'), + MC_LTTZ =SIMP(statut='f',typ='R'), + FC_LLLZ =SIMP(statut='f',typ='R'), + FC_LLTZ =SIMP(statut='f',typ='R'), + FC_TTLZ =SIMP(statut='f',typ='R'), + FC_TTTZ =SIMP(statut='f',typ='R'), + FC_LTLZ =SIMP(statut='f',typ='R'), + FC_LTTZ =SIMP(statut='f',typ='R'), + C_LZLZ =SIMP(statut='f',typ='R'), + C_LZTZ =SIMP(statut='f',typ='R'), + C_TZTZ =SIMP(statut='f',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + ), + ELAS_COQUE_FO =FACT(statut='f', + regles=(EXCLUS('MEMB_L','M_LLLL',), + PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', + 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), + PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', + 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT', + 'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ', + 'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ', + 'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),), + MEMB_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CISA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CISA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_LZLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_LZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_TZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_MEMBRANE =FACT(statut='f', + M_LLLL =SIMP(statut='o',typ='R'), + M_LLTT =SIMP(statut='o',typ='R'), + M_LLLT =SIMP(statut='o',typ='R'), + M_TTTT =SIMP(statut='o',typ='R'), + M_TTLT =SIMP(statut='o',typ='R'), + M_LTLT =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + ), + ELAS_2NDG =FACT(statut='f', + A1 =SIMP(statut='o',typ='R'), + A2 =SIMP(statut='f',typ='R'), + A3 =SIMP(statut='f',typ='R'), + A4 =SIMP(statut='f',typ='R'), + A5 =SIMP(statut='f',typ='R'), + ), + ELAS_GLRC =FACT(statut='f', + regles=(PRESENT_PRESENT('BT1','BT2'),), + E_M =SIMP(statut='o',typ='R',val_min=0.E+0), + NU_M =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=0.5+0), + E_F =SIMP(statut='f',typ='R',val_min=0.E+0), + NU_F =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), + BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), + BT2 =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), + RHO =SIMP(statut='f',typ='R',val_min=0.E+0), + ALPHA =SIMP(statut='f',typ='R'), + AMOR_ALPHA =SIMP(statut='f',typ='R'), + AMOR_BETA =SIMP(statut='f',typ='R'), + AMOR_HYST =SIMP(statut='f',typ='R'), + ), + ELAS_GLRC_FO =FACT(statut='f', + regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('BT1','BT2'),), + E_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + BT1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + BT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + CABLE =FACT(statut='f', + EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ), + ), +# +# comportements mécanique non linéaire +# vérification du domaine de validité + VERI_BORNE =FACT(statut='f', + regles=(ENSEMBLE('TEMP_MAXI','TEMP_MINI'), + ), + EPSI_MAXI =SIMP(statut='f',typ='R'), + TEMP_MAXI =SIMP(statut='f',typ='R'), + TEMP_MINI =SIMP(statut='f',typ='R'), + VEPS_MAXI =SIMP(statut='f',typ='R'), + ), + TRACTION =FACT(statut='f', + SIGM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + + ), + ECRO_LINE =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ='R',), + SY =SIMP(statut='o',typ='R',), + SIGM_LIM =SIMP(statut='f',typ='R'), + EPSI_LIM =SIMP(statut='f',typ='R'), + ), + ENDO_HETEROGENE =FACT(statut='f', + WEIBULL =SIMP(statut='o',typ='R',), + SY =SIMP(statut='o',typ='R',), + KI =SIMP(statut='o',typ='R',), + EPAI =SIMP(statut='o',typ='R',), + GR =SIMP(statut='f',typ='R',defaut= 1.0), + ), + ECRO_LINE_FO =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ECRO_PUIS =FACT(statut='f', + SY =SIMP(statut='o',typ='R',), + A_PUIS =SIMP(statut='o',typ='R',val_min=0.0), + N_PUIS =SIMP(statut='o',typ='R',val_min=1.E-6), + ), + ECRO_PUIS_FO =FACT(statut='f', + SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ECRO_COOK =FACT(statut='f', + regles=(PRESENT_PRESENT('C','EPSP0'), + PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), + A =SIMP(statut='o',typ='R',val_min=0.0), + B =SIMP(statut='o',typ='R',val_min=0.0), + C =SIMP(statut='f',typ='R',val_min=0.0), + N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), + M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), + EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), + TROOM =SIMP(statut='f',typ='R',val_min=0.0), + TMELT =SIMP(statut='f',typ='R',val_min=0.0), + ), + ECRO_COOK_FO =FACT(statut='f', + regles=(PRESENT_PRESENT('C','EPSP0'), + PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), + A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C =SIMP(statut='f',typ='R',val_min=0.0), + N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), + M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), + EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), + TROOM =SIMP(statut='f',typ='R',val_min=0.0), + TMELT =SIMP(statut='f',typ='R',val_min=0.0), + ), + BETON_ECRO_LINE =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ='R'), + SYT =SIMP(statut='o',typ='R'), + SYC =SIMP(statut='f',typ='R'), + ), + BETON_REGLE_PR =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ='R'), + SYT =SIMP(statut='o',typ='R'), + SYC =SIMP(statut='f',typ='R'), + EPSC =SIMP(statut='f',typ='R'), + N =SIMP(statut='f',typ='R'), + ), + ENDO_ORTH_BETON =FACT(statut='f', + ALPHA =SIMP(statut='f',typ='R',defaut=0.9), + K0 =SIMP(statut='o',typ='R'), + K1 =SIMP(statut='o',typ='R'), + K2 =SIMP(statut='f',typ='R',defaut=7.E-4), + ECROB =SIMP(statut='o',typ='R'), + ECROD =SIMP(statut='o',typ='R'), + ), + PRAGER =FACT(statut='f', + C =SIMP(statut='o',typ='R'), + ), + PRAGER_FO =FACT(statut='f', + C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + TAHERI =FACT(statut='f', + R_0 =SIMP(statut='o',typ='R'), + ALPHA =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + C1 =SIMP(statut='o',typ='R'), + C_INF =SIMP(statut='o',typ='R'), + S =SIMP(statut='o',typ='R'), + ), + TAHERI_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_INF =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ROUSSELIER =FACT(statut='f', + D =SIMP(statut='o',typ='R'), + SIGM_1 =SIMP(statut='o',typ='R'), + PORO_INIT =SIMP(statut='o',typ='R'), + PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), + D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), + AN =SIMP(statut='f',typ='R',defaut= 0. ), + DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), + BETA =SIMP(statut='f',typ='R',defaut=0.85), + ), + ROUSSELIER_FO =FACT(statut='f', + D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PORO_INIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), + D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), + AN =SIMP(statut='f',typ='R',defaut= 0. ), + DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), + BETA =SIMP(statut='f',typ='R',defaut=0.85), + ), + VISC_SINH =FACT(statut='f', + SIGM_0 =SIMP(statut='o',typ='R'), + EPSI_0 =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + ), + VISC_SINH_FO =FACT(statut='f', + SIGM_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSI_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + CIN1_CHAB =FACT(statut='f', + R_0 =SIMP(statut='o',typ='R'), + R_I =SIMP(statut='f',typ='R'), + B =SIMP(statut='f',typ='R',defaut= 0.0E+0), + C_I =SIMP(statut='o',typ='R'), + K =SIMP(statut='f',typ='R',defaut= 1.0E+0), + W =SIMP(statut='f',typ='R',defaut= 0.0E+0), + G_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ), + CIN1_CHAB_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + CIN2_CHAB =FACT(statut='f', + R_0 =SIMP(statut='o',typ='R'), + R_I =SIMP(statut='f',typ='R'), + B =SIMP(statut='f',typ='R',defaut= 0.E+0), + C1_I =SIMP(statut='o',typ='R'), + C2_I =SIMP(statut='o',typ='R'), + K =SIMP(statut='f',typ='R',defaut= 1.), + W =SIMP(statut='f',typ='R',defaut= 0.E+0), + G1_0 =SIMP(statut='o',typ='R'), + G2_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + ), + CIN2_CHAB_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C2_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + CIN2_NRAD =FACT(statut='f', + DELTA1 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), + DELTA2 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), + ), + MEMO_ECRO =FACT(statut='f', + MU =SIMP(statut='o',typ='R'), + Q_M =SIMP(statut='o',typ='R'), + Q_0 =SIMP(statut='o',typ='R'), + ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), + ), + MEMO_ECRO_FO =FACT(statut='f', + MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + VISCOCHAB =FACT(statut='f', + K_0 =SIMP(statut='o',typ='R'), + A_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + A_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + K =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + ALP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + B =SIMP(statut='f',typ='R'), + M_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + G_R =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + MU =SIMP(statut='o',typ='R',defaut= 0.E+0 ), + Q_M =SIMP(statut='o',typ='R'), + Q_0 =SIMP(statut='o',typ='R'), + QR_0 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), + C1 =SIMP(statut='o',typ='R'), + M_1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + D1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + G_X1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + G1_0 =SIMP(statut='o',typ='R'), + C2 =SIMP(statut='o',typ='R'), + M_2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + D2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + G_X2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + G2_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + ), + VISCOCHAB_FO =FACT(statut='f', + K_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + QR_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_X1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_X2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + LEMAITRE =FACT(statut='f', + N =SIMP(statut='o',typ='R'), + UN_SUR_K =SIMP(statut='o',typ='R'), + UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + LEMAITRE_IRRA =FACT(statut='f', + N =SIMP(statut='o',typ='R'), + UN_SUR_K =SIMP(statut='o',typ='R'), + UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PHI_ZERO =SIMP(statut='f',typ='R',defaut= 1.E+20), + L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + LMARC_IRRA =FACT(statut='f', + DE_0 =SIMP(statut='o',typ='R'), + R_0 =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + Y_I =SIMP(statut='o',typ='R'), + Y_0 =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + A_0 =SIMP(statut='o',typ='R'), + RM =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + P =SIMP(statut='o',typ='R'), + P1 =SIMP(statut='o',typ='R'), + P2 =SIMP(statut='o',typ='R'), + M11 =SIMP(statut='o',typ='R'), + M22 =SIMP(statut='o',typ='R'), + M33 =SIMP(statut='o',typ='R'), + M66 =SIMP(statut='o',typ='R'), + N11 =SIMP(statut='o',typ='R'), + N22 =SIMP(statut='o',typ='R'), + N33 =SIMP(statut='o',typ='R'), + N66 =SIMP(statut='o',typ='R'), + Q11 =SIMP(statut='o',typ='R'), + Q22 =SIMP(statut='o',typ='R'), + Q33 =SIMP(statut='o',typ='R'), + Q66 =SIMP(statut='o',typ='R'), + R11 =SIMP(statut='o',typ='R'), + R22 =SIMP(statut='o',typ='R'), + R33 =SIMP(statut='o',typ='R'), + R66 =SIMP(statut='o',typ='R'), + GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + VISC_IRRA_LOG =FACT(statut='f', + A =SIMP(statut='f',typ='R',defaut= 1.28E-1), + B =SIMP(statut='f',typ='R',defaut= 0.01159), + CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), + ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), + FLUX_PHI =SIMP(statut='o',typ='R',), + ), + GRAN_IRRA_LOG =FACT(statut='f', + A =SIMP(statut='f',typ='R',defaut= 1.28E-1), + B =SIMP(statut='f',typ='R',defaut= 0.01159), + CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), + ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), + FLUX_PHI =SIMP(statut='o',typ='R',), + GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + LEMA_SEUIL =FACT(statut='f', + A =SIMP(statut='o',typ='R',), + S =SIMP(statut='o',typ='R',), + ), + LEMA_SEUIL_FO=FACT(statut='f', + A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + IRRAD3M=FACT(statut='f', + R02 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSI_U =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + AI0 =SIMP(statut='o',typ='R',val_min=0.0), + ZETA_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ETAI_S =SIMP(statut='o',typ='R',val_min=0.0), + RG0 =SIMP(statut='o',typ='R',val_min=0.0), + ALPHA =SIMP(statut='o',typ='R',val_min=0.0), + PHI0 =SIMP(statut='o',typ='R',val_min=0.0), + KAPPA =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0), + ZETA_G =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TOLER_ET =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.15 ), + ), + LEMAITRE_FO =FACT(statut='f', + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + UN_SUR_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_LEMA_ANI =FACT(statut='f', + F1_A =SIMP(statut='o',typ='R'), + F2_A =SIMP(statut='o',typ='R'), + C_A =SIMP(statut='o',typ='R'), + F1_M =SIMP(statut='o',typ='R'), + F2_M =SIMP(statut='o',typ='R'), + C_M =SIMP(statut='o',typ='R'), + F1_N =SIMP(statut='o',typ='R'), + F2_N =SIMP(statut='o',typ='R'), + C_N =SIMP(statut='o',typ='R'), + F1_Q =SIMP(statut='o',typ='R'), + F2_Q =SIMP(statut='o',typ='R'), + C_Q =SIMP(statut='o',typ='R'), + F_MRR_RR =SIMP(statut='o',typ='R'), + C_MRR_RR =SIMP(statut='o',typ='R'), + F_MTT_TT =SIMP(statut='o',typ='R'), + C_MTT_TT =SIMP(statut='o',typ='R'), + F_MZZ_ZZ =SIMP(statut='o',typ='R'), + C_MZZ_ZZ =SIMP(statut='o',typ='R'), + F_MRT_RT =SIMP(statut='o',typ='R'), + C_MRT_RT =SIMP(statut='o',typ='R'), + F_MRZ_RZ =SIMP(statut='o',typ='R'), + C_MRZ_RZ =SIMP(statut='o',typ='R'), + F_MTZ_TZ =SIMP(statut='o',typ='R'), + C_MTZ_TZ =SIMP(statut='o',typ='R'), + ), + META_LEMA_ANI_FO =FACT(statut='f', + F1_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ARME =FACT(statut='f', + KYE =SIMP(statut='o',typ='R'), + DLE =SIMP(statut='o',typ='R'), + KYP =SIMP(statut='o',typ='R'), + DLP =SIMP(statut='o',typ='R'), + KYG =SIMP(statut='o',typ='R'), + ), + ASSE_CORN =FACT(statut='f', + NU_1 =SIMP(statut='o',typ='R'), + MU_1 =SIMP(statut='o',typ='R'), + DXU_1 =SIMP(statut='o',typ='R'), + DRYU_1 =SIMP(statut='o',typ='R'), + C_1 =SIMP(statut='o',typ='R'), + NU_2 =SIMP(statut='o',typ='R'), + MU_2 =SIMP(statut='o',typ='R'), + DXU_2 =SIMP(statut='o',typ='R'), + DRYU_2 =SIMP(statut='o',typ='R'), + C_2 =SIMP(statut='o',typ='R'), + KY =SIMP(statut='o',typ='R'), + KZ =SIMP(statut='o',typ='R'), + KRX =SIMP(statut='o',typ='R'), + KRZ =SIMP(statut='o',typ='R'), + R_P0 =SIMP(statut='f',typ='R',defaut= 1.E+4 ), + ), + DIS_CONTACT =FACT(statut='f', + RIGI_NOR =SIMP(statut='f',typ='R' ), + RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_NOR =SIMP(statut='f',typ='R' ), + AMOR_TAN =SIMP(statut='f',typ='R' ), + COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ENDO_SCALAIRE =FACT(statut='f', + K =SIMP(statut='o',typ='R',val_min=0.0), + P =SIMP(statut='o',typ='R',val_min=1.0), + Q =SIMP(statut='f',typ='R',defaut=0.0), + M =SIMP(statut='o',typ='R',), + C_COMP =SIMP(statut='f',typ='R',defaut=0.0), + C_VOLU =SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0), + COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), + ), + ENDO_SCALAIRE_FO =FACT(statut='f', + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q =SIMP(statut='f',typ='R',defaut=0.0), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_COMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_VOLU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), + ), + ENDO_FISS_EXP =FACT(statut='f', + K =SIMP(statut='o',typ='R',val_min=0.0), + P =SIMP(statut='o',typ='R',val_min=1.0), + Q =SIMP(statut='f',typ='R',defaut=0.0), + M =SIMP(statut='o',typ='R',), + TAU =SIMP(statut='o',typ='R'), + SIG0 =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='f',typ='R',defaut=0.1), + COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), + ), + ENDO_FISS_EXP_FO =FACT(statut='f', + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q =SIMP(statut='f',typ='R',defaut=0.0), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TAU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIG0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA =SIMP(statut='f',typ='R',defaut=0.1), + COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), + ), + DIS_GRICRA =FACT(statut='f', + KN_AX =SIMP(statut='o',typ='R' ), + KT_AX =SIMP(statut='o',typ='R' ), + COUL_AX =SIMP(statut='o',typ='R' ), + F_SER =SIMP(statut='f',typ='R' ), + F_SER_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ET_AX =SIMP(statut='f',typ='R',defaut=1.e-7 ), + ET_ROT =SIMP(statut='f',typ='R',defaut=1.e-7 ), + ANG1 =SIMP(statut='f',typ='R' ), + ANG2 =SIMP(statut='f',typ='R' ), + PEN1 =SIMP(statut='f',typ='R' ), + PEN2 =SIMP(statut='f',typ='R' ), + PEN3 =SIMP(statut='f',typ='R' ), + ANG1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANG2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN3_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles=(EXCLUS('ANG1','ANG1_FO',), + UN_PARMI('ANG1','ANG1_FO',), + EXCLUS('F_SER','F_SER_FO',), + UN_PARMI('F_SER','F_SER_FO',), + PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',), + PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',), + ), + ), + BETON_DOUBLE_DP =FACT(statut='f', + F_C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_BIAX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ENER_COMP_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ENER_TRAC_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_ELAS_COMP =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=100.E+0), + LONG_CARA =SIMP(statut='f',typ='R',val_min=0.E+0), + ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ), + ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ), + ), + MAZARS=FACT(statut='f',min=0 , + EPSD0 =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + AC =SIMP(statut='o',typ='R'), + BC =SIMP(statut='o',typ='R'), + AT =SIMP(statut='o',typ='R'), + BT =SIMP(statut='o',typ='R'), + CHI =SIMP(statut='f',typ='R',val_min=0.0E+0,val_max=1.0E+0), + SIGM_LIM =SIMP(statut='f',typ='R'), + EPSI_LIM =SIMP(statut='f',typ='R'), + ), + MAZARS_FO=FACT(statut='f',min=0 , + EPSD0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + AC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + AT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHI =SIMP(statut='f',typ='R'), + ), + JOINT_BA=FACT(statut='f',min=0 ,max=1, + HPEN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0), + GTT =SIMP(statut='o',typ='R',val_min=0.E+0), + GAMD0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1), + AD1 =SIMP(statut='o',typ='R',val_min=0.E+0), + BD1 =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1), + GAMD2 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), + AD2 =SIMP(statut='o',typ='R',val_min=0.E+0), + BD2 =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), + VIFROT =SIMP(statut='o',typ='R',val_min=0.E+0), + FA =SIMP(statut='o',typ='R',val_min=0.E+0), + FC =SIMP(statut='o',typ='R',val_min=0.E+0), + EPSTR0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), + ADN =SIMP(statut='o',typ='R',val_min=0.E+0), + BDN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), + ), + VENDOCHAB =FACT(statut='f', + SY =SIMP(statut='o',typ='R',defaut= 0.E+0), + ALPHA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), + BETA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), + R_D =SIMP(statut='o',typ='R'), + A_D =SIMP(statut='o',typ='R'), + K_D =SIMP(statut='o',typ='R'), + ), + VENDOCHAB_FO =FACT(statut='f', + SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + HAYHURST =FACT(statut='f', + EPS0 =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + H1 =SIMP(statut='o',typ='R'), + H2 =SIMP(statut='o',typ='R'), + DELTA1 =SIMP(statut='o',typ='R'), + DELTA2 =SIMP(statut='o',typ='R'), + H1ST =SIMP(statut='o',typ='R'), + H2ST =SIMP(statut='o',typ='R'), + KC =SIMP(statut='f',typ='R',defaut=0.), + BIGA =SIMP(statut='o',typ='R'), + SIG0 =SIMP(statut='o',typ='R'), + ALPHAD =SIMP(statut='f',typ='R',defaut=0.), + S_EQUI_D =SIMP(statut='f',typ='R',defaut=0.,into=(0.,1.) ), + ), + VISC_ENDO =FACT(statut='f', + SY =SIMP(statut='o',typ='R',defaut= 0.E+0), + R_D =SIMP(statut='o',typ='R'), + A_D =SIMP(statut='o',typ='R'), + ), + VISC_ENDO_FO =FACT(statut='f', + SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + PINTO_MENEGOTTO =FACT(statut='f', + SY =SIMP(statut='o',typ='R'), + EPSI_ULTM =SIMP(statut='o',typ='R'), + SIGM_ULTM =SIMP(statut='o',typ='R'), + ELAN =SIMP(statut='f',typ='R',defaut= 4. ), + EPSP_HARD =SIMP(statut='o',typ='R'), + R_PM =SIMP(statut='f',typ='R',defaut= 20. ), + EP_SUR_E =SIMP(statut='f',typ='R'), + A1_PM =SIMP(statut='f',typ='R',defaut= 18.5 ), + A2_PM =SIMP(statut='f',typ='R',defaut= 0.15 ), + A6_PM =SIMP(statut='f',typ='R',defaut= 620. ), + C_PM =SIMP(statut='f',typ='R',defaut= 0.5 ), + A_PM =SIMP(statut='f',typ='R',defaut= 6.0E-3 ), + ), + BPEL_BETON =FACT(statut='f', + PERT_FLUA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PERT_RETR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + BPEL_ACIER =FACT(statut='f', + regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',), + PRESENT_PRESENT('MU0_RELAX','F_PRG',),), + RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + MU0_RELAX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + F_PRG =SIMP(statut='f',typ='R'), + FROT_COURB =SIMP(statut='f',typ='R',defaut=0.E+0), + FROT_LINE =SIMP(statut='f',typ='R',defaut=0.E+0), + ), + ETCC_BETON =FACT(statut='f', + EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0. ), + ), + ETCC_ACIER =FACT(statut='f', + regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),), + F_PRG =SIMP(statut='f',typ='R',val_min=0.E+0), + COEF_FROT =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), + PERT_LIGNE =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), + RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + + + ), + MOHR_COULOMB =FACT(statut='f', + PHI =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), + ANGDIL =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), + COHESION =SIMP(statut='o',typ='R',val_min=0.E+0,), + ), + + CAM_CLAY =FACT(statut='f', + MU =SIMP(statut='o',typ='R'), + PORO =SIMP(statut='o',typ='R'), + LAMBDA =SIMP(statut='o',typ='R'), + KAPA =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + PRES_CRIT =SIMP(statut='o',typ='R'), + KCAM =SIMP(statut='f',typ='R',val_min=0.E+0), + PTRAC =SIMP(statut='f',typ='R',val_max=0.E+0), + regles=(PRESENT_PRESENT('PTRAC','KCAM',),), + ), + BARCELONE =FACT(statut='f', + MU =SIMP(statut='o',typ='R'), + PORO =SIMP(statut='o',typ='R'), + LAMBDA =SIMP(statut='o',typ='R'), + KAPA =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + PRES_CRIT =SIMP(statut='o',typ='R'), + PA =SIMP(statut='o',typ='R'), + R =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='o',typ='R'), + KC =SIMP(statut='o',typ='R'), + PC0_INIT =SIMP(statut='o',typ='R'), + KAPAS =SIMP(statut='o',typ='R'), + LAMBDAS =SIMP(statut='o',typ='R'), + ALPHAB =SIMP(statut='f',typ='R'), + ), + CJS =FACT(statut='f', + BETA_CJS =SIMP(statut='o',typ='R'), + RM =SIMP(statut='o',typ='R'), + N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + KP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + A_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + B_CJS =SIMP(statut='f',typ='R',defaut= 1.0E+25 ), + C_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GAMMA_CJS =SIMP(statut='o',typ='R'), + MU_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PCO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PA =SIMP(statut='o',typ='R'), + Q_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + R_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + HUJEUX =FACT(statut='f', + N =SIMP(statut='o',typ='R' ), + BETA =SIMP(statut='o',typ='R' ), + B =SIMP(statut='o',typ='R' ), + D =SIMP(statut='o',typ='R' ), + PHI =SIMP(statut='o',typ='R' ), + ANGDIL =SIMP(statut='o',typ='R' ), + PCO =SIMP(statut='o',typ='R' ), + PREF =SIMP(statut='o',typ='R' ), + ACYC =SIMP(statut='o',typ='R' ), + AMON =SIMP(statut='o',typ='R' ), + CCYC =SIMP(statut='o',typ='R' ), + CMON =SIMP(statut='o',typ='R' ), + RD_ELA =SIMP(statut='o',typ='R' ), + RI_ELA =SIMP(statut='o',typ='R' ), + RHYS =SIMP(statut='o',typ='R' ), + RMOB =SIMP(statut='o',typ='R' ), + XM =SIMP(statut='o',typ='R' ), + RD_CYC =SIMP(statut='o',typ='R' ), + RI_CYC =SIMP(statut='o',typ='R' ), + DILA =SIMP(statut='o',typ='R' ), + PTRAC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ECRO_ASYM_LINE =FACT(statut='f', + DC_SIGM_EPSI =SIMP(statut='o',typ='R'), + SY_C =SIMP(statut='o',typ='R'), + DT_SIGM_EPSI =SIMP(statut='o',typ='R'), + SY_T =SIMP(statut='o',typ='R'), + ), + GRANGER_FP =FACT(statut='f', + J1 =SIMP(statut='f',typ='R'), + J2 =SIMP(statut='f',typ='R'), + J3 =SIMP(statut='f',typ='R'), + J4 =SIMP(statut='f',typ='R'), + J5 =SIMP(statut='f',typ='R'), + J6 =SIMP(statut='f',typ='R'), + J7 =SIMP(statut='f',typ='R'), + J8 =SIMP(statut='f',typ='R'), + TAUX_1 =SIMP(statut='f',typ='R'), + TAUX_2 =SIMP(statut='f',typ='R'), + TAUX_3 =SIMP(statut='f',typ='R'), + TAUX_4 =SIMP(statut='f',typ='R'), + TAUX_5 =SIMP(statut='f',typ='R'), + TAUX_6 =SIMP(statut='f',typ='R'), + TAUX_7 =SIMP(statut='f',typ='R'), + TAUX_8 =SIMP(statut='f',typ='R'), + QSR_K =SIMP(statut='f',typ='R'), + ), + GRANGER_FP_INDT =FACT(statut='f', + J1 =SIMP(statut='f',typ='R'), + J2 =SIMP(statut='f',typ='R'), + J3 =SIMP(statut='f',typ='R'), + J4 =SIMP(statut='f',typ='R'), + J5 =SIMP(statut='f',typ='R'), + J6 =SIMP(statut='f',typ='R'), + J7 =SIMP(statut='f',typ='R'), + J8 =SIMP(statut='f',typ='R'), + TAUX_1 =SIMP(statut='f',typ='R'), + TAUX_2 =SIMP(statut='f',typ='R'), + TAUX_3 =SIMP(statut='f',typ='R'), + TAUX_4 =SIMP(statut='f',typ='R'), + TAUX_5 =SIMP(statut='f',typ='R'), + TAUX_6 =SIMP(statut='f',typ='R'), + TAUX_7 =SIMP(statut='f',typ='R'), + TAUX_8 =SIMP(statut='f',typ='R'), + ), + V_GRANGER_FP =FACT(statut='f', + QSR_VEIL =SIMP(statut='f',typ='R'), + FONC_V =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + BETON_BURGER_FP =FACT(statut='f',min=0 , + K_RS =SIMP(statut='o',typ='R'), + ETA_RS =SIMP(statut='o',typ='R'), + KAPPA =SIMP(statut='o',typ='R'), + ETA_IS =SIMP(statut='o',typ='R'), + K_RD =SIMP(statut='o',typ='R'), + ETA_RD =SIMP(statut='o',typ='R'), + ETA_ID =SIMP(statut='o',typ='R'), + ETA_FD =SIMP(statut='f',typ='R'), + ), + BETON_UMLV_FP =FACT(statut='f',min=0 , + K_RS =SIMP(statut='o',typ='R'), + ETA_RS =SIMP(statut='o',typ='R'), + K_IS =SIMP(statut='o',typ='R'), + ETA_IS =SIMP(statut='o',typ='R'), + K_RD =SIMP(statut='o',typ='R'), + ETA_RD =SIMP(statut='o',typ='R'), + ETA_ID =SIMP(statut='o',typ='R'), + ETA_FD =SIMP(statut='f',typ='R'), + ), + BETON_RAG =FACT(statut='f', + ACTIV_FL =SIMP(statut='f',typ='R',defaut=1.0 ), + K_RS =SIMP(statut='o',typ='R'), + K_IS =SIMP(statut='o',typ='R'), + ETA_RS =SIMP(statut='o',typ='R'), + ETA_IS =SIMP(statut='o',typ='R'), + K_RD =SIMP(statut='o',typ='R'), + K_ID =SIMP(statut='o',typ='R'), + ETA_RD =SIMP(statut='o',typ='R'), + ETA_ID =SIMP(statut='o',typ='R'), + EPS_0 =SIMP(statut='o',typ='R'), + TAU_0 =SIMP(statut='o',typ='R'), + EPS_FL_L =SIMP(statut='f',typ='R',defaut=3.0e-2 ), + ACTIV_LO =SIMP(statut='f',typ='R',defaut=1.0 ), + F_C =SIMP(statut='o',typ='R'), + F_T =SIMP(statut='o',typ='R'), + ANG_CRIT =SIMP(statut='f',typ='R',defaut=8.594367 ), + EPS_COMP =SIMP(statut='o',typ='R'), + EPS_TRAC =SIMP(statut='o',typ='R'), + LC_COMP =SIMP(statut='o',typ='R',defaut=1.0 ), + LC_TRAC =SIMP(statut='o',typ='R',defaut=1.0 ), + HYD_PRES =SIMP(statut='f',typ='R',defaut=0. ), + A_VAN_GE =SIMP(statut='f',typ='R',defaut=0.0 ), + B_VAN_GE =SIMP(statut='f',typ='R',defaut=1.9 ), + BIOT_EAU =SIMP(statut='o',typ='R',defaut=0.3 ), + MODU_EAU =SIMP(statut='o',typ='R',defaut=0.0 ), + W_EAU_0 =SIMP(statut='o',typ='R'), + BIOT_GEL =SIMP(statut='o',typ='R'), + MODU_GEL =SIMP(statut='o',typ='R'), + VOL_GEL =SIMP(statut='o',typ='R'), + AVANC_LI =SIMP(statut='o',typ='R'), + SEUIL_SR =SIMP(statut='o',typ='R'), + PARA_CIN =SIMP(statut='o',typ='R'), + ENR_AC_G =SIMP(statut='o',typ='R'), + ), + GLRC_DM =FACT(statut='f',max=1, + GAMMA_T =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + GAMMA_C =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=1.E+0), + GAMMA_F =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), + NYT =SIMP(statut='o',typ='R',val_min=0.E+0), + NYC =SIMP(statut='f',typ='R'), + MYF =SIMP(statut='o',typ='R',val_min=0.E+0), + ALPHA_C =SIMP(statut='d',typ='R',val_min=1.E+0,defaut=1.E+0), + ), + DHRC_SEUILS =FACT(statut='f', + SYD =SIMP(statut='o',typ='R',), + SCRIT =SIMP(statut='o',typ='R',), + K0MICR =SIMP(statut='o',typ='R',), + A011 =SIMP(statut='o',typ='R',), + A012 =SIMP(statut='o',typ='R',), + A013 =SIMP(statut='o',typ='R',), + A014 =SIMP(statut='o',typ='R',), + A015 =SIMP(statut='o',typ='R',), + A016 =SIMP(statut='o',typ='R',), + A022 =SIMP(statut='o',typ='R',), + A023 =SIMP(statut='o',typ='R',), + A024 =SIMP(statut='o',typ='R',), + A025 =SIMP(statut='o',typ='R',), + A026 =SIMP(statut='o',typ='R',), + A033 =SIMP(statut='o',typ='R',), + A034 =SIMP(statut='o',typ='R',), + A035 =SIMP(statut='o',typ='R',), + A036 =SIMP(statut='o',typ='R',), + A044 =SIMP(statut='o',typ='R',), + A045 =SIMP(statut='o',typ='R',), + A046 =SIMP(statut='o',typ='R',), + A055 =SIMP(statut='o',typ='R',), + A056 =SIMP(statut='o',typ='R',), + A066 =SIMP(statut='o',typ='R',), + ), + DHRC =FACT(statut='f', + AAC111 =SIMP(statut='o',typ='R',), + AAC121 =SIMP(statut='o',typ='R',), + AAC131 =SIMP(statut='o',typ='R',), + AAC141 =SIMP(statut='o',typ='R',), + AAC151 =SIMP(statut='o',typ='R',), + AAC161 =SIMP(statut='o',typ='R',), + AAC221 =SIMP(statut='o',typ='R',), + AAC231 =SIMP(statut='o',typ='R',), + AAC241 =SIMP(statut='o',typ='R',), + AAC251 =SIMP(statut='o',typ='R',), + AAC261 =SIMP(statut='o',typ='R',), + AAC331 =SIMP(statut='o',typ='R',), + AAC341 =SIMP(statut='o',typ='R',), + AAC351 =SIMP(statut='o',typ='R',), + AAC361 =SIMP(statut='o',typ='R',), + AAC441 =SIMP(statut='o',typ='R',), + AAC451 =SIMP(statut='o',typ='R',), + AAC461 =SIMP(statut='o',typ='R',), + AAC551 =SIMP(statut='o',typ='R',), + AAC561 =SIMP(statut='o',typ='R',), + AAC661 =SIMP(statut='o',typ='R',), + AAC112 =SIMP(statut='o',typ='R',), + AAC122 =SIMP(statut='o',typ='R',), + AAC132 =SIMP(statut='o',typ='R',), + AAC142 =SIMP(statut='o',typ='R',), + AAC152 =SIMP(statut='o',typ='R',), + AAC162 =SIMP(statut='o',typ='R',), + AAC222 =SIMP(statut='o',typ='R',), + AAC232 =SIMP(statut='o',typ='R',), + AAC242 =SIMP(statut='o',typ='R',), + AAC252 =SIMP(statut='o',typ='R',), + AAC262 =SIMP(statut='o',typ='R',), + AAC332 =SIMP(statut='o',typ='R',), + AAC342 =SIMP(statut='o',typ='R',), + AAC352 =SIMP(statut='o',typ='R',), + AAC362 =SIMP(statut='o',typ='R',), + AAC442 =SIMP(statut='o',typ='R',), + AAC452 =SIMP(statut='o',typ='R',), + AAC462 =SIMP(statut='o',typ='R',), + AAC552 =SIMP(statut='o',typ='R',), + AAC562 =SIMP(statut='o',typ='R',), + AAC662 =SIMP(statut='o',typ='R',), + AAT111 =SIMP(statut='o',typ='R',), + AAT121 =SIMP(statut='o',typ='R',), + AAT131 =SIMP(statut='o',typ='R',), + AAT141 =SIMP(statut='o',typ='R',), + AAT151 =SIMP(statut='o',typ='R',), + AAT161 =SIMP(statut='o',typ='R',), + AAT221 =SIMP(statut='o',typ='R',), + AAT231 =SIMP(statut='o',typ='R',), + AAT241 =SIMP(statut='o',typ='R',), + AAT251 =SIMP(statut='o',typ='R',), + AAT261 =SIMP(statut='o',typ='R',), + AAT331 =SIMP(statut='o',typ='R',), + AAT341 =SIMP(statut='o',typ='R',), + AAT351 =SIMP(statut='o',typ='R',), + AAT361 =SIMP(statut='o',typ='R',), + AAT441 =SIMP(statut='o',typ='R',), + AAT451 =SIMP(statut='o',typ='R',), + AAT461 =SIMP(statut='o',typ='R',), + AAT551 =SIMP(statut='o',typ='R',), + AAT561 =SIMP(statut='o',typ='R',), + AAT661 =SIMP(statut='o',typ='R',), + AAT112 =SIMP(statut='o',typ='R',), + AAT122 =SIMP(statut='o',typ='R',), + AAT132 =SIMP(statut='o',typ='R',), + AAT142 =SIMP(statut='o',typ='R',), + AAT152 =SIMP(statut='o',typ='R',), + AAT162 =SIMP(statut='o',typ='R',), + AAT222 =SIMP(statut='o',typ='R',), + AAT232 =SIMP(statut='o',typ='R',), + AAT242 =SIMP(statut='o',typ='R',), + AAT252 =SIMP(statut='o',typ='R',), + AAT262 =SIMP(statut='o',typ='R',), + AAT332 =SIMP(statut='o',typ='R',), + AAT342 =SIMP(statut='o',typ='R',), + AAT352 =SIMP(statut='o',typ='R',), + AAT362 =SIMP(statut='o',typ='R',), + AAT442 =SIMP(statut='o',typ='R',), + AAT452 =SIMP(statut='o',typ='R',), + AAT462 =SIMP(statut='o',typ='R',), + AAT552 =SIMP(statut='o',typ='R',), + AAT562 =SIMP(statut='o',typ='R',), + AAT662 =SIMP(statut='o',typ='R',), + GAC111 =SIMP(statut='o',typ='R',), + GAC121 =SIMP(statut='o',typ='R',), + GAC131 =SIMP(statut='o',typ='R',), + GAC141 =SIMP(statut='o',typ='R',), + GAC151 =SIMP(statut='o',typ='R',), + GAC161 =SIMP(statut='o',typ='R',), + GAC221 =SIMP(statut='o',typ='R',), + GAC231 =SIMP(statut='o',typ='R',), + GAC241 =SIMP(statut='o',typ='R',), + GAC251 =SIMP(statut='o',typ='R',), + GAC261 =SIMP(statut='o',typ='R',), + GAC331 =SIMP(statut='o',typ='R',), + GAC341 =SIMP(statut='o',typ='R',), + GAC351 =SIMP(statut='o',typ='R',), + GAC361 =SIMP(statut='o',typ='R',), + GAC441 =SIMP(statut='o',typ='R',), + GAC451 =SIMP(statut='o',typ='R',), + GAC461 =SIMP(statut='o',typ='R',), + GAC551 =SIMP(statut='o',typ='R',), + GAC561 =SIMP(statut='o',typ='R',), + GAC661 =SIMP(statut='o',typ='R',), + GAC112 =SIMP(statut='o',typ='R',), + GAC122 =SIMP(statut='o',typ='R',), + GAC132 =SIMP(statut='o',typ='R',), + GAC142 =SIMP(statut='o',typ='R',), + GAC152 =SIMP(statut='o',typ='R',), + GAC162 =SIMP(statut='o',typ='R',), + GAC222 =SIMP(statut='o',typ='R',), + GAC232 =SIMP(statut='o',typ='R',), + GAC242 =SIMP(statut='o',typ='R',), + GAC252 =SIMP(statut='o',typ='R',), + GAC262 =SIMP(statut='o',typ='R',), + GAC332 =SIMP(statut='o',typ='R',), + GAC342 =SIMP(statut='o',typ='R',), + GAC352 =SIMP(statut='o',typ='R',), + GAC362 =SIMP(statut='o',typ='R',), + GAC442 =SIMP(statut='o',typ='R',), + GAC452 =SIMP(statut='o',typ='R',), + GAC462 =SIMP(statut='o',typ='R',), + GAC552 =SIMP(statut='o',typ='R',), + GAC562 =SIMP(statut='o',typ='R',), + GAC662 =SIMP(statut='o',typ='R',), + GAT111 =SIMP(statut='o',typ='R',), + GAT121 =SIMP(statut='o',typ='R',), + GAT131 =SIMP(statut='o',typ='R',), + GAT141 =SIMP(statut='o',typ='R',), + GAT151 =SIMP(statut='o',typ='R',), + GAT161 =SIMP(statut='o',typ='R',), + GAT221 =SIMP(statut='o',typ='R',), + GAT231 =SIMP(statut='o',typ='R',), + GAT241 =SIMP(statut='o',typ='R',), + GAT251 =SIMP(statut='o',typ='R',), + GAT261 =SIMP(statut='o',typ='R',), + GAT331 =SIMP(statut='o',typ='R',), + GAT341 =SIMP(statut='o',typ='R',), + GAT351 =SIMP(statut='o',typ='R',), + GAT361 =SIMP(statut='o',typ='R',), + GAT441 =SIMP(statut='o',typ='R',), + GAT451 =SIMP(statut='o',typ='R',), + GAT461 =SIMP(statut='o',typ='R',), + GAT551 =SIMP(statut='o',typ='R',), + GAT561 =SIMP(statut='o',typ='R',), + GAT661 =SIMP(statut='o',typ='R',), + GAT112 =SIMP(statut='o',typ='R',), + GAT122 =SIMP(statut='o',typ='R',), + GAT132 =SIMP(statut='o',typ='R',), + GAT142 =SIMP(statut='o',typ='R',), + GAT152 =SIMP(statut='o',typ='R',), + GAT162 =SIMP(statut='o',typ='R',), + GAT222 =SIMP(statut='o',typ='R',), + GAT232 =SIMP(statut='o',typ='R',), + GAT242 =SIMP(statut='o',typ='R',), + GAT252 =SIMP(statut='o',typ='R',), + GAT262 =SIMP(statut='o',typ='R',), + GAT332 =SIMP(statut='o',typ='R',), + GAT342 =SIMP(statut='o',typ='R',), + GAT352 =SIMP(statut='o',typ='R',), + GAT362 =SIMP(statut='o',typ='R',), + GAT442 =SIMP(statut='o',typ='R',), + GAT452 =SIMP(statut='o',typ='R',), + GAT462 =SIMP(statut='o',typ='R',), + GAT552 =SIMP(statut='o',typ='R',), + GAT562 =SIMP(statut='o',typ='R',), + GAT662 =SIMP(statut='o',typ='R',), + AB111 =SIMP(statut='o',typ='R',), + AB121 =SIMP(statut='o',typ='R',), + AB211 =SIMP(statut='o',typ='R',), + AB221 =SIMP(statut='o',typ='R',), + AB311 =SIMP(statut='o',typ='R',), + AB321 =SIMP(statut='o',typ='R',), + AB411 =SIMP(statut='o',typ='R',), + AB421 =SIMP(statut='o',typ='R',), + AB511 =SIMP(statut='o',typ='R',), + AB521 =SIMP(statut='o',typ='R',), + AB611 =SIMP(statut='o',typ='R',), + AB621 =SIMP(statut='o',typ='R',), + AB112 =SIMP(statut='o',typ='R',), + AB122 =SIMP(statut='o',typ='R',), + AB212 =SIMP(statut='o',typ='R',), + AB222 =SIMP(statut='o',typ='R',), + AB312 =SIMP(statut='o',typ='R',), + AB322 =SIMP(statut='o',typ='R',), + AB412 =SIMP(statut='o',typ='R',), + AB422 =SIMP(statut='o',typ='R',), + AB512 =SIMP(statut='o',typ='R',), + AB522 =SIMP(statut='o',typ='R',), + AB612 =SIMP(statut='o',typ='R',), + AB622 =SIMP(statut='o',typ='R',), + GB111 =SIMP(statut='o',typ='R',), + GB121 =SIMP(statut='o',typ='R',), + GB211 =SIMP(statut='o',typ='R',), + GB221 =SIMP(statut='o',typ='R',), + GB311 =SIMP(statut='o',typ='R',), + GB321 =SIMP(statut='o',typ='R',), + GB411 =SIMP(statut='o',typ='R',), + GB421 =SIMP(statut='o',typ='R',), + GB511 =SIMP(statut='o',typ='R',), + GB521 =SIMP(statut='o',typ='R',), + GB611 =SIMP(statut='o',typ='R',), + GB621 =SIMP(statut='o',typ='R',), + GB112 =SIMP(statut='o',typ='R',), + GB122 =SIMP(statut='o',typ='R',), + GB212 =SIMP(statut='o',typ='R',), + GB222 =SIMP(statut='o',typ='R',), + GB312 =SIMP(statut='o',typ='R',), + GB322 =SIMP(statut='o',typ='R',), + GB412 =SIMP(statut='o',typ='R',), + GB422 =SIMP(statut='o',typ='R',), + GB512 =SIMP(statut='o',typ='R',), + GB522 =SIMP(statut='o',typ='R',), + GB612 =SIMP(statut='o',typ='R',), + GB622 =SIMP(statut='o',typ='R',), + C0111 =SIMP(statut='o',typ='R',), + C0211 =SIMP(statut='o',typ='R',), + C0121 =SIMP(statut='o',typ='R',), + C0221 =SIMP(statut='o',typ='R',), + C0212 =SIMP(statut='o',typ='R',), + C0112 =SIMP(statut='o',typ='R',), + C0122 =SIMP(statut='o',typ='R',), + C0222 =SIMP(statut='o',typ='R',), + AC111 =SIMP(statut='o',typ='R',), + AC211 =SIMP(statut='o',typ='R',), + AC121 =SIMP(statut='o',typ='R',), + AC221 =SIMP(statut='o',typ='R',), + AC112 =SIMP(statut='o',typ='R',), + AC212 =SIMP(statut='o',typ='R',), + AC122 =SIMP(statut='o',typ='R',), + AC222 =SIMP(statut='o',typ='R',), + GC111 =SIMP(statut='o',typ='R',), + GC211 =SIMP(statut='o',typ='R',), + GC121 =SIMP(statut='o',typ='R',), + GC221 =SIMP(statut='o',typ='R',), + GC112 =SIMP(statut='o',typ='R',), + GC212 =SIMP(statut='o',typ='R',), + GC122 =SIMP(statut='o',typ='R',), + GC222 =SIMP(statut='o',typ='R',), + ), + GATT_MONERIE =FACT(statut='f',min=0,max=1, + D_GRAIN =SIMP(statut='o',typ='R',val_min=0.E+0), + PORO_INIT =SIMP(statut='o',typ='R',val_min=0.E+0), + EPSI_01 =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0), + EPSI_02 =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0), + ), + CORR_ACIER =FACT(statut='f',min=0 ,max=1, + D_CORR =SIMP(statut='o',typ='R'), + ECRO_K =SIMP(statut='o',typ='R'), + ECRO_M =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + ), + CABLE_GAINE_FROT=FACT(statut='f',min=0 ,max=1, + TYPE = SIMP(statut='o',typ='TXM',into=("FROTTANT","GLISSANT","ADHERENT")), + b_glissant =BLOC(condition="TYPE=='GLISSANT'", + fr="Loi cable gaine glissante", + FROT_LINE =SIMP(statut='c',typ='R',defaut= 0.0,), + FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), + ), + b_adherent =BLOC(condition="TYPE=='ADHERENT'", + fr="Loi cable gaine adherent", + FROT_LINE =SIMP(statut='c',typ='R',defaut= -1.0,), + FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), + ), + b_frottant =BLOC(condition="TYPE=='FROTTANT'", + fr="Loi cable gaine frottant", + FROT_LINE =SIMP(statut='o',typ='R',defaut= 0.0,), + FROT_COURB =SIMP(statut='o',typ='R',defaut= 0.0,), + ), + PENA_LAGR =SIMP(statut='o',typ='R',val_min=0.E+0), + ), + +# Discrets non-linéaires : début + DIS_ECRO_CINE =FACT(statut='f', + fr="Loi pour les discrets avec écrouissage cinématique.", + regles=(PRESENT_PRESENT('LIMY_DX','KCIN_DX',),PRESENT_PRESENT('PUIS_DX','LIMU_DX',), + PRESENT_PRESENT('LIMY_DY','KCIN_DY',),PRESENT_PRESENT('PUIS_DY','LIMU_DY',), + PRESENT_PRESENT('LIMY_DZ','KCIN_DZ',),PRESENT_PRESENT('PUIS_DZ','LIMU_DZ',), + PRESENT_PRESENT('LIMY_RX','KCIN_RX',),PRESENT_PRESENT('PUIS_RX','LIMU_RX',), + PRESENT_PRESENT('LIMY_RY','KCIN_RY',),PRESENT_PRESENT('PUIS_RY','LIMU_RY',), + PRESENT_PRESENT('LIMY_RZ','KCIN_RZ',),PRESENT_PRESENT('PUIS_RZ','LIMU_RZ',),), + LIMY_DX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite élastique suivant l'axe local x de l'élément."), + LIMY_DY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite élastique suivant l'axe local y de l'élément."), + LIMY_DZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite élastique suivant l'axe local z de l'élément."), + LIMY_RX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite élastique suivant l'axe local x de l'élément."), + LIMY_RY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite élastique suivant l'axe local y de l'élément."), + LIMY_RZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite élastique suivant l'axe local z de l'élément."), + KCIN_DX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local x de l'élément."), + KCIN_DY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local y de l'élément."), + KCIN_DZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local z de l'élément."), + KCIN_RX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local Rx de l'élément."), + KCIN_RY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local Ry de l'élément."), + KCIN_RZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur suivant l'axe local Rz de l'élément."), + LIMU_DX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite suivant l'axe local x de l'élément."), + LIMU_DY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite suivant l'axe local y de l'élément."), + LIMU_DZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Effort limite suivant l'axe local z de l'élément."), + LIMU_RX =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite suivant l'axe local x de l'élément."), + LIMU_RY =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite suivant l'axe local y de l'élément."), + LIMU_RZ =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Moment limite suivant l'axe local z de l'élément."), + PUIS_DX =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local x de l'élément."), + PUIS_DY =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local y de l'élément."), + PUIS_DZ =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local z de l'élément."), + PUIS_RX =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local Rx de l'élément."), + PUIS_RY =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local Ry de l'élément."), + PUIS_RZ =SIMP(statut='f',typ='R',val_min = 1.0, + fr="Coefficient de non-linéarité suivant l'axe local Rz de l'élément."), + ), + DIS_VISC =FACT(statut='f', + fr="Loi pour un discret de type visqueux : Zener Généralisé.", + regles=(UN_PARMI('K1','UNSUR_K1'), + UN_PARMI('K2','UNSUR_K2'), + UN_PARMI('K3','UNSUR_K3'), ), + K1 =SIMP(statut='f',typ='R',val_min = 1.0E-08, + fr="Raideur en série avec les 2 autres branches."), + K2 =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Raideur en parallèle de la branche visqueuse."), + K3 =SIMP(statut='f',typ='R',val_min = 1.0E-08, + fr="Raideur dans la branche visqueuse."), + UNSUR_K1 =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Souplesse en série avec les 2 autres branches."), + UNSUR_K2 =SIMP(statut='f',typ='R',val_min = 1.0E-08, + fr="Souplesse en parallèle de la branche visqueuse."), + UNSUR_K3 =SIMP(statut='f',typ='R',val_min = 0.0, + fr="Souplesse dans la branche visqueuse."), + C =SIMP(statut='o',typ='R',val_min = 1.0E-08, + fr="'Raideur' de la partie visqueuse."), + PUIS_ALPHA =SIMP(statut='o',typ='R',val_min = 1.0E-08, val_max=1.0, defaut=0.5, + fr="Puissance de la loi visqueuse ]0.0, 1.0] ."), + ), + DIS_BILI_ELAS =FACT(statut='f', + fr="Loi bi-linéaire pour les discrets.", + regles=(PRESENT_PRESENT('KDEB_DX','KFIN_DX','FPRE_DX',), + PRESENT_PRESENT('KDEB_DY','KFIN_DY','FPRE_DY',), + PRESENT_PRESENT('KDEB_DZ','KFIN_DZ','FPRE_DZ',),), + KDEB_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur début suivant l'axe local x de l'élément."), + KDEB_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur début suivant l'axe local y de l'élément."), + KDEB_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur début suivant l'axe local z de l'élément."), + KFIN_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur fin l'axe local x de l'élément."), + KFIN_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur fin l'axe local y de l'élément."), + KFIN_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Raideur fin l'axe local z de l'élément."), + FPRE_DX =SIMP(statut='f',typ='R', + fr="Effort de préserrage suivant l'axe local x de l'élément."), + FPRE_DY =SIMP(statut='f',typ='R', + fr="Effort de préserrage suivant l'axe local y de l'élément."), + FPRE_DZ =SIMP(statut='f',typ='R', + fr="Effort de préserrage suivant l'axe local z de l'élément."), + ), +# Discrets non-linéaires : fin +# +# comportement thermique +# + THER_NL =FACT(statut='f', + regles=(UN_PARMI('BETA','RHO_CP', ),), + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + THER_HYDR =FACT(statut='f', + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AFFINITE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHALHYDR =SIMP(statut='o',typ='R'), + ), + THER =FACT(statut='f', + LAMBDA =SIMP(statut='o',typ='R'), + RHO_CP =SIMP(statut='f',typ='R'), + ), + THER_FO =FACT(statut='f', + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + THER_ORTH =FACT(statut='f', + LAMBDA_L =SIMP(statut='o',typ='R'), + LAMBDA_T =SIMP(statut='o',typ='R'), + LAMBDA_N =SIMP(statut='f',typ='R'), + RHO_CP =SIMP(statut='f',typ='R'), + ), + THER_COQUE =FACT(statut='f', + COND_LMM =SIMP(statut='o',typ='R'), + COND_TMM =SIMP(statut='o',typ='R'), + COND_LMP =SIMP(statut='o',typ='R'), + COND_TMP =SIMP(statut='o',typ='R'), + COND_LPP =SIMP(statut='o',typ='R'), + COND_TPP =SIMP(statut='o',typ='R'), + COND_LSI =SIMP(statut='o',typ='R'), + COND_TSI =SIMP(statut='o',typ='R'), + COND_NMM =SIMP(statut='o',typ='R'), + COND_NMP =SIMP(statut='o',typ='R'), + COND_NPP =SIMP(statut='o',typ='R'), + COND_NSI =SIMP(statut='o',typ='R'), + CMAS_MM =SIMP(statut='f',typ='R'), + CMAS_MP =SIMP(statut='f',typ='R'), + CMAS_PP =SIMP(statut='f',typ='R'), + CMAS_SI =SIMP(statut='f',typ='R'), + ), + THER_COQUE_FO =FACT(statut='f', + COND_LMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_MM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_MP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_PP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_SI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + SECH_GRANGER =FACT(statut='f', + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + QSR_K =SIMP(statut='o',typ='R'), + TEMP_0_C =SIMP(statut='o',typ='R'), + ), + SECH_MENSI =FACT(statut='f', + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + ), + SECH_BAZANT =FACT(statut='f', + D1 =SIMP(statut='o',typ='R'), + ALPHA_BAZANT =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + FONC_DESORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + SECH_NAPPE =FACT(statut='f', + FONCTION =SIMP(statut='o',typ=(nappe_sdaster,formule)), + ), +# +# comportement métallurgique +# + META_ACIER =FACT(statut='f', + TRC =SIMP(statut='o',typ=(table_sdaster) ), + AR3 =SIMP(statut='o',typ='R'), + ALPHA =SIMP(statut='o',typ='R'), + MS0 =SIMP(statut='o',typ='R'), + AC1 =SIMP(statut='o',typ='R'), + AC3 =SIMP(statut='o',typ='R'), + TAUX_1 =SIMP(statut='o',typ='R'), + TAUX_3 =SIMP(statut='o',typ='R'), + LAMBDA0 =SIMP(statut='f',typ='R'), + QSR_K =SIMP(statut='f',typ='R'), + D10 =SIMP(statut='f',typ='R'), + WSR_K =SIMP(statut='f',typ='R'), + ), + META_ZIRC =FACT(statut='f', + TDEQ =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + T1C =SIMP(statut='o',typ='R'), + T2C =SIMP(statut='o',typ='R'), + AC =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + QSR_K =SIMP(statut='o',typ='R'), + T1R =SIMP(statut='o',typ='R'), + T2R =SIMP(statut='o',typ='R'), + AR =SIMP(statut='o',typ='R'), + BR =SIMP(statut='o',typ='R'), + ), + DURT_META =FACT(statut='f', + F1_DURT =SIMP(statut='o',typ='R'), + F2_DURT =SIMP(statut='o',typ='R'), + F3_DURT =SIMP(statut='o',typ='R'), + F4_DURT =SIMP(statut='o',typ='R'), + C_DURT =SIMP(statut='o',typ='R'), + ), + ELAS_META =FACT(statut='f', + E =SIMP(statut='o',typ='R'), + NU =SIMP(statut='o',typ='R'), + F_ALPHA =SIMP(statut='o',typ='R'), + C_ALPHA =SIMP(statut='o',typ='R'), + PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), + EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), + F1_SY =SIMP(statut='f',typ='R'), + F2_SY =SIMP(statut='f',typ='R'), + F3_SY =SIMP(statut='f',typ='R'), + F4_SY =SIMP(statut='f',typ='R'), + C_SY =SIMP(statut='f',typ='R'), + SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_S_VP =SIMP(statut='f',typ='R'), + F2_S_VP =SIMP(statut='f',typ='R'), + F3_S_VP =SIMP(statut='f',typ='R'), + F4_S_VP =SIMP(statut='f',typ='R'), + C_S_VP =SIMP(statut='f',typ='R' ), + S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ELAS_META_FO =FACT(statut='f', + regles=( + PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'), + ), + E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), + EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), + F1_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_ECRO_LINE =FACT(statut='f', + F1_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_TRACTION =FACT(statut='f', + SIGM_F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_VISC_FO =FACT(statut='f', + F1_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_PT =FACT(statut='f', + F1_K =SIMP(statut='f',typ='R'), + F2_K =SIMP(statut='f',typ='R'), + F3_K =SIMP(statut='f',typ='R'), + F4_K =SIMP(statut='f',typ='R'), + F1_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + META_RE =FACT(statut='f', + C_F1_THETA =SIMP(statut='f',typ='R'), + C_F2_THETA =SIMP(statut='f',typ='R'), + C_F3_THETA =SIMP(statut='f',typ='R'), + C_F4_THETA =SIMP(statut='f',typ='R'), + F1_C_THETA =SIMP(statut='f',typ='R'), + F2_C_THETA =SIMP(statut='f',typ='R'), + F3_C_THETA =SIMP(statut='f',typ='R'), + F4_C_THETA =SIMP(statut='f',typ='R'), + ), +# +# comportement fluide +# + FLUIDE =FACT(statut='f', + regles=(EXCLUS('CELE_C','CELE_R'),), + RHO =SIMP(statut='o',typ='R'), + PESA_Z =SIMP(statut='f',typ='R',min=1,max=1), + CELE_C =SIMP(statut='f',typ='C'), + CELE_R =SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# COMPORTEMENT THERMO_HYDRO_MECANIQUE +# LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES +# DE LA LOI DE COUPLAGE THM DE LA RELATION +# LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS +# DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE +# ET LIQU_AD_GAZ_VAPE +# LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE : +# 1 --> LIQU_SATU +# 2 --> GAZ +# 3 --> LIQU_VAPE +# 4 --> LIQU_VAPE_GAZ +# 5 --> LIQU_GAZ +# 6 --> LIQU_GAZ_ATM +# 9 --> LIQU_AD_GAZ_VAPE +# 10 --> LIQU_AD_GAZ +# ================================================================================= + COMP_THM = SIMP(statut='f', typ='TXM', + into = ( "LIQU_SATU" , + "LIQU_GAZ" , + "GAZ" , + "LIQU_GAZ_ATM" , + "LIQU_VAPE_GAZ" , + "LIQU_VAPE" , + "LIQU_AD_GAZ_VAPE" , + "LIQU_AD_GAZ" , + ) ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_SATU ------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU ----------------------------------------------- +# ================================================================================= + b_liqusatu = BLOC(condition = "COMP_THM == 'LIQU_SATU' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 1.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + + + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + + + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='f',typ='R'), + EMMAG = SIMP(statut='f',typ='R'), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ -------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- +# ================================================================================= + b_liqugaz = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PRE2 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 5.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', + 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), + ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), + UN_PARMI('VG_N','SATU_PRES'), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- + + VG_N = SIMP(statut='f',typ='R'), + VG_SR = SIMP(statut='f',typ='R'), + VG_PR = SIMP(statut='f',typ='R'), + VG_SMAX = SIMP(statut='f',typ='R'), + VG_SATUR = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE GAZ ------------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------ +# ================================================================================= + b_gaz = BLOC(condition = "COMP_THM == 'GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='o',typ='R'), + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 2.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_LIQU =FACT(statut='f', + RHO =SIMP(statut='f',typ='R'), + UN_SUR_K =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_HENRY =SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ---------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- +# ================================================================================= + b_liqugazatm = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 6.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + R_GAZ =SIMP(statut='f',typ='R'), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='f', + MASS_MOL = SIMP(statut='f',typ='R'), + VISC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), + +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ ------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_AIR_DISSOUS--------- +# ================================================================================= + b_liquadgaz = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PRE2 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 10.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', + 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), + ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), + UN_PARMI('VG_N','SATU_PRES'), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- + VG_N = SIMP(statut='f',typ='R'), + VG_SR = SIMP(statut='f',typ='R'), + VG_PR = SIMP(statut='f',typ='R'), + VG_SMAX = SIMP(statut='f',typ='R'), + VG_SATUR = SIMP(statut='f',typ='R'), +# + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + ), +# ================================================================================= +# --- MOT-CLE FACULTATIF --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='f', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_AIR_DISS = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='o',typ='R'), + COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), + +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ --------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------ +# ================================================================================= + b_liquvapegaz = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PRE2 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), + PRES_VAPE = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 4.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- + + VG_N = SIMP(statut='f',typ='R'), + VG_SR = SIMP(statut='f',typ='R'), + VG_PR = SIMP(statut='f',typ='R'), + VG_SMAX = SIMP(statut='f',typ='R'), + VG_SATUR = SIMP(statut='f',typ='R'), +# + FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + + ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', + 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), + ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), + UN_PARMI('VG_N','SATU_PRES'), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVE ---------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE ------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS--------- +# ================================================================================= + b_liquadvape = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PRE2 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), + PRES_VAPE = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 9.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- + VG_N = SIMP(statut='f',typ='R'), + VG_SR = SIMP(statut='f',typ='R'), + VG_PR = SIMP(statut='f',typ='R'), + VG_SMAX = SIMP(statut='f',typ='R'), + VG_SATUR = SIMP(statut='f',typ='R'), +# + FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', + 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), + ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), + UN_PARMI('VG_N','SATU_PRES'), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_AIR_DISS = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='o',typ='R'), + COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE ------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ --------------------------------- +# ================================================================================= + b_liquvape = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), + PRES_VAPE = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 3.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='f',typ='R'), + BIOT_L = SIMP(statut='f',typ='R'), + BIOT_N = SIMP(statut='f',typ='R'), + BIOT_T = SIMP(statut='f',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- + + VG_N = SIMP(statut='f',typ='R'), + VG_SR = SIMP(statut='f',typ='R'), + VG_PR = SIMP(statut='f',typ='R'), + VG_SMAX = SIMP(statut='f',typ='R'), + VG_SATUR = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), + LAMB_C_L = SIMP(statut='f',typ='R'), + LAMB_C_N = SIMP(statut='f',typ='R'), + LAMB_C_T = SIMP(statut='f',typ='R'), +# + regles = (EXCLUS('BIOT_COEF','BIOT_N',), + PRESENT_PRESENT('BIOT_N','BIOT_L',), + PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), + EXCLUS('PERM_IN','PERM_END','PERMIN_L',), + PRESENT_ABSENT('PERMIN_N','PERMIN_T',), + PRESENT_PRESENT('PERMIN_N','PERMIN_L',), + PRESENT_PRESENT('PERMIN_T','PERMIN_L',), + EXCLUS('LAMB_T','LAMB_TL',), + PRESENT_ABSENT('LAMB_TN','LAMB_TT',), + PRESENT_PRESENT('LAMB_TN','LAMB_TL',), + PRESENT_PRESENT('LAMB_TT','LAMB_TL',), + EXCLUS('D_LB_T','D_LB_TL',), + PRESENT_ABSENT('D_LB_TN','D_LB_TT',), + PRESENT_PRESENT('D_LB_TN','D_LB_TL',), + PRESENT_PRESENT('D_LB_TT','D_LB_TL',), + EXCLUS('LAMB_CT','LAMB_C_L',), + PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), + PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), + PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), + EXCLUS('PERMIN_L','BIOT_COEF'), + EXCLUS('PERMIN_L','LAMB_T'), + PRESENT_PRESENT('BIOT_L','PERMIN_L',), + PRESENT_PRESENT('BIOT_T','PERMIN_T',), + PRESENT_PRESENT('LAMB_TN','PERMIN_N',), + PRESENT_PRESENT('LAMB_TL','PERMIN_L',), + PRESENT_PRESENT('LAMB_TT','PERMIN_T',), + + ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', + 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), + ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), + UN_PARMI('VG_N','SATU_PRES'), + ), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ), +# courbes et coefficients associés à la fatigue et au dommage +# + FATIGUE =FACT(statut='f', + regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), + PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), + PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), + ENSEMBLE('A_BASQUIN','BETA_BASQUIN'), + ENSEMBLE('A0','A1','A2','A3','SL'), + PRESENT_PRESENT('A0','E_REFE'), + ENSEMBLE('D0','TAU0'),), + WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_BASQUIN =SIMP(statut='f',typ='R'), + BETA_BASQUIN =SIMP(statut='f',typ='R'), + A0 =SIMP(statut='f',typ='R'), + A1 =SIMP(statut='f',typ='R'), + A2 =SIMP(statut='f',typ='R'), + A3 =SIMP(statut='f',typ='R'), + SL =SIMP(statut='f',typ='R'), + MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_REFE =SIMP(statut='f',typ='R'), + D0 =SIMP(statut='f',typ='R'), + TAU0 =SIMP(statut='f',typ='R'), + ), + DOMMA_LEMAITRE =FACT(statut='f', + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), + ), + CISA_PLAN_CRIT =FACT(statut='f', + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", + "DANG_VAN_MODI_AC", + "DANG_VAN_MODI_AV", + "MATAKE_MODI_AV", + "FATESOCI_MODI_AV", + ) ), + + b_critere_matake =BLOC(condition="CRITERE=='MATAKE_MODI_AC' or CRITERE=='MATAKE_MODI_AV'", + fr="Cisaillement plan critique critère de matake pour les cas amplitude constante et amplitude variable", + MATAKE_A =SIMP(statut='o',typ='R'), + MATAKE_B =SIMP(statut='o',typ='R'), + COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", + fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", + D_VAN_A =SIMP(statut='o',typ='R'), + D_VAN_B =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_critere_fate_soci =BLOC(condition="CRITERE=='FATESOCI_MODI_AV'", + fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable", + FATSOC_A =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + ), + + + THM_RUPT =FACT(statut='f', + OUV_FICT =SIMP(statut='o',typ='R'), + UN_SUR_N =SIMP(statut='f',typ='R',defaut= 0.), + ), +# +# autres comportements ... +# + WEIBULL =FACT(statut='f', + M =SIMP(statut='o',typ='R'), + VOLU_REFE =SIMP(statut='o',typ='R'), + SIGM_REFE =SIMP(statut='o',typ='R'), + SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ), + WEIBULL_FO =FACT(statut='f', + M =SIMP(statut='o',typ='R'), + VOLU_REFE =SIMP(statut='o',typ='R'), + SIGM_CNV =SIMP(statut='o',typ='R'), + SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ), + NON_LOCAL =FACT(statut='f', + regles=(AU_MOINS_UN('LONG_CARA','C_GONF','C_GRAD_VARI','PENA_LAGR',),), + LONG_CARA =SIMP(statut='f',typ='R'), + C_GRAD_VARI =SIMP(statut='f',typ='R'), + PENA_LAGR =SIMP(statut='f',typ='R',defaut= 1.0E3), + C_GONF =SIMP(statut='f',typ='R'), + COEF_RIGI_MINI =SIMP(statut='f',typ='R'), + ), + RUPT_FRAG =FACT(statut='f', + GC =SIMP(statut='o',typ='R'), + SIGM_C =SIMP(statut='f',typ='R'), + PENA_ADHERENCE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=1.E+0), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), + PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), + RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), + CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), + ), + RUPT_FRAG_FO =FACT(statut='f', + GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), + CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), + ), + CZM_LAB_MIX =FACT(statut='f', + SIGM_C =SIMP(statut='o',typ='R', val_min=1.E-100), + GLIS_C =SIMP(statut='o',typ='R', val_min=1.E-100), + ALPHA =SIMP(statut='f',typ='R', defaut=0.5, val_min=1.E-3), + BETA =SIMP(statut='f',typ='R', defaut=1., val_min=0.), + PENA_LAGR =SIMP(statut='f',typ='R', defaut=100.,val_min=1.01E+0), + CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="GLIS_1D",into=("UNILATER","GLIS_1D","GLIS_2D")), + ), + RUPT_DUCT =FACT(statut='f', + GC =SIMP(statut='o',typ='R'), + SIGM_C =SIMP(statut='o',typ='R'), + COEF_EXTR =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), + COEF_PLAS =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), + PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), + RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), + ), + JOINT_MECA_RUPT =FACT(statut='f', + regles=(EXCLUS('PRES_FLUIDE','PRES_CLAVAGE'), + EXCLUS('PRES_FLUIDE','SCIAGE'), + PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('PRES_CLAVAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), + PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), + PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), + ), + K_N =SIMP(statut='o',typ='R',val_min=1.E-12), + K_T =SIMP(statut='f',typ='R',val_min=1.E-12), + SIGM_MAX =SIMP(statut='o',typ='R',val_min=0.), + ALPHA =SIMP(statut='f',typ='R',defaut=1., val_min=0., val_max=2.), + PENA_RUPTURE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=10.E+0), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.,val_min=1.E-12), + PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PRES_CLAVAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), + VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), + OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), + ), + JOINT_MECA_FROT =FACT(statut='f', + regles=( + EXCLUS('PRES_FLUIDE','SCIAGE'), + PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), + PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE'), + PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE'), + PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE'), + ), + K_N =SIMP(statut='o',typ='R',val_min=1.E-12), + K_T =SIMP(statut='f',typ='R',val_min=1.E-12), + MU =SIMP(statut='o',typ='R',val_min=1.E-3), + PENA_TANG =SIMP(statut='f',typ='R',val_min=0.), + ADHESION =SIMP(statut='f',typ='R',defaut=0., val_min=0.), + PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), + VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), + OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), + ), + RCCM =FACT(statut='f', + regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), + SY_02 =SIMP(statut='f',typ='R'), + SM =SIMP(statut='f',typ='R'), + SU =SIMP(statut='f',typ='R'), + SC =SIMP(statut='f',typ='R'), + SH =SIMP(statut='f',typ='R'), + N_KE =SIMP(statut='f',typ='R'), + M_KE =SIMP(statut='f',typ='R'), + A_AMORC =SIMP(statut='f',typ='R'), + B_AMORC =SIMP(statut='f',typ='R'), + D_AMORC =SIMP(statut='f',typ='R'), + R_AMORC =SIMP(statut='f',typ='R'), + ), + RCCM_FO =FACT(statut='f', + regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), + SY_02 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + N_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + B_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_AMORC =SIMP(statut='f',typ='R'), + R_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + LAIGLE =FACT(statut='f', + GAMMA_ULT =SIMP(statut='o',typ='R'), + GAMMA_E =SIMP(statut='o',typ='R'), + M_ULT =SIMP(statut='o',typ='R'), + M_E =SIMP(statut='o',typ='R'), + A_E =SIMP(statut='o',typ='R'), + M_PIC =SIMP(statut='o',typ='R'), + A_PIC =SIMP(statut='o',typ='R'), + ETA =SIMP(statut='o',typ='R'), + SIGMA_C =SIMP(statut='o',typ='R'), + GAMMA =SIMP(statut='o',typ='R'), + KSI =SIMP(statut='o',typ='R'), + GAMMA_CJS =SIMP(statut='o',typ='R'), + SIGMA_P1 =SIMP(statut='o',typ='R'), + PA =SIMP(statut='o',typ='R'), + ), + LETK =FACT(statut='f', + PA =SIMP(statut='o',typ='R',fr="pression atmospherique"), + NELAS =SIMP(statut='o',typ='R',fr="exposant de la loi de variation des modules K et G"), + SIGMA_C =SIMP(statut='o',typ='R',fr="résistance en compression simple "), + H0_EXT =SIMP(statut='o',typ='R',fr="parametre pilotant la résistance en extension"), + GAMMA_CJS =SIMP(statut='o',typ='R',fr="parametre de forme du critere ds le plan déviatoire entre 0 et 1."), + XAMS =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage pre pic"), + ETA =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage post pic"), + A_0 =SIMP(statut='o',typ='R',fr="a de la limite d'élasticité initiale"), + A_E =SIMP(statut='o',typ='R',fr="a de la limite de clivage ou seuil intermédiaire"), + A_PIC =SIMP(statut='o',typ='R',fr="a du seuil de pic"), + S_0 =SIMP(statut='o',typ='R',fr="s de la limite d'élasticité initiale"), + M_0 =SIMP(statut='o',typ='R',fr="m de la limite d'élasticité initiale"), + M_E =SIMP(statut='o',typ='R',fr="m de la limite de clivage ou seuil intermédiaire"), + M_PIC =SIMP(statut='o',typ='R',fr="m du seuil de pic"), + M_ULT =SIMP(statut='o',typ='R',fr="m du seuil residuel"), + XI_ULT =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil résiduel"), + XI_E =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de clivage"), + XI_PIC =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de pic"), + MV_MAX =SIMP(statut='o',typ='R',fr="m du seuil viscoplastique maximal"), + XIV_MAX =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil viscoplastique maximal"), + A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), + N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), + SIGMA_P1 =SIMP(statut='o',typ='R',fr="SIG min de l intersection du seuil de pic et intermediaire "), + MU0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), + XI0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), + MU1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), + XI1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), + ), + DRUCK_PRAGER =FACT(statut='f', + ALPHA =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + P_ULTM =SIMP(statut='o',typ='R'), + ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), + b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", + H =SIMP(statut='o',typ='R'), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), + ), + b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", + SY_ULTM =SIMP(statut='o',typ='R'), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), + ), + DILAT =SIMP(statut='f',typ='R',defaut=0.0), + ), + + DRUCK_PRAGER_FO =FACT(statut='f', + ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)), + SY =SIMP(statut='o',typ=(fonction_sdaster,formule)), + P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), + b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", + H =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), + ), + b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", + SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), + ), + DILAT =SIMP(statut='f',typ='R',defaut=0.0), + ), + + VISC_DRUC_PRAG =FACT(statut='f', + PREF =SIMP(statut='o',typ='R',fr="pression de reference"), + A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), + N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), + P_PIC =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil de pic"), + P_ULT =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil utime"), + ALPHA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil d elasticite"), + ALPHA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil de pic"), + ALPHA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil ultime"), + R_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil d'elasticite"), + R_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil de pic"), + R_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil ultime"), + BETA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil d elasticite"), + BETA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil de pic"), + BETA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil ultime"), + ), + HOEK_BROWN =FACT(statut='f', + GAMMA_RUP =SIMP(statut='o',typ='R'), + GAMMA_RES =SIMP(statut='o',typ='R'), + S_END =SIMP(statut='o',typ='R'), + S_RUP =SIMP(statut='o',typ='R'), + M_END =SIMP(statut='o',typ='R'), + M_RUP =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='o',typ='R'), + ALPHAHB =SIMP(statut='o',typ='R'), + PHI_RUP =SIMP(statut='o',typ='R'), + PHI_RES =SIMP(statut='o',typ='R'), + PHI_END =SIMP(statut='f',typ='R'), + ), + ELAS_GONF =FACT(statut='f', + BETAM =SIMP(statut='o',typ='R'), + PREF =SIMP(statut='o',typ='R'), + ), + JOINT_BANDIS =FACT(statut='f', + K =SIMP(statut='o',typ='R'), + DMAX =SIMP(statut='o',typ='R'), + GAMMA =SIMP(statut='o',typ='R'), + KT =SIMP(statut='f',typ='R',defaut = 1.E12), + ), +#### MONOCRISTAL + + MONO_VISC1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + ), + MONO_VISC2 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + D =SIMP(statut='o',typ='R'), + A =SIMP(statut='o',typ='R'), + ), + MONO_ISOT1 =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), + ), + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), + R_0 =SIMP(statut='o',typ='R'), + Q =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R'), + H2 =SIMP(statut='f',typ='R'), + H3 =SIMP(statut='f',typ='R'), + H4 =SIMP(statut='f',typ='R'), + H5 =SIMP(statut='f',typ='R'), + H6 =SIMP(statut='f',typ='R'), + ), + MONO_ISOT2 =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), + ), + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), + R_0 =SIMP(statut='o',typ='R'), + Q1 =SIMP(statut='o',typ='R'), + B1 =SIMP(statut='o',typ='R'), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R'), + H2 =SIMP(statut='f',typ='R'), + H3 =SIMP(statut='f',typ='R'), + H4 =SIMP(statut='f',typ='R'), + H5 =SIMP(statut='f',typ='R'), + H6 =SIMP(statut='f',typ='R'), + Q2 =SIMP(statut='o',typ='R'), + B2 =SIMP(statut='o',typ='R'), + ), + MONO_CINE1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), + D =SIMP(statut='o',typ='R'), + ), + MONO_CINE2 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), + D =SIMP(statut='o',typ='R'), + GM =SIMP(statut='o',typ='R'), + PM =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + ), + MONO_DD_KR =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), + ), + # TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + K =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), + TAUR =SIMP(statut='o',typ='R',fr="Contraintes de cisaillement à T=0K, en unite de contraintes"), + TAU0 =SIMP(statut='o',typ='R',fr="Contraintes critique initiale de cisaillement, en unite de contraintes"), + GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"), + DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), + BSD =SIMP(statut='o',typ='R',fr="fonction de la taille du grain B/D"), + GCB =SIMP(statut='o',typ='R',fr="distance critique d'annihilation GC/B"), + KDCS =SIMP(statut='o',typ='R',fr="Parametre relatif à la direction principale de la dislocation"), + P =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), + Q =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R'), + H2 =SIMP(statut='f',typ='R'), + H3 =SIMP(statut='f',typ='R'), + H4 =SIMP(statut='f',typ='R'), + H5 =SIMP(statut='f',typ='R'), + H6 =SIMP(statut='f',typ='R'), + ), + MONO_DD_CFC =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4','H5'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), + ), + #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), + TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), + A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), + B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), + N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), + Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), + ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), + BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), + RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), + H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), + H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), + H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), + H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), + ), + + MONO_DD_CFC_IRRA =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4','H5'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), + ), + #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), + TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), + A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), + B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), + N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), + Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), + ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), + BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), + RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), + H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), + H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), + H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), + H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), + + DZ_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre dzeta pour irradiation"), + XI_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre xi pour irradiation"), + RHO_VOID =SIMP(statut='o',typ='R',fr="Parametre rho_voids pour irradiation"), + PHI_LOOP =SIMP(statut='o',typ='R',fr="Parametre phi_loops pour irradiation"), + ALP_VOID =SIMP(statut='o',typ='R',fr="Parametre alpha_voids pour irradiation"), + ALP_LOOP =SIMP(statut='o',typ='R',fr="Parametre alpha_loops pour irradiation"), + RHO_SAT =SIMP(statut='o',typ='R',fr="Parametre rho_sat*b*b pour irradiation"), + PHI_SAT =SIMP(statut='o',typ='R',fr="Parametre phi_sat pour irradiation"), + + ), + + MONO_DD_FAT =FACT(statut='f', + regles=(UN_PARMI('H','H1'), + PRESENT_PRESENT('H1','H2','H3','H4','H5'), + PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), + ), + #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), + TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), + BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), + N =SIMP(statut='o',typ='R',fr="paramètre n, sans unite"), + UN_SUR_D =SIMP(statut='o',typ='R',fr="paramètre 1/D, en unite de 1/longueur"), + GC0 =SIMP(statut='o',typ='R',fr="paramètre GC0, en unite de longueur"), + K =SIMP(statut='o',typ='R',fr="paramètre K, sans unite"), + H =SIMP(statut='f',typ='R'), + H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), + H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), + H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), + H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), + H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), + ), + + MONO_DD_CC =FACT(statut='f', + #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), + GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), + DELTAG0 =SIMP(statut='o',typ='R',fr="energie d'activation, en unite d'energie (eV ou J)"), + TAU_0 =SIMP(statut='o',typ='R',fr="contrainte ultime, en unite de contraintes "), + TAU_F =SIMP(statut='o',typ='R',fr="seuil en contrainte , en unite de contraintes"), + GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), + N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), + RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), + D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), + BETA =SIMP(statut='o',typ='R',fr="parametre beta, sans unite"), + D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), + Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), + K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), + K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), + K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), + H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), + H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), + H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), + H4 =SIMP(statut='f',typ='R',defaut=0.), + H5 =SIMP(statut='f',typ='R',defaut=0.), + H6 =SIMP(statut='f',typ='R',defaut=0.), + DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), + DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), + DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), + ), + + MONO_DD_CC_IRRA =FACT(statut='f', + #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), + GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), + DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), + TAU_0 =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), + TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), + GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), + N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), + RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), + D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), + BETA =SIMP(statut='o',typ='R',fr="ecrouissage, parametre beta"), + D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), + Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), + K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), + K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), + K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), + H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), + H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), + H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), + H4 =SIMP(statut='f',typ='R',defaut=0.), + H5 =SIMP(statut='f',typ='R',defaut=0.), + H6 =SIMP(statut='f',typ='R',defaut=0.), + DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), + DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), + DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), + A_IRRA =SIMP(statut='o',typ='R',fr="Parametre a_loops pour irradiation"), + XI_IRRA =SIMP(statut='o',typ='R',fr="Parametre xi pour irradiation"), + ), + + +#### FIN MONOCRISTAL + +### UMAT + UMAT =FACT(statut='f', + NB_VALE =SIMP(statut='f',typ='R'), + C1 =SIMP(statut='f',typ='R'), + C2 =SIMP(statut='f',typ='R'), + C3 =SIMP(statut='f',typ='R'), + C4 =SIMP(statut='f',typ='R'), + C5 =SIMP(statut='f',typ='R'), + C6 =SIMP(statut='f',typ='R'), + C7 =SIMP(statut='f',typ='R'), + C8 =SIMP(statut='f',typ='R'), + C9 =SIMP(statut='f',typ='R'), + C10 =SIMP(statut='f',typ='R'), + C11 =SIMP(statut='f',typ='R'), + C12 =SIMP(statut='f',typ='R'), + C13 =SIMP(statut='f',typ='R'), + C14 =SIMP(statut='f',typ='R'), + C15 =SIMP(statut='f',typ='R'), + C16 =SIMP(statut='f',typ='R'), + C17 =SIMP(statut='f',typ='R'), + C18 =SIMP(statut='f',typ='R'), + C19 =SIMP(statut='f',typ='R'), + C20 =SIMP(statut='f',typ='R'), + C21 =SIMP(statut='f',typ='R'), + C22 =SIMP(statut='f',typ='R'), + C23 =SIMP(statut='f',typ='R'), + C24 =SIMP(statut='f',typ='R'), + C25 =SIMP(statut='f',typ='R'), + C26 =SIMP(statut='f',typ='R'), + C27 =SIMP(statut='f',typ='R'), + C28 =SIMP(statut='f',typ='R'), + C29 =SIMP(statut='f',typ='R'), + C30 =SIMP(statut='f',typ='R'), + C31 =SIMP(statut='f',typ='R'), + C32 =SIMP(statut='f',typ='R'), + C33 =SIMP(statut='f',typ='R'), + C34 =SIMP(statut='f',typ='R'), + C35 =SIMP(statut='f',typ='R'), + C36 =SIMP(statut='f',typ='R'), + C37 =SIMP(statut='f',typ='R'), + C38 =SIMP(statut='f',typ='R'), + C39 =SIMP(statut='f',typ='R'), + C40 =SIMP(statut='f',typ='R'), + C41 =SIMP(statut='f',typ='R'), + C42 =SIMP(statut='f',typ='R'), + C43 =SIMP(statut='f',typ='R'), + C44 =SIMP(statut='f',typ='R'), + C45 =SIMP(statut='f',typ='R'), + C46 =SIMP(statut='f',typ='R'), + C47 =SIMP(statut='f',typ='R'), + C48 =SIMP(statut='f',typ='R'), + C49 =SIMP(statut='f',typ='R'), + C50 =SIMP(statut='f',typ='R'), + C51 =SIMP(statut='f',typ='R'), + C52 =SIMP(statut='f',typ='R'), + C53 =SIMP(statut='f',typ='R'), + C54 =SIMP(statut='f',typ='R'), + C55 =SIMP(statut='f',typ='R'), + C56 =SIMP(statut='f',typ='R'), + C57 =SIMP(statut='f',typ='R'), + C58 =SIMP(statut='f',typ='R'), + C59 =SIMP(statut='f',typ='R'), + C60 =SIMP(statut='f',typ='R'), + C61 =SIMP(statut='f',typ='R'), + C62 =SIMP(statut='f',typ='R'), + C63 =SIMP(statut='f',typ='R'), + C64 =SIMP(statut='f',typ='R'), + C65 =SIMP(statut='f',typ='R'), + C66 =SIMP(statut='f',typ='R'), + C67 =SIMP(statut='f',typ='R'), + C68 =SIMP(statut='f',typ='R'), + C69 =SIMP(statut='f',typ='R'), + C70 =SIMP(statut='f',typ='R'), + C71 =SIMP(statut='f',typ='R'), + C72 =SIMP(statut='f',typ='R'), + C73 =SIMP(statut='f',typ='R'), + C74 =SIMP(statut='f',typ='R'), + C75 =SIMP(statut='f',typ='R'), + C76 =SIMP(statut='f',typ='R'), + C77 =SIMP(statut='f',typ='R'), + C78 =SIMP(statut='f',typ='R'), + C79 =SIMP(statut='f',typ='R'), + C80 =SIMP(statut='f',typ='R'), + C81 =SIMP(statut='f',typ='R'), + C82 =SIMP(statut='f',typ='R'), + C83 =SIMP(statut='f',typ='R'), + C84 =SIMP(statut='f',typ='R'), + C85 =SIMP(statut='f',typ='R'), + C86 =SIMP(statut='f',typ='R'), + C87 =SIMP(statut='f',typ='R'), + C88 =SIMP(statut='f',typ='R'), + C89 =SIMP(statut='f',typ='R'), + C90 =SIMP(statut='f',typ='R'), + C91 =SIMP(statut='f',typ='R'), + C92 =SIMP(statut='f',typ='R'), + C93 =SIMP(statut='f',typ='R'), + C94 =SIMP(statut='f',typ='R'), + C95 =SIMP(statut='f',typ='R'), + C96 =SIMP(statut='f',typ='R'), + C97 =SIMP(statut='f',typ='R'), + C98 =SIMP(statut='f',typ='R'), + C99 =SIMP(statut='f',typ='R'), + C100 =SIMP(statut='f',typ='R'), + C101 =SIMP(statut='f',typ='R'), + C102 =SIMP(statut='f',typ='R'), + C103 =SIMP(statut='f',typ='R'), + C104 =SIMP(statut='f',typ='R'), + C105 =SIMP(statut='f',typ='R'), + C106 =SIMP(statut='f',typ='R'), + C107 =SIMP(statut='f',typ='R'), + C108 =SIMP(statut='f',typ='R'), + C109 =SIMP(statut='f',typ='R'), + C110 =SIMP(statut='f',typ='R'), + C111 =SIMP(statut='f',typ='R'), + C112 =SIMP(statut='f',typ='R'), + C113 =SIMP(statut='f',typ='R'), + C114 =SIMP(statut='f',typ='R'), + C115 =SIMP(statut='f',typ='R'), + C116 =SIMP(statut='f',typ='R'), + C117 =SIMP(statut='f',typ='R'), + C118 =SIMP(statut='f',typ='R'), + C119 =SIMP(statut='f',typ='R'), + C120 =SIMP(statut='f',typ='R'), + C121 =SIMP(statut='f',typ='R'), + C122 =SIMP(statut='f',typ='R'), + C123 =SIMP(statut='f',typ='R'), + C124 =SIMP(statut='f',typ='R'), + C125 =SIMP(statut='f',typ='R'), + C126 =SIMP(statut='f',typ='R'), + C127 =SIMP(statut='f',typ='R'), + C128 =SIMP(statut='f',typ='R'), + C129 =SIMP(statut='f',typ='R'), + C130 =SIMP(statut='f',typ='R'), + C131 =SIMP(statut='f',typ='R'), + C132 =SIMP(statut='f',typ='R'), + C133 =SIMP(statut='f',typ='R'), + C134 =SIMP(statut='f',typ='R'), + C135 =SIMP(statut='f',typ='R'), + C136 =SIMP(statut='f',typ='R'), + C137 =SIMP(statut='f',typ='R'), + C138 =SIMP(statut='f',typ='R'), + C139 =SIMP(statut='f',typ='R'), + C140 =SIMP(statut='f',typ='R'), + C141 =SIMP(statut='f',typ='R'), + C142 =SIMP(statut='f',typ='R'), + C143 =SIMP(statut='f',typ='R'), + C144 =SIMP(statut='f',typ='R'), + C145 =SIMP(statut='f',typ='R'), + C146 =SIMP(statut='f',typ='R'), + C147 =SIMP(statut='f',typ='R'), + C148 =SIMP(statut='f',typ='R'), + C149 =SIMP(statut='f',typ='R'), + C150 =SIMP(statut='f',typ='R'), + C151 =SIMP(statut='f',typ='R'), + C152 =SIMP(statut='f',typ='R'), + C153 =SIMP(statut='f',typ='R'), + C154 =SIMP(statut='f',typ='R'), + C155 =SIMP(statut='f',typ='R'), + C156 =SIMP(statut='f',typ='R'), + C157 =SIMP(statut='f',typ='R'), + C158 =SIMP(statut='f',typ='R'), + C159 =SIMP(statut='f',typ='R'), + C160 =SIMP(statut='f',typ='R'), + C161 =SIMP(statut='f',typ='R'), + C162 =SIMP(statut='f',typ='R'), + C163 =SIMP(statut='f',typ='R'), + C164 =SIMP(statut='f',typ='R'), + C165 =SIMP(statut='f',typ='R'), + C166 =SIMP(statut='f',typ='R'), + C167 =SIMP(statut='f',typ='R'), + C168 =SIMP(statut='f',typ='R'), + C169 =SIMP(statut='f',typ='R'), + C170 =SIMP(statut='f',typ='R'), + C171 =SIMP(statut='f',typ='R'), + C172 =SIMP(statut='f',typ='R'), + C173 =SIMP(statut='f',typ='R'), + C174 =SIMP(statut='f',typ='R'), + C175 =SIMP(statut='f',typ='R'), + C176 =SIMP(statut='f',typ='R'), + C177 =SIMP(statut='f',typ='R'), + C178 =SIMP(statut='f',typ='R'), + C179 =SIMP(statut='f',typ='R'), + C180 =SIMP(statut='f',typ='R'), + C181 =SIMP(statut='f',typ='R'), + C182 =SIMP(statut='f',typ='R'), + C183 =SIMP(statut='f',typ='R'), + C184 =SIMP(statut='f',typ='R'), + C185 =SIMP(statut='f',typ='R'), + C186 =SIMP(statut='f',typ='R'), + C187 =SIMP(statut='f',typ='R'), + C188 =SIMP(statut='f',typ='R'), + C189 =SIMP(statut='f',typ='R'), + C190 =SIMP(statut='f',typ='R'), + C191 =SIMP(statut='f',typ='R'), + C192 =SIMP(statut='f',typ='R'), + C193 =SIMP(statut='f',typ='R'), + C194 =SIMP(statut='f',typ='R'), + C195 =SIMP(statut='f',typ='R'), + C196 =SIMP(statut='f',typ='R'), + C197 =SIMP(statut='f',typ='R'), + ), + UMAT_FO =FACT(statut='f', + NB_VALE =SIMP(statut='f',typ='R'), + C1 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C2 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C3 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C4 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C5 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C6 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C7 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C8 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C9 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C10 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C11 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C12 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C13 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C14 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C15 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C16 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C17 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C18 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C19 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C20 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C21 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C22 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C23 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C24 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C25 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C26 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C27 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C28 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C29 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C30 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C31 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C32 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C33 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C34 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C35 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C36 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C37 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C38 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C39 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C40 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C41 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C42 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C43 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C44 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C45 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C46 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C47 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C48 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C49 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C50 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C51 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C52 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C53 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C54 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C55 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C56 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C57 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C58 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C59 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C60 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C61 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C62 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C63 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C64 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C65 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C66 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C67 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C68 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C69 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C70 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C71 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C72 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C73 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C74 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C75 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C76 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C77 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C78 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C79 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C80 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C81 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C82 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C83 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C84 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C85 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C86 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C87 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C88 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C89 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C90 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C91 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C92 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C93 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C94 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C95 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C96 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C97 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C98 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C99 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C100 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C101 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C102 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C103 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C104 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C105 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C106 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C107 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C108 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C109 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C110 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C111 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C112 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C113 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C114 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C115 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C116 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C117 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C118 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C119 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C120 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C121 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C122 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C123 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C124 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C125 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C126 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C127 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C128 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C129 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C130 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C131 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C132 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C133 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C134 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C135 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C136 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C137 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C138 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C139 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C140 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C141 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C142 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C143 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C144 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C145 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C146 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C147 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C148 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C149 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C150 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C151 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C152 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C153 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C154 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C155 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C156 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C157 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C158 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C159 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C160 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C161 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C162 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C163 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C164 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C165 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C166 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C167 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C168 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C169 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C170 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C171 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C172 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C173 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C174 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C175 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C176 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C177 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C178 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C179 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C180 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C181 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C182 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C183 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C184 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C185 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C186 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C187 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C188 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C189 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C190 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C191 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C192 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C193 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C194 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C195 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C196 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + C197 =SIMP(statut='f',typ=(fonction_sdaster,formule)), + ), +### UMAT +### CRITERE DE RUPTURE + CRIT_RUPT =FACT(statut='f', + SIGM_C =SIMP(statut='o',typ='R',fr="contrainte critique"), + COEF =SIMP(statut='o',typ='R',fr="E=E/COEF,si la contrainte principale max est atteinte dans l'element"), + ), +# + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, + reentrant='n', + fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", + UIinfo={"groupes":("Matrices et vecteurs",)}, + SOUS_STRUC =FACT(statut='o',max='**', + NOM =SIMP(statut='o',typ='TXM' ), + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + ANGL_NAUT =SIMP(statut='o',typ='R',max=3), + TRANS =SIMP(statut='o',typ='R',max=3), + ), + LIAISON =FACT(statut='o',max='**', + SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), + INTERFACE_1 =SIMP(statut='o',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), + INTERFACE_2 =SIMP(statut='o',typ='TXM' ), + regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), + EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), + GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), + ), + VERIF =FACT(statut='f',max='**', +# dans la doc U stop_erreur est obligatoire + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster, + fr="Définir une fonction réelle de deux variables réelles", + reentrant='n',UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('FONCTION','DEFI_FONCTION'), + EXCLUS('FONCTION','NOM_PARA_FONC',), + ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),), + NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + PARA =SIMP(statut='o',typ='R',max='**'), + FONCTION =SIMP(statut='f',typ=fonction_sdaster, max='**' ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), + DEFI_FONCTION =FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max='**'), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), + fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction."), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), + fr="Type d'interpolation pour le paramètre de la nappe"), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1, 2) ), + VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: marc.kham at edf.fr +DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=table_fonction, + fr="Définition d'un obstacle plan perpendiculaire à une structure filaire", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", + into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET", + "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT", + ) ), + VALE =SIMP(statut='f',typ='R',max='**'), + VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + +DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_partit, + fr="Creation partitionnement en sous-domaines", + docu="U4.23.05",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + NOM =SIMP(statut='f',typ='TXM',defaut='SD'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), + DEFI =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma), + GROUP_MA_BORD =SIMP(statut='f',typ=grma), + ), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), + ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + +DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29, + fr="Creation partitionnement en sous-domaines", + docu="U4.00.00", + UIinfo={"groupes":("Modélisation",)}, + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster)), + NB_PART =SIMP(statut='o',typ='I',), + + # Methode de partitionnement + METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), + + LOGICIEL =SIMP(statut='f',typ='TXM'), + + # Corrige les problemes possibles de non-connexite des sous-domaines + CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), + + # Permet de grouper des mailles dans un meme sous-doamine + GROUPAGE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + ), + # Permet d'appliquer des poids sur certaines mailles + POIDS_MAILLES =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + POIDS =SIMP(statut='f',typ='I'), + ), + # Prefixe pour le nom des group_ma definissant les sous-domaines + NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), + + # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) + TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), + + # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords + b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", + NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), + ), + + INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), + +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + + +DEFI_PARTITION=MACRO(nom="DEFI_PARTITION", + op=OPS('Macro.defi_partition_ops.defi_partition_ops'), + sd_prod=sd_partit, + reentrant='n',UIinfo={"groupes":("Modélisation",)}, + fr="Creation partitionnement en sous-domaines", + regles=(UN_PARMI('MAILLAGE','MODELE'),PRESENT_PRESENT('MODELE','EXCIT'),), + + NB_PART =SIMP(statut='o',typ='I',val_min=2), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), + + # Methode de partitionnement + METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), + + LOGICIEL =SIMP(statut='f',typ='TXM'), + + # Corrige les problemes possibles de non-connexite des sous-domaines + CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), + + # Permet de grouper des mailles dans un meme sous-doamine + GROUPAGE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + ), + # Permet d'appliquer des poids sur certaines mailles + POIDS_MAILLES =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + POIDS =SIMP(statut='f',typ='I',val_min=2), + ), + # Prefixe pour le nom des group_ma definissant les sous-domaines + NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), + + # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) + TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), + + # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords + b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", + NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), + ), + + INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +DEFI_SOL_MISS = MACRO(nom="DEFI_SOL_MISS", + op=OPS('Macro.defi_sol_miss_ops.defi_sol_miss_ops'), + sd_prod=table_sdaster, + fr="Définition des données de sol pour Miss", + reentrant='n', + UIinfo={"groupes":("Modélisation","Outils-métier",)}, + MATERIAU = FACT(statut='o', max='**', + fr="Définition des matériaux", + E = SIMP(statut='o', typ='R', fr="Module d'Young"), + NU = SIMP(statut='o', typ='R', fr="Coefficient de Poisson"), + RHO = SIMP(statut='o', typ='R', fr="Masse volumique"), + AMOR_HYST = SIMP(statut='o', typ='R', fr="Coefficient d'amortissement"), + ), + COUCHE = FACT(statut='o', max='**', + fr="Définition des couches", + regles=(AU_MOINS_UN('EPAIS','SUBSTRATUM'),), + SUBSTRATUM= SIMP(statut='f', typ='TXM', into=("OUI","NON"),), + EPAIS = SIMP(statut='f', typ='R', fr="Epaisseur de la couche"), + RECEPTEUR = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), + SOURCE = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), + NUME_MATE = SIMP(statut='o', typ='I', fr="Numéro du matériau"), + ), + TITRE = SIMP(statut='f', typ='TXM', max='**', + fr="Titre de la table produite"), + INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, + fr="Definition d'un spectre d'excitation turbulente", + reentrant='n', + UIinfo={"groupes":("Modelisation","Outils-metier",)}, + regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3', + 'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2', + 'SPEC_CORR_CONV_3','SPEC_FONC_FORME','SPEC_EXCI_POINT'),), + SPEC_LONG_COR_1 =FACT(statut='f', + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VISC_CINE =SIMP(statut='o',typ='R' ), + ), + SPEC_LONG_COR_2 =FACT(statut='f', + regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.1 ), + PHI0 =SIMP(statut='f',typ='R',defaut= 1.5E-3 ), + BETA =SIMP(statut='f',typ='R',defaut= 2.7 ), + ), + SPEC_LONG_COR_3 =FACT(statut='f', + regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.2 ), + PHI0_1 =SIMP(statut='f',typ='R',defaut= 5.E-3 ), + BETA_1 =SIMP(statut='f',typ='R',defaut= 0.5 ), + PHI0_2 =SIMP(statut='f',typ='R',defaut= 4.E-5 ), + BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ), + ), + SPEC_LONG_COR_4 =FACT(statut='f', + regles=(ENSEMBLE('BETA','GAMMA'),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TAUX_VIDE =SIMP(statut='o',typ='R' ), + BETA =SIMP(statut='f',typ='R',defaut= 2. ), + GAMMA =SIMP(statut='f',typ='R',defaut= 4. ), + ), + SPEC_CORR_CONV_1=FACT(statut='f', + LONG_COR_1 =SIMP(statut='o',typ='R' ), + LONG_COR_2 =SIMP(statut='f',typ='R' ), + VITE_FLUI =SIMP(statut='o',typ='R' ), + RHO_FLUI =SIMP(statut='o',typ='R' ), + FREQ_COUP =SIMP(statut='f',typ='R' ), + K =SIMP(statut='f',typ='R',defaut= 5.8E-3 ), + D_FLUI =SIMP(statut='o',typ='R' ), + COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), + COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), + METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", + into=("AU_YANG","GENERALE","CORCOS") ), + ), + SPEC_CORR_CONV_2=FACT(statut='f', + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE_FLUI =SIMP(statut='o',typ='R' ), + FREQ_COUP =SIMP(statut='f',typ='R' ), + METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", + into=("AU_YANG","GENERALE","CORCOS",) ), + COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), + COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), + ), + SPEC_CORR_CONV_3=FACT(statut='f', + TABLE_FONCTION =SIMP(statut='o',typ=(table_fonction) ), + ), + SPEC_FONC_FORME =FACT(statut='f', + regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), + ENSEMBLE('INTE_SPEC','FONCTION'),), + INTE_SPEC =SIMP(statut='f',typ=interspectre), + FONCTION =SIMP(statut='f',typ=(table_fonction),max='**'), + GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), + NOEUD =SIMP(statut='o',typ=no), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + ), + SPEC_EXCI_POINT =FACT(statut='f', + regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), + INTE_SPEC =SIMP(statut='f',typ=interspectre), + GRAPPE_2 =SIMP(statut='f',typ='TXM', + into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ), +# Quels sont les statuts des mots cles a l interieur des deux blocs qui suivent + b_inte_spec =BLOC(condition = "INTE_SPEC != None", + NATURE =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ), + ANGLE =SIMP(statut='o',typ='R',max='**'), + NOEUD =SIMP(statut='o',typ=no,max='**'), + ), + b_grappe_2 =BLOC(condition = "GRAPPE_2 != None", + RHO_FLUI =SIMP(statut='o',typ='R' ), + NOEUD =SIMP(statut='o',typ=no), + ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, + fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique", + reentrant='n', + UIinfo={"groupes":("Maillage","Dynamique",)}, + regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'), + PRESENT_PRESENT('CYCLIQUE','SECTEUR'), + EXCLUS('SOUS_STRUC','SECTEUR'), + PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'), + PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),), + CYCLIQUE =FACT(statut='f',max='**', + regles=(UN_PARMI('MODE_CYCL','MAILLAGE'), + PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),), + MODE_CYCL =SIMP(statut='f',typ=mode_cycl ), + NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + ), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + SQUELETTE =SIMP(statut='f',typ=squelette ), + RECO_GLOBAL =FACT(statut='f',max='**', + regles=(EXCLUS('TOUT','GROUP_NO_1'), + PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'), + PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'), + PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'), + PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),), + TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + DIST_REFE =SIMP(statut='f',typ='R' ), + ), + NOM_GROUP_MA =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ='TXM' ), + SOUS_STRUC =SIMP(statut='o',typ='TXM' ), + GROUP_MA =SIMP(statut='o',typ=grma), + ), + EXCLUSIF =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRANS =SIMP(statut='f',typ='R',min=3,max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), + SOUS_STRUC =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','MAILLE','GROUP_MA'),), + NOM =SIMP(statut='o',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + SECTEUR =FACT(statut='f',max='**', + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: renaud.bargellini at edf.fr +DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Modélisation","Thermique",)}, + fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier" + +" pour les calculs métallurgiques.", + HIST_EXP =FACT(statut='o',max='**', + VALE =SIMP(statut='o',typ='R',max='**'), + ), + TEMP_MS =FACT(statut='o',max='**', + SEUIL =SIMP(statut='o',typ='R'), + AKM =SIMP(statut='o',typ='R'), + BKM =SIMP(statut='o',typ='R'), + TPLM =SIMP(statut='o',typ='R'), + ), + GRAIN_AUST =FACT(statut='f',max='**', + DREF =SIMP(statut='f',typ='R'), + A =SIMP(statut='f',typ='R'), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def depl_interne_prod(DEPL_GLOBAL,**args ): + if AsType(DEPL_GLOBAL) == cham_no_sdaster: return cham_no_sdaster + if AsType(DEPL_GLOBAL) == evol_elas : return evol_elas + if AsType(DEPL_GLOBAL) == dyna_trans : return dyna_trans + if AsType(DEPL_GLOBAL) == dyna_harmo : return dyna_harmo + if AsType(DEPL_GLOBAL) == mode_meca : return mode_meca + if AsType(DEPL_GLOBAL) == mode_meca_c : return mode_meca_c + raise AsException("type de concept resultat non prevu") + +DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique", + DEPL_GLOBAL =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,mode_meca_c,evol_elas,dyna_trans,dyna_harmo),), + SUPER_MAILLE =SIMP(statut='o',typ=ma,), + NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +DETRUIRE=MACRO(nom="DETRUIRE", + op=OPS("Cata.ops.DETRUIRE"), + UIinfo={"groupes":("Gestion du travail",)}, + fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX", + op_init=ops.build_detruire, + regles=(UN_PARMI('CONCEPT', 'OBJET',),), + + CONCEPT = FACT(statut='f',max='**', + NOM = SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), + ), + OBJET = FACT(statut='f',max='**', + CLASSE = SIMP(statut='f', typ='TXM', into=('G', 'V', 'L'), defaut='G'), + CHAINE = SIMP(statut='o', typ='TXM', validators=NoRepeat(), max='**'), + POSITION = SIMP(statut='f', typ='I', max='**'), + ), + INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=2, ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=interspectre, + fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + BASE_MODALE =FACT(statut='o', + regles=(UN_PARMI('NUME_ORDRE','BANDE'),), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + BANDE =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + b_bande =BLOC(condition = "BANDE != None", + AMOR_UNIF =SIMP(statut='o',typ='R' ), + ), + b_nume_ordre =BLOC(condition = "NUME_ORDRE != None", + AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), + ), + ), + MODE_STAT =SIMP(statut='f',typ=mode_meca), +# MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait +# ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')", + EXCIT =FACT(statut='o', + INTE_SPEC =SIMP(statut='o',typ=interspectre), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ), + MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')", + regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**'), + NOEUD_I =SIMP(statut='f',typ=no,max='**'), + b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", + regles=(EXCLUS('CHAM_NO','NOEUD'),), +# on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO' +# cela impliquerait d'enlever la valeur par defaut a GRANDEUR + NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + NOEUD =SIMP(statut='f',typ=no,max='**'), + b_noeud =BLOC(condition = "NOEUD != None", + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + ), + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), +# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), + ), + b_noeud_i =BLOC(condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max='**'), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**'), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**'), + NOEUD =SIMP(statut='o',typ=no,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), +# ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans +# NOEUD_I, NOM_CMP_I ... => modif. du Fortran + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), +# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), + ), + ), + b_modal_oui = BLOC(condition = "(MODAL == 'OUI')", +# dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes + NUME_ORDRE_I =SIMP(statut='o',typ='I',max='**'), + NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), +# dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO On devrait +# pouvoir supprimer GRANDEUR et DERIVATION ici + ), + + ), + REPONSE =FACT(statut='f', + regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),), + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), + FREQ_MIN =SIMP(statut='f',typ='R' ), + FREQ_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + b_defaut_freq =BLOC(condition = "FREQ_MIN == NONE", + FREQ_EXCIT =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ), + NB_POIN_MODE =SIMP(statut='f',typ='I',defaut= 50 ), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr + +def dyna_iss_vari_prod(self, FONC_SIGNAL,**args): + if FONC_SIGNAL !=None : + return tran_gene + else: + return interspectre + raise AsException("type de concept resultat non prevu") + +DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI", + op=OPS('Macro.dyna_iss_vari_ops.dyna_iss_vari_ops'), + sd_prod=dyna_iss_vari_prod, + fr="Calcul du spectre de réponse ou de la reponse temporelle " \ + "sismique incoherente par decomposition spectrale", + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + regles=(UN_PARMI('FONC_SIGNAL','NB_FREQ'),), + FONC_SIGNAL =SIMP(statut='f',typ=(fonction_sdaster) ), + NB_FREQ =SIMP(statut='f',typ='I' ), + NOM_CMP =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ), + PRECISION =SIMP(statut='f',typ='R',defaut=0.999 ), + ISSF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"), + INTERF =FACT(statut='o', + GROUP_NO_INTERF =SIMP(statut='o',typ=grno,), + MODE_INTERF =SIMP(statut='o',typ='TXM',into=("CORP_RIGI","TOUT","QUELCONQUE")), + ), + MATR_COHE =FACT(statut='o', + TYPE = SIMP(statut='o',typ='TXM' , into=("MITA_LUCO","ABRAHAMSON") ), + b_type_coh = BLOC(condition="TYPE=='MITA_LUCO' ", + VITE_ONDE =SIMP(statut='f',typ='R', defaut=600.), + PARA_ALPHA =SIMP(statut='f',typ='R',defaut=0.5),), + ), +# LIST_FREQ =SIMP(statut='o',typ='liste' ), + UNITE_RESU_FORC = SIMP(statut='f',typ='I',defaut=33), + UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=32), + TYPE = SIMP(statut='f',typ='TXM', into=("BINAIRE","ASCII"), defaut="ASCII"), +# NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") , validators=NoRepeat(),max=3,defaut="DEPL" ), +# + MATR_GENE = FACT(statut='o', + MATR_MASS = SIMP(statut='o',typ=(matr_asse_gene_r ) ), + MATR_RIGI = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), + MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), + ), +# + INFO =SIMP(statut='f',typ='I' ,defaut=1,into=( 1 , 2)), +# + b_type_trans = BLOC(condition="FONC_SIGNAL !=None", + FREQ_MAX =SIMP(statut='f',typ='R' ), + FREQ_PAS =SIMP(statut='f',typ='R' ), + regles=( ENSEMBLE('FREQ_MAX','FREQ_PAS'), ) + + ), + + b_type_spec = BLOC(condition="NB_FREQ != None", + FREQ_INIT =SIMP(statut='o',typ='R' ), + FREQ_PAS =SIMP(statut='o',typ='R' ), + OPTION = SIMP(statut='f',typ='TXM',into=("TOUT","DIAG"),defaut="TOUT"), + ), + + + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr +def dyna_line_harm_prod(MATR_RIGI,**args): + if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo + elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo + elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo + elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene + elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene + raise AsException("type de concept resultat non prevu") + +DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, + fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique", + reentrant='f', + UIinfo={"groupes":("Résolution","Dynamique",)}, + regles=(PRESENT_ABSENT('MATR_AMOR','AMOR_MODAL'), + UN_PARMI('FREQ','LIST_FREQ'),), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c + ,matr_asse_gene_r,matr_asse_gene_c ) ), + MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), + AMOR_MODAL =FACT(statut='f', max=1, + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + ), + MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire", + RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), + ), + EXCIT =FACT(statut='o',max='**', + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), + UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), + ), + VECT_ASSE =SIMP(statut='f',position='global',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',position='global',typ=vect_asse_gene), + CHARGE =SIMP(statut='f',position='global', typ=char_meca ), + FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), + COEF_MULT_C =SIMP(statut='f',typ='C' ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), + ), + b_modele_char =BLOC(condition = " CHARGE != None ", + MODELE =SIMP(statut='o',typ=modele_sdaster ), + ), + b_modele_vect =BLOC(condition = " VECT_ASSE != None ", + MODELE =SIMP(statut='f',typ=modele_sdaster ), + ), + EXCIT_RESU =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), + COEF_MULT_C =SIMP(statut='o',typ='C' ), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + b_matr_gene =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_gene_r,)", + fr="Methode de resolution matrice generalisee", + SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), + ), + + b_matr_phys =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_depl_r,matr_asse_pres_c,)", + fr="Methode de resolution matrice sur ddl physique", + SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), + ), +#------------------------------------------------------------------- + + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, + fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque", + reentrant='f', + UIinfo={"groupes":("Résolution","Dynamique",)}, + MODELE =SIMP(statut='f',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + + SCHEMA_TEMPS =FACT(statut='d', + SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", + into=("NEWMARK","WILSON","DIFF_CENTRE","ADAPT_ORDRE2")), + b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", + BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), + GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + b_wilson =BLOC(condition="SCHEMA=='WILSON'", + THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), + ), + ), + + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), + PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), + RESULTAT =SIMP(statut='f',typ=dyna_trans ), + b_dyna_trans =BLOC(condition = "RESULTAT != None", + regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + INST_INIT =SIMP(statut='f',typ='R' ), + b_inst_init =BLOC(condition = "INST_INIT != None", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + ), + EXCIT =FACT(statut='f',max='**', + regles=(UN_PARMI('CHARGE','VECT_ASSE'), + EXCLUS('CHARGE','COEF_MULT'), + EXCLUS('FONC_MULT','COEF_MULT'), + EXCLUS('ACCE','COEF_MULT'), + PRESENT_ABSENT('ACCE','FONC_MULT'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), + ), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + CHARGE =SIMP(statut='f',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", + regles=(EXCLUS('NOEUD','GROUP_NO'),), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ),), +### + MODE_STAT =SIMP(statut='f',typ=mode_meca), +### + EXCIT_RESU =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=dyna_trans ), + COEF_MULT =SIMP(statut='o',typ='R' ), + ), + AMOR_MODAL =FACT(statut='f', + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), +#------------------------------------------------------------------- + INCREMENT =FACT(statut='o',max='**', + regles=(UN_PARMI('LIST_INST','PAS'),), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + PAS =SIMP(statut='f',typ='R' ), + b_pas =BLOC(condition = "PAS != None", + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='o',typ='R' ), + ), + b_list_fonc =BLOC(condition = "LIST_INST != None", + regles=(EXCLUS('INST_FIN','NUME_FIN'),), + NUME_FIN =SIMP(statut='f',typ='I' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), + COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), + COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.33334 ), + PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), + NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), + PAS_MINI =SIMP(statut='f',typ='R' ), + ), + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + ARCHIVAGE =FACT(statut='f',max=1, + regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', + fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire", + UIinfo={"groupes":("Résolution","Dynamique",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + MODE_STAT =SIMP(statut='f',typ=mode_meca), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), + EXCIT =FACT(statut='f',max='**', + regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), + ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","SUIV","DIDI")), + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + EXCIT_GENE =FACT(statut='f',max='**', + FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), + VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), + ), + CONTACT =SIMP(statut='f',typ=char_contact), + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), + AMOR_MODAL =FACT(statut='f', + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), + MODE_MECA =SIMP(statut='f',typ=mode_meca), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + PROJ_MODAL =FACT(statut='f',max='**', + MODE_MECA =SIMP(statut='o',typ=mode_meca), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), + MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), + ), +#------------------------------------------------------------------- + COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), +#------------------------------------------------------------------- + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), + # EXCLUS('EVOL_NOLI','DEPL',), + # EXCLUS('EVOL_NOLI','VITE'), + # EXCLUS('EVOL_NOLI','ACCE'), + # EXCLUS('EVOL_NOLI','SIGM',), + # EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + STRX =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), + # EXCLUS('EVOL_NOLI','DEPL',), + # EXCLUS('EVOL_NOLI','VITE'), + # EXCLUS('EVOL_NOLI','ACCE'), + # EXCLUS('EVOL_NOLI','SIGM',), + # EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), +#------------------------------------------------------------------- + INCREMENT =C_INCREMENT('MECANIQUE'), +#------------------------------------------------------------------- + SCHEMA_TEMPS =FACT(statut='o', + SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', + into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), + COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), + b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", + PHI =SIMP(statut='f',typ='R',defaut= 1.05),), + + b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", + BETA =SIMP(statut='f',typ='R',defaut= 0.25), + GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), + + b_hht = BLOC(condition="SCHEMA=='HHT'", + ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), + MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), + + b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", + THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), + + b_krenk = BLOC(condition="SCHEMA=='KRENK'", + KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), + + b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", + STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), + FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), + + b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", + FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), + ), +#------------------------------------------------------------------- + METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","NEWTON_KRYLOV")), + NEWTON =C_NEWTON(), +#------------------------------------------------------------------- + RECH_LINEAIRE =C_RECH_LINEAIRE(), +#------------------------------------------------------------------- + CONVERGENCE =C_CONVERGENCE(), +#------------------------------------------------------------------- + SOLVEUR =C_SOLVEUR('DYNA_NON_LINE'), +#------------------------------------------------------------------- + OBSERVATION =C_OBSERVATION(), +#------------------------------------------------------------------- + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), +#------------------------------------------------------------------- + SUIVI_DDL =C_SUIVI_DDL(), +#------------------------------------------------------------------- + AFFICHAGE =C_AFFICHAGE(), +#------------------------------------------------------------------- + ARCHIVAGE =C_ARCHIVAGE(), +#------------------------------------------------------------------- + CRIT_STAB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), + RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + bloc_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), + TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), + PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), + SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), + bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", + DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), + bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", + DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), + ), + regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_CALC = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + MODE_VIBR =FACT(statut='f',min=1,max=1, + MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), + NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, + fr="Nombre de fréquences propres à calculer"), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), + BANDE =SIMP(statut='f',typ='R',min=2,max=2, + fr="Valeur des deux fréquences délimitant la bande de recherche",), + regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_CALC = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + b_info=BLOC(condition="(INFO==2)", + fr="filtre les messages émis dans le .mess selon le type de message demandé", + INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into=("CONTACT", + "MECA_NON_LINE", + "PILOTAGE", + "FACTORISATION", + "APPARIEMENT"), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=interspectre, + fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), + VITE_FLUI =SIMP(statut='o',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + EXCIT =FACT(statut='o', + INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, + fr="Calcul de la reponse dynamique transitoire d'un systeme amorti ou non en coordonees generalisees" + +" par superposition modale ou par sous structuration", + reentrant='f', + UIinfo={"groupes":("Resolution","Dynamique",)}, + regles=(EXCLUS('AMOR_MODAL','MATR_AMOR'), + PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), + SCHEMA_TEMPS =FACT(statut='d', + SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", + into=("NEWMARK","EULER","DEVOGE","ADAPT_ORDRE1","ADAPT_ORDRE2","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32")), + b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", + BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), + GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", + TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + b_itmi =BLOC(condition = "SCHEMA=='ITMI'", + regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + NB_MODE =SIMP(statut='f',typ='I' ), + NB_MODE_FLUI =SIMP(statut='f',typ='I' ), + TS_REG_ETAB =SIMP(statut='f',typ='R' ), + ), + ), + MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r ), + MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r ), + VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", + MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), + VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), + ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + ), + b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", + VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), + COUPLAGE_EDYOS =FACT(statut='f',max=1, + PAS_TPS_EDYOS = SIMP(statut='o',typ='R' ), + ), + + ), + + AMOR_MODAL =FACT(statut='f', max=1, + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + ), + + ROTOR_FISS = FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), + EXCLUS('NOEUD_G','GROUP_NO_G'), + PRESENT_PRESENT('NOEUD_D','NOEUD_G'), + PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), + ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), + ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + NOEUD_G = SIMP(statut='f',typ=no), + NOEUD_D = SIMP(statut='f',typ=no), + GROUP_NO_G = SIMP(statut='f',typ=grno), + GROUP_NO_D = SIMP(statut='f',typ=grno), + K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + + PALIER_EDYOS =FACT(statut='f',max='**', + regles=(PRESENT_ABSENT('UNITE','GROUP_NO'), + PRESENT_ABSENT('UNITE','TYPE_EDYOS'), + EXCLUS('GROUP_NO','NOEUD'),), + UNITE = SIMP(statut='f',typ='I',), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD = SIMP(statut='f',typ=no), + TYPE_EDYOS = SIMP(statut='f',typ='TXM', + into=("PAPANL","PAFINL","PACONL","PAHYNL",),), + ), + + ETAT_INIT =FACT(statut='f', + regles=(EXCLUS('RESULTAT','DEPL'), + EXCLUS('RESULTAT','VITE'),), + RESULTAT =SIMP(statut='f',typ=tran_gene ), + b_resu =BLOC(condition = "RESULTAT != None", + regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), + INST_INIT =SIMP(statut='f',typ='R' ), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + DEPL =SIMP(statut='f',typ=vect_asse_gene ), + VITE =SIMP(statut='f',typ=vect_asse_gene ), + ), + INCREMENT =FACT(statut='o',max='**', + regles=(UN_PARMI('LIST_INST','PAS'),), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + b_list_inst =BLOC(condition = "LIST_INST != None", + regles=(EXCLUS('NUME_FIN','INST_FIN'),), + NUME_FIN =SIMP(statut='f',typ='I' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + PAS =SIMP(statut='f',typ='R' ), + b_pas =BLOC(condition = "PAS != None", + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='o',typ='R' ), + ), + VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), + COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), + COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), + PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6 ), + NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), + NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), + PAS_MAXI =SIMP(statut='f',typ='R' ), + PAS_MINI =SIMP(statut='f',typ='R' ), + ), + ARCHIVAGE =FACT(statut='f',max=1, + regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + EXCIT =FACT(statut='f',max='**', + regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), + UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), + PRESENT_PRESENT('ACCE','VITE','DEPL'), +# PRESENT_ABSENT('NUME_ORDRE','VECT_ASSE_GENE','COEF_MULT'), + EXCLUS('MULT_APPUI','CORR_STAT'), + PRESENT_PRESENT('MULT_APPUI','ACCE'),), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", + DIRECTION =SIMP(statut='f',typ='R',max='**'), + regles=(EXCLUS('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", + D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ),), + + MODE_STAT =SIMP(statut='f',typ=mode_meca ), + MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), + + EXCIT_RESU =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=tran_gene ), + COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), + ), + + CHOC =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), + EXCLUS('NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), + INTITULE =SIMP(statut='f',typ='TXM' ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=table_fonction), + ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), + NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_TAN =SIMP(statut='f',typ='R' ), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), + b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", + COULOMB =SIMP(statut='o',typ='R' ),), + b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", + COULOMB_STAT =SIMP(statut='o',typ='R' ), + COULOMB_DYNA =SIMP(statut='o',typ='R' ),), + ), + VERI_CHOC =FACT(statut='f', + STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + FLAMBAGE =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), + EXCLUS('NOEUD_2','GROUP_NO_2'),), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=table_fonction), + ORIG_OBST =SIMP(statut='f',typ='R',max='**'), + NORM_OBST =SIMP(statut='o',typ='R',max='**'), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R' ), + DIST_2 =SIMP(statut='f',typ='R' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + FNOR_CRIT =SIMP(statut='f',typ='R' ), + FNOR_POST_FL =SIMP(statut='f',typ='R' ), + RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), + ), + ANTI_SISM =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), + UN_PARMI('NOEUD_2','GROUP_NO_2'),), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), + ), + RELA_EFFO_DEPL =FACT(statut='f',max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + RELA_EFFO_VITE =FACT(statut='f',max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + IMPRESSION =FACT(statut='f', + regles=(EXCLUS('TOUT','NIVEAU'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), +#------------------------------------------------------------------- + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: albert.alarcon at edf.fr + +#choix de structure de donnees de sortie en fonction de BASE_CALCUL et TYPE_CALCUL +def dyna_vibra_prod(self,BASE_CALCUL,TYPE_CALCUL,MATR_RIGI,**args): + if BASE_CALCUL == 'PHYS': + if TYPE_CALCUL == 'TRAN': return dyna_trans + else: + if (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo + else: return dyna_harmo + else: + if TYPE_CALCUL == 'TRAN': return tran_gene + else: return harm_gene + +#from Macro.dyna_vibra_ops import dyna_vibra_ops + +DYNA_VIBRA=MACRO(nom="DYNA_VIBRA", + op=OPS('Macro.dyna_vibra_ops.dyna_vibra_ops'), +# op=dyna_vibra_ops, + sd_prod=dyna_vibra_prod, + reentrant='f', + fr="Calcul dynamique", + UIinfo={"groupes":("Resolution","Dynamique",)}, + BASE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("PHYS","GENE") ), + TYPE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("HARM","TRAN") ), + +#parametres de mise en donnees + b_donnees =BLOC(condition = "TYPE_CALCUL=='HARM'or (TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS')", + MODELE =SIMP(statut='f',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + ), + b_matr_tran_phys =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS'", + MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r), + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r), + ), + b_matr_tran_gene =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='GENE'", + MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r), + MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r), + VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", + MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), + VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), + ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + ), + b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", + VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), + ), + ), + b_reuse_harm =BLOC(condition = "reuse and TYPE_CALCUL == 'HARM'",fr="en mode concept reentrant : RESULTAT obligatoire", + RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), + ), + b_matr_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c + ,matr_asse_gene_r,matr_asse_gene_c )), + MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r) ), + MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + ), + + AMOR_MODAL =FACT(statut='f', + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + b_mode =BLOC(condition = "BASE_CALCUL == 'PHYS' and TYPE_CALCUL == 'TRAN'", + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + ), + ), +#introduction parametres du calcul harmonique + b_param_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", + regles=(UN_PARMI('FREQ','LIST_FREQ'), + EXCLUS('NOM_CHAM','TOUT_CHAM')), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + +#parametrage des calculs transitoires + b_tran = BLOC(condition = "TYPE_CALCUL == 'TRAN'", +#parametrage des schemas d'integration + SCHEMA_TEMPS =FACT(statut='d', + SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", + into=("NEWMARK","WILSON","ADAPT_ORDRE2","DIFF_CENTRE","ADAPT_ORDRE1","DEVOGE","EULER","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32"),), + b_itmi =BLOC(condition = "SCHEMA == 'ITMI'", +regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + NB_MODE =SIMP(statut='f',typ='I' ), + NB_MODE_FLUI =SIMP(statut='f',typ='I' ), + TS_REG_ETAB =SIMP(statut='f',typ='R' ), + ), + b_newmark =BLOC(condition = "SCHEMA == 'NEWMARK'", + BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), + GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + b_wilson =BLOC(condition = "SCHEMA == 'WILSON'", + THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), + ), + b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", + TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + ), + + INCREMENT =FACT(statut='o', + regles=(UN_PARMI('LIST_INST','PAS'),), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + PAS =SIMP(statut='f',typ='R' ), + b_pas =BLOC(condition = "PAS != None", + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='o',typ='R' ), + ), + b_list =BLOC(condition = "LIST_INST != None", + regles=(EXCLUS('INST_FIN','NUME_FIN'),), + NUME_FIN =SIMP(statut='f',typ='I' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + b_veri_pas = BLOC(condition="BASE_CALCUL == 'GENE'", + VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PAS_MAXI =SIMP(statut='f',typ='R' ), + ), + VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), + COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), + COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), + PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), + NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), + PAS_MINI =SIMP(statut='f',typ='R' ), + ), + +#declaration de l'etat initial + b_init_gene =BLOC(condition="BASE_CALCUL == 'GENE'", + ETAT_INIT =FACT(statut='f', + regles=(EXCLUS('RESULTAT','DEPL'), + EXCLUS('RESULTAT','VITE'),), + RESULTAT =SIMP(statut='f',typ=tran_gene), + b_resu =BLOC(condition = "RESULTAT != NONE", + regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + INST_INIT =SIMP(statut='f',typ='R' ), + b_inst_init =BLOC(condition = "INST_INIT != None", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), + ), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',), + ), + ), + ), + DEPL =SIMP(statut='f',typ=vect_asse_gene), + VITE =SIMP(statut='f',typ=vect_asse_gene), + ), + ), + b_init_phys =BLOC(condition="BASE_CALCUL == 'PHYS'", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), + PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), + RESULTAT =SIMP(statut='f',typ=dyna_trans), + b_resu =BLOC(condition = "RESULTAT != NONE", + regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + INST_INIT =SIMP(statut='f',typ='R' ), + b_inst_init =BLOC(condition = "INST_INIT != None", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), + ), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',), + ), + ), + ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + ), + ), +#parametres d'archivage + bloc_archi =BLOC(condition="TYPE_CALCUL == 'TRAN'", + ARCHIVAGE =FACT(statut='f',max=1, + regles=(EXCLUS('LIST_INST','PAS_ARCH','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + + b_cham_exclu =BLOC(condition="BASE_CALCUL == 'PHYS'", + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), + ), + ),),), + +#calcul des energies + bloc_ener =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + ), + +#definition du chargement + b_excit_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", + EXCIT =FACT(statut='o',max='**', + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), + UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), + ), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), + CHARGE =SIMP(statut='f', typ=char_meca ), + FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), + COEF_MULT_C =SIMP(statut='f',typ='C' ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), + + ), + EXCIT_RESU =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene) ), + COEF_MULT_C =SIMP(statut='o',typ='C' ),), + + ), + b_excit_tran_mod=BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'GENE'", + regles=(PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), + EXCIT =FACT(statut='f',max='**', + regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), + UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + EXCLUS('MULT_APPUI','CORR_STAT'), + PRESENT_PRESENT('MULT_APPUI','ACCE'), + ), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), + NUME_ORDRE =SIMP(statut='f',typ='I' ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", + regles=(EXCLUS('NOEUD','GROUP_NO'),), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", + D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + ), + MODE_STAT =SIMP(statut='f',typ=mode_meca ), + MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), + + EXCIT_RESU =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=tran_gene ), + COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), + ), + + ), + b_excit_line_tran =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", + EXCIT =FACT(statut='f',max='**', + regles=(UN_PARMI('CHARGE','VECT_ASSE'), + EXCLUS('CHARGE','COEF_MULT'), + EXCLUS('FONC_MULT','COEF_MULT'), + EXCLUS('ACCE','COEF_MULT'), + PRESENT_ABSENT('ACCE','FONC_MULT'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + ), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + CHARGE =SIMP(statut='f',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", + regles=(EXCLUS('NOEUD','GROUP_NO'),), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + ), + MODE_STAT =SIMP(statut='f',typ=mode_meca ), + EXCIT_RESU =FACT(statut='f', + RESULTAT =SIMP(statut='o',typ=dyna_trans ), + COEF_MULT =SIMP(statut='o',typ='R' ), + ), + ), + +#definition des chocs + b_non_line_loca =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL=='GENE'", + CHOC =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), + EXCLUS('NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), + INTITULE =SIMP(statut='f',typ='TXM' ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=table_fonction), + ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), + NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_TAN =SIMP(statut='f',typ='R' ), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), + b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", + COULOMB =SIMP(statut='o',typ='R' ),), + b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", + COULOMB_STAT =SIMP(statut='o',typ='R' ), + COULOMB_DYNA =SIMP(statut='o',typ='R' ),), + ), + VERI_CHOC =FACT(statut='f', + STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + + ROTOR_FISS = FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), + EXCLUS('NOEUD_G','GROUP_NO_G'), + PRESENT_PRESENT('NOEUD_D','NOEUD_G'), + PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), + ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), + ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + NOEUD_G = SIMP(statut='f',typ=no), + NOEUD_D = SIMP(statut='f',typ=no), + GROUP_NO_G = SIMP(statut='f',typ=grno), + GROUP_NO_D = SIMP(statut='f',typ=grno), + K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + +#parametres flambage + FLAMBAGE =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), + EXCLUS('NOEUD_2','GROUP_NO_2'),), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=table_fonction), + ORIG_OBST =SIMP(statut='f',typ='R',max='**'), + NORM_OBST =SIMP(statut='o',typ='R',max='**'), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R' ), + DIST_2 =SIMP(statut='f',typ='R' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + FNOR_CRIT =SIMP(statut='f',typ='R' ), + FNOR_POST_FL =SIMP(statut='f',typ='R' ), + RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), + ), + +#non-linearite si dispositif anti-sismique + ANTI_SISM =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), + UN_PARMI('NOEUD_2','GROUP_NO_2'),), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), + ), +#non-linearite effort-deplacement + RELA_EFFO_DEPL =FACT(statut='f',max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), +#non-linearite effort-vitesse + RELA_EFFO_VITE =FACT(statut='f',max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + b_solv_harm_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='HARM'", + fr="Methode de resolution matrice generalisee", + SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), + ), + b_solv_harm_phys =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='HARM'", + fr="Methode de resolution matrice sur ddl physique", + SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), + ), + b_solv_line_tran =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='TRAN'", + SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), + ), + b_solv_tran_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", + SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), + ), +#------------------------------------------------------------------- + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + b_impression = BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", + IMPRESSION =FACT(statut='f', + regles=(EXCLUS('TOUT','NIVEAU'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + ), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def elim_lagr_prod(MATR_RIGI,**args): + if AsType(MATR_RIGI) == matr_asse_depl_r : return matr_asse_depl_r + raise AsException("type de concept resultat non prevu") + +ELIM_LAGR=OPER(nom="ELIM_LAGR",op=69,sd_prod=elim_lagr_prod, + fr="Créer une matrice en ayant éliminé les condition cinématiques dualisées.", + reentrant='f', UIinfo={"groupes":("Résolution",)}, + + # Matrice de "rigidité" (celle qui contient les équations dualisées) : + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,) ), + + # Matrice à réduire (si ce n'est pas la matrice de rigidité) : + MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,) ), + + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, + UIinfo={"groupes":("Impression","Utilitaires",)}, + fr="Engendre des tests pour la non régression du code (pour développeurs)", + UNITE =SIMP(statut='f',typ='I',defaut=8), + FORMAT =SIMP(statut='f',typ='TXM',into=("OBJET",) ), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE20.13"), + PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-10"), +#============================================================================ + b_aster =BLOC( condition = "FORMAT==None", + CO =SIMP(statut='o',typ=(cham_gd_sdaster,resultat_sdaster,table_sdaster), + validators=NoRepeat(),max='**'), + TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMM_ABS",into=("SOMME","SOMM_ABS","MAX","MIN") ), + ), +#============================================================================ + b_objet =BLOC( condition = "FORMAT=='OBJET'", + regles=(UN_PARMI('TOUT','CO'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'), + TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +# ENVOI DES CHAMPS CINEMATIQUES VIA YACS POUR COUPLAGE IFS +# +ENV_CINE_YACS=PROC(nom = "ENV_CINE_YACS", + op = 111, + UIinfo = {"groupes":("Résultats et champs",)}, + fr = "Envoi des champs de deplacement et vitesse via YACS pour Couplage de Code_Aster et Saturne", + regles = (EXCLUS('ETAT_INIT','RESULTAT',),), + MATR_PROJECTION = SIMP(statut='o', typ=corresp_2_mailla,), + VIS_A_VIS = FACT(statut='o', max='**', + GROUP_MA_1=SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO_2=SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), + RESULTAT = FACT(statut='f', + NUME_ORDRE=SIMP(statut='o', typ='I', validators=NoRepeat()), + RESU =SIMP(statut='o', typ=resultat_sdaster, validators=NoRepeat()),), + ETAT_INIT = FACT(statut='f', + DEPL=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), + VITE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), + ACCE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),), + INST = SIMP(statut='o',typ='R', ), + PAS = SIMP(statut='o',typ='R', ), + NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + +def exec_logiciel_prod(self, MAILLAGE, **args): + if MAILLAGE != None: + mcf = MAILLAGE[0] + self.type_sdprod(mcf['MAILLAGE'], maillage_sdaster) + return None + +EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL", + op=OPS('Macro.exec_logiciel_ops.exec_logiciel_ops'), + sd_prod=exec_logiciel_prod, + fr="Exécute un logiciel ou une commande système depuis Aster", + UIinfo={"groupes":("Gestion du travail","Outils-métier",)}, + + regles = ( AU_MOINS_UN('LOGICIEL', 'MAILLAGE', 'SALOME'), + EXCLUS('MACHINE_DISTANTE','MAILLAGE'), + EXCLUS('MAILLAGE','SALOME'), + ), + + LOGICIEL = SIMP(statut='f', typ='TXM'), + ARGUMENT = SIMP(statut='f', max='**', typ='TXM'), + + + MACHINE_DISTANTE = FACT(statut='f', + SSH_ADRESSE = SIMP(statut='o', typ='TXM', val_min=1, val_max=255, + fr="Adresse IP ou nom de la machine sur laquelle le logiciel/script sera exécuté via SSH"), + SSH_LOGIN = SIMP(statut='f', typ='TXM', val_min=1, val_max=255, + fr="Nom d'utilisateur sur la machine distante"), + SSH_PORT = SIMP(statut='f', typ='I', val_min=1, val_max=65535, defaut=22, + fr="Port SSH de la machien distante"), + ), + + + MAILLAGE = FACT(statut='f', + FORMAT = SIMP(statut='o', typ='TXM', into=("GMSH", "GIBI", "SALOME")), + UNITE_GEOM = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=16, + fr="Unité logique définissant le fichier (fort.N) contenant les données géométriques (datg)"), + UNITE = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=19, + fr="Unité logique définissant le fichier (fort.N) produit par le mailleur"), + MAILLAGE = SIMP(statut='o', typ=CO), + ), + + + SALOME = FACT(statut='f', + regles=(UN_PARMI('CHEMIN_SCRIPT', 'UNITE_SCRIPT'), + PRESENT_PRESENT('NOM_PARA','VALE'),), + CHEMIN_SCRIPT = SIMP(statut='f', typ='TXM', + fr="Chemin du script Salome"), + UNITE_SCRIPT = SIMP(statut='f', typ='I', val_min=80, val_max=99, + fr="Unité logique du script Salome"), + SALOME_HOST = SIMP(statut='f', typ='TXM', defaut='localhost', + fr="Machine sur laquelle tourne Salome"), + SALOME_PORT = SIMP(statut='f', typ='I', val_min=2800, val_max=2900, defaut=2810, + fr="Port de l'instance Salome (2810 ou supérieur)"), + SALOME_RUNAPPLI = SIMP(statut='f', typ='TXM', + fr="Chemin vers le script de lancement runAppli de Salome"), + FICHIERS_ENTREE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', + fr="Liste des fichiers d'entrée du script Salome"), + FICHIERS_SORTIE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', + fr="Liste des fichiers générés par le script Salome"), + NOM_PARA = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + fr="Liste des noms des paramètres à modifier dans le script Salome"), + VALE = SIMP(statut='f',typ='TXM',max='**', + fr="Valeur des paramètres à) modifier dans le script Salome"), + ), + + CODE_RETOUR_MAXI = SIMP(statut='f', typ='I', defaut=0, val_min=-1, + fr="Valeur maximale du code retour toléré (-1 pour l'ignorer)"), + + INFO = SIMP(statut='f', typ='I', defaut=2, into=(1,2),), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr + +def extr_mode_prod(FILTRE_MODE,**args): + vale=FILTRE_MODE[0]['MODE'] + if AsType(vale) == mode_meca : return mode_meca + if AsType(vale) == mode_meca_c : return mode_meca_c + if AsType(vale) == mode_gene : return mode_gene + raise AsException("type de concept resultat non prevu") + +EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, + reentrant='n',fr="Extraire séléctivement des modes des structures de données modales", + UIinfo={"groupes":("Résolution","Dynamique",)}, + FILTRE_MODE =FACT(statut='o',max='**', + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),), + MODE =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + FREQ_MIN =SIMP(statut='f',typ='R' ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ), + b_freq_min =BLOC(condition = "FREQ_MIN != None", + FREQ_MAX =SIMP(statut='o',typ='R' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + b_crit_extr =BLOC(condition = "CRIT_EXTR != None", + regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),), + SEUIL =SIMP(statut='f',typ='R'), + SEUIL_X =SIMP(statut='f',typ='R'), + SEUIL_Y =SIMP(statut='f',typ='R'), + SEUIL_Z =SIMP(statut='f',typ='R'), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + IMPRESSION =FACT(statut='f', + CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + +def extr_resu_prod(RESULTAT,**args): + if AsType(RESULTAT) == evol_elas : return evol_elas + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == evol_ther : return evol_ther + if AsType(RESULTAT) == evol_varc : return evol_varc + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if AsType(RESULTAT) == dyna_harmo : return dyna_harmo + if AsType(RESULTAT) == acou_harmo : return acou_harmo + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_acou : return mode_acou + if AsType(RESULTAT) == mult_elas : return mult_elas + if AsType(RESULTAT) == fourier_elas : return fourier_elas + + raise AsException("type de concept resultat non prevu") + +EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Extraire des champs au sein d'une SD Résultat", + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, + mode_acou,evol_ther,evol_noli,evol_varc, + mult_elas,fourier_elas,fourier_ther ) ), + + + ARCHIVAGE =FACT(statut='f', + regles=( UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE', + 'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE', + 'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ), + EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ), ), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + PAS_ARCH =SIMP(statut='f',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ), + + RESTREINT =FACT(statut='f', max=1, + fr="Pour réduire une ou plusieurs sd_resultat sur un maillage ou un modèle réduit", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def extr_table_prod(TYPE_RESU,**args): + defs = globals() + typ = TYPE_RESU.lower() + if defs.get(typ) is not None: + return defs[typ] + raise AsException("type de concept resultat non prevu") + +EXTR_TABLE=OPER(nom="EXTR_TABLE", + op=173, + sd_prod=extr_table_prod, + reentrant='n', + UIinfo={"groupes":("Résultats et champs","Tables")}, + fr="Extraire d'une table des concepts Code_Aster", + TYPE_RESU =SIMP(statut='o',typ='TXM', + into=('MATR_ASSE_GENE_R', 'MATR_ELEM_DEPL_R', + 'VECT_ELEM_DEPL_R', + 'CHAM_GD_SDASTER', 'CHAM_NO_SDASTER', + 'CARTE_SDASTER', 'CHAM_ELEM', + 'MODE_MECA','TABLE_SDASTER', + 'FONCTION_SDASTER', 'FONCTION_C', 'NAPPE_SDASTER', + 'ENTIER', 'REEL'),), + + TABLE =SIMP(statut='o',typ=(table_sdaster,table_container)), + + NOM_PARA =SIMP(statut='o',typ='TXM'), + + FILTRE =FACT(statut='f',min=1,max='**', + NOM_PARA =SIMP(statut='o',typ='TXM'), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_K =SIMP(statut='f',typ='TXM'),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def factoriser_prod(MATR_ASSE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r + if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c + if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r + if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c + if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r + if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c + raise AsException("type de concept resultat non prevu") + +FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod, + fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+ + "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué", + reentrant='f', UIinfo={"groupes":("Résolution",)}, + regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), + EXCLUS('BLOC_FIN','DDL_FIN'),), + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, + matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), + + # mots clés pour solveur LDLT et MULT_FRONT et MUMPS: + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NPREC =SIMP(statut='f',typ='I',defaut=8), + + # mots clés pour solveur LDLT : + BLOC_DEBUT =SIMP(statut='f',typ='I',val_min=1,), + DDL_DEBUT =SIMP(statut='f',typ='I',val_min=1,), + BLOC_FIN =SIMP(statut='f',typ='I',val_min=1,), + DDL_FIN =SIMP(statut='f',typ='I',val_min=1,), + + # mots clés pour solveur MUMPS : + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PRETRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + ELIM_LAGR =SIMP(statut='f',typ='TXM',defaut="LAGR2",into=("LAGR2","NON")), + GESTION_MEMOIRE =SIMP(statut='f',typ='TXM',defaut="IN_CORE",into=("IN_CORE","OUT_OF_CORE","EVAL")), + + # mots clés pour solveur GCPC et PETSc : + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR","LDLT_SP"),defaut="LDLT_INC" ), + b_ldlt_inc =BLOC(condition = "PRE_COND == 'LDLT_INC' ", + NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ), + REMPLISSAGE = SIMP(statut='f',typ='R',defaut= 1.0), + ), + b_ldlt_sp =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision", + REAC_PRECOND =SIMP(statut='f',typ='I',defaut=30, ), + ), + b_jacobi_sor =BLOC(condition = "PRE_COND == 'JACOBI' or PRE_COND == 'SOR'", + fr="Paramètres des préconditionneurs JACOBI et SOR", + RENUM =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","RCMK") ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE", + UIinfo={"groupes":("Gestion du travail",)}, +# +# FIN est appelé prématurément en cas d'exception ("SIGUSR1", ArretCPUError, +# NonConvergenceError..., erreurs ou erreurs récupérées). +# En cas d'ArretCPUError, on limite au maximum le travail à faire dans FIN. +# Pour cela, on force certains mots-clés dans Execution/E_JDC.py. +# + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), + RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE", + statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données", + statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + UNITE =SIMP(statut='f',typ='I',defaut=6), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, + reentrant='n',fr="Crée une fonction constante paramétrée par l'abscisse curviligne", + UIinfo={"groupes":("Fonctions",)}, + TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def formule_prod(self, VALE, VALE_C, **args): + if VALE != None: + return formule + elif VALE_C != None: + return formule_c + +FORMULE=FORM(nom="FORMULE", + op_init=ops.build_formule, + op=-5, + sd_prod=formule_prod, + UIinfo={"groupes":("Fonctions",)}, + fr="Définit une formule réelle ou complexe à partir de son expression mathématique", + regles = (UN_PARMI('VALE', 'VALE_C',),), + VALE = SIMP(statut='f', typ='TXM'), + VALE_C = SIMP(statut='f', typ='TXM'), + NOM_PARA = SIMP(statut='o', typ='TXM', max='**'), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +GENE_ACCE_SEISME=MACRO(nom="GENE_ACCE_SEISME", + op=OPS('Macro.gene_acce_seisme_ops.gene_acce_seisme_ops'), + sd_prod=table_fonction, + fr="Generation d'accelerogrammes sismiques ", + reentrant='n', + UIinfo={"groupes":("Fonctions","Dynamique",)}, + + INIT_ALEA =SIMP(statut='f',typ='I'), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + PAS_INST =SIMP(statut='o',typ='R' ), + NB_POIN =SIMP(statut='f',typ='I',fr="nombre de points" ), + PESANTEUR =SIMP(statut='o', typ='R', fr="constante de normalisation de ACCE_MAX, ECART_TYPE et INTE_ARIAS (g) ou le spectre" ), + DUREE_PHASE_FORTE =SIMP(statut='o',typ='R',fr="durée phase forte du signal" ), + NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1,fr="nombre accelerogrammes" ), + FREQ_FILTRE =SIMP(statut='f',typ='R',fr="frequence du filtre: corner frequency"), +# + DSP = FACT(statut='f',max=1, + AMOR_REDUIT =SIMP(statut='o',typ='R'), + FREQ_FOND =SIMP(statut='o',typ='R', fr="frequence centrale"), + FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), + ), + SPEC_MEDIANE = FACT(statut='f',max=1, + regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), + AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), + FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), + LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), + NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), + ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), + ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), + ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), + FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), + METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), + ), + SPEC_UNIQUE = FACT(statut='f',max=1, + regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), + ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), + ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), + ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), + AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), + FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), + LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), + NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), + METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), + ), +# + SPEC_FRACTILE = FACT(statut='f',max=1, + regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'), EXCLUS('FREQ_PAS','LIST_FREQ'),), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), + SPEC_1_SIGMA =SIMP(statut='o',typ=(fonction_sdaster),), + AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), + FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), + LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), + FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), + ), + + + regles=(UN_PARMI('DSP','SPEC_MEDIANE','SPEC_UNIQUE','SPEC_FRACTILE'),), + MODULATION = FACT(statut='o',max=1, + regles=(EXCLUS('ACCE_MAX','INTE_ARIAS','ECART_TYPE'),), + TYPE = SIMP(statut='o',typ='TXM' , into=("GAMMA","JENNINGS_HOUSNER","CONSTANT")), + ACCE_MAX = SIMP(statut='f',typ='R',fr="PGA: acceleration max au sol (g)" ), + ECART_TYPE = SIMP(statut='f',typ='R',fr="ecart-type" ), + INTE_ARIAS = SIMP(statut='f',typ='R',fr="intensite d'Arias" ), + c_type_mod = BLOC(condition="TYPE=='GAMMA' ", + INST_INI = SIMP(statut='o',typ='R',fr="instant debut phase forte" ), + ), + ), +) ; + + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction, + fr="Génération de la fonction temporelle à partir d une matrice interspectrale", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + INTE_SPEC =SIMP(statut='o',typ=interspectre), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), + b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee", + DUREE_TIRAGE =SIMP(statut='f',typ='R' ), + FREQ_INIT =SIMP(statut='f',typ='R' ), + FREQ_FIN =SIMP(statut='f',typ='R' ), + ), + NB_POIN =SIMP(statut='f',typ='I'), + NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ), + INIT_ALEA =SIMP(statut='f',typ='I'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +def gene_matr_alea_prod(MATR_MOYEN,**args ): + if (AsType(MATR_MOYEN) == matr_asse_gene_r ) : return matr_asse_gene_r + if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna + raise AsException("type de concept resultat non prevu") + +GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27, +#sd_prod=matr_asse_gene_r, +sd_prod=gene_matr_alea_prod, + fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + MATR_MOYEN = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)), + +# cas matrice generalisee + b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)", + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , + fr="coefficient de variation de la matrice a generer" ), + ), +# cas macr_elem_dyna + b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)", + fr="cas macr_elem_dyna (sous-structuratio)", + COEF_VAR_RIGI = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , + fr="coefficient de variation de la matrice de raideur" ), + COEF_VAR_MASS = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , + fr="coefficient de variation de la matrice de masse" ), + COEF_VAR_AMOR = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , + fr="coefficient de variation de la matrice d'amortissement" ),), + + INIT_ALEA =SIMP(statut='f',typ='I'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr + +GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA", + op_init=ops.build_gene_vari_alea, + op=EMPTY_OPS, + sd_prod=reel, + reentrant='n', + fr="Générer une réalisation d'une variable aléatoire réelle " \ + "de loi de probabilité donnée (Gamma ou Exponentielle)", + UIinfo={"groupes":("Fonctions",)}, + TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), + b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", + VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), + ), + b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + ), + b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), + ), + INIT_ALEA =SIMP(statut='f',typ='I'), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +IMPR_CO=PROC(nom="IMPR_CO",op=17, + UIinfo={"groupes":("Impression","Utilitaires",)}, + fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)", + regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),), + + UNITE =SIMP(statut='f',typ='I',defaut=8), + NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ), + ATTRIBUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), + CONTENU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), + BASE =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ), + CONCEPT =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),), + CHAINE =SIMP(statut='f',typ='TXM'), + POSITION =SIMP(statut='f',typ='I',defaut=1), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# + + +IMPR_DIAG_CAMPBELL=MACRO(nom="IMPR_DIAG_CAMPBELL", + op=OPS('Macro.impr_diag_campbell_ops.impr_diag_campbell_ops'), + fr="Tracé du Diagramme de Campbell", + UIinfo={"groupes":("Impression","Outils-métier",)}, + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODES =SIMP(statut='o',typ=table_container), + NFREQ_CAMP =SIMP(statut='o',typ='I' ), + TYP_PREC =SIMP(statut='f',typ='I',defaut= 1, into=(1,2) ), + TYP_TRI =SIMP(statut='f',typ='I',defaut= 2, into=(0,1,2) ), + UNIT_FLE =SIMP(statut='o',typ='I' ,val_min=1), + UNIT_TOR =SIMP(statut='o',typ='I' ,val_min=1), + UNIT_LON =SIMP(statut='o',typ='I' ,val_min=1), + UNIT_TOT =SIMP(statut='o',typ='I' ,val_min=1), + UNIT_INT =SIMP(statut='o',typ='I' ,val_min=1), + L_S =SIMP(statut='f',typ='R', defaut= 1., max='**'), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +IMPR_FONCTION=MACRO(nom="IMPR_FONCTION", + op=OPS('Macro.impr_fonction_ops.impr_fonction_ops'), + sd_prod=None, + fr="Imprime le contenu d'objets de type fonction ou liste de " \ + "réels dans un fichier destiné à un traceur de courbe", + UIinfo={"groupes":("Impression","Fonctions",)}, + FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', + into=("TABLEAU","AGRAF","XMGRACE",),), + b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", + fr="Mots-clés propres à AGRAF", + UNITE =SIMP(statut='o',typ='I',defaut=25, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, + fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), + ), + # unite pour TABLEAU dans le bloc de mise en forme spécifique + + COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", + regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), + FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), + fr="Fonction réelle ou complexe", ), + LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, + fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), + FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), + fr="Fonction abscisses d'une fonction paramétrique",), + ABSCISSE =SIMP(statut='f',typ='R',max='**', + fr="Valeurs des abscisses", ), + b_fonction =BLOC(condition = "FONCTION != None", + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + ), + b_fonction_c =BLOC(condition = "AsType(FONCTION) in (fonction_c, formule_c)", + fr="Fonction complexe définie par le mot-clé fonction", + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), + ), + b_list_resu =BLOC(condition = "LIST_RESU != None", + LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), + ), + b_fonc_x =BLOC(condition = "FONC_X != None", + FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + ), + b_vale_resu =BLOC(condition = "ABSCISSE != None", + ORDONNEE =SIMP(statut='o',typ='R',max='**', + fr="Valeurs des ordonnées"), + ), + + # mots-clés utilisant uniquement aux formats autres que TABLEAU + # mais ce serait trop pénible de devoir les supprimer quand on change de format + # donc on ne les met pas dans un bloc + # "pseudo" bloc mise en forme : + LEGENDE =SIMP(statut='f',typ='TXM', + fr="Légende associée à la fonction" ), + STYLE =SIMP(statut='f',typ='I',val_min=0, + fr="Style de la ligne représentant la fonction",), + COULEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Couleur associée à la fonction",), + MARQUEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Type du marqueur associé à la fonction",), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, + fr="Fréquence d impression du marqueur associé à la fonction", ), + # fin bloc mise en forme + + TRI =SIMP(statut='f',typ='TXM',defaut="N", + fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", + into=("N","X","Y","XY","YX") ), + ), + # Mise en page du tableau ou du graphique + b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", + fr="Mots-clés propres au format Tableau", + UNITE =SIMP(statut='o',typ='I',defaut=8, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', + fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), + COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', + fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), + COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), + DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère de debut de ligne"), + FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', + fr="Caractère de fin de ligne"), + ), + b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", + fr="Mise en page du graphique", + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des abscisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des ordonnées"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les abscisses" ), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les ordonnées" ), + GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage vertical" ), + GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage horizontal" ), + LEGENDE_X =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des abscisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des ordonnées" ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, + fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT", + UIinfo={"groupes":("Impression","Dynamique",)}, + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), + UNITE =SIMP(statut='f',typ='I',defaut=8), + GENE =FACT(statut='o',max='**', + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'), + EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'), + EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'), + EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'), + EXCLUS('TOUT_CHAM','NOM_CHAM'), + EXCLUS('TOUT_PARA','NOM_PARA'),), +# faut-il faire des blocs selon le type de RESU_GENE + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NUME_CMP_GENE =SIMP(statut='f',typ='I',max='**'), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, + UIinfo={"groupes":("Impression","Utilitaires",)}, + fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)", + ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM', + into=("DISQUE","MEMOIRE","REPERTOIRE", + "OBJET","ATTRIBUT","SYSTEME","ENREGISTREMENT") ), + b_objet =BLOC(condition = "(ENTITE=='OBJET')", + NOMOBJ =SIMP(fr="nom d'objet",statut='f',typ='TXM' ), + NUMOC =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ), + NOMOC =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ), + ), + b_attribut =BLOC(condition = "(ENTITE=='ATTRIBUT')", + NOMOBJ =SIMP(fr="nom de collection",statut='f',typ='TXM' ), + NOMATR =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM', + into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG', + '$$LONO','$$LUTI','$$NUM') ), + ), + b_systeme =BLOC(condition = "(ENTITE=='SYSTEME')", + CLASSE =SIMP(statut='o',typ='TXM',into=('G','V') ), + NOMATR =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM', + into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ', + '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG', + '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX', + '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ), + ), + b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')", + CLASSE =SIMP(statut='f',typ='TXM',into=('G','V',' '),defaut=' '), + ), + b_disque =BLOC(condition = "(ENTITE=='DISQUE')", + CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V',' '),defaut=' '), + ), + b_enregist =BLOC(condition = "(ENTITE=='ENREGISTREMENT')", + CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V'),defaut='G'), + NUMERO =SIMP(statut='o',typ='I',val_min=1), + INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=1), + ), + IMPRESSION =FACT(statut='f', + NOM =SIMP(statut='f',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I'), + ), + COMMENTAIRE =SIMP(statut='f',typ='TXM' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr + +IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, + UIinfo={"groupes":("Impression","Outils-métier",)}, + fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D", + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", + into=("MISS_3D","IDEAS") ), + + b_ideas =BLOC(condition = "FORMAT == 'IDEAS'", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + ), + + b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'", + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), + UNITE =SIMP(statut='f',typ='I',defaut= 26 ), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R' ,max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'), + GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_CONTROL=SIMP(statut='f',typ=grma,max='**'), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5",into=("1PE12.5","1PE16.9") ), + IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +# RECUPERATION DES MAILLAGES IFS VENANT DE SATURNE VIA YACS +# +IMPR_MAIL_YACS=PROC(nom="IMPR_MAIL_YACS",op=43, + UIinfo={"groupes":("Maillage",)}, + fr="Lecture d'un maillage via YACS lors du Couplage de Code_Aster et Saturne", + UNITE_MAILLAGE = SIMP(statut='f',typ='I',defaut=30), + TYPE_MAILLAGE = SIMP(statut='o',typ='TXM',into=("SOMMET","MILIEU")), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: isabelle.fournier at edf.fr +# +IMPR_OAR =MACRO(nom="IMPR_OAR", + op=OPS('Macro.impr_oar_ops.impr_oar_ops'), + sd_prod=None, + fr="Impression au format OAR", + UIinfo={"groupes":("Impression","Outils-métier",)}, + TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')), + b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ", + regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), + DIAMETRE = SIMP(statut='o', typ='R'), + ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), + COEF_U = SIMP(statut='f', typ='R', defaut=1.0), + ANGLE_C = SIMP(statut='o', typ='R', defaut=0.0), + REVET = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), + RESU_MECA = FACT(statut='f', max='**', + NUM_CHAR = SIMP(statut='o', typ='I'), + TYPE = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')), + TABLE = SIMP(statut='o', typ=table_sdaster), + TABLE_S = SIMP(statut='f', typ=table_sdaster)), + RESU_THER = FACT(statut='f', max='**', + NUM_TRAN = SIMP(statut='o', typ='I'), + TABLE_T = SIMP(statut='o', typ=table_sdaster), + TABLE_TEMP= SIMP(statut='o', typ=table_sdaster), + TABLE_S = SIMP(statut='f', typ=table_sdaster), + TABLE_ST = SIMP(statut='f', typ=table_sdaster)), + ), + b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ", + regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), + DIAMETRE = SIMP(statut='o', typ='R'), + ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), + COEF_U = SIMP(statut='f', typ='R', defaut=1.0), + RESU_MECA = FACT(statut='f', max='**', + AZI = SIMP(statut='o', typ='R'), + TABLE_T = SIMP(statut='o', typ=table_sdaster), + TABLE_F = SIMP(statut='o', typ=table_sdaster), + TABLE_P = SIMP(statut='o', typ=table_sdaster), + TABLE_CA = SIMP(statut='o', typ=table_sdaster)), + RESU_THER=FACT(statut='f', max='**', + AZI = SIMP(statut='o', typ='R'), + NUM_CHAR = SIMP(statut='o', typ='I'), + TABLE_T = SIMP(statut='o', typ=table_sdaster), + TABLE_TI = SIMP(statut='o', typ=table_sdaster)), + ), + b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ", + RESU_MECA = FACT(statut='o', max='**', + NUM_CHAR = SIMP(statut='o', typ='I'), + TABLE = SIMP(statut='o', typ=table_sdaster), + MAILLAGE = SIMP(statut='o', typ=maillage_sdaster)), + ), + UNITE = SIMP(statut='f',typ='I',defaut=38), + AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr +IMPR_RESU=PROC(nom="IMPR_RESU",op=39, + UIinfo={"groupes":("Impression","Résultats et champs",)}, + fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)", + + FORMAT =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT", + into=("RESULTAT","IDEAS","ASTER","CASTEM","MED","GMSH") ), + + b_modele =BLOC(condition="FORMAT!='MED'",fr="Modèle", + MODELE =SIMP(statut='f',typ=modele_sdaster), + ), + + b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", + UNITE =SIMP(statut='f',typ='I',defaut=8), + ), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_aster =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER", + UNITE =SIMP(statut='f',typ='I',defaut=26), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM", + UNITE =SIMP(statut='f',typ='I',defaut=37), + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + b_format_med =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED", + UNITE =SIMP(statut='f',typ='I',defaut=80), + ), + + b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH", + UNITE =SIMP(statut='f',typ='I',defaut=37), + VERSION =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)), + ), + + regles=(AU_MOINS_UN('CONCEPT','RESU',),), + + b_restreint =BLOC(condition="FORMAT=='MED'",fr="Seulement pour les fichiers MED", + RESTREINT =FACT(statut='f', max=1, + fr="Pour réduire une ou plusieurs sd_resultat sur un ensemble de mailles", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), + ), + ), + + CONCEPT =FACT(statut='f',max='**', + fr='Pour imprimer les champs de "données" à des fins de visualisation (controle des affectations).', + # (valide pour les format RESULTAT et MED) + regles=(UN_PARMI('CHAM_MATER','CARA_ELEM','CHARGE'),), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='f',typ=char_meca), + + b_cara_elem =BLOC(condition="CARA_ELEM != None", fr="impression des reperes locaux.", + REPERE_LOCAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + b_reploc =BLOC(condition="REPERE_LOCAL == 'OUI'", fr="impression des reperes locaux.", + MODELE =SIMP(statut='o',typ=modele_sdaster), + ), + ), + ), + + RESU =FACT(statut='f',max='**', + + regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE',), + EXCLUS('CHAM_GD','RESULTAT'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette)), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + + b_info_med =BLOC(condition="FORMAT=='MED'", + INFO_MAILLAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + + b_partie =BLOC(condition="""(AsType(RESULTAT) in (dyna_harmo, acou_harmo) or + AsType(CHAM_GD) != carte_sdaster) and FORMAT in ('CASTEM', 'GMSH', 'MED')""", + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), + ), + + b_vari_el =BLOC(condition="FORMAT==('MED')", + IMPR_NOM_VARI=SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), + ), + + b_extrac =BLOC(condition="RESULTAT != None", + fr="extraction d un champ de grandeur", + regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', + 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGLE'),), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ANGLE =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + + b_acce_reel =BLOC(condition="(ANGLE != None)or(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), +### + b_parametres =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""", + regles=(EXCLUS('TOUT_PARA','NOM_PARA'),), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + FORM_TABL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ), + ), +### + b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ + ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", + fr="sélection des composantes", + regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), +### + b_med=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and(FORMAT == 'MED')""", + fr="renommage du champ", + regles=(EXCLUS('NOM_CHAM_MED','NOM_RESU_MED'),), + NOM_CHAM_MED =SIMP(statut='f',typ='TXM', + validators=AndVal((LongStr(1,64), NoRepeat())), max='**'), + NOM_RESU_MED =SIMP(statut='f',typ='TXM'), + ), +### + b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""", + fr="sélection des composantes et des entités toplogiques", + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TYPE_CHAM =SIMP(statut='f',typ='TXM',defaut="SCALAIRE", + into=("VECT_2D","VECT_3D","SCALAIRE","TENS_2D","TENS_3D"),), + b_scal =BLOC(condition = "TYPE_CHAM=='SCALAIRE'", + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ),), + b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), + b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), + b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), + b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), + ), +### + b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ + ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", + fr="sélection des entités topologiques", + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), +### + b_valeurs=BLOC(condition="(FORMAT == 'RESULTAT')", + fr="sélection sur les valeurs", + VALE_MAX =SIMP(statut='f',typ='TXM',into=("OUI",) ), + VALE_MIN =SIMP(statut='f',typ='TXM',into=("OUI",) ), + BORNE_SUP =SIMP(statut='f',typ='R'), + BORNE_INF =SIMP(statut='f',typ='R'), + IMPR_COOR =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + b_format_r=BLOC(condition="""((FORMAT == 'RESULTAT')or(FORMAT == 'ASTER'))""", + fr="Format des nombres réels", + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE21.14"), + ), + + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +IMPR_TABLE=MACRO(nom="IMPR_TABLE", + op=OPS('Macro.impr_table_ops.impr_table_ops'), + sd_prod=None, + UIinfo={"groupes":("Impression","Tables",)}, + fr="Impression du contenu d'une table dans un fichier", + TABLE =SIMP(statut='o',typ=table_sdaster), + FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLEAU", + into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),), + b_pilote =BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + b_unite =BLOC(condition = "FORMAT != 'XMGRACE'", + UNITE =SIMP(statut='f',typ='I',defaut=8, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + FILTRE =FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM'), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS"),), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R',max='**'), + VALE_I =SIMP(statut='f',typ='I',max='**'), + VALE_C =SIMP(statut='f',typ='C',max='**'), + VALE_K =SIMP(statut='f',typ='TXM',max='**'), + ), + b_crit =BLOC(condition = "CRIT_COMP in ('EQ','NE')", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + ), + TRI =FACT(statut='f', + NOM_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + ORDRE =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**', + into=("CROISSANT","DECROISSANT") ), + ), + PAGINATION =SIMP(statut='f',typ='TXM',max='**'), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="E12.5"), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + + # Mise en page du tableau ou du graphique + b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", + fr="Mots-clés propres au format Tableau", + SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', + fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), + COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', + fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), + COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), + DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère de debut de ligne"), + FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', + fr="Caractère de fin de ligne"), + ), + + # mise en forme pour les formats qui passent par Graph + b_forme =BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Données de mise en forme du graphique", + # pour la courbe + LEGENDE =SIMP(statut='f',typ='TXM', + fr="Légende associée à la fonction" ), + STYLE =SIMP(statut='f',typ='I',val_min=0, + fr="Style de la ligne représentant la fonction",), + COULEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Couleur associée à la fonction",), + MARQUEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Type du marqueur associé à la fonction",), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, + fr="Fréquence d impression du marqueur associé à la fonction", ), + # format du graphique + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des abscisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des ordonnées"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les abscisses" ), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les ordonnées" ), + GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage vertical" ), + GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage horizontal" ), + LEGENDE_X =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des abscisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des ordonnées" ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +INCLUDE=MACRO(nom="INCLUDE", + op=OPS("Cata.ops.build_include"), + UIinfo={"groupes":("Gestion du travail",)}, + fr="Débranchement vers un fichier de commandes secondaires", + sd_prod=ops.INCLUDE, + op_init=ops.INCLUDE_context, + fichier_ini=1, + regles=(UN_PARMI('UNITE', 'DONNEE')), + UNITE = SIMP(statut='f', typ='I', + fr="Unité logique à inclure"), + DONNEE = SIMP(statut='f', typ='Fichier', + fr="Nom du fichier de données à inclure"), + INFO = SIMP(statut='f', typ='I', defaut=1, into=(1, 2)), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +INCLUDE_MATERIAU = MACRO(nom="INCLUDE_MATERIAU", + op=OPS("Macro.include_materiau_ops.include_materiau_ops"), + sd_prod=mater_sdaster, + UIinfo={"groupes":("Modélisation", "Gestion du travail", )}, + fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ", + + NOM_AFNOR = SIMP(statut='o', typ='TXM',), + TYPE_MODELE = SIMP(statut='o', typ='TXM', into=("REF", "PAR"),), + VARIANTE = SIMP(statut='o', typ='TXM', + into=("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", + "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", + "U", "V", "W", "X", "Y", "Z",),), + TYPE_VALE = SIMP(statut='o', typ='TXM', into=("NOMI", "MINI", "MAXI"),), + #NOM_MATER = SIMP(statut='o', typ='TXM',), + #UNITE = SIMP(statut='f', typ='I', defaut= 32,), + EXTRACTION = FACT(statut='f', + COMPOR = SIMP(statut='o', typ='TXM', max='**',), + TEMP_EVAL = SIMP(statut='o', typ='R',), + ), + UNITE_LONGUEUR = SIMP(statut='f', typ='TXM', into=("M", "MM"), defaut="M",), + INFO = SIMP(statut='f', typ='I', defaut= 1, into=(1, 2),), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, + fr="Récupère différentes informations propres à l'exécution en cours", + reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + + regles=(), + LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3, + into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),), + b_etat_unite =BLOC(condition = "au_moins_un(LISTE_INFO, 'ETAT_UNITE')", + regles=(UN_PARMI('UNITE','FICHIER'),), + UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1, + fr="Unité logique dont on veut obtenir l'état",), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255), + fr="Nom du fichier dont on veut obtenir l'état",), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): + if (RMS != None): return table_sdaster + if (MAX != None): return table_sdaster + if (NOCI_SEISME != None): return table_sdaster + if (ECART_TYPE != None): return table_sdaster + if (NORME != None): return table_sdaster + raise AsException("type de concept resultat non prevu") + +INFO_FONCTION=MACRO(nom="INFO_FONCTION", + op=OPS('Macro.info_fonction_ops.info_fonction_ops'), + sd_prod=info_fonction_prod, + fr="Opérations mathématiques sur des concepts de type fonction, " \ + "fonction_c ou nappe", + reentrant='n', + UIinfo={"groupes":("Fonctions",)}, + regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), + RMS =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**', + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), + INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + ), + NOCI_SEISME =FACT(statut='f', + regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), + FONCTION =SIMP(statut='f',typ=fonction_sdaster ), + SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), + b_option_f =BLOC(condition="""FONCTION != None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(), + into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", + "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), + b_amor_red =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_SPEC")) """, + AMOR_REDUIT =SIMP(statut='o',typ='R'),), + b_pesanteur =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT")) """, + PESANTEUR =SIMP(statut='o',typ='R'),), + ), + b_option_n =BLOC(condition="""SPEC_OSCI !=None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), + NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), + AMOR_REDUIT =SIMP(statut='o',typ='R'), ), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), + FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',max='**'), + NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), + BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), + b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + ), + ), + MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), + INTERVALLE =SIMP(statut='f',typ='R',min=2,max='**', + fr ="définition des bornes des intervalles sous forme de couples (xi_i1,xs_i1,xi_i2,xs_i2)"), + ), + NORME =FACT(statut='f',fr="Norme L2 d'une fonction", + FONCTION =SIMP(statut='o', typ=nappe_sdaster), + ), + ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster), + INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: olivier.boiteau at edf.fr +INFO_MODE=OPER(nom="INFO_MODE",op=32,sd_prod=table_sdaster, + fr="Calculer, imprimer, et sauvegarder le nombre de valeurs propres dans un contour donné", + UIinfo={"groupes":("Résolution","Dynamique",)}, + + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_COMPLEXE","DYNAMIQUE", + "MODE_FLAMB", "GENERAL"), + fr="Type d analyse" ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + + b_dynamique =BLOC(condition = "TYPE_MODE == 'DYNAMIQUE'",fr="Recherche du nombre de fréquences propres", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, + matr_asse_depl_c,matr_asse_gene_c) ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + FREQ =SIMP(statut='o',typ='R',min=2,max='**', + validators=AndVal((OrdList('croissant'), NoRepeat())), + fr="Liste de frequences" ), + COMPTAGE =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), + ), + ), + + b_flambement =BLOC(condition = "TYPE_MODE == 'MODE_FLAMB'",fr="Recherche du nombre de charges critiques", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, + matr_asse_depl_c,matr_asse_gene_c) ), + MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max='**', + validators=AndVal((OrdList('croissant'), NoRepeat())), + fr="Liste de charges critiques" ), + COMPTAGE =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), + SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), + ), + ), + + b_complexe =BLOC(condition = "TYPE_MODE == 'MODE_COMPLEXE'",fr="Recherche du nombre de fréquences propres", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, + matr_asse_depl_c,matr_asse_gene_c) ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), + RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), + CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j), + COMPTAGE =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","APM")), + NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), + NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), + ), + ), + + b_general =BLOC(condition = "TYPE_MODE == 'GENERAL'",fr="Recherche du nombre de valeurs propres", + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, + matr_asse_depl_c,matr_asse_gene_c) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max='**', + validators=AndVal((OrdList('croissant'), NoRepeat())), + fr="Liste de charges critiques" ), + b_contour =BLOC(condition = "CHAR_CRIT == None", + TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), + RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), + CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j),), + COMPTAGE =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM","APM")), + SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), ), + NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), + NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('INFO_MODE'), +# Mot-cle pour piloter les niveaux de parallelismes de l'operateur (a ne pas confondre avec le mot-cle +# cache PARALLELISME_MACRO) + NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), +#------------------------------------------------------------------- +#------------------------------------------------------------------- +# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande + PARALLELISME_MACRO=FACT(statut='d',min=0, + TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1,2),fr="Type de communication"), + ), +#------------------------------------------------------------------- + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr +INFO_RESU=PROC(nom="INFO_RESU",op=40, + UIinfo={"groupes":("Impression","Utilitaires",)}, + fr="Imprimer tous les champs présents dans une structure de données résultat", + RESULTAT=SIMP(statut='f',typ=resultat_sdaster), + UNITE=SIMP(statut='f',typ='I',defaut=6), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +INIT_COMPO=PROC(nom="INIT_COMPO", + op= 117, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Initialiser adresse component YACS", + COMPO =SIMP(statut='o',typ='I',), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, + UIinfo={"groupes":("Post-traitements",)}, + fr="Définition d'une courbe dans un maillage 2D",reentrant='n', + + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'), + PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'), + PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'), + PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'), + EXCLUS('DEFI_CHEMIN','DEFI_ARC'),), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + DEFI_SEGMENT =FACT(statut='f',max='**', + regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), + ), + + DEFI_ARC =FACT(statut='f',max='**', + regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'), + PRESENT_PRESENT('RAYON','SECTEUR'),), + CENTRE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_CENTRE =SIMP(statut='f',typ=no,), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,), + RAYON =SIMP(statut='f',typ='R',val_min=0.E+0), + SECTEUR =SIMP(statut='f',typ='R',min=2,max=2, + val_min=-180.E+0,val_max=180E+0), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", + into=("RELATIF","ABSOLU",) ), + ), + + DEFI_CHEMIN =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, + UIinfo={"groupes":("Post-traitements",)}, + fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n', + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DEFI_SEGMENT =FACT(statut='o',max='**', + regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), + ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + EXTREMITE =SIMP(statut='f',typ='R',min=3,max=3), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), + ), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr +def lire_champ_prod(TYPE_CHAM=None,**args): +# Remarque : si cette liste évolue, il faut penser à mettre à jour son +# homologue dans macr_adap_mail + if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster + if TYPE_CHAM[0:5] == "CART_" : return carte_sdaster + if TYPE_CHAM[0:2] == "EL" : return cham_elem + raise AsException("type de concept resultat non prevu") + +LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, + UIinfo={"groupes":("Lecture","Résultats et champs",)}, + fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.", + reentrant='n', + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), + FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), + UNITE =SIMP(statut='f',typ='I',defaut= 81,), + b_format =BLOC(condition = "FORMAT == 'MED'", + regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), + PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ), + EXCLUS('NUME_ORDRE','INST'), + EXCLUS('NUME_PT','INST'),), + NOM_MED =SIMP(statut='o',typ='TXM', ), + NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOM_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), + fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), + NUME_PT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',), + NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**', + fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ), + INST =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ), +# + b_precision =BLOC(condition="(INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, + fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R', + fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),),), +# + NOM_MAIL_MED =SIMP(statut='f',typ='TXM',), + ), +# Remarque : si cette liste évolue, il faut penser à mettre à jour son +# homologue dans macr_adap_mail + TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), + b_modele =BLOC(condition = "TYPE_CHAM!=None and (TYPE_CHAM[0:2] == 'EL')", + MODELE =SIMP(statut='o',typ=modele_sdaster, ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +def lire_fonction_prod(self,TYPE,**args): + if (TYPE == 'FONCTION') : return fonction_sdaster + elif (TYPE == 'FONCTION_C'): return fonction_c + elif (TYPE == 'NAPPE' ) : return nappe_sdaster + raise AsException("type de concept resultat non prevu") + +LIRE_FONCTION=MACRO(nom="LIRE_FONCTION", + op=OPS('Macro.lire_fonction_ops.lire_fonction_ops'), + sd_prod=lire_fonction_prod, + fr="Lit les valeurs réelles dans un fichier de données représentant une " \ + "fonction et crée un concept de type fonction ou nappe", + reentrant='n', + UIinfo={"groupes":("Lecture","Fonctions",)}, + FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), + TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ), + SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ), + INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]), + b_fonction =BLOC(condition = "TYPE=='FONCTION' ", + INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ), + b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ", + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ), + b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ", + INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) , + b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ", + INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ), + b_nappe =BLOC(condition = "TYPE=='NAPPE' ", + NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), + fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + DEFI_FONCTION =FACT(statut='f',max='**', + INDIC_RESU =SIMP(statut='o',typ='I',min=2,max=2,),), ), + UNITE =SIMP(statut='o',typ='I' ), + NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), + fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ + "fonction ou bien pour le paramètre de la nappe."), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr +LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene, + fr="Création d'un vecteur assemblé à partir d'une base modale", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, + BASE =SIMP(statut='o',typ=mode_meca), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + FREQ_EXTR =SIMP(statut='o',typ='R',max=1), + NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"), + NUME_CHAR =SIMP(statut='f',typ='I' ), + ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), + UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30), + NOM_RESU_FORC =SIMP(statut='f',typ='TXM' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr +LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c, + fr="Création d une matrice assemblée à partir de base modale", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, + BASE =SIMP(statut='o',typ=mode_meca ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + FREQ_EXTR =SIMP(statut='f',typ='R',max=1), + INST_EXTR =SIMP(statut='f',typ='R',max=1), + UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), + ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), + TYPE =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr + + +LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC", + op=OPS('Macro.lire_inte_spec_ops.lire_inte_spec_ops'), + sd_prod=interspectre, + fr="Lecture sur un fichier externe de fonctions complexes pour " \ + "créer une matrice interspectrale", + reentrant='n', + UIinfo={"groupes":("Lecture","Fonctions",)}, + UNITE =SIMP(statut='o',typ='I' ), + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS") ), + NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ", + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, + fr="Crée un maillage par lecture d'un fichier au format Aster ou Med", + ang="Readings of a mesh file", + reentrant='n', + UIinfo={"groupes":("Lecture","Maillage",)}, + + UNITE =SIMP(statut='f',typ='I',defaut= 20 ), + + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), + fr="Format du fichier : ASTER ou MED.", + ang="Format of the file : ASTER or MED.",), + + ABSC_CURV =FACT(statut='f',min=0, + TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + VERI_MAIL =FACT(statut='d', + VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + + b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " , + fr="Informations complémentaires pour la lecture MED.", + ang="Further information for MED readings.", + +# Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel +# le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer. + NOM_MED = SIMP(statut='f',typ='TXM', + fr="Nom du maillage dans le fichier MED.", + ang="Name of the mesh into the MED file.",), + INFO_MED = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ), + + RENOMME = FACT(statut='f', max='**', + fr="Renommer un nom de groupe MED", + NOM_MED = SIMP(statut='o', typ='TXM', validators=LongStr(1, 64), + fr="Nom du groupe dans le fichier MED"), + NOM = SIMP(statut='o', typ=grma, + fr="Nom du groupe dans le maillage ASTER"), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: serguei.potapov at edf.fr + +LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, + fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS", + reentrant='n', + UIinfo={"groupes":("Lecture","Outils-métier",)}, + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)), + MAIL_PLEXUS =SIMP(statut='o',typ=maillage_sdaster ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + b_prec_crit =BLOC(condition = "LIST_INST != None or INST != None", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),),), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + +def lire_resu_prod(TYPE_RESU,**args): + if TYPE_RESU == "EVOL_CHAR" : return evol_char + if TYPE_RESU == "EVOL_THER" : return evol_ther + if TYPE_RESU == "EVOL_ELAS" : return evol_elas + if TYPE_RESU == "EVOL_NOLI" : return evol_noli + if TYPE_RESU == "DYNA_TRANS" : return dyna_trans + if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo + if TYPE_RESU == "MODE_MECA" : return mode_meca + if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c + if TYPE_RESU == "EVOL_VARC" : return evol_varc + raise AsException("type de concept resultat non prevu") + +# pour éviter d'écrire 3 fois cette liste : +def l_nom_cham_pas_elga() : + return list(set(C_NOM_CHAM_INTO())-set(C_NOM_CHAM_INTO('ELGA',))) + +LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', + UIinfo={"groupes":("Lecture","Resultats et champs",)}, + fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED," + +" des champs et les stocker dans une SD résultat", + + +# 0) mots cles generaux : +#---------------------- + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA", + "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO", + "EVOL_CHAR","EVOL_VARC") ), + + FORMAT =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ), + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + COMPORTEMENT =C_COMPORTEMENT(), + NB_VARI =SIMP(statut='f',typ='I' ), + + CHAM_MATER =SIMP(statut='f',typ=cham_mater,), + + CARA_ELEM =SIMP(statut='f',typ=cara_elem,), + + b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), + ), + + b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), + ), + + b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), + ), + + +# 1) blocs selon le format choisi : +#--------------------------------- + +# 1-1 ideas dataset-58 : +# ---------------------- + b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + ), + b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\ + (TYPE_RESU=='DYNA_HARMO'))", + NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","EPSI_NOEU","SIEF_NOEU",),max='**'), + REDEFI_ORIENT=FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),), + CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ), + DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,), + NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),), + ), + +# 1-2 ideas : +# --------- + b_ideas =BLOC(condition="FORMAT=='IDEAS'", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), +# TEST =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), + fr="Affecte des valeurs nulles la ou le champ n'est pas defini"), + FORMAT_IDEAS =FACT(statut='f',max='**', + regles=(UN_PARMI('POSI_INST','POSI_FREQ'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=l_nom_cham_pas_elga()), + NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ), + RECORD_3 =SIMP(statut='f',typ='I',max=10), + RECORD_6 =SIMP(statut='f',typ='I',max=10), + RECORD_9 =SIMP(statut='f',typ='I',max=10), + POSI_ORDRE =SIMP(statut='o',typ='I',min=2,max=2), + POSI_NUME_MODE =SIMP(statut='f',typ='I',min=2,max=2), + POSI_MASS_GENE =SIMP(statut='f',typ='I',min=2,max=2), + POSI_AMOR_GENE =SIMP(statut='f',typ='I',min=2,max=2), + POSI_INST =SIMP(statut='f',typ='I',min=2,max=2), + POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),), + ), + +# 1-3 ensight : +# ------------- + b_ensight =BLOC(condition="FORMAT=='ENSIGHT'", + NOM_FICHIER =SIMP(statut='f',typ='TXM'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), + ), + +# 1-4 med : +# --------- + b_med =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED", + UNITE =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",), + FORMAT_MED =FACT(statut='o',max='**', + regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),UN_PARMI('NOM_CHAM_MED','NOM_RESU'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), + NOM_CHAM_MED =SIMP(statut='f',typ='TXM', fr="Nom du champ dans le fichier MED.", ), + NOM_RESU =SIMP(statut='f',typ='TXM', fr="Prefixe du nom de champ dans le fichier MED.", ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans ASTER.", ), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans MED.", ), + ), + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",), + fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), + ), + +# 2) blocs selon le type du resultat : +#--------------------------------- + b_mode_meca =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')", + # Ces mots cles sont stockes dans l'objet .REFD des mode_meca + # Ces mots cles sont aussi utilises pour imposer la numerotation des cham_no de DEPL_R + MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,max=1), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,max=1), + ), + + +# 3) autres blocs : +#--------------------------------- + b_extrac =BLOC(condition="1",fr="acces a un champ dans la structure de donnees resultat", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + + +LIRE_TABLE=MACRO(nom="LIRE_TABLE", + op=OPS('Macro.lire_table_ops.lire_table_ops'), + sd_prod=table_sdaster, + fr="Lecture d'un fichier contenant une table", + UIinfo={"groupes":("Lecture","Tables",)}, + UNITE = SIMP(statut='o', typ='I' ), + FORMAT = SIMP(statut='f', typ='TXM', into=("ASTER", "LIBRE", "TABLEAU"), defaut="TABLEAU"), + NUME_TABLE = SIMP(statut='f', typ='I', defaut=1), + SEPARATEUR = SIMP(statut='f', typ='TXM', defaut=' '), + RENOMME_PARA = SIMP(statut='f', typ='TXM', into=("UNIQUE",),), + TITRE = SIMP(statut='f', typ='TXM', max='**'), + INFO = SIMP(statut='f', typ='I', into=(1, 2), ), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr + +MAC_MODES=OPER(nom="MAC_MODES",op= 141,sd_prod=table_sdaster, + fr="Critere orthogonalite de modes propres", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + regles=(PRESENT_PRESENT('IERI','MATR_ASSE'),), + BASE_1 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), + BASE_2 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), + MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), + IERI =SIMP(statut='f',typ='TXM',into=("OUI",),), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: gerald.nicolas at edf.fr +# +def macr_adap_mail_prod(self, MAJ_CHAM, ADD_CHAM, ADAPTATION, **args): +# +# 0. Typage des structures produites +# + #print args + if ( args.has_key('MAILLAGE_NP1') ) : + if ( args['MAILLAGE_NP1'] is not None ) : + maillage_np1=args['MAILLAGE_NP1'] + self.type_sdprod(maillage_np1, maillage_sdaster) +# + if ( args.has_key('MAILLAGE_NP1_ANNEXE') ) : + if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) : + maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE'] + self.type_sdprod(maillage_np1_annexe, maillage_sdaster) +# + #print "MAJ_CHAM =", MAJ_CHAM + if MAJ_CHAM is not None : +# Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP + for ch in MAJ_CHAM: + t=ch['TYPE_CHAM'] + if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster) + if t[0:2] == "EL": self.type_sdprod(ch['CHAM_MAJ'],cham_elem) +# + #print "ADD_CHAM =", ADD_CHAM + if ADD_CHAM is not None : + for ch in ADD_CHAM: + self.type_sdprod(ch['CHAM_GD'],carte_sdaster) +# + return None + +MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL", + op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), + sd_prod=macr_adap_mail_prod, + fr="Adapter un maillage avec le logiciel HOMARD.", + ang="Mesh adaptation with the HOMARD software.", + UIinfo={"groupes":("Maillage",)}, +# +# 1. Le niveau d'information +# + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), +# +# 2. Les maillages +# 2.1. Quel que soit le type de traitement, il faut donner le concept du maillage initial (entree) +# + MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, + fr="Maillage avant adaptation", + ang="Mesh before adaptation" ), +# +# 2.2. Si ce n'est pas une simple lecture : +# + b_maillage = BLOC( condition = " (ADAPTATION != 'LECTURE') " , + fr="Lectures de champs aux points de Gauss ou aux noeuds par element.", + ang="Readings of the fields over the Gauss points.", +# +# 2.2.1. Le concept du maillage final (sortie) +# + MAILLAGE_NP1 = SIMP(statut='o',typ=CO, + fr="Maillage après adaptation", + ang="Mesh after adaptation" ), +# +# 2.2.2. Eventuellement, on peut produire un maillage annexe +# Actuellement, c'est le maillage n+1, mais de degré différent. +# + MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO, + fr="Maillage annexe après adaptation", + ang="Additional mesh after adaptation" ), +# + ) , +# +# 3. Le pilotage de l'adaptation, avec les variantes suivantes : +# . Raffinement et deraffinement, selon un champ +# . Raffinement seul, selon un champ +# . Deraffinement seul, selon un champ +# . Raffinement et deraffinement, selon des zones geometriques +# . Raffinement uniforme : toutes les mailles sont divisées +# . Deraffinement uniforme : toutes les mailles sont regroupées +# . Modification : le maillage subit des transformations specifiques +# . Rien : le maillage est le meme a la sortie et a l'entree +# + ADAPTATION = SIMP(statut='o',typ='TXM', + into=("RAFF_DERA", "RAFFINEMENT", "DERAFFINEMENT", "RAFF_DERA_ZONE", \ + "RAFFINEMENT_UNIFORME", "DERAFFINEMENT_UNIFORME", \ + "MODIFICATION", "LECTURE", "RIEN"), + fr="Pilotage de l'adaptation : selon un champ ou uniforme.", + ang="Adaptation control: either among an field or uniform" ), +# +# 4. Pour de l'adaptation libre, il faut un champ d'indicateur +# + b_champ = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') or \ + (ADAPTATION == 'DERAFFINEMENT') " , + fr="Pour une adaptation libre, choix du champ définissant la région à raffiner/déraffiner", + ang="For a free adaptation, selection of the field that defines the area for refinment/unrefinement", +# + regles=(UN_PARMI('CHAM_GD','RESULTAT_N')), +# +# 4.1. Reperage de la région a raffiner a l'aide d'un champ +# +# 4.1.1. Sous forme de champ de grandeur +# + CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, + fr="Champ de grandeur Code_Aster pilotant l'adaptation", + ang="Code_Aster 'champ de grandeur' governing the adapatation" ), +# +# 4.1.2. Sous forme de concept resultat_sdaster +# + RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) , + fr="Concept résultat Code_Aster contenant le champ", + ang="The Code_Aster result with the field" ), +# + b_champ_adaptation = BLOC(condition="(RESULTAT_N != None)", + NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), + fr="Champ dans le résultat", + ang="The field in the result structure" ), + ), +# +# 4.1.4. La ou les composantes retenues +# + NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des composante(s) retenue(s) pour le champ.", + ang="List of the selected component(s) for the field." ), +# +# 4.1.5. Le paramètre temporel pour le champ +# + b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)", + fr="Choix éventuel du paramètre temporel pour le champ", + ang="Time selection for the field (option)", +# + regles=(EXCLUS('NUME_ORDRE','INST'),), +# +# 4.1.5.1. Soit le numero d'ordre +# + NUME_ORDRE = SIMP(statut='f',typ='I', + fr="Numéro d ordre", + ang="Rank" ), +# +# 4.1.5.2. Soit l'instant +# 4.1.5.2.1. Sa valeur +# + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), +# +# 4.1.5.2.2. La précision du choix de l'instant +# + b_precision = BLOC(condition="(INST != None)", + fr="Choix de la précision du choix de l'instant", + ang="Precision for the choice of the instant", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over the choice of the instant"), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, + fr="Précision relative sur le choix de l'instant associé", + ang="Relative accuracy over the choice of the instant"),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R', + fr="Précision absolue sur le choix de l'instant associé", + ang="Absolute accuracy over the choice of the instant"),), + ), +# + ), +# +# 4.1.6. Usage des composantes : maximum, maximum de la valeur absolue, ou de la norme L2, ou de la norme infinie +# + USAGE_CMP = SIMP(statut='f',typ='TXM',defaut="NORME_L2", + into=("ABSOLU", "NORME_L2", "NORME_INFINIE", "RELATIF"), + fr="Valeur absolue de la composante, ou norme du champ, ou valeur relative de la composante", + ang="Absolute value of the component, or norm of the field, or relative value of the component" ), +# +# 4.1.7. Usage du champ : la valeur par maille ou le max du saut entre mailles +# + USAGE_CHAMP = SIMP(statut='f',typ='TXM',defaut="MAILLE",into=("MAILLE", "SAUT"), + fr="Usage du champ : la valeur par maille ou le saut entre mailles voisines", + ang="Use of the field: value over every mesh or jump between the neighbours" ), +# +# 4.1.8. Initialisation de l'adaptation : raffinement ou déraffinement +# + ADAP_INIT = SIMP(statut='f',typ='TXM',defaut="GARDER",into=("GARDER", "DERAFFINER"), + fr="Initialisation de l'adaptation dans les régions sans indicateur : garder ou déraffiner", + ang="Initialization of the adaptation in the areas without indicator: keep or unrefine" ), +# + ) , +# +# 5. Les criteres pour de l'adaptation libre avec un champ : +# absolu, relatif, en proportion d'entite +# 5.1. Pour le raffinement : +# + b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') " , + fr="Critère de raffinement.", + ang="Refinement threshold.", +# + regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE', 'CRIT_RAFF_MS' ),), +# + CRIT_RAFF_ABS = SIMP(statut='f',typ='R', + fr="Critère absolu", + ang="Absolute threshold" ), + CRIT_RAFF_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, + fr="Critère relatif : fraction réelle entre 0. et 1.", + ang="Relative threshold : ratio between 0. and 1." ), + CRIT_RAFF_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, + fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", + ang="Percentage of meshes: ratio between 0. and 1." ), + CRIT_RAFF_MS = SIMP(statut='f',typ='R', + fr="Critère absolu valant moyenne + n*sigma, n étant > 0", + ang="Absolute threshold: mean + n*sigma, with n > 0" ), + ) , +# +# 5.2. Pour le deraffinement : +# + b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'DERAFFINEMENT') " , + fr="Critère de déraffinement.", + ang="Unrefinement threshold.", +# + regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE', 'CRIT_DERA_MS' ),), +# + CRIT_DERA_ABS = SIMP(statut='f',typ='R' , + fr="Critère absolu", + ang="Absolute threshold" ), + CRIT_DERA_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, + fr="Critère relatif : fraction réelle entre 0. et 1.", + ang="Relative threshold: ratio between 0. and 1." ), + CRIT_DERA_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, + fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", + ang="Percentage of meshes: ratio between 0. and 1." ), + CRIT_DERA_MS = SIMP(statut='f',typ='R', + fr="Critère absolu valant moyenne - n*sigma, n étant > 0", + ang="Absolute threshold: mean - n*sigma, with n > 0" ), + ) , +# +# 6. Pour de l'adaptation par zone, définitions des zones +# + b_zone = BLOC( condition = " (ADAPTATION == 'RAFF_DERA_ZONE') " , + fr="Pour une adaptation selon une zone à raffiner", + ang="For adaptation among a zone", +# + ZONE = FACT(statut='o',min=1,max='**', + fr="Définition de zones à raffiner.", + ang="Refined zone definition.", +# +# 6.1. Type de la zone +# + TYPE = SIMP(statut='o',typ='TXM',into=("RECTANGLE", "BOITE", "DISQUE", "SPHERE", "CYLINDRE", "DISQUE_PERCE", "TUYAU"), + fr="Type de la zone", + ang="Type of the zone" ), +# +# 6.2. Usage de la zone +# + USAGE = SIMP(statut='f',typ='TXM',into=("RAFFINEMENT","DERAFFINEMENT"),defaut="RAFFINEMENT", + fr="Zone pour raffiner", + ang="Zone: refinement" ), +# +# Ne sachant pas exploiter les blocs, je mets des regles +# + regles=(AU_MOINS_UN('X_MINI','X_CENTRE','HAUTEUR'), + EXCLUS('X_MINI','X_CENTRE','HAUTEUR',), + EXCLUS('Z_MINI','X_CENTRE','HAUTEUR',), + EXCLUS('X_MINI','Z_CENTRE','HAUTEUR',), + EXCLUS('Z_MINI','Z_CENTRE','HAUTEUR',), + EXCLUS('X_MINI','RAYON',), + EXCLUS('Z_MINI','RAYON',), + EXCLUS('RAYON','RAYON_INT',),), +# +# 6.3. Une boite rectangulaire ou parallelepipedique +# 6.3.1. Incontournables +# +##gn b_z_boiteXY = BLOC( condition = " (TYPE == 'RECTANGLE') or (TYPE == 'BOITE') " , +##gn fr="X et Y mini/maxi pour un rectangle ou un parallelepipede.", +##gn ang="X and Y min/max for a rectangle or a parallelepipedic box", + X_MINI = SIMP(statut='f',typ='R', + fr="Abscisse minimum de la boite", + ang="Minimum X for the box"), + X_MAXI = SIMP(statut='f',typ='R', + fr="Abscisse maximum de la boite", + ang="Maximum X for the box"), + Y_MINI = SIMP(statut='f',typ='R', + fr="Ordonnée minimum de la boite", + ang="Minimum Y for the box"), + Y_MAXI = SIMP(statut='f',typ='R', + fr="Abscisse maximum de la boite", + ang="Maximum Y for the box"), +##gn ) , +# +# 6.3.2. Complement pour une boite parallelepipedique +# +##gn b_z_boiteZ = BLOC( condition = " (TYPE == 'BOITE') " , +##gn fr="Z mini/maxi pour un parallelepipede.", +##gn ang="Z min/max for a parallelepipedic box", + Z_MINI = SIMP(statut='f',typ='R', + fr="Cote minimum de la boite", + ang="Minimum Z for the box"), + Z_MAXI = SIMP(statut='f',typ='R', + fr="Cote maximum de la boite", + ang="Maximum Z for the box"), +##gn ) , +# +# 6.4. Rayon pour un disque, une sphere ou un cylindre +# +##gn b_z_rayon = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , +##gn fr="Le rayon d'un disque, d'une sphere ou d'un cylindre.", +##gn ang="The radius of a disk or of a sphere or of a cylinder.", + RAYON = SIMP(statut='f',typ='R', + fr="Rayon", + ang="Radius"), +##gn ) , +# +# 6.5. Pour un disque plein ou perce, une sphere +# 6.5.1. Incontournables +# +##gn b_z_di_sp_XY = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'DISQUE_PERCE') " , +##gn fr="X et Y du centre d'un disque plein ou perce, d'une sphere.", +##gn ang="X and Y of the centre of a disk or of a sphere.", + X_CENTRE = SIMP(statut='f',typ='R', + fr="Abscisse du centre du disque ou de la sphère", + ang="X for the center of the disk or of the sphere"), + Y_CENTRE = SIMP(statut='f',typ='R', + fr="Ordonnée du centre du disque ou de la sphère", + ang="Y for the center of the disk or of the sphere"), +##gn ) , +# +# 6.5.2. Complement pour une sphere +# +##gn b_z_sp_Z = BLOC( condition = " (TYPE == 'SPHERE') " , +##gn fr="Cote du centre de la sphere.", +##gn ang="Z for the center of the sphere.", + Z_CENTRE = SIMP(statut='f',typ='R', + fr="Cote du centre de la sphère", + ang="Z for the center of the sphere"), +##gn ) , +# +# 6.6. Rayons interieur et exterieur pour un disque perce ou un tuyau +# +##gn b_z_rayon_int_ext = BLOC( condition = " (TYPE == 'DISQUE_PERCE') or (TYPE == 'TUYAU') " , +##gn fr="Le rayon d'un disque perce ou d'un tuyau.", +##gn ang="The radius of a holed disk or of a pipe.", + RAYON_INT = SIMP(statut='f',typ='R', + fr="Rayon intérieur", + ang="Internal radius"), + RAYON_EXT = SIMP(statut='f',typ='R', + fr="Rayon extérieur", + ang="External radius"), +##gn ) , +# +# 6.7. Un cylindre ou un tuyau +# +##gn b_z_cylindre_tuyau = BLOC( condition = " (TYPE == 'CYLINDRE') or (TYPE == 'TUYAU') " , +##gn fr="Pour un cylindre ou un tuyau.", +##gn ang="For a cylinder or a pipe.", + X_AXE = SIMP(statut='f',typ='R', + fr="Abscisse du vecteur directeur de l'axe", + ang="X for the axial vector"), + Y_AXE = SIMP(statut='f',typ='R', + fr="Ordonnée du vecteur directeur de l'axe", + ang="Y for the axial vector"), + Z_AXE = SIMP(statut='f',typ='R', + fr="Cote du vecteur directeur de l'axe", + ang="Z for the axial vector"), + X_BASE = SIMP(statut='f',typ='R', + fr="Abscisse d'un point de la base, sur l'axe", + ang="X for the basis, on the axis"), + Y_BASE = SIMP(statut='f',typ='R', + fr="Ordonnée d'un point de la base, sur l'axe", + ang="Y for the basis, on the axis"), + Z_BASE = SIMP(statut='f',typ='R', + fr="Cote d'un point de la base, sur l'axe", + ang="Z for the basis, on the axis"), + HAUTEUR = SIMP(statut='f',typ='R', + fr="Hauteur", + ang="Height"), +##gn ) , +# + ) , +# + ) , +# +# 7. Les niveaux extremes pour le maillage adapte +# 7.1. Pour le raffinement : +# + b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') or \ + (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ + (ADAPTATION == 'RAFF_DERA_ZONE') " , + fr="Profondeur maximale de raffinement", + ang="Maximum depth for the refinement", +# + NIVE_MAX = SIMP(statut='f',typ='I', + fr="Niveau maximum de profondeur de raffinement", + ang="Maximum level for the refinement"), +# + DIAM_MIN = SIMP(statut='f',typ='R', + fr="Diamètre minimal des mailles", + ang="Minimal diameter for the meshes" ), +# + ) , +# +# 7.2. Pour le deraffinement : +# + b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'DERAFFINEMENT') or \ + (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , + fr="Niveau minimum de profondeur de déraffinement", + ang="Minimum level for the unrefinement", + NIVE_MIN = SIMP(statut='f',typ='I', + fr="Niveau minimum de profondeur de déraffinement", + ang="Minimum level for the unrefinement"), + ) , +# +# 8. Filtrage de l'adaptation par des groupes +# + b_filtrage_par_des_groupes = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') or \ + (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ + (ADAPTATION == 'RAFF_DERA_ZONE') or \ + (ADAPTATION == 'DERAFFINEMENT') or \ + (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , + fr="Filtrage de l'adaptation par des groupes.", + ang="Filtering of adaptation by the groups.", +# + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des groupes de mailles pour le filtrage de l'adaptation.", + ang="List of the groups of meshes for filtering of the adaptation." ), +# + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**', + fr="Liste des groupes de noeuds pour le filtrage de l'adaptation.", + ang="List of the groups of nodes for filtering of the adaptation." ), + ) , +# +# 9. Suivi d'une frontière +# +# 9.1. Definition d'une frontière par un maillage (valable seulement pour des frontières 1D) +# + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + fr="Maillage de la frontière discrète à suivre", + ang="Discrete boundary mesh" ), +# + b_FRONTIERE = BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Information complémentaire sur la frontière discrète", + ang="Further information about discrete boundary", +# + GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des groupes de mailles définissant la frontière discrète", + ang="Mesh groups which define the discrete boundary" ), +# + ) , +# +# 9.2. Definition analytique d'une frontière +# + FRONTIERE_ANALYTIQUE = FACT(statut='f',max='**', + fr="Definition analytique de frontières a suivre.", + ang="Analytical definition of a boundary.", +# +# 9.2.1. Nom de la frontière +# + NOM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + fr="Nom de la frontière analytique", + ang="Name of the analytic boundary" ), +# +# 9.2.2. Type de la frontière +# + TYPE = SIMP(statut='o',typ='TXM',into=("SPHERE", "CYLINDRE"), + fr="Type de la frontière analytique", + ang="Type of the analytic boundary" ), +# +# 9.2.3. Pour une sphere, un cylindre par ses rayons : rayon et centre +# + b_fr_rayon = BLOC( condition = " (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , + fr="Le rayon et le centre d'une sphère ou d'un cylindre.", + ang="The radius and the centre of a sphere or of a cylinder.", + RAYON = SIMP(statut='o',typ='R', + fr="Rayon", + ang="Radius"), + X_CENTRE = SIMP(statut='o',typ='R', + fr="Abscisse du centre", + ang="X for the center"), + Y_CENTRE = SIMP(statut='o',typ='R', + fr="Ordonnée du centre", + ang="Y for the center"), + Z_CENTRE = SIMP(statut='o',typ='R', + fr="Cote du centre", + ang="Z for the center"), + ) , +# +# 9.2.4. Pour un cylindre defini par axe et angle : axe +# + b_fr_cylindre = BLOC( condition = " (TYPE == 'CYLINDRE') " , + fr="Pour un cylindre.", + ang="For a cylinder.", + X_AXE = SIMP(statut='o',typ='R', + fr="Abscisse du vecteur directeur de l'axe", + ang="X for the axial vector"), + Y_AXE = SIMP(statut='o',typ='R', + fr="Ordonnée du vecteur directeur de l'axe", + ang="Y for the axial vector"), + Z_AXE = SIMP(statut='o',typ='R', + fr="Cote du vecteur directeur de l'axe", + ang="Z for the axial vector"), + ) , +# +# 9.2.7. Groupe(s) lie(s) a la frontière +# + GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des groupes de mailles placées sur la frontière", + ang="Groups of meshes which are located on the boundary" ), +# + ) , +# +# 10. mise à jour de champs sur le nouveau maillage +# + MAJ_CHAM = FACT(statut='f',max='**', + fr="Mise à jour de champs sur le nouveau maillage.", + ang="Updating of the fields over the new mesh.", +# +# 10.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour +# + CHAM_MAJ = SIMP(statut='o',typ=CO, + fr="Nom du champ de grandeur qui contiendra le champ mis à jour", + ang="Name of the field for the updated field"), +# +# 10.2. Le type du champ qui contiendra le resultat de la mise a jour +# + TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO( ('NOEU', 'ELEM', 'ELNO', 'ELGA') ), + fr="Type du champ qui contiendra le champ mis à jour", + ang="Type of the field for the updated field" ), +# +# 10.3. Le champ a interpoler +# + regles=(UN_PARMI('CHAM_GD','RESULTAT')), +# +# 10.3.1. Sous forme de champ de grandeur +# + CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, + fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour", + ang="Champ de grandeur with the field to be updated" ), +# +# 10.3.2. Sous forme de champ dans un resultat +# + RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), + fr="Résultat contenant le champ à mettre à jour", + ang="Result with the field to be updated" ), +# + b_nom_du_champ = BLOC(condition="(RESULTAT != None)", + fr="Choix éventuel du nom du champ à interpoler", + ang="Selection for the name of the field (option)", +# + NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), + fr="Nom du champ à mettre à jour", + ang="Name of the field to be updated" ), +# + ), +# +# 10.4. Les composantes +# + NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des composante(s) retenue(s) pour le champ.", + ang="List of the selected component(s) for the field." ), +# +# 10.5. Le paramètre temporel pour le champ a interpoler +# + b_parametre_temporel = BLOC(condition="(RESULTAT != None)", + fr="Choix éventuel du paramètre temporel pour le champ à interpoler", + ang="Time selection for the field (option)", +# + regles=(EXCLUS('NUME_ORDRE','INST'),), +# +# 10.5.1. Soit le numero d'ordre +# + NUME_ORDRE = SIMP(statut='f',typ='I', + fr="Numéro d ordre du champ à mettre à jour", + ang="Rank of the field to be updated" ), +# +# 10.5.2. Soit l'instant +# 10.5.2.1. Sa valeur +# + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), +# +# 10.5.2.2. La précision du choix de l'instant +# + b_precision = BLOC(condition="(INST != None)", + fr="Choix de la précision du choix de l'instant", + ang="Selection for the choice of the instant", +# + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over the choice of the instant"), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, + fr="Précision relative sur le choix de l'instant associé", + ang="Relative accuracy over the choice of the instant"),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R', + fr="Précision absolue sur le choix de l'instant associé", + ang="Absolute accuracy over the choice of the instant"),), +# + ), +# + ), +# +# 10.6. Type d'interpolation +# + TYPE_MAJ = SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("AUTO", "ISOP2"), + fr="Type de mise à jour : automatique ou iso-P2", + ang="Type of the updating" ), + ), +# +# 11. Les modifications +# + b_modifications = BLOC( condition = " (ADAPTATION == 'MODIFICATION') " , + fr="Modification de maillage.", + ang="Modification of the mesh.", +# + #regles=(AU_MOINS_UN('DEGRE','JOINT'),), +# +# 11.1. Changement de degre +# + DEGRE = SIMP(statut='o',typ='TXM',into=("OUI",), + fr="Changement de degré du maillage", + ang="Modification of the degree of the mesh" ), +# + ) , +# +# 12. Le modele pour les lectures de champs aux points de Gauss ou aux noeuds par element +# + b_lectures = BLOC( condition = " (ADAPTATION == 'LECTURE') " , + fr="Lectures de champs aux points de Gauss.", + ang="Readings of the fields over the Gauss points.", +# + MODELE = SIMP(statut='o',typ=modele_sdaster, + fr="Modèle", + ang="Model" ), +# + ) , +# +# 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres +# + b_analyses = BLOC( condition = " (ADAPTATION != 'LECTURE') " , + fr="Analyse du maillage.", + ang="Analysis of the mesh.", +# +# 13.1. Nombre de noeuds et mailles +# + NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Nombre de noeuds et de mailles du maillage", + ang="Number of nodes and meshes in the mesh" ), +# +# 13.2. Determination de la qualité des mailles du maillage +# + QUALITE = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Qualité du maillage", + ang="Quality of the mesh" ), +# +# 13.3. Connexite du maillage +# + CONNEXITE = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Connexité du maillage.", + ang="Connexity of the mesh." ), +# +# 13.4. Taille des sous-domaines du maillage +# + TAILLE = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Tailles des sous-domaines du maillage.", + ang="Sizes of mesh sub-domains." ), +# +# 13.5. Controle de la non-interpenetration des mailles +# + INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Controle de la non interpénétration des mailles.", + ang="Overlapping checking." ), +# +# 13.6. Propriétés du maillage de calcul +# + PROP_CALCUL = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Propriétés du maillage de calcul.", + ang="Properties of the calculation mesh." ), +# +# 13.7. Determination des diametres des mailles du maillage +# + DIAMETRE = SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Diamètre du maillage", + ang="Diameters of the mesh" ), +# + ) , +# +# 14. champs supplementaires sur le nouveau maillage +# + ADD_CHAM = FACT(statut='f',max='**', + fr="Champs supplementaires sur le nouveau maillage.", + ang="Additional fields over the new mesh.", +# +# 14.1. Le nom du champ de grandeur qui contiendra le nouveau champ +# + CHAM_GD = SIMP(statut='o',typ=CO, + fr="Nom du champ de grandeur qui contiendra le champ supplementaire", + ang="Name of the field for the additional field"), +# +# 14.2. La categorie du champ supplementaire +# + CHAM_CAT = SIMP(statut='o',typ='TXM',into=("NIVEAU", "DIAMETRE"), + fr="Categorie du champ supplementaire : niveau ou diametre", + ang="Category of the additional field: level or diameter" ), +# + ) , +# +# 15. Les options avancées +# 15.1. Langue des messages issus de HOMARD +# + LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", + into=("FRANCAIS", "FRENCH", "ANGLAIS", "ENGLISH",), + fr="Langue des messages issus de HOMARD.", + ang="Language for HOMARD messages." ), +# +# 15.2. Gestion des mailles acceptees dans le maillage initial +# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) +# "IGNORE_PYRA" : elles sont ignorées +# + b_autres_mailles = BLOC( condition = " (ADAPTATION != 'LECTURE') " , + fr="Gestion des pyramides.", + ang="Pyramids.", +# + ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), + fr="Acceptation des mailles dans le maillage initial", + ang="Elements in the very first mesh" ), +# + ) , +# +# 15.3. Version de HOMARD +# + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", + into=("V10_6", "V10_N", "V10_N_PERSO"), + fr="Version de HOMARD", + ang="HOMARD release"), +# +# 15.4. Exécutable pilotant HOMARD +# + LOGICIEL = SIMP(statut='f',typ='TXM', + fr="Logiciel pilotant HOMARD", + ang="HOMARD software"), +# +# 15.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration +# + b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ + (VERSION_HOMARD == 'V10_N_PERSO') " , + fr="Fichier supplementaire.", + ang="Additional file.", +# + UNITE = SIMP(statut='f',typ='I', + fr="Unite logique a ajouter a HOMARD.Configuration", + ang="Additional file to HOMARD.Configuration" ), +# + ) , +# +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,RESU_THER,**args): + self.type_sdprod(MODELE,modele_sdaster) + if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) + if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) + if FOND_FISS != None:self.type_sdprod(FOND_FISS,fond_fiss) + if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) + return evol_noli + +MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC", + op=OPS('Macro.macr_ascouf_calc_ops.macr_ascouf_calc_ops'), + sd_prod=macr_ascouf_calc_prod, + fr="Réalise l'analyse thermomécanique du coude dont le maillage a " \ + "été concu par MACR_ASCOUF_MAIL", + reentrant='n', + UIinfo={"groupes":("Résolution","Outils-métier",)}, + + TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', + into=("SAIN", + "FISS_COUDE", + "FISS_AXIS_DEB", + "SOUS_EPAIS_COUDE" + ) ), + + CL_BOL_P2_GV =FACT(statut='f', + ANGLE =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + ), + + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=CO,), + CHAM_MATER =SIMP(statut='f',typ=CO,), + CARA_ELEM =SIMP(statut='f',typ=CO,), + FOND_FISS =SIMP(statut='f',typ=CO,), + RESU_THER =SIMP(statut='f',typ=CO,), + + AFFE_MATERIAU =FACT(statut='o',max=3, + regles=(UN_PARMI('TOUT','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,into=("COUDE","BOL") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + PRES_REP =FACT(statut='f', + PRES =SIMP(statut='o',typ='R' ), + EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + ECHANGE =FACT(statut='f', + COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + TORS_P1 =FACT(statut='f',max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + + COMPORTEMENT =C_COMPORTEMENT('MACR_ASCOUF_CALC'), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MACR_ASCOUF_CALC'), +#------------------------------------------------------------------- + + CONVERGENCE =C_CONVERGENCE(), + + NEWTON =C_NEWTON(), + + RECH_LINEAIRE =C_RECH_LINEAIRE(), + + INCREMENT =C_INCREMENT('MECANIQUE'), + + THETA_3D =FACT(statut='f',max='**', + R_INF =SIMP(statut='o',typ='R' ), + R_SUP =SIMP(statut='o',typ='R' ), + ), + + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + + IMPR_TABLE =FACT(statut='f', + regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ), + PRESENT_PRESENT('TOUT_PARA','ANGLE', ), + PRESENT_PRESENT('TOUT_PARA','R_CINTR', ), + UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4, + into=("TRESCA_MEMBRANE", + "TRESCA_MFLE", + "TRESCA", + "SI_LONG" + "SI_RADI" + "SI_CIRC" + ) ), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ANGLE =SIMP(statut='f',typ='R', ), + R_CINTR =SIMP(statut='f',typ='R', ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R', ), + POSI_ANGUL =SIMP(statut='f',typ='R', ), + TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), + ), + + IMPRESSION =FACT(statut='f', + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","ASTER","IDEAS","CASTEM") ), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + ), + + TITRE =SIMP(statut='f',typ='TXM' ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL", + op=OPS('Macro.macr_ascouf_mail_ops.macr_ascouf_mail_ops'), + sd_prod=maillage_sdaster, + fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)", + UIinfo={"groupes":("Maillage","Outils-métier",)}, + reentrant='n', + + regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), + + EXEC_MAILLAGE =FACT(statut='o', + LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ), + UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), + UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), + ), + + TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ), + + COUDE =FACT(statut='o', + ANGLE =SIMP(statut='o',typ='R' ), + R_CINTR =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + L_TUBE_P2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ), + SYME =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ), + TRANSFORMEE =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), + b_transf_coude =BLOC(condition = "TRANSFORMEE == 'COUDE' ", + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), + ), + b_transf_tube =BLOC(condition = "TRANSFORMEE == 'TUBE' ", + TRAN_EPAIS =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_trans_epais_oui =BLOC(condition = "TRAN_EPAIS == 'OUI' ", + regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'), + UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),), + DEXT_T1 =SIMP(statut='o',typ='R' ), + EPAIS_T1 =SIMP(statut='o',typ='R' ), + EPAIS_T2 =SIMP(statut='o',typ='R' ), + EPAIS_TI =SIMP(statut='f',typ='R' ), + ANGL_TETA1 =SIMP(statut='o',typ='R' ), + ANGL_TETA2 =SIMP(statut='f',typ='R' ), + ABSC_CURV_TRAN =SIMP(statut='f',typ='R' ), + POSI_ANGU_TRAN =SIMP(statut='f',typ='R' ), + ), + b_trans_epais_non =BLOC(condition = "TRAN_EPAIS == 'NON' ", + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), + ), + ), + ), + + SOUS_EPAIS_COUDE=FACT(statut='f', + regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), + UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), + TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), + AXE_CIRC =SIMP(statut='f',typ='R' ), + AXE_LONGI =SIMP(statut='o',typ='R' ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R' ), + SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), + NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), + NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), + NB_ELEM_RADI =SIMP(statut='f',typ='I',defaut= 3 ), + EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + SOUS_EPAIS_MULTI=FACT(statut='f',max='**', + regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), + UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), + TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), + AXE_CIRC =SIMP(statut='f',typ='R' ), + AXE_LONGI =SIMP(statut='o',typ='R' ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R' ), + SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), + NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), + NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), + EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + FISS_COUDE =FACT(statut='f', + regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),), + AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), + b_axis_non =BLOC(condition = "AXIS == 'NON' ", + LONGUEUR =SIMP(statut='o',typ='R' ), + ), + b_axis_oui =BLOC(condition = "AXIS == 'OUI' ", + LONGUEUR =SIMP(statut='f',typ='R' ), + ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + ABSC_CURV =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + ORIEN =SIMP(statut='o',typ='R', + into=(45.,-45.,90.,0.E+0) ), + NB_TRANCHE =SIMP(statut='o',typ='I' ), + NB_SECTEUR =SIMP(statut='o',typ='I' ), + NB_COURONNE =SIMP(statut='o',typ='I' ), + RAYON_TORE =SIMP(statut='f',typ='R' ), + COEF_MULT_RC2 =SIMP(statut='f',typ='R',defaut= 1. ), + COEF_MULT_RC3 =SIMP(statut='f',typ='R' ), + ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + + IMPRESSION =FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('FICHIER','UNITE'),), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", + into=("ASTER","IDEAS","CASTEM") ), + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + FICHIER =SIMP(statut='f',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I' ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,RESU_THER,**args): + if MODELE != None:self.type_sdprod(MODELE,modele_sdaster) + if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) + if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) + if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss) + if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss) + if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) + return evol_noli + +MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC", + op=OPS('Macro.macr_aspic_calc_ops.macr_aspic_calc_ops'), + sd_prod=macr_aspic_calc_prod, + fr="Réalise un calcul prédéfini de piquages sains ou fissurés " \ + "ainsi que les post-traitements associés ", + UIinfo={"groupes":("Résolution","Outils-métier",)}, + reentrant='n', + + TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', + into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB", + "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ), + + TUBULURE =FACT(statut='o', + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=CO,), + CHAM_MATER =SIMP(statut='f',typ=CO,), + CARA_ELEM =SIMP(statut='f',typ=CO,), + FOND_FISS_1 =SIMP(statut='f',typ=CO,), + FOND_FISS_2 =SIMP(statut='f',typ=CO,), + RESU_THER =SIMP(statut='f',typ=CO,), + + AFFE_MATERIAU =FACT(statut='o',max=3, + regles=(UN_PARMI('TOUT','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + GROUP_MA =SIMP(statut='f',typ=grma,into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ), + MATER =SIMP(statut='o',typ=mater_sdaster), + TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RCCM =SIMP(statut='o',typ='TXM',into=("OUI","NON")), + ), + + EQUILIBRE =FACT(statut='o', + NOEUD =SIMP(statut='o',typ=no), + ), + + PRES_REP =FACT(statut='o', + PRES =SIMP(statut='o',typ='R'), + NOEUD =SIMP(statut='f',typ=no), + EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + + ECHANGE =FACT(statut='f', + COEF_H_TUBU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_H_CORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + + TORS_CORP =FACT(statut='f',max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + NOEUD =SIMP(statut='o',typ=no), + FX =SIMP(statut='f',typ='R'), + FY =SIMP(statut='f',typ='R'), + FZ =SIMP(statut='f',typ='R'), + MX =SIMP(statut='f',typ='R'), + MY =SIMP(statut='f',typ='R'), + MZ =SIMP(statut='f',typ='R'), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + + TORS_TUBU =FACT(statut='f',max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ='R'), + FY =SIMP(statut='f',typ='R'), + FZ =SIMP(statut='f',typ='R'), + MX =SIMP(statut='f',typ='R'), + MY =SIMP(statut='f',typ='R'), + MZ =SIMP(statut='f',typ='R'), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + + COMPORTEMENT =C_COMPORTEMENT('MACR_ASPIC_CALC'), + + THETA_3D =FACT(statut='f',max='**', + R_INF =SIMP(statut='o',typ='R'), + R_SUP =SIMP(statut='o',typ='R'), + ), + + OPTION =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ), + BORNES =FACT(statut='f',max='**', + NUME_ORDRE =SIMP(statut='o',typ='I'), + VALE_MIN =SIMP(statut='o',typ='R'), + VALE_MAX =SIMP(statut='o',typ='R'), + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MACR_ASPIC_CALC'), +#------------------------------------------------------------------- + + CONVERGENCE =C_CONVERGENCE(), + + NEWTON =C_NEWTON(), + + RECH_LINEAIRE =C_RECH_LINEAIRE(), + + INCREMENT =C_INCREMENT('MECANIQUE'), + + PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), + + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + + IMPRESSION =FACT(statut='f', + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","ASTER","CASTEM","IDEAS")), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + b_extrac =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))", + fr="extraction d un champ de grandeur", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","SIEQ_ELNO","TEMP")), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + TITRE =SIMP(statut='f',typ='TXM'), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + + +MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL", + op=OPS('Macro.macr_aspic_mail_ops.macr_aspic_mail_ops'), + sd_prod=maillage_sdaster, + reentrant='n', + fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)", + UIinfo={"groupes":("Maillage","Outils-métier",)}, + + EXEC_MAILLAGE =FACT(statut='o', + LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")), + UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), + UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), + ), + + TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")), + + RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), + + TUBULURE =FACT(statut='o', + E_BASE =SIMP(statut='o',typ='R'), + DEXT_BASE =SIMP(statut='o',typ='R'), + L_BASE =SIMP(statut='o',typ='R'), + L_CHANF =SIMP(statut='o',typ='R'), + E_TUBU =SIMP(statut='o',typ='R'), + DEXT_TUBU =SIMP(statut='o',typ='R'), + Z_MAX =SIMP(statut='o',typ='R'), + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), + L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + + SOUDURE =FACT(statut='o', + H_SOUD =SIMP(statut='o',typ='R'), + ANGL_SOUD =SIMP(statut='o',typ='R'), + JEU_SOUD =SIMP(statut='o',typ='R'), + ), + + CORPS =FACT(statut='o', + E_CORP =SIMP(statut='o',typ='R'), + DEXT_CORP =SIMP(statut='o',typ='R'), + X_MAX =SIMP(statut='o',typ='R'), + ), + + FISS_SOUDURE =FACT(statut='f', + TYPE =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")), + AXIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + PROFONDEUR =SIMP(statut='o',typ='R'), + LONGUEUR =SIMP(statut='f',typ='R'), + AZIMUT =SIMP(statut='o',typ='R'), + RAYON_TORE =SIMP(statut='f',typ='R'), + POSITION =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")), + FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")), + LIGA_INT =SIMP(statut='f',typ='R'), + ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.0E+0), + COEF_MULT_RC1 =SIMP(statut='f',typ='R'), + COEF_MULT_RC2 =SIMP(statut='f',typ='R'), + COEF_MULT_RC3 =SIMP(statut='f',typ='R'), + NB_TRANCHE =SIMP(statut='f',typ='I'), + NB_SECTEUR =SIMP(statut='f',typ='I'), + NB_COURONNE =SIMP(statut='f',typ='I'), + ), + + IMPRESSION =FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('FICHIER','UNITE'),), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + FICHIER =SIMP(statut='f',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-luc.flejou at edf.fr + + +MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE", + op=OPS('Macro.macr_cara_poutre_ops.macr_cara_poutre_ops'), + sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Calculer les caractéristiques d'une section transversale de " \ + "poutre à partir d'un maillage 2D de la section", + regles=( + EXCLUS('SYME_Y','GROUP_MA_BORD'), + EXCLUS('SYME_Z','GROUP_MA_BORD'), + ), + + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster, fr="Nom du concept maillage"), + b_maillage =BLOC( + condition = "MAILLAGE == None", + regles=( PRESENT_PRESENT('FORMAT','UNITE') ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), + fr="Format du fichier"), + UNITE =SIMP(statut='f',typ='I',defaut= 20, + fr="Unite correspondant au format du fichier maillage"), + ), + + ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), + fr="Point par rapport auquel sont calculées les inerties"), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + TABLE_CARA =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), + + SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a y=0"), + SYME_Z =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a z=0"), + + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Calcul des caractéristiques équivalentes à plusieurs sections disjointes"), + + GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), + + b_nom =BLOC( + condition = """(TABLE_CARA == 'OUI') and (GROUP_MA == None)""", + NOM =SIMP(statut='f',typ='TXM',max=1,validators=LongStr(1,8), + fr="Nom de la section, 8 caractères maximum.") + ), + + b_gma_bord =BLOC( + condition = "GROUP_MA_BORD != None", + fr=" calcul des carac. mecaniques", + regles=(UN_PARMI('NOEUD','GROUP_NO')), + NOEUD =SIMP(statut='f',typ=no,max='**', + fr="Simplement pour empecher des pivots nuls le cas echeant. " + "Fournir un noeud quelconque"), + GROUP_NO =SIMP(statut='f',typ=grno,max='**', + fr="Simplement pour empecher des pivots nuls le cas echeant. " + "Fournir un noeud quelconque par GROUP_MA"), + GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="groupes de mailles linéiques bordant des trous dans la section"), + ), + + b_reseau = BLOC( + condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", + fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", + regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), + LONGUEUR =SIMP(statut='f',typ='R', + fr="Longueur du réseau de poutres"), + MATERIAU =SIMP(statut='f',typ=mater_sdaster, + fr="Materiau elastique lineaire du reseau"), + LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), + fr="type de conditions aux limites sur le plancher supérieur" ), + ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + + +def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): + self.type_sdprod(RESULTAT,AsType(RESU_INIT)) + self.type_sdprod(MAILLAGE,maillage_sdaster) + return None + + +MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG", + op=OPS('Macro.macr_ecla_pg_ops.macr_ecla_pg_ops'), + sd_prod=macr_ecla_pg_prod, + reentrant='n', + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + fr="Permettre la visualisation des champs aux points de Gauss d'une " \ + "SD_RESULTAT sans lissage ni interpolation", + + # SD résultat ,modèle et champs à "éclater" : + RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), + MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), + + # paramètres numériques de la commande : + SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), + TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), + + # concepts produits par la commande : + RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), + MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), + + # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + + # Sélection des numéros d'ordre : + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: marina.bottoni at edf.fr + + +def macr_ecre_calc_prod(self,TABLE,DEBIT,**args): + + self.type_sdprod(TABLE,table_sdaster) + self.type_sdprod(DEBIT,table_sdaster) + return None + +MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC", + op=OPS('Macro.macr_ecre_calc_ops.macr_ecre_calc_ops'), + sd_prod=macr_ecre_calc_prod, + reentrant='n', + UIinfo={"groupes":("Résolution","Outils-métier",)}, + fr="Procedure de couplage avec Ecrevisse", + + regles = (UN_PARMI('LOGICIEL','VERSION'),), + +# CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT +# ******************************************** + TABLE =SIMP(statut='o',typ=CO), + DEBIT =SIMP(statut='o',typ=CO), + +# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE +# ******************************************* + + FISSURE =FACT(statut='o',min=1,max=1, + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Longueur de la fissure [zl]"), + RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]"), + ANGLE =SIMP(statut='o',typ='R',fr="Angle par rapport a l'ascendante verticale (degres)"), + ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]"), + SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]"), + b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", + LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', + fr="Liste des cotes des points definissant le grand axe de la section", + validators=NoRepeat()), + LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant le grand axe de la section",), + LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des cotes des points definissant le petit axe de la section", + validators=NoRepeat()), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant le petit axe de la section",), + ), + b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", + LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', + fr="Liste des cotes des points definissant la hauteur de la section", + validators=NoRepeat()), + LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant la hauteur de la section",), + LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des cotes des points definissant la largeur de la section", + validators=NoRepeat()), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant la largeur de la section",), + ), + ), + + +# DONNEES RELATIVES A L"ECOULEMENT +# ******************************** + + ECOULEMENT =FACT(statut='f',min=1,max=1, + PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), + PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), + FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), + b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", + TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + ), + b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", + TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", + TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + ), + ), + + +# DONNEES RELATIVES AU PROFIL DE TEMPERATURE A TRAVERS LA PAROI +# ************************************************************* + + TEMPERATURE =FACT(statut='f',min=1,max=1, + GRADIENT =SIMP(statut='o',typ='TXM',into=("FOURNI","IMPOSE","CALCULE"), + fr="Modele de calcul du gradient de temperature [imograd]" ), + b_gradient_fourni =BLOC(condition="GRADIENT=='FOURNI'",fr="Distribution de temperature fournie [imograd=-1]", + LISTE_COTES_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des cotes pour les temperatures", + validators=NoRepeat() ), + LISTE_VAL_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des valeurs de temperature", ), + ), + b_gradient_impose =BLOC(condition="GRADIENT=='IMPOSE'",fr="Distribution imposee de temperature [imograd=0]", + TEMP1 =SIMP(statut='o',typ='R', + fr="Gradient de temperature de la paroi le long de l'ecoulement (degC/m) [tm1]", ), + TEMP2 =SIMP(statut='o',typ='R',fr="Temperature de la paroi a l'entree (degC) [tm2]", ), + ), + b_gradient_calcule =BLOC(condition="GRADIENT=='CALCULE'",fr="Profil de temperature calcule [imograd=1]", + EPAISSEUR_PAROI =SIMP(statut='o',typ='R',fr="Epaisseur de la paroi (m) [epp]", ), + CONVECTION_AMONT =SIMP(statut='o',typ='R', + fr="Coefficient de convection a la surface de la paroi cote amont (W/degC/m2) [alphe]", ), + CONVECTION_AVAL =SIMP(statut='o',typ='R', + fr="Coefficient de convection a la surface de la paroi cote aval (W/degC/m2) [alphs]", ), + LAMBDA =SIMP(statut='o',typ='R',fr="Conduction thermique de la paroi (W/degC/m) [lambd]", ), + TEMP_FLUIDE_AVAL =SIMP(statut='o',typ='R',fr="Temperature du fluide cote aval (degC) [ts]", ), + ), + ), + + +# CHOIX DES MODELES +# ***************** + + MODELE_ECRE =FACT(statut='f',min=1,max=1, + IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, + fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), + ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), + fr="Type de modele d'ecoulement diphasique [imod]" ), + b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", + PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]"), + ), + FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]"), + b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", + REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]"), + FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]"), + ), + + TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]"), + b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", + XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), + XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), + ), + ), + + +# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE +# ******************************************** + + CONVERGENCE =FACT(statut='f',min=1,max=1, + KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, + fr="Parametre de l'algorithme iteratif [kgtest]" ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, + fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), + CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, + fr="Critere de convergence en debit [precdb]" ), + ), + + +# GENERAL +# ******* + + COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", + fr="Generation eventuelle des courbes" ), + LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), + VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), + ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), + IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: marina.bottoni at edf.fr + + +def macr_ecrevisse_prod(self,TABLE,TEMPER,DEBIT,**args): + # On definit ici les concepts produits + self.type_sdprod(TABLE,table_sdaster) + self.type_sdprod(TEMPER,evol_ther) + self.type_sdprod(DEBIT,table_sdaster) + # concept retourne + return evol_noli + + +MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE", + op=OPS('Macro.macr_ecrevisse_ops.macr_ecrevisse_ops'), + sd_prod=macr_ecrevisse_prod, + reentrant='f', + UIinfo={"groupes":("Résolution","Outils-métier",)}, + fr="Procedure de couplage avec Ecrevisse", + + reuse = SIMP(statut='f',typ='evol_noli'), + regles = (EXCLUS('TEMPER','ETAT_INIT'), + UN_PARMI('LOGICIEL','VERSION'),), + +# CONCEPT SORTANT +# ******************************************** + TABLE =SIMP(statut='f',typ=CO), + DEBIT =SIMP(statut='f',typ=CO), + TEMPER =SIMP(statut='f',typ=CO), + +# ETAT_INITIAL +# ******************************************** + ETAT_INIT =FACT(statut='f', + EVOL_NOLI =SIMP(statut='o',typ=evol_noli), + EVOL_THER =SIMP(statut='o',typ=evol_ther), + NUME_ORDRE =SIMP(statut='o',typ='I'), + ), + + +# MODELES MECANIQUES +# ******************************************** + MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), + MODELE_THER =SIMP(statut='o',typ=modele_sdaster), + + +# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE +# ******************************************* + FISSURE =FACT(statut='o',min=1,max='**', + PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8)), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, + fr="Groupe(s) des noeuds definissant les levres de la fissure"), + GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), + GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), + ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), + RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), + TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, + fr="Coefficient de tortuosite de la fissure" ), + OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), + SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), + b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", + LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', + fr="Liste des cotes des points definissant le petit axe de la section", + validators=NoRepeat() ), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant le petit axe de la section", ), + ), + b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", + LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', + fr="Liste des cotes des points definissant la largeur de la section",validators=NoRepeat()), + LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', + fr="Liste des valeurs des points definissant la largeur de la section", ), + ), + ), + + +# DONNEES RELATIVES A L"ECOULEMENT +# ******************************** + ECOULEMENT =FACT(statut='o',min=1,max=1, + regles=(UN_PARMI('PRES_ENTREE','PRES_ENTREE_FO'), + UN_PARMI('PRES_SORTIE','PRES_SORTIE_FO'), + ), + PRES_ENTREE =SIMP(statut='f',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), + PRES_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la pression de stagnation a l'entree (Pa) [pe]" ), + PRES_SORTIE =SIMP(statut='f',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), + PRES_SORTIE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la pression de stagnation a la sortie (Pa) [ps]" ), + FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), + b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1", + regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), + fr="Eau sous-refroidie ou saturee", + TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la temperature a l'entree (degres C) [te]" ), + ), + b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2", + regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO')), + fr="Fluide diphasique", + TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), + ), + b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3", + regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), + fr="Vapeur saturee ou surchauffee", + TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la temperature a l'entree (degres C) [te]" ), + ), + b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4", + regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO'), + UN_PARMI('PRES_PART', 'PRES_PART_FO')), + fr="Air + vapeur surchauffee", + TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la temperature a l'entree (degres C) [te]" ), + PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5", + regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO'), + UN_PARMI('PRES_PART', 'PRES_PART_FO')), + fr="Air + vapeur saturee", + TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), + TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), + PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), + PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), + ), + b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6", + regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), + fr="Air seul", + TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), + TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), + fr="Evolution de la temperature a l'entree (degres C) [te]" ), + ), + ), + + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster), fr="Liste des instants de calcul imposes" ), + +# CHOIX DES MODELES +# ***************** + + MODELE_ECRE =FACT(statut='o',min=1,max=1, + IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, + fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), + ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), + fr="Type de modele d'ecoulement diphasique [imod]" ), + b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", + PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), + ), + FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), + b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", + REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), + FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), + ), + + TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), + b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", + XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), + XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), + ), + ), + + +# CRITERE DE CONVERGENCE +# ********************** + + CONV_CRITERE =FACT(statut='o',min=1,max=1, + TEMP_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Temperature de reference pour le calcul du critere"), + PRES_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Pression de reference pour le calcul du critere"), + CRITERE =SIMP(statut='o',typ='TXM',defaut="TEMP_PRESS",into=("TEMP_PRESS","EXPLICITE","TEMP","PRESS"), + fr="La nature du critere pour la convergence"), + b_critere_autre =BLOC(condition="CRITERE=='TEMP_PRESS' or CRITERE=='TEMP' or CRITERE=='PRESS'", + fr="Critere de convergence temp_press, temp, ou press", + SUBD_NIVEAU =SIMP(statut='f',typ='I',val_min=2,defaut=3, + fr="Nombre maximum de niveau de subdivision d'un pas de temps"), + SUBD_PAS_MINI =SIMP(statut='f',typ='R',val_min=0.0, fr="Pas de temps en dessous duquel on ne subdivise plus"), + NUME_ORDRE_MIN =SIMP(statut='f',typ='I',val_min=-1,defaut=-1, + fr="Numero d'ordre a partir duquel le critere est pris en compte"), + PREC_CRIT =SIMP(statut='f',typ='R',val_min=1.0E-2,defaut=1.0, + fr="Valeur du critere pour l'erreur de convergence"), + ), + ), + + +# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE +# ******************************************** + + CONVERGENCE_ECREVISSE =FACT(statut='f',min=1,max=1, + KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, + fr="Parametre de l'algorithme iteratif [kgtest]" ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, + fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), + CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, + fr="Critere de convergence en debit [precdb]" ), + ), + + +# GENERAL +# ******* + + COURBES = SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", + fr="Generation eventuelle des courbes" ), + LOGICIEL = SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), + VERSION = SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), + ENTETE = SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), + IMPRESSION = SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), + INFO = SIMP(statut='f',typ='I',defaut="1",into=(1,2) ), + +# DONNEES POUR STAT_NON_LINE ET THER_NON_LINE +# ******************************************* + + # copie de stat_non_line.capy des options des mots cles qui nous interessent + + # donnees communes + + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + # donnees specifiques a stat_non_line + + EXCIT_MECA =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","SUIV","DIDI")), + ), + + CONTACT = SIMP(statut='o',typ=char_contact), + + COMPORTEMENT = C_COMPORTEMENT(), + NEWTON = FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), + REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + CONVERGENCE = FACT(statut='d',regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", + regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE', + 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'), + ), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + VARI_REFE =SIMP(statut='f',typ='R'), + ), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + + # donnees specifiques a ther_lineaire + + EXCIT_THER =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), + +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr + +MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, + fr="Definition d'un macro element pour analyse modale ou harmonique par sous structuration dynamique", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, + regles=( + # AMOR_REDUIT et MATR_AMOR sont redondants + EXCLUS('MATR_AMOR','AMOR_REDUIT' ), + + # Si MODELE_MESURE, on ne rentre pas de donnees pour le calcul + EXCLUS('MODELE_MESURE','MATR_RIGI' ), + EXCLUS('MODELE_MESURE','MATR_MASS' ), + EXCLUS('MODELE_MESURE','MATR_AMOR' ), + EXCLUS('MODELE_MESURE','AMOR_REDUIT' ), + EXCLUS('MODELE_MESURE','MATR_IMPE' ), + EXCLUS('MODELE_MESURE','MATR_IMPE_RIGI' ), + EXCLUS('MODELE_MESURE','MATR_IMPE_MASS' ), + EXCLUS('MODELE_MESURE','MATR_IMPE_AMOR' ), + + PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_RIGI'), + PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_MASS'), + PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_AMOR'), + PRESENT_ABSENT('MATR_IMPE','MATR_RIGI','MATR_MASS'), + PRESENT_ABSENT('MATR_IMPE_MASS','MATR_RIGI','MATR_MASS'), + PRESENT_ABSENT('MATR_IMPE_RIGI','MATR_RIGI','MATR_MASS'), + PRESENT_ABSENT('MATR_IMPE_AMOR','MATR_RIGI','MATR_MASS'),), + BASE_MODALE =SIMP(statut='o',typ=mode_meca ), + MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c),), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ), + MATR_IMPE =SIMP(statut='f',typ=matr_asse_gene_c ), + MATR_IMPE_RIGI =SIMP(statut='f',typ=matr_asse_gene_c ), + MATR_IMPE_MASS =SIMP(statut='f',typ=matr_asse_gene_c ), + MATR_IMPE_AMOR =SIMP(statut='f',typ=matr_asse_gene_c ), + MODELE_MESURE =FACT(statut='f', + FREQ =SIMP(statut='o',typ='R',max='**' ), + MASS_GENE =SIMP(statut='o',typ='R',max='**' ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + ), + b_matr_impe =BLOC(condition = "MATR_IMPE != None", + FREQ_EXTR =SIMP(statut='o',typ='R' ), + AMOR_SOL =SIMP(statut='f',typ='R',defaut=0.E+0 ), + MATR_IMPE_INIT =SIMP(statut='f',typ=matr_asse_gene_c ), + ), + CAS_CHARGE =FACT(statut='f',max='**', + NOM_CAS =SIMP(statut='o',typ='TXM'), + VECT_ASSE_GENE =SIMP(statut='o',typ=vect_asse_gene ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', + UIinfo={"groupes":("Matrices et vecteurs",)}, + fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration", + regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), + ENSEMBLE('DEFINITION','EXTERIEUR'),), + DEFINITION =FACT(statut='f', + regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), + INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ), + NMAX_CAS =SIMP(statut='f',typ='I',defaut=10), + NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10), + PROJ_MESU =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1), +# MODE_MESURE =SIMP(statut='f',typ=( mode_meca,base_modale) ), + MODE_MESURE =SIMP(statut='f',typ= mode_meca ), + ), + EXTERIEUR =FACT(statut='f', + regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + RIGI_MECA =FACT(statut='f', + ), + MASS_MECA =FACT(statut='f', + ), + AMOR_MECA =FACT(statut='f', + ), + CAS_CHARGE =FACT(statut='f',max='**', + NOM_CAS =SIMP(statut='o',typ='TXM'), + SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',defaut=0.E+0), + ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: gerald.nicolas at edf.fr +# +MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL", + op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), + docu="U7.03.02",UIinfo={"groupes":("Maillage",)}, + fr="Donner des informations sur un maillage.", + ang="To give information about a mesh.", +# +# 1. Le niveau d'information +# + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), +# +# 2. Le nom du maillage a analyser +# + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, + fr="Maillage à analyser.", + ang="Mesh to be checked." ), +# +# 3. Suivi d'une frontiere +# + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + fr="Maillage de la frontiere à suivre", + ang="Boundary mesh" ), +# + b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Information complémentaire sur la frontière", + ang="Further information about boundary", +# + GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupes de mailles définissant la frontière", + ang="Mesh groups which define the boundary" ), +# + ) , +# +# 4. Les options ; par defaut, on controle tout, sauf l'interpénétration +# 4.1. Nombre de noeuds et mailles +# + NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Nombre de noeuds et de mailles du maillage", + ang="Number of nodes and meshes in the mesh" ), +# +# 4.2. Determination de la qualite des mailles du maillage +# + QUALITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Qualité du maillage", + ang="Quality of the mesh" ), +# +# 4.3. Connexite du maillage +# + CONNEXITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Connexité du maillage.", + ang="Connexity of the mesh." ), +# +# 4.4. Taille des sous-domaines du maillage +# + TAILLE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Tailles des sous-domaines du maillage.", + ang="Sizes of mesh sub-domains." ), +# +# 4.5. Controle de la non-interpénétration des mailles +# + INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Controle de la non interpénétration des mailles.", + ang="Overlapping checking." ), +# +# 4.6. Propriétés du maillage de calcul +# + PROP_CALCUL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Propriétés du maillage de calcul.", + ang="Properties of the calculation mesh." ), +# +# 4.7. Determination des diametres des mailles du maillage +# + DIAMETRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), + fr="Diamètre du maillage", + ang="Diameters of the mesh" ), +# +# 5. Les options avancées +# 5.1. Langue des messages issus de HOMARD +# + LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", + into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), + fr="Langue des messages issus de HOMARD.", + ang="Language for HOMARD messages." ), +# +# 5.2. Gestion des mailles acceptees dans le maillage initial +# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) +# "IGNORE_PYRA" : elles sont ignorées +# + ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), + fr="Acceptation des mailles dans le maillage initial", + ang="Elements in the very first mesh" ), +# +# 5.3. Version de HOMARD +# + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", + into=("V10_6", "V10_N", "V10_N_PERSO"), + fr="Version de HOMARD", + ang="HOMARD release"), +# +# 5.4. Exécutable pilotant HOMARD +# + LOGICIEL = SIMP(statut='f',typ='TXM', + fr="Logiciel pilotant HOMARD", + ang="HOMARD software"), +# +# 5.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration +# + b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ + (VERSION_HOMARD == 'V10_N_PERSO') " , + fr="Fichier supplementaire.", + ang="Additional file.", +# + UNITE = SIMP(statut='f',typ='I', + fr="Unite logique a ajouter a HOMARD.Configuration", + ang="Additional file to HOMARD.Configuration" ), +# + ) , +# +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: josselin.delmas at edf.fr + + +MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE", + op=OPS('Macro.macr_lign_coupe_ops.macr_lign_coupe_ops'), + sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur " \ + "des lignes de coupe définies par deux points et un intervalle", + regles=(UN_PARMI("RESULTAT","CHAM_GD"),), + + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca) ), + CHAM_GD =SIMP(statut='f',typ=(cham_gd_sdaster)), + + b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", + regles=(EXCLUS('NUME_ORDRE','NUME_MODE','LIST_ORDRE','INST','LIST_INST',), ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + +# extraction des résultats + b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli,mode_meca)",fr="résultat mécanique", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='SIGM_NOEU',into=C_NOM_CHAM_INTO(),), + ), + b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='TEMP',into=("TEMP", + "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", + "META_ELNO","META_NOEU", + "DURT_ELNO","DURT_NOEU", + "HYDR_ELNO","HYDR_NOEU", + "DETE_ELNO","DETE_NOEU", + "SOUR_ELGA","COMPORTHER", + "ERTH_ELEM","ERTH_ELNO","ERTH_NOEU",),),), + b_cham =BLOC(condition = "CHAM_GD!=None", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),), + + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + + VIS_A_VIS =FACT(statut='f',max='**', + regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'),), + + LIGN_COUPE =FACT(statut='o',max='**', + regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"), + PRESENT_PRESENT("TRAC_DIR","DIRECTION"), + EXCLUS("TRAC_DIR","TRAC_NOR"), + PRESENT_PRESENT("TRAC_DIR","NOM_CMP"), + PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),), + + INTITULE =SIMP(statut='f',typ='TXM',), + TYPE =SIMP(statut='o',typ='TXM',max=1, + into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", + into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), + OPERATION =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",), + + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",),), + ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),), + RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), + TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), + TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + + + b_local =BLOC(condition = "REPERE=='LOCAL' ", + VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),), + + b_utili =BLOC(condition = "REPERE=='UTILISATEUR'", + ANGL_NAUT =SIMP(statut='o',typ='R',min=3,max=3),), + + b_grno =BLOC(condition = "TYPE=='GROUP_NO'", + GROUP_NO =SIMP(statut='o',typ=grno, max=1),), + + b_grma =BLOC(condition = "TYPE=='GROUP_MA'", + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + GROUP_MA =SIMP(statut='o',typ=grma, max=1), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: + # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + NOEUD_EXTR =SIMP(statut='f',typ=no), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno), + # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours + VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR + ), + + b_segment =BLOC(condition = "TYPE=='SEGMENT'", + NB_POINTS =SIMP(statut='o',typ='I',max=1), + COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), + COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3),), + + b_arc =BLOC(condition = "TYPE=='ARC'", + NB_POINTS =SIMP(statut='o',typ='I',max=1), + COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), + CENTRE =SIMP(statut='o',typ='R',min=2,max=3), + ANGLE =SIMP(statut='o',typ='R',max=1), + DNOR =SIMP(statut='f',typ='R',min=2,max=3),), + + b_cylind =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), + + DISTANCE_MAX =SIMP(statut='f',typ='R',defaut=0., + fr="Si la distance entre un noeud de la ligne de coupe et le maillage coupé " + +"est > DISTANCE_MAX, ce noeud sera ignoré."), + + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + + +def macr_recal_prod(self,**args ): + return listr8_sdaster + +MACR_RECAL = MACRO(nom="MACR_RECAL", + op=OPS('Macro.macr_recal_ops.macr_recal_ops'), + sd_prod=macr_recal_prod, + UIinfo={"groupes":("Résolution","Résultats et champs",)}, + fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux" \ + " ou sur d'autres résultats de calculs", + regles=(UN_PARMI('PARA_OPTI','LIST_PARA'), + PRESENT_PRESENT('PARA_OPTI','COURBE'), + PRESENT_PRESENT('LIST_PARA','RESU_EXP'), + PRESENT_PRESENT('LIST_PARA','RESU_CALC'), + EXCLUS('LIST_POIDS','COURBE'),), + + UNITE_ESCL =SIMP(statut='o',typ='I'), + RESU_EXP =SIMP(statut='f',typ=not_checked,max='**'), + COURBE =FACT(statut='f',max='**', + FONC_EXP =SIMP(statut='o',typ=(fonction_sdaster),), + NOM_FONC_CALC =SIMP(statut='o',typ='TXM',), + PARA_X =SIMP(statut='o',typ='TXM',), + PARA_Y =SIMP(statut='o',typ='TXM',), + POIDS =SIMP(statut='f',typ='R',), + ), + RESU_CALC =SIMP(statut='f',typ=not_checked,max='**'), + LIST_PARA =SIMP(statut='f',typ=not_checked,max='**'), + PARA_OPTI =FACT(statut='f',max='**', + NOM_PARA = SIMP(statut='o',typ='TXM'), + VALE_INI = SIMP(statut='o',typ='R'), + VALE_MIN = SIMP(statut='o',typ='R'), + VALE_MAX = SIMP(statut='o',typ='R'), + ), + LIST_POIDS =SIMP(statut='f',typ=not_checked,max='**'), + + UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), + PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.00001), + + GRAPHIQUE =FACT(statut='f', + FORMAT =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT"),), + AFFICHAGE =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE"),), + + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + ), + ), + + + # Methodes d'optimisation + # ----------------------- + METHODE =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG", "FMIN", "FMINBFGS", "FMINNCG", + "GENETIQUE","HYBRIDE")), + + b_genetique_options=BLOC(condition = "METHODE == 'GENETIQUE' or METHODE == 'HYBRIDE'" , + NB_PARENTS =SIMP(statut='f',typ='I',defaut=10), + NB_FILS =SIMP(statut='f',typ='I',defaut=5), + ECART_TYPE =SIMP(statut='f',typ='R',defaut=1.), + GRAINE =SIMP(statut='f',typ='I'), + ITER_ALGO_GENE =SIMP(statut='f',typ='I',defaut=10), + RESI_ALGO_GENE =SIMP(statut='f',typ='R',defaut=1.E-3), + ), + + + # Criteres d'arret globaux + # ------------------------- + ITER_MAXI =SIMP(statut='f',typ='I',defaut=10, fr="Nombre maximum d'iterations d'optimisation"), + ITER_FONC_MAXI =SIMP(statut='f',typ='I',defaut=1000, fr="Nombre maximum d'evaluations de la focntionnelle"), + RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3, fr="Critere d'arret sur la valeur du residu"), + TOLE_PARA =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur des parametres"), + TOLE_FONC =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur de la fonctionnelle"), + + + # Calculs des gradients + # --------------------- + b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" , + GRADIENT =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )), + ), + + b_gradient_levenberg =BLOC(condition = "METHODE == 'LEVENBERG'" , + GRADIENT =SIMP(statut='f',typ='TXM',defaut='NORMAL', into=( "NORMAL", "ADIMENSIONNE" )), + ), + + + # Mode d'evaluation de l'esclave + # ------------------------------ + CALCUL_ESCLAVE =FACT(statut='d', +# regles=(PRESENT_PRESENT('MPI_NBNOEUD','MPI_NBCPU'),), + + LANCEMENT =SIMP(statut='f', typ='TXM', defaut='INCLUSION',into=("DISTRIBUTION","INCLUSION"),), + + b_eval_distrib =BLOC(condition = "LANCEMENT == 'DISTRIBUTION'", + UNITE_SUIVI =SIMP(statut='f', typ='I',val_min=10,val_max=99,defaut=29, + fr="Affichage de l'output et/ou error des jobs esclaves dans ce fichier"), + MODE =SIMP(statut='f', typ='TXM', into=("INTERACTIF","BATCH"),), + MEMOIRE =SIMP(statut='f', typ='I', fr="Memoire demandee pour les calculs esclaves (Mo)"), + TEMPS =SIMP(statut='f', typ='I', fr="Temps demandee pour les calculs esclaves (secondes)"), + MPI_NBCPU =SIMP(statut='f', typ='I', val_min=1, fr="Nombre de cpu pour les calculs MPI"), + MPI_NBNOEUD =SIMP(statut='f', typ='I', fr="Nombre de noeuds pour les calculs MPI"), + CLASSE =SIMP(statut='f', typ='TXM', fr="Classe demandee pour les calculs en batch"), + NMAX_SIMULT =SIMP(statut='f', typ='I', + fr="Nombre de calculs esclaves lances en parallele en mode distribution (non precise = automatique)"), + ), + ), + + DYNAMIQUE =FACT(statut='f', + MODE_EXP =SIMP(statut='o',typ='TXM'), + MODE_CALC =SIMP(statut='o',typ='TXM'), + APPARIEMENT_MANUEL =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1, into=( 1, 2 ) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: francois.voldoire at edf.fr + + +MACR_SPECTRE=MACRO(nom="MACR_SPECTRE", + op=OPS('Macro.macr_spectre_ops.macr_spectre_ops'), + sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Post-traitements","Outils-métier",)}, + fr="Calcul de spectre, post-traitement de séisme", + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), + PLANCHER =FACT(statut='o',max='**', + regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),), + NOM =SIMP(statut='o',typ='TXM',), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), + NOM_CHAM =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')), + CALCUL =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'), + b_acce =BLOC( condition = "NOM_CHAM=='ACCE'", + regles=(UN_PARMI('LIST_FREQ','FREQ'),), + AMOR_SPEC =SIMP(statut='o',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',max='**'), + NORME =SIMP(statut='o',typ='R'), + RESU =FACT(statut='o',max='**', + regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), + TABLE =SIMP(statut='f',typ=table_sdaster), + RESU_GENE =SIMP(statut='f',typ=tran_gene), + RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), + b_calc =BLOC( condition = "CALCUL=='RELATIF'", + ACCE_X =SIMP(statut='o',typ=fonction_sdaster), + ACCE_Y =SIMP(statut='o',typ=fonction_sdaster), + ACCE_Z =SIMP(statut='o',typ=fonction_sdaster),), ), + IMPRESSION =FACT(statut='f', + TRI =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),), + FORMAT =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","XMGRACE",),), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),), + TOUT =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),), + ), + ), + b_depl =BLOC( condition = "NOM_CHAM=='DEPL'", + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + RESU =FACT(statut='o',max=3, + regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), + TABLE =SIMP(statut='f',typ=table_sdaster), + RESU_GENE =SIMP(statut='f',typ=tran_gene), + RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), + b_calc =BLOC( condition = "CALCUL=='ABSOLU'", + DEPL_X =SIMP(statut='o',typ=fonction_sdaster), + DEPL_Y =SIMP(statut='o',typ=fonction_sdaster), + DEPL_Z =SIMP(statut='o',typ=fonction_sdaster),),), + ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr + + +def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ): + if NUME_DDL is not None and NUME_DDL.is_typco(): + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas + if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas + raise AsException("type de concept resultat non prevu") + +MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT", + op=OPS('Macro.macro_elas_mult_ops.macro_elas_mult_ops'), + sd_prod=macro_elas_mult_prod, + reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Calculer les réponses statiques linéaires pour différents cas " \ + "de charges ou modes de Fourier", + regles=(UN_PARMI('CHAR_MECA_GLOBAL','LIAISON_DISCRET', ),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), + CHAR_MECA_GLOBAL=SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), + LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), + CAS_CHARGE =FACT(statut='o',max='**', + regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), + UN_PARMI('CHAR_MECA','VECT_ASSE'),), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + MODE_FOURIER =SIMP(statut='f',typ='I' ), + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), + CHAR_MECA =SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, + fr="Contraintes aux points de Gauss.",), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), + b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", + fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: albert.alarcon at edf.fr + + +def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args): + RESU_EXP = MODELE_MESURE['MESURE'] + self.type_sdprod(RESU_NX, mode_meca) + for res in (RESU_EX, RESU_ET, RESU_RD): + if res is not None and res.is_typco(): + if AsType(RESU_EXP) == mode_meca: + self.type_sdprod(res, mode_meca) + else: + self.type_sdprod(res, dyna_harmo) + return None + +MACRO_EXPANS=MACRO(nom="MACRO_EXPANS", + op=OPS('Macro.macro_expans_ops.macro_expans_ops'), + sd_prod=macro_expans_prod, + reentrant='n', + UIinfo={"groupes":("Outils-métier","Dynamique",)}, + fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique", + MODELE_CALCUL = FACT(statut='o', + MODELE = SIMP(statut='o',typ=(modele_sdaster) ), + BASE = SIMP(statut='o',typ=(mode_meca,) ), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), + + ), + MODELE_MESURE = FACT(statut='o', + MODELE = SIMP(statut='o',typ=(modele_sdaster) ), + MESURE = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), + NOM_CHAM = SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU",) ), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), + + ), + NUME_DDL = SIMP(statut='f',typ=(nume_ddl_sdaster)), + RESU_NX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), + RESU_EX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), + RESU_ET = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), + RESU_RD = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), + RESOLUTION = FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), + b_svd =BLOC(condition="METHODE=='SVD'", + EPS=SIMP(statut='f',typ='R',defaut=0. ), + ), + REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), + b_regul =BLOC(condition="REGUL!='NON'", + regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), + COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), + COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + ), + ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr + + +def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): + self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) + if FORC_AJOU != None: + for m in FORC_AJOU: + self.type_sdprod(m['VECTEUR'],vect_asse_gene) + + return None + +MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU", + op=OPS('Macro.macro_matr_ajou_ops.macro_matr_ajou_ops'), + sd_prod=macro_matr_ajou_prod, + UIinfo={"groupes":("Résolution","Matrices et vecteurs",)}, + fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des " \ + "matrices de masse, d'amortissement ou de rigidité ajoutés", + regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'), + AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), + EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'), + EXCLUS('MONO_APPUI','MODE_STAT',), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), + GROUP_MA_INTERF =SIMP(statut='o',typ=grma), + MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), + FLUIDE =FACT(statut='o',max='**', + RHO =SIMP(statut='o',typ='R'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma), + ), + DDL_IMPO =FACT(statut='o',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO'), + UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + PRES_FLUIDE =SIMP(statut='f',typ='R'), + PRES_SORTIE =SIMP(statut='f',typ='R'), + ), + ECOULEMENT =FACT(statut='f', + GROUP_MA_1 =SIMP(statut='o',typ=grma), + GROUP_MA_2 =SIMP(statut='o',typ=grma), + VNOR_1 =SIMP(statut='o',typ='R'), + VNOR_2 =SIMP(statut='f',typ='R'), + POTENTIEL =SIMP(statut='f',typ=evol_ther), + ), + MODE_MECA =SIMP(statut='f',typ=mode_meca), + DEPL_IMPO =SIMP(statut='f',typ=cham_no_sdaster), + MODELE_GENE =SIMP(statut='f',typ=modele_gene), + NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene), + DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2), + MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), + MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), + MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), + MODE_STAT =SIMP(statut='f',typ=mode_meca,), + FORC_AJOU =FACT(statut='f',max='**', + DIRECTION =SIMP(statut='o',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VECTEUR =SIMP(statut='o',typ=CO), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MACRO_MATR_AJOU'), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr + +def macro_mode_meca_prod( self, MATR_RIGI,MATR_MASS, **args) : + if ( AsType(MATR_RIGI) == matr_asse_gene_r ): + if ( AsType(MATR_MASS) == matr_asse_gene_r ): + return mode_gene + else: + raise AsException("Matrices d'entrée de types différents : physique / généralisée.") + + return mode_meca + + +MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA", + op=OPS('Macro.macro_mode_meca_ops.macro_mode_meca_ops'), + sd_prod=macro_mode_meca_prod, + reentrant='n',fr="Lancer une succession de calculs de modes propres réels", + UIinfo={"groupes":("Résolution","Dynamique",)}, + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +# ce mot cle ne devrait il pas etre dans calc_freq + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", + into=("TRI_DIAG","JACOBI","SORENSEN",) ), + b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", + PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), + NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), + NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", + PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), + NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), + PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ), + b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", + PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), + PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), + ), + + OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS") ), + + CALC_FREQ =FACT(statut='o', + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', ), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), + SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ), + STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ), + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('INFO_MODE'), + NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), +#------------------------------------------------------------------- + + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), + STURM =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL","NON") ), + ), + + b_matr_phys =BLOC( condition = "AsType(MATR_RIGI) == matr_asse_depl_r", + NORM_MODE =FACT(statut='d',max='**', + NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", + into=("MASS_GENE","RIGI_GENE","EUCL", + "EUCL_TRAN","TRAN","TRAN_ROTA") ), + INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), + ), + + FILTRE_MODE =FACT(statut='f', + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", + into=("MASS_EFFE_UN","MASS_GENE") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + + IMPRESSION =FACT(statut='d', + TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", + into=("MASS_EFFE_UN","MASS_GENE",) ), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +# +MAJ_CATA=PROC(nom="MAJ_CATA",op=20, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Compilation des catalogues d'éléments et couverture des calculs élémentaires", + regles=(UN_PARMI('ELEMENT','TYPE_ELEM', ),), + + ELEMENT =FACT(statut='f',), + + UNITE =SIMP(statut='f',typ='I',defaut=8), + TYPE_ELEM =FACT(statut='f',), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, + fr="Résoudre un problème de mécanique statique linéaire",reentrant='f', + UIinfo={"groupes":("Résolution","Mécanique",)}, + regles=(EXCLUS("INST","LIST_INST"), + AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater, + fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", + ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), + CARA_ELEM =SIMP(statut='f',typ=cara_elem, + fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...", + ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST_FIN =SIMP(statut='f',typ='R'), + OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, + fr="Seule option : contraintes aux points de Gauss. Utilisez CALC_CHAMP pour les autres options.", + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MECA_STATIQUE'), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, + fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir" + +" d'une base de modes propres réels", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + BASE_MODALE =SIMP(statut='o',typ=mode_meca ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ), + NB_SECTEUR =SIMP(statut='o',typ='I' ), + LIAISON =FACT(statut='o', + DROITE =SIMP(statut='o',typ='TXM' ), + GAUCHE =SIMP(statut='o',typ='TXM' ), + AXE =SIMP(statut='f',typ='TXM' ), + ), + VERI_CYCL =FACT(statut='f', + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), + DIST_REFE =SIMP(statut='f',typ='R' ), + ), + CALCUL =FACT(statut='o', + regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),), + TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" + ,into=("PLUS_PETITE","CENTRE","BANDE") ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + FREQ =SIMP(statut='o',typ='R',), + ), + b_bande =BLOC(condition = "OPTION == 'BANDE'", + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), + ), +# NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# + +def mode_iter_inv_prod(TYPE_RESU,**args ): + if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): + # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue + return ASSD + if TYPE_RESU == "MODE_FLAMB" : return mode_flamb + if TYPE_RESU == "GENERAL" : return mode_flamb + # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés + # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder + vale_rigi = args['MATR_RIGI'] + if (vale_rigi== None) : # si MATR_RIGI non renseigné + # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue + return ASSD + vale_amor = args['MATR_AMOR'] + if AsType(vale_amor) == matr_asse_depl_r : return mode_meca_c + if AsType(vale_rigi) == matr_asse_depl_r : return mode_meca + if AsType(vale_rigi) == matr_asse_pres_r : return mode_acou + if AsType(vale_rigi) == matr_asse_gene_r : return mode_gene + raise AsException("type de concept resultat non prevu") + +MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod + ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", + into=("MODE_FLAMB","DYNAMIQUE","GENERAL"), + fr="Type d analyse" ), + + b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", + + OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), + fr="Choix de l option pour estimer les valeurs propres" ), + FREQ =SIMP(statut='o',typ='R',max='**', + validators=AndVal((OrdList('croissant'), NoRepeat())),), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), + NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=1 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), + NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), + + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), + ), + ), + b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + + b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + + b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", + CALC_CHAR_CRIT =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", + + OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), + fr="Choix de l option pour estimer les valeurs propres" ), + CHAR_CRIT =SIMP(statut='o',typ='R',max='**', + validators=AndVal((OrdList('croissant'), NoRepeat())),), + NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), + NMAX_ITER_SEPARE=SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), + NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), + + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), + SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), + ), + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MODE_ITER_INV'), +#------------------------------------------------------------------- + + CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", + OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), + PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=1.E-70,fr="Précision de convergence" ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), + ), + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, + fr="Valeur limite admise pour l ereur a posteriori des modes" ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# + +def mode_iter_simult_prod(TYPE_RESU,**args ): + if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): + # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue + return ASSD + if TYPE_RESU == "MODE_FLAMB" : return mode_flamb + if TYPE_RESU == "GENERAL" : return mode_flamb + # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés + # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder + vale_rigi = args['MATR_RIGI'] + if (vale_rigi== None) : # si MATR_RIGI non renseigné + # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue + return ASSD + vale_amor = args['MATR_AMOR'] + if (AsType(vale_amor)== matr_asse_depl_r) : return mode_meca_c + if (AsType(vale_rigi)== matr_asse_depl_r) : return mode_meca + if (AsType(vale_rigi)== matr_asse_depl_c) : return mode_meca_c + if (AsType(vale_rigi)== matr_asse_pres_r) : return mode_acou + if (AsType(vale_rigi)== matr_asse_gene_r) : return mode_gene + if (AsType(vale_rigi)== matr_asse_gene_c) : return mode_gene + + raise AsException("type de concept resultat non prevu") + + + +MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45, sd_prod= mode_iter_simult_prod, + fr="Calcul des modes propres par itérations simultanées ; valeurs propres et" + +" modes propres réels ou complexes", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", + into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), + b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", + PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), + NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), + NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", + PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), + NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), + PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ), + b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", + PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), + PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), + ), + b_qz =BLOC(condition = "METHODE == 'QZ'", + TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), + ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", + into=("DYNAMIQUE","MODE_FLAMB","GENERAL"), + fr="Type d analyse" ), + OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), + fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), + + + b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c, + matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + CALC_FREQ =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), + ), + b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des fréquences propres les plus proches d'une valeur donnée", + FREQ =SIMP(statut='o',typ='R', + fr="Fréquence autour de laquelle on cherche les fréquences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des fréquences propres dans une bande donnée", + FREQ =SIMP(statut='o',typ='R',min=2,max=2, + validators=AndVal((OrdList('croissant'), NoRepeat())), + fr="Valeur des deux fréquences délimitant la bande de recherche"), + TABLE_FREQ =SIMP(statut= 'f',typ=table_sdaster), + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), + fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), + regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + ), + ), + + + b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + + + b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + + + b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", + CALC_CHAR_CRIT =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", + NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des valeurs propres les plus proches d une valeur donnée", + CHAR_CRIT =SIMP(statut='o',typ='R', + fr="Charge critique autour de laquelle on cherche les charges critiques propres"), + NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des valeurs propres dans une bande donnée", + CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max=2, + validators=AndVal((OrdList('croissant'), NoRepeat())), + fr="Valeur des deux charges critiques délimitant la bande de recherche"), + TABLE_CHAR_CRIT =SIMP(statut= 'f',typ=table_sdaster), + + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), + fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), + regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), + SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + ), + ), + + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MODE_ITER_SIMULT'), +#------------------------------------------------------------------- +#------------------------------------------------------------------- +# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande + PARALLELISME_MACRO=FACT(statut='d',min=0, + TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1),fr="Type de communication"), + IPARA1_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 1 de la communication"), + IPARA2_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 2 de la communication"), + ), +#------------------------------------------------------------------- + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, + fr="Valeur limite admise pour l ereur a posteriori des modes" ), + STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +MODE_NON_LINE=OPER(nom="MODE_NON_LINE",op= 61,sd_prod=table_container, + fr="Calcul des modes non-linéaires", + reentrant='f', + UIinfo={"groupes":("Résolution","Dynamique",)}, + + reuse =SIMP(statut='f',typ='table_container'), + + ETAT_INIT =FACT(statut='o',max=1, + regles=( UN_PARMI('MODE_LINE','MODE_NON_LINE'),), + MODE_LINE = SIMP(statut='f',typ=mode_meca,max = 1), + MODE_NON_LINE = SIMP(statut='f',typ=table_container,max = 1), + NUME_ORDRE = SIMP(statut='o',typ='I' ), + DIR_EVOLUTION = SIMP(statut='f',typ='I',defaut=-1, into=(-1,1)), + COEF_AMPL = SIMP(statut='f',typ='R',defaut=1,), + ), + + CHOC = FACT(statut='f',max='**', + regles=( UN_PARMI('NOEUD','GROUP_NO'),), + OBSTACLE = SIMP(statut='f',typ='TXM', into=("PLAN","BI_PLAN","CERCLE",)), + b_cercle = BLOC(condition="OBSTACLE=='CERCLE'", + NOM_CMP = SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), + into=('DX','DY','DZ'),), + ORIG_OBST = SIMP(statut='f',typ='R',defaut=(0.,0.,0.),min=3,max=3), + ), + b_bi_plan = BLOC(condition="OBSTACLE=='BI_PLAN'", + NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), + ), + b_plan = BLOC(condition="OBSTACLE=='PLAN'", + NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), + ), + NOEUD = SIMP(statut='f', typ=no, max=1), + GROUP_NO = SIMP(statut='f', typ=grno, max=1), + JEU = SIMP(statut='o',typ='R',max=1 ), + RIGI_NOR = SIMP(statut='o',typ='R',max=1 ), + PARA_REGUL = SIMP(statut='f',typ='R',defaut=0.005 ), + ), + + MATR_RIGI = SIMP(statut='o',typ=(matr_asse_depl_r,) ), + MATR_MASS = SIMP(statut='o',typ=(matr_asse_depl_r,) ), + + RESOLUTION = FACT(statut='o',max=1, + METHODE = SIMP(statut='f',typ='TXM',defaut="EHMAN",into=("EHMAN",)), + b_ehman = BLOC(condition="METHODE=='EHMAN'", + NB_HARM_LINE = SIMP(statut='o',typ='I',val_min=1,), + NB_HARM_NONL = SIMP(statut='f',typ='I',defaut=201,val_min=1,), + NB_BRANCHE = SIMP(statut='o',typ='I',val_min=0), + NB_PAS_MAN = SIMP(statut='o',typ='I',val_min=1), + NB_ORDRE_MAN = SIMP(statut='f',typ='I',defaut=20,val_min=2), + PREC_MAN = SIMP(statut='f',typ='R',defaut=1.E-9,val_min=0.E+0), + PREC_NEWTON = SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.E+0), + ITER_NEWTON_MAXI = SIMP(statut='f',typ='I',defaut=15,val_min=1), + CRIT_ORDR_BIFURCATION = SIMP(statut='f',typ='I',defaut=3,val_min=1), + RESI_RELA_BIFURCATION = SIMP(statut='f',typ='R',defaut=1.E-4,val_min=0.E+0), + ), + ), + + SOLVEUR = C_SOLVEUR('MODE_NON_LINE'), + + INFO = SIMP(statut='f',typ='I',defaut=1), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: georges-cc.devesa at edf.fr + +MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_meca, + fr="Calcul de déformées statiques pour un déplacement, une force ou une accélération unitaire imposé", + reentrant='n', + UIinfo={"groupes":("Résolution","Dynamique",)}, + + regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE','MODE_INTERF'), + PRESENT_PRESENT('MODE_INTERF','MATR_MASS'), + PRESENT_PRESENT('PSEUDO_MODE','MATR_MASS'), + ), + + + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), + + + + MODE_STAT =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), + UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + FORCE_NODALE =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), + UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + PSEUDO_MODE =FACT(statut='f',max='**', + regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), + AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), + DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + b_dir =BLOC(condition = "DIRECTION != None", + NOM_DIR =SIMP(statut='f',typ='TXM' ),), + b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None", + regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + ), + MODE_INTERF =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), + UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + NBMOD =SIMP(statut='o',typ='I',defaut= 1), + SHIFT =SIMP(statut='o',typ='R',defaut= 1.0), + + ), + +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('MODE_STATIQUE'), +#------------------------------------------------------------------- + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, + reentrant='f', + fr="Définir la base modale d'une structure sous écoulement", + UIinfo={"groupes":("Matrices et vecteurs",)}, +# la commande modi_base _modale : reentrant = f ou o + regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),), + BASE =SIMP(statut='o',typ=mode_meca ), + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), + NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + AMOR_UNIF =SIMP(statut='f',typ='R' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +# RECUPERATION DES EFFORTS VIA YACS POUR COUPLAGE IFS +# +MODI_CHAR_YACS=OPER(nom = "MODI_CHAR_YACS", + op = 112, + sd_prod = char_meca, + reentrant = 'o', + UIinfo = {"groupes":("Résultats et champs",)}, + fr = "Reception des forces nodales via YACS lors du couplage de Code_Aster et Saturne", + CHAR_MECA = SIMP(statut ='o', typ = char_meca), + MATR_PROJECTION = SIMP(statut ='o', typ = corresp_2_mailla,), + NOM_CMP_IFS = SIMP(statut ='o', typ = 'TXM',validators = NoRepeat(), max = '**'), + VIS_A_VIS = FACT(statut ='o', max = '**', + GROUP_MA_1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO_2 = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), + INST = SIMP(statut='o',typ='R', ), + PAS = SIMP(statut='o',typ='R', ), + NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, + fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant," + +" à l'application d'une pression, à la modélisation du contact,...", + reentrant='o', + UIinfo={"groupes":("Maillage",)}, + regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB','SYMETRIE', + 'ORIE_LIGNE',), + PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'ORIE_LIGNE'), + PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'ORIE_LIGNE'), + PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'ORIE_LIGNE'), + PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'ORIE_LIGNE'), + PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE','ORIE_LIGNE'), + PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE','ORIE_LIGNE'), + PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','ORIE_LIGNE'), + EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), + EXCLUS('EQUE_PIQUA','TUBE_COUDE'), + EXCLUS('ROTATION','MODI_BASE'), + EXCLUS('SYMETRIE','ROTATION'), + EXCLUS('SYMETRIE','TRANSLATION'), + EXCLUS('SYMETRIE','MODI_BASE'), + EXCLUS('SYMETRIE','ECHELLE'), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + + ORIE_FISSURE =FACT(statut='f', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + + DEFORME =FACT(statut='f', + OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), + DEPL =SIMP(statut='o',typ=cham_no_sdaster ), + b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", + GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), + GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), + ), + + EQUE_PIQUA =FACT(statut='f', + GROUP_NO =SIMP(statut='o',typ=grno), + E_BASE =SIMP(statut='o',typ='R' ), + DEXT_BASE =SIMP(statut='o',typ='R' ), + L_BASE =SIMP(statut='o',typ='R' ), + L_CHANF =SIMP(statut='o',typ='R' ), + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), + H_SOUD =SIMP(statut='o',typ='R' ), + ANGL_SOUD =SIMP(statut='o',typ='R' ), + JEU_SOUD =SIMP(statut='o',typ='R' ), + E_CORP =SIMP(statut='o',typ='R' ), + DEXT_CORP =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='o',typ='R' ), + RAFF_MAIL =SIMP(statut='o',typ='TXM' ), + X_MAX =SIMP(statut='o',typ='R' ), + ), + ORIE_PEAU_2D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_SURF =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + ORIE_PEAU_3D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_VOLU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + ORIE_SHB =FACT(statut='f',max=1, + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + ORIE_NORM_COQUE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + VECT_NORM =SIMP(statut='f',typ='R',max=3), + b_vect_norm =BLOC(condition = "VECT_NORM != None", + regles=UN_PARMI('NOEUD','GROUP_NO'), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + ), + ), + ORIE_LIGNE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + VECT_TANG =SIMP(statut='f',typ='R',max=3), + b_vect_tang =BLOC(condition = "VECT_TANG != None", + regles=UN_PARMI('NOEUD','GROUP_NO'), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + ), + ), + PLAQ_TUBE =FACT(statut='f', + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + ), + TUBE_COUDE =FACT(statut='f', + ANGLE =SIMP(statut='o',typ='R' ), + R_CINTR =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + ), + MODI_MAILLE =FACT(statut='f',max=1, + regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),), + OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ), + GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), + MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), + GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + ), + MODI_BASE =FACT(statut='f', + VECT_X =SIMP(statut='o',typ='R',min=2,max=3), + VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), + ), + ECHELLE =SIMP(statut='f',typ='R',), + TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), + ROTATION =FACT(statut='f',max='**', + POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), + ANGLE =SIMP(statut='o',typ='R',defaut= 0.E+0 ), + regles=(EXCLUS('DIR','POIN_2'),), + POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), + DIR =SIMP(statut='f',typ='R',min=2,max=3), + ), + SYMETRIE =FACT(statut='f',max='**', + fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", + POINT =SIMP(statut='o',typ='R',min=2,max=3, + fr="Point appartenant à la droite ou au plan."), + AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, + fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), + AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, + fr="2nd vecteur appartenant du plan."), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2009 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +MODI_MODELE=OPER(nom="MODI_MODELE",op= 103,sd_prod=modele_sdaster,reentrant='o', + UIinfo={"groupes":("Modélisation",)}, + fr="Modifier la partition d'un modèle (parallélisme) ", + + MODELE =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), + + PARTITION =FACT(statut='d', + PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", + into=("MAIL_CONTIGU","MAIL_DISPERSE","SOUS_DOMAINE","CENTRALISE","GROUP_ELEM")), + b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", + CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0), + ), + b_dist_sd =BLOC(condition = "PARALLELISME == 'SOUS_DOMAINE'", + PARTITION =SIMP(statut='o',typ=sd_partit), + CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', + UIinfo={"groupes":("Modélisation","Rupture",)}, + fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", + + MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), + CRITERE =SIMP(statut='f',typ='R',defaut=1.1E-9), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), + CONTACT + =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +def modi_repere_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + +MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='f', + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + fr="Calcule des résultats dans le repère cylindrique", + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + + MODI_CHAM =FACT(statut='o',max='**', + TYPE_CHAM =SIMP(statut='o',typ='TXM', + into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D","COQUE_GENE"),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), + b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), + b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), + b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), + b_coque_gene =BLOC(condition = "TYPE_CHAM=='COQUE_GENE'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=8,max=8 ),), + ), + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : COQUE_INTR_UTIL ou COQUE_UTIL_INTR autorise", + REPERE =SIMP(statut='o',typ='TXM',position='global', + into=("COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), + AFFE =FACT(statut='o',max='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + ), + + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant ", + REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",position='global', + into=("UTILISATEUR","CYLINDRIQUE","COQUE", + "COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), + + AFFE =FACT(statut='o',max='**', + b_cyl =BLOC(condition = "REPERE == 'CYLINDRIQUE'", + ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), + b_uti =BLOC(condition = "REPERE == 'UTILISATEUR'", + regles=(UN_PARMI('ANGL_NAUT','VECT_X'), + ENSEMBLE('VECT_X','VECT_Y')), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ),), + b_coq =BLOC(condition = "REPERE == 'COQUE'", + regles=(UN_PARMI('ANGL_REP','VECTEUR'),), + ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2), + VECTEUR =SIMP(statut='f',typ='R',min=3,max=3),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.brie at edf.fr + +def norm_mode_prod(MODE,**args ): + if AsType(MODE) == mode_meca : return mode_meca + if AsType(MODE) == mode_meca_c : return mode_meca_c + if AsType(MODE) == mode_flamb : return mode_flamb + raise AsException("type de concept resultat non prevu") + +NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, + fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur", + reentrant='f', + UIinfo={"groupes":("Résolution","Dynamique",)}, + regles=(UN_PARMI('NORME','GROUP_NO','NOEUD','AVEC_CMP','SANS_CMP'),), + MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), + NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...", + into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ), + NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d'un noeud spécifié égale à 1"), + GROUP_NO =SIMP(statut='f',typ=grno,fr="Composante donnée d'un groupe contenant un seul noeud spécifié égale à 1"), + b_noeud =BLOC(condition = "NOEUD != None or GROUP_NO != None", + NOM_CMP =SIMP(statut='o',typ='TXM' ), + ), + AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + NOEUD =SIMP(statut='f',typ=no,fr="Noeud où sera imposé le signe"), + GROUP_NO =SIMP(statut='f',typ=grno,fr="Groupe d'un seul noeud où sera imposé le signe"), + NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud où sera imposé le signe" ), + SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), + fr="Choix du signe" ), + ), + + MASSE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ), + RAIDE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ), + AMOR = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", + regles=(UN_PARMI('MATR_RIGI','MODELE'),), + MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, + typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + b_modele =BLOC(condition = "MODELE != None", + CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), + ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","PETSC","MUMPS") ), + b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", + RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), + ), + b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), + ), + b_gcpc =BLOC(condition="METHODE=='GCPC' or METHODE=='PETSC'",fr="paramètres associés à la GCPC ou PETSc", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + INFO =SIMP(statut='f',typ='I',into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.corus at edf.fr +NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, + fr="Etablissement de la numérotation des ddl d'un modèle etabli en coordonnées généralisees", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=UN_PARMI('MODELE_GENE','BASE'), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + b_modele_gene =BLOC(condition = "MODELE_GENE != None", + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE","ELIMINE") ), + ), + BASE =SIMP(statut='f',typ=(mode_meca,mode_gene ) ), + b_base =BLOC(condition = "BASE != None", + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("DIAG","PLEIN") ), + NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr + +def observation_prod(self, RESULTAT, **args): + if AsType(RESULTAT) == mode_meca : + return mode_meca + elif AsType(RESULTAT) == evol_elas : + return evol_elas + elif AsType(RESULTAT) == dyna_harmo : + return dyna_harmo + elif AsType(RESULTAT) == dyna_trans : + return dyna_trans + else : + return None + +OBSERVATION=MACRO(nom="OBSERVATION", + op=OPS('Macro.observation_ops.observation_ops'), + UIinfo={"groupes":("Matrices et vecteurs",)}, + sd_prod=observation_prod, + fr="Calcul de l'observabilite d'un champ aux noeuds ", +# + MODELE_1 =SIMP(statut='o',typ=modele_sdaster), + MODELE_2 =SIMP(statut='o',typ=modele_sdaster), + RESULTAT =SIMP(statut='o',typ=(mode_meca,evol_elas,dyna_harmo,dyna_trans,) ), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), + +# ------------------------------------------------------------------ + + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE','INST','LIST_INST' ),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + +# ------------------------------------------------------------------ +# OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER) +# ------------------------------------------------------------------ + PROJECTION =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="OUI"), + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + DISTANCE_MAX =SIMP(statut='f',typ='R', + fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), + fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), + +# PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", +# fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger" +# +" les champs par zéro la ou la projection ne donne pas de valeurs."), + + MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r) ), + MATR_MASS =SIMP(statut='f',typ=(matr_asse_depl_r) ), + VIS_A_VIS =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), + TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + ), + +# ------------------------------------------------------------------ +# MODI_REPERE +# ------------------------------------------------------------------ + MODI_REPERE =FACT(statut='f',max='**', + regles=(UN_PARMI('REPERE'), + AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), +# + TYPE_CHAM =SIMP(statut='f',typ='TXM', + into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D"), + defaut="VECT_3D"), + b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), + b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", + NOM_CMP =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),), + b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", + NOM_CMP =SIMP(statut='f',typ='TXM',min=4,max=4,defaut=('EPXX','EPYY','EPZZ','EPXY',) ),), + b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", + NOM_CMP =SIMP(statut='f',typ='TXM',min=6,max=6,defaut=('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ',),),), + + REPERE =SIMP(statut='o',typ='TXM', + into=("UTILISATEUR","CYLINDRIQUE","NORMALE","DIR_JAUGE"),), + b_normale =BLOC(condition = "REPERE=='NORMALE'", + regles=(UN_PARMI('VECT_X','VECT_Y')), + VECT_X =SIMP(statut='f',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), + b_utilisateur =BLOC(condition = "REPERE=='UTILISATEUR'", + ANGL_NAUT =SIMP(statut='o',typ='R',max=3)), + b_cylindrique =BLOC(condition = "REPERE=='CYLINDRIQUE'", + ORIGINE =SIMP(statut='o',typ='R',min=2,max=3), + AXE_Z =SIMP(statut='o',typ='R',min=3,max=3)), + b_dir_jauge =BLOC(condition = "REPERE=='DIR_JAUGE'", + VECT_X =SIMP(statut='f',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), + ), + +# ------------------------------------------------------------------ +# EPSI_MOYENNE +# ------------------------------------------------------------------ + EPSI_MOYENNE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SEUIL_VARI =SIMP(statut='f',typ='R',validators=NoRepeat(),defaut=0.1,), + MASQUE =SIMP(statut='f',typ='TXM',max=6), + ), + +# ------------------------------------------------------------------ +# FILTRE DES DDL +# ------------------------------------------------------------------ + FILTRE =FACT(statut='f',max='**', + regles=(UN_PARMI('DDL_ACTIF'), +# 'MASQUE'), + AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), + +# + DDL_ACTIF =SIMP(statut='f',typ='TXM',max=6), +# TODO : mettre en place le systeme de masques +# MASQUE =SIMP(statut='f',typ='TXM',max=6), + ), +# ------------------------------------------------------------------ + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: romeo.fernandes at edf.fr + +PERM_MAC3COEUR = MACRO(nom="PERM_MAC3COEUR", + op=OPS("Mac3coeur.perm_mac3coeur_ops.perm_mac3coeur_ops"), + sd_prod=evol_noli, + + TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), + TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N + RESU_N = SIMP(statut='o',typ=evol_noli), # RESULTAT A L INSTANT N A PERMUTER + TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 + MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),); # MAILLAGE A L INSTANT N+1 + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: renaud.bargellini at edf.fr + +POST_BORDET =MACRO(nom="POST_BORDET", + op=OPS('Macro.post_bordet_ops.post_bordet_ops'), + sd_prod=table_sdaster, + UIinfo={"groupes":("Outils-métier","Rupture",)}, + reentrant='n', + fr="calcul de la probabilite de clivage via le modele de Bordet", + regles=(UN_PARMI('TOUT','GROUP_MA'), + UN_PARMI('INST','NUME_ORDRE'), + ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectué que sur ces mailles"), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), + PRECISION =SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), + CRITERE =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), + PROBA_NUCL =SIMP(statut='f',typ='TXM',into=("NON","OUI"), defaut="NON", + fr="prise en compte du facteur exponentiel"), + b_nucl =BLOC( condition = "PROBA_NUCL=='OUI'", + PARAM =FACT(statut='o', + M =SIMP(statut='o',typ='R',val_min=0.E+0), + SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster),val_min=0.E+0), + VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), + SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), + SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), + SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster)), + DEF_PLAS_REFE =SIMP(statut='o',typ='R'),),), + + b_prop =BLOC( condition = "PROBA_NUCL=='NON'", + PARAM =FACT(statut='o', + M =SIMP(statut='o',typ='R',val_min=0.E+0), + SIGM_REFE =SIMP(statut='o',typ=fonction_sdaster,val_min=0.E+0), + VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), + SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), + SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), + SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),), + ), + ), + + RESULTAT =SIMP(statut='o',typ=resultat_sdaster, + fr="Resultat d'une commande globale STAT_NON_LINE"), + TEMP =SIMP(statut='o',typ=(fonction_sdaster,'R')), + COEF_MULT =SIMP(statut='f',typ='R', defaut=1.), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr +def post_cham_xfem_prod(RESULTAT,**args ): + + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == evol_elas : return evol_elas + if AsType(RESULTAT) == evol_ther : return evol_ther + + raise AsException("type de concept resultat non prevu") + +POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=post_cham_xfem_prod, + reentrant='n',UIinfo={"groupes":("Post-traitements","Rupture",)}, + fr="Calcul des champs DEPL, SIEF_ELGA et VARI_ELGA sur le maillage de visualisation (fissuré)", + RESULTAT = SIMP(statut='o',typ=resultat_sdaster), + MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,), + INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +def post_champ_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu") + + +# liste des options possibles pour les 4 mots clés EXTR_COQUE, EXTR_TUYAY, EXTR_PMF et MIN_MAX_SP : +liste_option_extr=("EPEQ_ELGA","EPEQ_ELNO","EPSI_ELGA","EPSI_ELNO", + "SIEF_ELGA","SIEF_ELNO", + "SIEQ_ELGA","SIEQ_ELNO","SIGM_ELGA","SIGM_ELNO", + "VARI_ELGA","VARI_ELNO",) + + +POST_CHAMP=OPER(nom="POST_CHAMP",op=155,sd_prod=post_champ_prod, reentrant='n', + UIinfo={"groupes":("Post-traitements","Eléments de structure",)}, + fr="extraction de champs sur un sous-point. ", + + regles=(UN_PARMI('EXTR_COQUE','EXTR_TUYAU','EXTR_PMF','MIN_MAX_SP','COQU_EXCENT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', + 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS',), + ), + + RESULTAT =SIMP(statut='o',typ=resultat_sdaster, + fr="Resultat d'une commande globale"), + + +#==== +# Sélection des numéros d'ordre pour lesquels on fait le calcul : +#==== + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + + b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + + +#==== +# Sélection de la zone géométrique: +#==== + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + + + +#==== +# Extraction sur un sous-point d'une coque : +#==== + EXTR_COQUE =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une coque", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=liste_option_extr,), + NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, + fr="numero de couche dans l'épaisseur de la coque" ), + NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la couche" ), + ), + + +#==== +# Extraction sur un sous-point d'un tuyau : +#==== + EXTR_TUYAU =FACT(statut='f', max=1, fr="extraction sur un sous-point d'un tuyau", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=liste_option_extr ,), + NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, + fr="numero de couche dans l'épaisseur du tuyau" ), + NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la couche" ), + ANGLE =SIMP(statut='o',typ='I',val_min=0,val_max=360, + fr="angle de dépouillement pour les tuyaux, en degrés à partir de la génératrice" ), + ), + + +#==== +# Extraction sur un sous-point d'une poutre multifibre : +#==== + EXTR_PMF =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une poutre multifibre", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=liste_option_extr,), + NUME_FIBRE =SIMP(statut='o',typ='I',val_min=1, + fr="numéro de la fibre dans la poutre multifibre" ), + ), + + +#==== +# Extraction des min / max sur les sous-points : +#==== + MIN_MAX_SP =FACT(statut='f', max='**', fr="extraction du min/max d'une composante pour un champ", + NOM_CHAM =SIMP(statut='o',typ='TXM', + into=liste_option_extr,), + NOM_CMP =SIMP(statut='o',typ='TXM',fr="nom de la composante", ), + TYPE_MAXI =SIMP(statut='o',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS",) ), + NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, + fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), + ), + + +#==== +# Calcul des efforts des coques "excentrées" sur le feuillet moyen de la coque : +#==== + COQU_EXCENT =FACT(statut='f', max=2, fr="Calcul des efforts d'une coque 'excentrée' sur le feuillet moyen de la coque", + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","EFGE_ELGA",),), + MODI_PLAN =SIMP(statut='o',typ='TXM',into=("OUI",),), + ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr + +POST_COQUE=MACRO(nom="POST_COQUE", + op=OPS('Macro.post_coque_ops.post_coque_ops'), + sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Post-traitements",)}, + fr="Calcul des efforts et déformations en un point et une cote " \ + "quelconque de la coque", + + regles=(EXCLUS('INST','NUME_ORDRE'),), + + # SD résultat et champ à posttraiter : + RESULTAT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à posttraiter",), + CHAM =SIMP(statut='o',typ='TXM',into=("EFFORT","DEFORMATION",)), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + + # points de post-traitement : + COOR_POINT =FACT(statut='o',max='**',fr="coordonnées et position dans l'épaisseur", + COOR=SIMP(statut='o',typ='R',min=3,max=4),), + + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr + + +POST_DECOLLEMENT=MACRO(nom="POST_DECOLLEMENT", + op=OPS('Macro.post_decollement_ops.post_decollement_ops'), + sd_prod=table_sdaster, + fr="calcul du rapport de surfaces de contact radier/sol", + reentrant='n', + UIinfo={"groupes":("Post-traitements",)}, + RESULTAT =SIMP(statut='o',typ=(evol_noli) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='DEPL',into=C_NOM_CHAM_INTO(),max=1), + NOM_CMP =SIMP(statut='f',typ='TXM',defaut='DZ',max=1), + GROUP_MA =SIMP(statut='o',typ=grma,max=1), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA", + op=OPS('Macro.post_dyna_alea_ops.post_dyna_alea_ops'), + sd_prod=table_sdaster, + fr="Traitements statistiques de résultats de type interspectre " \ + "et impression sur fichiers", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Dynamique",)}, + regles=(UN_PARMI('FRAGILITE','INTERSPECTRE'),), + FRAGILITE =FACT(statut='f',fr="donnees pour courbe de fragilite",max=1, + TABL_RESU =SIMP(statut='o',typ=table_sdaster), + regles=(UN_PARMI('VALE','LIST_PARA'),), + VALE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**' ), + LIST_PARA = SIMP(statut='f',typ=listr8_sdaster), + AM_INI = SIMP(statut='f',typ='R',defaut= 0.4 ), + BETA_INI = SIMP(statut='f',typ='R',defaut= 0.3 ), + FRACTILE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**'), + b_inte_spec_f = BLOC(condition="""FRACTILE !=None""", + NB_TIRAGE =SIMP(statut='f',typ='I' ),), + ), + INTERSPECTRE =FACT(statut='f',fr="donnees pour interspectre",max=1, + regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), + INTE_SPEC =SIMP(statut='o',typ=interspectre), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ), + NOEUD_I =SIMP(statut='f',typ=no,max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("DIAG","TOUT",) ), + b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ), + ), + b_noeud_i =BLOC(condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max='**'), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ), + ), + MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux "\ + "en complément des cinq premiers" ), + DUREE =SIMP(statut='f',typ='R',fr="durée de la phase forte "\ + "pour facteur de peak" ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster, + fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Dynamique",)}, + regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), + RESU_GENE =SIMP(statut='o',typ=tran_gene ), + CHOC =FACT(statut='f',max='**', + fr="Analyse des non linéarités de choc", + INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), + INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), + NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), + SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ), + NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ), + ), + RELA_EFFO_DEPL =FACT(statut='f', + fr="Analyse des relationsnon linéaires effort-déplacement", + NOEUD =SIMP(statut='o',typ=no), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: josselin.delmas at edf.fr + +POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", + + regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX', + 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE','NORME', + 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL','VOLUMOGRAMME', + 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','ENER_DISS','INTEGRALE'), + ), + + MASS_INER = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), + ), + b_mass_iner = BLOC(condition = "( MASS_INER != None )", + fr="calcul de la masse, les inerties et le centre de gravité", + regles=(EXCLUS('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas, + fourier_elas,dyna_trans) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',), + NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), + NOM_CAS = SIMP(statut='f',typ='TXM',), + ), + + ENER_POT = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_pot = BLOC(condition = "( ENER_POT != None )", + fr="calcul de l'énergie potentielle de déformation", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + ANGLE = SIMP(statut='f',typ='I',defaut=0), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_CIN = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), + into=("MASS_MECA","MASS_MECA_DIAG"), + defaut="MASS_MECA" ), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_cin = BLOC(condition = "( ENER_CIN != None )", + fr="calcul de l'énergie cinétique", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + ANGLE = SIMP(statut='f',typ='I',defaut=0), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_DISS = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_diss = BLOC(condition = "( ENER_DISS != None )", + fr="calcul de l'énergie dissipée", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + + ENER_ELAS = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", + fr="calcul de l'énergie de déformation élastique", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli,evol_elas) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + ENER_TOTALE = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", + fr="calcul de l'énergie de déformation totale", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INTEGRALE = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + DEJA_INTEGRE = SIMP(statut='f',typ='TXM',into=("OUI","NON",),), + ), + b_integrale = BLOC(condition = "( INTEGRALE != None )", + fr="calcul de la moyenne d'une composante", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + VOLUMOGRAMME = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA'), + UN_PARMI('NB_INTERV','SEUIL'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ=grma,max=1), + TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), + NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOM_CMP = SIMP(statut='o',typ='TXM'), + NB_INTERV = SIMP(statut='f',typ='I'), + SEUIL = SIMP(statut='f',typ='R'), + BORNES = SIMP(statut='f',typ='R',validators=NoRepeat(),min=2,max=2), + NORME = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + ), + b_volumogramme = BLOC(condition = "( VOLUMOGRAMME != None )", + fr="calcul de la distribution du volume d'une structure vis-à-vis d'une composante", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + NORME = FACT(statut='f',max=1, + fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", + regles=(UN_PARMI('TOUT','GROUP_MA'), + UN_PARMI('CHAM_GD','RESULTAT'), + PRESENT_PRESENT('CHAM_GD','MODELE'), + PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), + TYPE_NORM = SIMP(statut='f',typ='TXM',into=('L2','FROBENIUS')), + RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), + NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(), + into=("DEPL","TEMP","NEUT_R", + "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", + "EPSI_ELGA","EPSI_ELNO","EPSI_NOEU", + "SIEF_ELGA","SIEF_ELNO","SIEF_NOEU")), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + MODELE = SIMP(statut='f',typ=modele_sdaster), + + b_norme_GD = BLOC(condition = "( CHAM_GD != None )", + COEF_MULT = SIMP(statut='f',typ='R',max=30), + ), + + b_norme = BLOC(condition = "( RESULTAT != None )", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + ), + + + MINMAX = FACT(statut='f',max=1, + fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + PRESENT_PRESENT('CHAM_GD','MODELE'), + PRESENT_PRESENT('RESULTAT','NOM_CHAM'), + UN_PARMI('TOUT','GROUP_MA'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), + NOM_CHAM = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + MODELE = SIMP(statut='f',typ=modele_sdaster), + NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + b_minmax = BLOC(condition = "( RESULTAT != None )", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + ), + + WEIBULL = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), + into=("SIGM_ELGA","SIGM_ELMOY"), + defaut="SIGM_ELGA"), + CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + COEF_MULT = SIMP(statut='f',typ='R',defaut=1.), + ), + b_weibull = BLOC(condition = "( WEIBULL != None )", + fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(evol_noli) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + RICE_TRACEY = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), + into=("SIGM_ELGA","SIGM_ELMOY"), + defaut="SIGM_ELGA"), + LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )", + fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(evol_noli) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INDIC_ENER = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INDIC_SEUIL = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CHAR_LIMITE = FACT(statut='f',min=0, + CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") + ), + b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", + fr="post-traitement du calcul de la charge limite", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CARA_GEOM = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), + ), + b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", + fr="calcul des caractéristiques géométriques d'un section de poutre", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + CARA_POUTRE = FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA'), + ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + CARA_GEOM = SIMP(statut='o',typ=table_sdaster), + RT = SIMP(statut='f',typ='R'), + LAPL_PHI = SIMP(statut='f',typ=evol_ther), + LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), + LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), + LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), + LONGUEUR = SIMP(statut='f',typ='R'), + MATERIAU = SIMP(statut='f',typ=mater_sdaster), + OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), + into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), + ), + b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", + fr="calcul des caractéristiques mécaniques d'un section de poutre", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, + char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + AIRE_INTERNE = FACT(statut='f',max='**', + GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", + fr="calcul de l'aire d'un trou dans un maillage 2D", + MODELE = SIMP(statut='f',typ=modele_sdaster), + ), + + TRAV_EXT = FACT(statut='f',), + b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", + fr="calcul du travail des efforts extérieurs", + RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: marina.bottoni at edf.fr + +# --------------------------------------------------------------------------- +# POST_ENDO_FISS +# RECHERCHE DU TRAJET DE FISSURATION SUR UN +# CHAMP SCALAIRE 2D + + +def post_endo_fiss_prod(self,TABLE,**args) : + self.type_sdprod(TABLE,table_sdaster) + return maillage_sdaster + +POST_ENDO_FISS=MACRO(nom="POST_ENDO_FISS", + op=OPS('Macro.post_endo_fiss_ops.post_endo_fiss_ops'), + sd_prod=post_endo_fiss_prod, + reentrant='n', + UIinfo={"groupes":("Post-traitements","Outils-métier",)}, + fr="Individuation du trace d'une fissure a partir d'un champ scalaire pertinant", + + TABLE = SIMP(statut = 'o', typ = CO,), + + regles = (UN_PARMI("RESULTAT","CHAM_GD"), + ), + OUVERTURE = SIMP(statut = 'f', typ = 'TXM', into=('OUI','NON',), defaut = 'NON' ), + b_resultat = BLOC(condition = "RESULTAT != None", + regles = (UN_PARMI('NUME_ORDRE','INST'),), + NUME_ORDRE = SIMP(statut = 'f', typ = 'I', validators = NoRepeat(), ), + INST = SIMP(statut = 'f', typ = 'R', validators = NoRepeat(), ), + ), + + #b_champ = BLOC(condition = "CHAM_GD != None",), + + CHAM_GD = SIMP(statut = 'f',typ = (cham_gd_sdaster)), + RESULTAT = SIMP(statut = 'f',typ = (evol_noli)), + NOM_CMP = SIMP(statut = 'o',typ='TXM',), + NOM_CHAM = SIMP(statut = 'o', typ = 'TXM', + fr = "nom du champ a post-traiter",), + + RECHERCHE = FACT(statut = 'o',min=1,max='**', + regles = ( + PRESENT_ABSENT('TOUT','GROUP_MA',), + ), + LONG_ORTH = SIMP(statut='o', typ='R'), + NB_POINT = SIMP(statut='f', typ='I', defaut = 500), + PAS = SIMP(statut='o', typ='R', ), + LONG_REG = SIMP(statut='o', typ='R'), + BORNE_MIN = SIMP(statut='f', typ='R', defaut=0.5), + ANGL_MAX = SIMP(statut='f', typ='R', defaut=120.), + TOUT = SIMP(statut='f', typ='TXM', into=('OUI',) ), + GROUP_MA = SIMP(statut='f', typ=grma, validators=NoRepeat(), ), + BORNE_MAX = SIMP(statut='f', typ='R'), + ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire", + regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), + PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'), + UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ), + MOMENT_SPEC_0 =SIMP(statut='f',typ='R'), + MOMENT_SPEC_2 =SIMP(statut='f',typ='R'), + MOMENT_SPEC_4 =SIMP(statut='f',typ='R'), + TABL_POST_ALEA =SIMP(statut='f',typ=table_sdaster), + COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")), + DUREE =SIMP(statut='f',typ='R',defaut= 1.), + CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), + DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)), + MATER =SIMP(statut='o',typ=mater_sdaster), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: van-xuan.tran at edf.fr +POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement", + + CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","MULTIAXIAL","QUELCONQUE")), + + b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'", + regles=(PRESENT_PRESENT('CORR_KE','MATER'), + PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), + PRESENT_PRESENT('DOMMAGE','MATER'),), + HISTOIRE = FACT(statut='o', + regles=(UN_PARMI('SIGM','EPSI'),), + SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), + COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RAINFLOW_MAX","RCCM","NATUREL")), + DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + COEF_MULT = FACT(statut='f', + KT = SIMP(statut='o',typ='R'),), + CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", + "TAHERI_MANSON","TAHERI_MIXTE")), + MATER = SIMP(statut='f',typ=mater_sdaster), + CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), + TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), + TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), + ), + + b_multiaxial = BLOC( condition = "CHARGEMENT=='MULTIAXIAL'", + HISTOIRE = FACT(statut='o', + regles=(PRESENT_PRESENT('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ'), + PRESENT_PRESENT('EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ'), + PRESENT_PRESENT('EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), + AU_MOINS_UN('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ', + 'EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ', + 'EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), + ), + SIGM_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + + EPS_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPS_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPS_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPS_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPS_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPS_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + + EPSP_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + + TYPE_CHARGE = SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE")), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), + + b_fati_pfvie = BLOC(condition = "(DOMMAGE == 'FORM_VIE')", + FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + + MATER = SIMP(statut='f',typ=mater_sdaster), + COEF_CORR = SIMP(statut='f',typ='R'), + COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), + + + b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC","DANG_VAN_MODI_AC","CROSSLAND", + "PAPADOPOULOS","FORMULE_CRITERE") ), + + METHODE =SIMP(statut='f',typ='TXM',into=("CERCLE_EXACT",) ), + b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", + FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + ), + ), + + b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM', + into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE") ), + PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), + DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), + + b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", + FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + ), + + ), + + b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", + HISTOIRE = FACT(statut='o', + SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), + MATER = SIMP(statut='o',typ=mater_sdaster), + CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3", + op=OPS('Macro.post_k1_k2_k3_ops.post_k1_k2_k3_ops'), + sd_prod=table_sdaster, + fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par "\ + "extrapolation des sauts de déplacements sur les lèvres de la fissure", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + + regles=(UN_PARMI('FISSURE','FOND_FISS'),), + + MODELISATION =SIMP(statut='o',typ='TXM', + into=("3D","AXIS","D_PLAN","C_PLAN"),position='global', + fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"), + FOND_FISS =SIMP(statut='f',typ=fond_fiss), + FISSURE =SIMP(statut='f',typ=fiss_xfem), + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,mode_meca),position='global', + fr="Déplacement des noeuds de la lèvre supérieure et inférieure"), + NB_NOEUD_COUPE=SIMP(statut='f',typ='I',defaut=5,val_min = 3), + +# bloc correspondant a la donnee du fond de fissure pour les fissures maillees + b_fond_fiss =BLOC (condition="FOND_FISS!= None", + + b_no_mod =BLOC (condition="AsType(RESULTAT)!= mode_meca", + + EVOL_THER = SIMP(statut='f',typ=(evol_ther),fr="Température sur le fond de fissure"), + b_ref_3D = BLOC (condition="MODELISATION=='3D' ", + TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"), + ), + ), + b_mod =BLOC (condition="AsType(RESULTAT)== mode_meca and MODELISATION=='3D'", + TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("REGLE",),defaut="REGLE"), + ), + + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + ABSC_CURV_MAXI=SIMP(statut='f',typ='R', + fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), + ), + +# bloc correspondant a la donnee de la fissure pour les fissures X-FEM + b_fissure =BLOC (condition="FISSURE!= None", + NB_POINT_FOND = SIMP(statut='f',typ='I' ,), + NUME_FOND = SIMP(statut='f',typ='I',defaut=1), + ABSC_CURV_MAXI=SIMP(statut='f',typ='R', + fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), + ), + + MATER =SIMP(statut='o',typ=mater_sdaster, + fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), + + + PREC_VIS_A_VIS=SIMP(statut='f',typ='R',defaut=0.1), + + b_mod_meca =BLOC (condition="AsType(RESULTAT)== mode_meca ", + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + b_acce_reel =BLOC(condition="(FREQ!=None) or (LIST_FREQ!=None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + b_no_mod_meca =BLOC (condition="AsType(RESULTAT)!= mode_meca ", + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aurore.parrot at edf.fr +# +POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster, + fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + MATER_REV = SIMP(statut='o',typ=mater_sdaster), + EPAIS_REV = SIMP(statut='o',typ='R'), + FISSURE = FACT(statut='o', + DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), + PROFONDEUR = SIMP(statut='o',typ='R'), + LONGUEUR = SIMP(statut='o',typ='R'), + ORIENTATION = SIMP(statut='o',typ='TXM', + into=("CIRC","LONGI"),), + ), + K1D = FACT(statut='o',max='**', + TABL_MECA_REV = SIMP(statut='o',typ=(table_sdaster)), + TABL_MECA_MDB = SIMP(statut='o',typ=(table_sdaster)), + TABL_THER = SIMP(statut='o',typ=(table_sdaster)), + INTITULE = SIMP(statut='o',typ='TXM' ), + ), + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + + +POST_K_TRANS=MACRO(nom="POST_K_TRANS", + op=OPS('Macro.post_k_trans_ops.post_k_trans_ops'), + sd_prod=table_sdaster, + fr="Calcul des facteurs d intensite des contrainte par recombinaison modale", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + RESU_TRANS =SIMP(statut='o',typ=tran_gene), + K_MODAL =FACT(statut='o', + TABL_K_MODA =SIMP(statut='o',typ=table_sdaster,), + FOND_FISS =SIMP(statut='f',typ=fond_fiss,), + FISSURE =SIMP(statut='f',typ=fiss_xfem,), + regles=( UN_PARMI('FISSURE','FOND_FISS'), ), + ), + + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R'),), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM'), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: romeo.fernandes at edf.fr + +POST_MAC3COEUR = MACRO(nom="POST_MAC3COEUR", + op=OPS("Mac3coeur.post_mac3coeur_ops.post_mac3coeur_ops"), + + TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), + RESULTAT = SIMP(statut='o',typ=evol_noli), # SD_RESULTAT + INST = SIMP(statut='o',typ='R', max=1), # INSTANT + + LAME = FACT(statut='f',max='**', + fr="Post-traitement des lames d'eau, par grille ou valeurs min/max", + regles = UN_PARMI('NUME_GRILLE','TYPE_RESU',), + NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER + TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), # EXTREMA POUR LE POST + FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), + UNITE = SIMP(statut='o',typ='I', max=1), # NUMERO DE L'UNITE LOGIQUE POUR LE POST + ), + + DEFORMATION = FACT(statut='f',max='**', + fr="Post-traitement des deformations, par grille ou valeurs min/max", + + UNITE = SIMP(statut='o',typ='I', max=1), + FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), + + b_def_grace = BLOC(condition = "FORMAT == 'GRACE' ",fr="Paramètres pour le format GRACE", + regles=UN_PARMI('NUME_GRILLE','TYPE_RESU','POSITION'), + TYPE_VISU = SIMP(statut='o',typ='TXM',into=("AMPLITUDE","MODULE","VECTEUR","DEFORME")), + TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), + NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER + POSITION = SIMP(statut='f',typ='TXM', max=1), + CONCEPTION = SIMP(statut='f',typ='TXM', max=1), + ), + + b_def_table = BLOC(condition = "FORMAT == 'TABLE' ",fr="Paramètres pour le format TABLE", + NOM_CMP = SIMP(statut='o',typ='TXM',into=("DY","DZ","NORME")), + ), + + + ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr +POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, + reentrant='n',UIinfo={"groupes":("Maillage","Rupture",)}, + fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM", + MODELE = SIMP(statut='o',typ=modele_sdaster), + PREF_NOEUD_X =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),), + PREF_NOEUD_M =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),), + PREF_NOEUD_P =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),), + PREF_MAILLE_X =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),), + PREF_GROUP_CO =SIMP(statut='f',typ=grno ,defaut="NFISSU",), + TITRE = SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster, + fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), + +# ====================================================================== + b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + SY_MAX =SIMP(statut='f',typ='R', + fr="limite élastique utilisée pour le calcul du rochet thermique" ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + + TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", + regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'), + UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),), + NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, + fr="nombre d occurences réelles de ce transitoire" ), + TABL_RESU_MECA =SIMP(statut='f',typ=table_sdaster, + fr="relevé des contraintes sur le chemin"), + TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, + fr="résultat sous chargement thermique seul" ), + TABL_RESU_PRES =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes sous chargement de pression" ), + TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),),), + ), + ), + +# ====================================================================== + b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + SY_MAX =SIMP(statut='f',typ='R', + fr="limite élastique utilisée pourle calcul du rochet thermique" ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", + regles=(UN_PARMI('MX','MX_TUBU'),), + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + MX =SIMP(statut='f',typ='R',fr="moment suivant x", ), + MX_TUBU =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ), + b_1_tenseur =BLOC( condition = "MX != None", + FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), + FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), + FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), + MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), + MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), + ), + b_2_tenseurs =BLOC( condition = "MX_TUBU != None", + FX_TUBU =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ), + FY_TUBU =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ), + FZ_TUBU =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ), + MY_TUBU =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ), + MZ_TUBU =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ), + FX_CORP =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ), + FY_CORP =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ), + FZ_CORP =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ), + MX_CORP =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ), + MY_CORP =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ), + MZ_CORP =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ), + ), + + ), + RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", + regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),), + TABL_MX =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX"), + TABL_MX_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX_TUBU"), + b_1_tenseur =BLOC( condition = "TABL_MX != None", + TABL_FX =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX"), + TABL_FY =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY"), + TABL_FZ =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ"), + TABL_MY =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY"), + TABL_MZ =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ"), + ), + b_2_tenseurs =BLOC( condition = "TABL_MX_TUBU != None", + TABL_FX_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX_TUBU"), + TABL_FY_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY_TUBU"), + TABL_FZ_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"), + TABL_MY_TUBU =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY_TUBU"), + TABL_MZ_TUBU =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"), + TABL_FX_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX_CORP"), + TABL_FY_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY_CORP"), + TABL_FZ_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ_CORP"), + TABL_MX_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX_CORP"), + TABL_MY_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY_CORP"), + TABL_MZ_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ_CORP"), + ), + TABL_PRES =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire de pression"), + ), + + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes sous chargement thermique seul" ), + ), + SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), + CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + ), + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), + NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, + fr="numéro des situations de passage" ), + NUME_GROUPE =SIMP(statut='o',typ='I', + fr="numéros des groupes de la situation" ), + NUME_RESU_THER =SIMP(statut='f',typ='I',max=1,fr="numeros de transitoires thermiques" ), + CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), + PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), + PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), + TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), + TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), + ), + + ), +# ====================================================================== + b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", + + OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", + regles=(UN_PARMI('CHAM_GD','RESULTAT'),), + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + b_extrac =BLOC(condition="RESULTAT != None", + fr="extraction d un champ de grandeur", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","SIEF_ELNO"),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',), + INST =SIMP(statut='f',typ='R',), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + b_acce_reel =BLOC(condition="(INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + ), + INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), + K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), + C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), + K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), + C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), + K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', + fr="liste des mailles ou sont affectés les indices de contraintes"), + b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), + fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), + ), + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des températures sur la section"), + TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des moyennes sur la section"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + ), + SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), + CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + TEMP_REF =SIMP(statut='f',typ='R',fr="temperature référence"), + ), + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), + NUME_GROUPE =SIMP(statut='o',typ='I', + fr="numéros des groupes de la situation" ), + NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, + fr="numéro des situations de passage" ), + NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), + CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), + PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), + PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), + TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), + TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), + ), + ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: xavier.desroches at edf.fr +POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f', + fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)" + +" ou pour les exprimer dans d'autres repères", + docu="U4.81.21",UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, + + ACTION =FACT(statut='o',max='**', + regles=(UN_PARMI('RESULTAT','CHAM_GD'),), + + OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","MOYENNE_ARITH","EXTREMA"), + validators=NoRepeat(), max=2), + INTITULE =SIMP(statut='o',typ='TXM'), + + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster, + cham_elem,),), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + + b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE', + 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + + b_extrema =BLOC(condition="au_moins_un(OPERATION, 'EXTREMA')", + fr="recherche de MIN MAX", + regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + + b_MOYENNE_ARITH =BLOC(condition="au_moins_un(OPERATION, 'MOYENNE_ARITH')", + fr="moyenne sur des groupes", + regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + + b_autre =BLOC(condition="aucun(OPERATION, ('EXTREMA', 'MOYENNE_ARITH'))", + fr="extraction et moyenne", + regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), + EXCLUS('CHEMIN','GROUP_NO'), + EXCLUS('CHEMIN','NOEUD'), + PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'), + UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'), + PRESENT_PRESENT('TRAC_DIR','DIRECTION'), + ENSEMBLE('MOMENT','POINT'), + PRESENT_PRESENT('MOMENT','RESULTANTE'), + PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), + EXCLUS('TRAC_DIR','TRAC_NOR'), + PRESENT_PRESENT('ORIGINE','AXE_Z'),), + + CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)), + ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ), + RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), + + MOMENT =SIMP(statut='f',typ='TXM',max='**'), + POINT =SIMP(statut='f',typ='R',max='**'), + + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", + into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), + ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), + ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), + + TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), + TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + + VECT_Y =SIMP(statut='f',typ='R',max='**'), + MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), + + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +POST_RUPTURE=MACRO(nom="POST_RUPTURE", + op=OPS("Macro.post_rupture_ops.post_rupture_ops"), + sd_prod=table_sdaster, + fr="post-traitements en Rupture", + reentrant='f', + UIinfo={"groupes":("Résultats et champs","Rupture",)}, + + TABLE = SIMP(statut='o',typ=table_sdaster,max='**'), + +# rq : il est impossible de proposer le bon choix pour OPERATION suivant la valeur de reuse... + OPERATION = SIMP(statut='o',typ='TXM',into=( + 'ABSC_CURV_NORM', + 'ANGLE_BIFURCATION', + 'K_EQ', + 'DELTA_K_EQ', + 'COMPTAGE_CYCLES', + 'LOI_PROPA', + 'CUMUL_CYCLES', + 'PILO_PROPA', + 'K1_NEGATIF', + ) + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'ABSC_CURV_NORM' +#----------------------------------------------------------------------------------------------------------------------------------- + + + b_absc = BLOC(condition="OPERATION == 'ABSC_CURV_NORM'",fr="normalise l'abscisse curviligne", + + NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="ABSC_CURV_NORM",fr="Nom de la nouvelle colonne"), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'ANGLE_BIFURCATION' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_angle = BLOC(condition="OPERATION == 'ANGLE_BIFURCATION' ",fr="Angle de bifurcation", + + NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="BETA",fr="Nom de la nouvelle colonne"), + CRITERE = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",into=('SITT_MAX','K1_MAX','K2_NUL','PLAN'),), + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'K_EQ' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_Keq = BLOC(condition="OPERATION == 'K_EQ' ",fr="Cumul sur les modes : calcul du K equivalent", + + NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="K_EQ",fr="Nom de la nouvelle colonne"), + CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", + into=('LINEAIRE','QUADRATIQUE','CUMUL_G','MODE_I'),), + + b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", + MATER = SIMP(statut='o',typ=mater_sdaster,), + ), + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'DELTA_K_EQ' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_DeltaKeq = BLOC(condition="OPERATION == 'DELTA_K_EQ' ",fr="Cumul sur les modes : calcul du DeltaK equivalent", + + NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_K_EQ",fr="Nom de la nouvelle colonne"), + CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", + into=('QUADRATIQUE','CUMUL_G','MODE_I'),), + + b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", + MATER = SIMP(statut='o',typ=mater_sdaster,), + ), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'COMPTAGE_CYCLES' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_Comptage = BLOC(condition="OPERATION == 'COMPTAGE_CYCLES' ",fr="Comptage des cycles", + + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + fr="Nom des quantités sur lesquelles s'effectuent le comptage"), + COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL","UNITAIRE")), + DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + + b_Comptage_Unitaire = BLOC(condition="COMPTAGE=='UNITAIRE'", + fr="comptage unitaire pour les amplitudes constantes", + + COEF_MULT_MINI = SIMP(statut='o',typ='R',), + COEF_MULT_MAXI = SIMP(statut='o',typ='R',), + + ), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'LOI_PROPA' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_Loi_Propa = BLOC(condition="OPERATION == 'LOI_PROPA' ",fr="calcul de l'incrément d'avancée de fissure par cycle", + + NOM_PARA = SIMP(statut='f',typ='TXM',defaut="DELTA_A" ,max=1,fr="Nom de la nouvelle colonne"), + NOM_DELTA_K_EQ = SIMP(statut='f',typ='TXM',defaut="DELTA_K_EQ",max=1, + fr="Nom de la quantité correspondant au Delta_K_eq"), + LOI = SIMP(statut='o',typ='TXM',into=("PARIS",)), + + b_paris = BLOC(condition = "LOI=='PARIS'", + C = SIMP(statut='o',typ='R',), + M = SIMP(statut='o',typ='R',), + ), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'CUMUL_CYCLES' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_cumul = BLOC(condition="OPERATION == 'CUMUL_CYCLES' ",fr="Cumul sur les cycles", + + NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_A",fr="Nom de la colonne à traiter"), + CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="LINEAIRE",into=('LINEAIRE',)), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'PILO_PROPA' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_pilo_propa = BLOC(condition="OPERATION == 'PILO_PROPA' ",fr="Pilotage de la propagation", + + regles = UN_PARMI('DELTA_A_MAX','DELTA_N'), + DELTA_A_MAX = SIMP(statut='f',typ='R',max=1,val_min=0.,fr="Pilotage en incrément d'avancée max"), + DELTA_N = SIMP(statut='f',typ='R',max=1,val_min=1 ,fr="Pilotage en incrément de nombre de blocs"), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- +# 'K1_NEGATIF' +#----------------------------------------------------------------------------------------------------------------------------------- + + b_k1_neg = BLOC(condition="OPERATION == 'K1_NEGATIF' ",fr="Mise a zero des valeurs negatives de K1", + + MODELISATION = SIMP(statut='o',typ='TXM',into=("C_PLAN","D_PLAN","3D","AXIS")), + MATER = SIMP(statut='o',typ=mater_sdaster,), + + ), + +#----------------------------------------------------------------------------------------------------------------------------------- + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: irmela.zentner at edf.fr +POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f', + UIinfo={"groupes":("Post-traitements",)}, + fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure", + regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), + PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), + PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), + TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ETAT_INIT =FACT(statut='f', + TABL_USURE =SIMP(statut='f',typ=table_sdaster), + INST_INIT =SIMP(statut='f',typ='R'), + ), + RESU_GENE =SIMP(statut='f',typ=tran_gene), + NOEUD =SIMP(statut='f',typ=no,), + INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), + INST_FIN =SIMP(statut='f',typ='R'), + NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), + PUIS_USURE =SIMP(statut='f',typ='R'), + LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), + b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", + regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R'), + ), + OBSTACLE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R'), + ), + SECTEUR =FACT(statut='f',max='**', + CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", + "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", + "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), + COEF_USUR_MOBILE=SIMP(statut='f',typ='R'), + COEF_USUR_OBST =SIMP(statut='f',typ='R'), + ANGL_INIT =SIMP(statut='f',typ='R'), + ANGL_FIN =SIMP(statut='f',typ='R'), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'", + regles=(UN_PARMI('MOBILE','MATER_USURE'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_FNOR =SIMP(statut='f',typ='R'), + COEF_VTAN =SIMP(statut='f',typ='R'), + COEF_USURE =SIMP(statut='f',typ='R'), + COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), + COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), + ), + OBSTACLE =FACT(statut='f', + COEF_FNOR =SIMP(statut='f',typ='R' ), + COEF_VTAN =SIMP(statut='f',typ='R' ), + COEF_USURE =SIMP(statut='o',typ='R'), + COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), + COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + FNOR_MAXI =SIMP(statut='f',typ='R' ), + VTAN_MAXI =SIMP(statut='f',typ='R' ), + ), + b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'", + regles=(UN_PARMI('MOBILE','MATER_USURE'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), + COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), + COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), + COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), + ), + OBSTACLE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), + COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), + COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), + COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'", + TABL_USURE =SIMP(statut='o',typ=table_sdaster), + ), + CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", + "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", + "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), + RAYON_MOBILE =SIMP(statut='f',typ='R'), + RAYON_OBST =SIMP(statut='f',typ='R'), + LARGEUR_OBST =SIMP(statut='f',typ='R'), + ANGL_INCLI =SIMP(statut='f',typ='R'), + ANGL_ISTHME =SIMP(statut='f',typ='R'), + ANGL_IMPACT =SIMP(statut='f',typ='R'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr + +POURSUITE=MACRO(nom="POURSUITE", + op=OPS("Cata.ops.build_poursuite"), + repetable='n', + fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX " \ + "ou HDF de sa base globale", + sd_prod = ops.POURSUITE, + UIinfo={"groupes":("Gestion du travail",)}, + op_init=ops.POURSUITE_context, + fichier_ini=1, + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), + PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', + into=("OUI","NON"),defaut="OUI"), + IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", + statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), + + BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", + statut='f',min=1,max=2, + FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'), + TITRE =SIMP(statut='f',typ='TXM'), + CAS =SIMP(statut='f',typ='TXM'), + NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), + LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), + LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), + ), + +# Le mot cle CATALOGUE n'est jamais utilise en POURSUITE mais sa presence est necessaire au bon fonctionnement +# de la commande, le code source etant commun aux commandes DEBUT et POURSUITE. +# + CATALOGUE =FACT(statut='f',min=1,max=10, + FICHIER =SIMP(statut='o',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + + ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, + ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'), + ), + + DEBUG =FACT(fr="option de déboggage reservée aux développeurs", + statut='f',min=1,max=1, + JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", + statut='f',typ='TXM',into=('OUI','NON')), + JEVEUX =SIMP(fr="force les déchargement sur disque", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", + statut='f',typ='TXM',into=('TEST',)), + HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", + statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), + ), + + MESURE_TEMPS =FACT(fr="Pour choisir les mesures de temps consommé dans les commandes", + statut='d',min=1,max=1, + NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", + statut='f',typ='I',into=(0,1,2,3),defaut=1), + # 0 : rien + # 1 : impression en fin de commande des mesures principales + # 2 : impression en fin de commande des mesures principales et secondaires + # 3 : impression des mesures principales et secondaires pour chaque pas de temps + MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", + statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), + ), + + MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, + TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), + TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), + ), + + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), + VALE =SIMP(statut='f',typ='I',val_min=0), +# valeur par défaut fixée à 10. dans le FORTRAN si CODE présent + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur par défaut fixée à 10% dans le FORTRAN + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900) ), +# valeur en pourcentage du temps maximum bornée à 900 secondes + + CODE =SIMP(statut='f',typ='TXM',into=('OUI', 'NON'),defaut='NON', + fr="paramètre réservé aux cas-tests"), + + IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), + + LANG = SIMP(statut='f', typ='TXM', + fr="Permet de choisir la langue utilisée pour les messages (si disponible)", + ang="Allows to choose the language used for messages (if available)"), + + INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +PRE_GIBI=PROC(nom="PRE_GIBI",op=49, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier de maillage GIBI au format Aster", + UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +PRE_GMSH=PROC(nom="PRE_GMSH",op=47, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier de maillage GMSH au format Aster", + UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: alexei.mikchevitch at edf.fr +PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster", + UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), + CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster, + fr="Effectuer le produit d'une matrice par un vecteur", + reentrant='n', + UIinfo={"groupes":("Post-traitements","Matrices et vecteurs",)}, + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: emmanuel.boyere at edf.fr + + +def proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE, + RESU_GENE, NUME_DDL_GENE, + STOCKAGE,**args ): + if NUME_DDL_GENE is not None and NUME_DDL_GENE.is_typco(): + self.type_sdprod(NUME_DDL_GENE, nume_ddl_gene) + if MATR_ASSE_GENE != None: + for m in MATR_ASSE_GENE: + self.type_sdprod(m['MATRICE'],matr_asse_gene_r) + if VECT_ASSE_GENE != None: + for v in VECT_ASSE_GENE: + self.type_sdprod(v['VECTEUR'],vect_asse_gene) + if RESU_GENE != None: + for v in RESU_GENE: + self.type_sdprod(v['RESULTAT'],tran_gene) + return None + +PROJ_BASE=MACRO(nom="PROJ_BASE", + op=OPS('Macro.proj_base_ops.proj_base_ops'), + regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE','RESU_GENE')), + UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, + sd_prod=proj_base_prod, + fr="Projection des matrices et/ou vecteurs assembles sur une base (modale ou de RITZ)", + BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), + NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("PLEIN","DIAG") ), + NUME_DDL_GENE =SIMP(statut='f',typ=(nume_ddl_gene,CO),defaut=None), + MATR_ASSE_GENE =FACT(statut='f',max='**', + MATRICE =SIMP(statut='o',typ=CO,), + regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),), + MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), + MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + ), + VECT_ASSE_GENE =FACT(statut='f',max='**', + VECTEUR =SIMP(statut='o',typ=CO,), + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), + ), + RESU_GENE =FACT(statut='f',max='**', + RESULTAT =SIMP(statut='o',typ=CO,), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + RESU =SIMP(statut='o',typ=dyna_trans), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr +def proj_champ_prod(RESULTAT=None,CHAM_GD=None,METHODE=None,**args ): + if (RESULTAT == None and CHAM_GD == None) : return corresp_2_mailla + if RESULTAT != None : return AsType(RESULTAT) + if CHAM_GD != None and METHODE == 'SOUS_POINT' : + return cham_elem + else : + return AsType(CHAM_GD) + raise AsException("type de concept resultat non prevu") + + + + +PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Projeter des champs d'un maillage sur un autre", + + # faut-il projeter les champs ? + PROJECTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),), + + # pour projeter avec une sd_corresp_2_mailla deja calculée : + MATR_PROJECTION =SIMP(statut='f',typ=corresp_2_mailla,), + + + + #----------------------------------------------------------------------------------------------------------- + # 1er cas : on fait tout d'un coup : creation de la sd_corresp_2_mailla + projection des champs + #----------------------------------------------------------------------------------------------- + b_1_et_2 =BLOC(condition= "PROJECTION == 'OUI' and MATR_PROJECTION == None", + regles=(UN_PARMI('RESULTAT','CHAM_GD'), + UN_PARMI('MODELE_1','MAILLAGE_1'), + UN_PARMI('MODELE_2','MAILLAGE_2'), + ), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), + + METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO", + into=("NUAGE_DEG_0","NUAGE_DEG_1","AUTO","COLLOCATION","ECLA_PG","SOUS_POINT") ), + + + MODELE_1 =SIMP(statut='f',typ=modele_sdaster), + MAILLAGE_1 =SIMP(statut='f',typ=(maillage_sdaster,squelette)), + + MODELE_2 =SIMP(statut='f',typ=modele_sdaster), + MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), + + # Cas de la projection NUAGE_DEG_0/1 : + #-------------------------------------------- + b_nuage =BLOC(condition="METHODE in ('NUAGE_DEG_0','NUAGE_DEG_1')", + CHAM_NO_REFE =SIMP(statut='o',typ=cham_no_sdaster), + ), + + + # Cas de la projection COLLOCATION : + #-------------------------------------------- + b_elem =BLOC(condition="METHODE in ('COLLOCATION','ECLA_PG','AUTO')", + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), + fr="Pour indiquer au programme le type de projection souhaité"), + DISTANCE_MAX =SIMP(statut='f',typ='R', + fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), + + TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_1 avant la projection."), + TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_2 avant la projection."), + + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), + fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), + + PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", + fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), + ), + + # Cas de la projection SOUS_POINT : + #-------------------------------------------- + b_sous_point =BLOC(condition="METHODE == 'SOUS_POINT'" , + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", + fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), + TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_1 avant la projection."), + TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_2 avant la projection."), + ), + + + # Cas de la projection d'une sd_resultat : + #-------------------------------------------- + b_resultat =BLOC(condition="RESULTAT != None", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), + EXCLUS('TOUT_CHAM','NOM_CHAM',),), + NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), + + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), + fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + + b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + ), + + + VIS_A_VIS =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), + TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_1 avant la projection."), + TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_2 avant la projection."), + ), + ), # fin bloc b_1_et_2 + + + + #----------------------------------------------------------------------------------------------------------- + # 2eme cas : on s'arrete apres la creation de la sd_corresp_2_mailla + #----------------------------------------------------------------------------------------------- + b_1 =BLOC(condition="PROJECTION == 'NON'", + + METHODE =SIMP(statut='f',typ='TXM',defaut="COLLOCATION", + into=("COLLOCATION","COUPLAGE",) ), + + regles=(UN_PARMI('MODELE_1','MAILLAGE_1'), + UN_PARMI('MODELE_2','MAILLAGE_2'), + ), + MODELE_1 =SIMP(statut='f',typ=modele_sdaster), + MAILLAGE_1 =SIMP(statut='f',typ=maillage_sdaster), + + MODELE_2 =SIMP(statut='f',typ=modele_sdaster), + MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), + + + # Cas de la projection COLLOCATION : + #-------------------------------------------- + b_elem =BLOC(condition="METHODE in ('COLLOCATION',)", + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), + fr="Pour indiquer au programme le type de projection souhaité"), + DISTANCE_MAX =SIMP(statut='f',typ='R', + fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), + + TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_1 avant la projection."), + TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_2 avant la projection."), + + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + ), + + VIS_A_VIS =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), + TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_1 avant la projection."), + TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, + fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ + " aux noeuds du MODELE_2 avant la projection."), + ), + ), # fin bloc b_1 + + + + #----------------------------------------------------------------------------------------------------------- + # 3eme cas : on projette les champs avec une sd_corresp_2_mailla déjé calculée + #----------------------------------------------------------------------------------------------- + b_2 =BLOC(condition="MATR_PROJECTION != None", + regles=(UN_PARMI('RESULTAT','CHAM_GD'),), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), + + TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), + fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), + + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), + fr="Parfois utile en dynamique pour pouvoir imposer la numérotation des cham_no."), + + # nécessaire si l'on projette des cham_elem : + MODELE_2 =SIMP(statut='f',typ=modele_sdaster), + + PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", + fr="Pour prolonger les champs par zéro là où la projection ne donne pas de valeurs."), + + + + # Cas de la projection d'une sd_resultat : + #-------------------------------------------- + b_resultat =BLOC(condition="RESULTAT != None", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), + EXCLUS('TOUT_CHAM','NOM_CHAM',),), + + NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), + + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + + b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + + ), + ), # fin bloc b_2 + + + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r + if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r + if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c + if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c + raise AsException("type de concept resultat non prevu") + +PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, + fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),), + BASE =SIMP(statut='o',typ=(mode_meca,mode_gene ) ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), + MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: harinaivo.andriambololona at edf.fr +def proj_mesu_modal_prod(MODELE_MESURE,**args): + vale=MODELE_MESURE['MESURE'] + if AsType(vale) == dyna_trans : return tran_gene + if AsType(vale) == dyna_harmo : return harm_gene + if AsType(vale) == mode_meca : return mode_gene + if AsType(vale) == mode_meca_c : return mode_gene +# if AsType(vale) == base_modale : return mode_gene + raise AsException("type de concept resultat non prevu") + +PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, + sd_prod=proj_mesu_modal_prod, + reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection", + + MODELE_CALCUL =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), +# BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), + BASE =SIMP(statut='o',typ= mode_meca, ), + ), + MODELE_MESURE =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), +# MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), + MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE", + "SIEF_NOEU","EPSI_NOEU",),max='**'), + ), + CORR_MANU =FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), + NOEU_CALCUL =SIMP(statut='f',typ=no), + NOEU_MESURE =SIMP(statut='f',typ=no), + ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + RESOLUTION =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), + b_svd =BLOC(condition="METHODE=='SVD'", + EPS=SIMP(statut='f',typ='R',defaut=0. ), + ), + REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), + b_regul =BLOC(condition="REGUL!='NON'", + regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), + COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), + COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + ), + ), + + ); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: albert.alarcon at edf.fr + +PROJ_RESU_BASE=OPER(nom="PROJ_RESU_BASE",op= 79,sd_prod=tran_gene, + fr="Projection d'une sd resultat assemblee sur une base (modale ou de RITZ)", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + RESU =SIMP(statut='o',typ=dyna_trans), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=interspectre,reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ", + regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), + UN_PARMI('TOUT','GROUP_MA','MAILLE'), + PRESENT_PRESENT('CHAM_NO','MODELE_INTERFACE'),), + SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), + TOUT_CMP =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", + VITE_FLUI =SIMP(statut='o',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + FREQ_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), + FREQ_FIN =SIMP(statut='o',typ='R',val_min=0.E+0 ), + NB_POIN =SIMP(statut='o',typ='I' ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), +# Quel est le type attendu derriere MODELE_INTERFACE + MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), + VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), + ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr + +PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene, + fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),), + BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + + +def propa_fiss_prod(self,**args): + if args.has_key('MAIL_TOTAL') : + MAIL_TOTAL = args['MAIL_TOTAL'] + self.type_sdprod(MAIL_TOTAL,maillage_sdaster) + if args.has_key('MAIL_FISS') : + MAIL_FISS = args['MAIL_FISS'] + self.type_sdprod(MAIL_FISS,maillage_sdaster) + if args.has_key('FISSURE') : + FISSURE = args['FISSURE'] + for numfis in FISSURE : + if (args['METHODE_PROPA']=='MAILLAGE') : + self.type_sdprod(numfis['MAIL_PROPAGE'],maillage_sdaster) + else : + self.type_sdprod(numfis['FISS_PROPAGEE'],fiss_xfem) + return None + +PROPA_FISS=MACRO(nom="PROPA_FISS", + op=OPS('Macro.propa_fiss_ops.propa_fiss_ops'), + sd_prod=propa_fiss_prod, + fr="Propagation de fissure avec X-FEM",reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + + METHODE_PROPA = SIMP(statut='o',typ='TXM', + into=("SIMPLEXE","UPWIND","MAILLAGE","INITIALISATION","GEOMETRIQUE") ), + + b_hamilton = BLOC(condition="(METHODE_PROPA=='SIMPLEXE') or (METHODE_PROPA=='UPWIND') or (METHODE_PROPA=='GEOMETRIQUE') ", + MODELE = SIMP(statut='o',typ=modele_sdaster), + TEST_MAIL = SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), + DA_MAX = SIMP(statut='o',typ='R',max=1,val_min=0.0), + RAYON = SIMP(statut='o',typ='R',), + ZONE_MAJ = SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), + b_tore = BLOC(condition = "ZONE_MAJ == 'TORE' ", + RAYON_TORE = SIMP(statut='f',typ='R',max=1,val_min=0.0), + ), + b_propagation = BLOC(condition = "TEST_MAIL == 'NON' ", + FISSURE = FACT(statut='o',min=1,max='**', + FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), + FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), + NB_POINT_FOND = SIMP(statut='f',typ='I',max='**',val_min=2), + TABLE = SIMP(statut='o',typ=table_sdaster,max=1), + ), + LOI_PROPA = FACT(statut='o',max=1, + LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), + b_paris = BLOC(condition = "LOI=='PARIS'", + C = SIMP(statut='o',typ='R',), + M = SIMP(statut='o',typ='R',), + ), + MATER = SIMP(statut='o',typ=mater_sdaster,), + ), + COMP_LINE = FACT(statut='o',max=1, + COEF_MULT_MINI = SIMP(statut='o',typ='R',), + COEF_MULT_MAXI = SIMP(statut='o',typ='R',), + ), + CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", + into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), + ), + + b_test_const = BLOC(condition = "TEST_MAIL == 'OUI' ", + FISSURE = FACT(statut='o',min=1,max='**', + FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), + FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), + ), + ITERATIONS = SIMP(statut='f',typ='I',max=1,val_min=3,defaut=5), + TOLERANCE = SIMP(statut='f',typ='R',max=1,val_min=0.0,val_max=100.0,defaut=5.0), + ), + + ), + + b_maillage =BLOC(condition="(METHODE_PROPA=='MAILLAGE')", + MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), + ITERATION = SIMP(statut='o',typ='I',max=1), + DA_MAX = SIMP(statut='o',typ='R',max=1), + FISSURE = FACT(statut='o',min=1,max='**', + MAIL_ACTUEL = SIMP(statut='o',typ=maillage_sdaster,max=1), + GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), + GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), + FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), + MAIL_PROPAGE = SIMP(statut='f',typ=CO,max=1), + TABLE = SIMP(statut='o',typ=table_sdaster,max=1), + ), + MAIL_TOTAL = SIMP(statut='o',typ=CO), + LOI_PROPA = FACT(statut='o',max=1, + LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), + b_paris = BLOC(condition = "LOI=='PARIS'", + C = SIMP(statut='o',typ='R',), + M = SIMP(statut='o',typ='R',), + ), + MATER = SIMP(statut='o',typ=mater_sdaster,), + ), + COMP_LINE = FACT(statut='o',max=1, + COEF_MULT_MINI = SIMP(statut='o',typ='R',), + COEF_MULT_MAXI = SIMP(statut='o',typ='R',), + ), + CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", + into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), + ), + + b_init =BLOC(condition="(METHODE_PROPA=='INITIALISATION')", + MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), + FORM_FISS = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN","ELLIPSE"), ), + GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), + GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), + MAIL_TOTAL = SIMP(statut='o',typ=CO), + MAIL_FISS = SIMP(statut='f',typ=CO), + + b_droite = BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ", + PFON = SIMP(statut='o',typ='R',max=3), + DTAN = SIMP(statut='o',typ='R',min=3,max=3), + ), + + b_plan = BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ", + DTAN = SIMP(statut='o',typ='R',min=3,max=3), + POINT_ORIG = SIMP(statut='o',typ='R',min=3,max=3), + POINT_EXTR = SIMP(statut='o',typ='R',min=3,max=3), + NB_POINT_FOND = SIMP(statut='o',typ='I',), + ), + + b_ellipse = BLOC(condition = "FORM_FISS == 'ELLIPSE' ", + CENTRE =SIMP(statut='o',typ='R',min=3,max=3), + DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), + DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), + VECT_X =SIMP(statut='o',typ='R',min=3,max=3), + VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), + ANGLE_ORIG = SIMP(statut='o',typ='R',), + ANGLE_EXTR = SIMP(statut='o',typ='R',), + NB_POINT_FOND = SIMP(statut='o',typ='I',) + ), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n', + UIinfo={"groupes":("Post-traitements","Rupture",)}, + fr="Propagation de fissure avec X-FEM", + + MODELE =SIMP(statut='o',typ=modele_sdaster), + + TEST_MAIL =SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), + + DA_MAX =SIMP(statut='o',typ='R'), + + FISS_PROP =SIMP(statut='o',typ=fiss_xfem), + + ZONE_MAJ =SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), + + RAYON_TORE =SIMP(statut='f',typ='R'), + + LISTE_FISS =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), + + ANGLE =SIMP(statut='f',typ='R',max='**'), + VITESSE =SIMP(statut='f',typ='R',max='**'), + DA_FISS =SIMP(statut='f',typ='R'), + NB_CYCLES =SIMP(statut='f',typ='R'), + + b_test_mail_const =BLOC( condition = "TEST_MAIL == 'OUI' ", + FISS_INITIALE =SIMP(statut='o',typ=fiss_xfem,max=1), + DISTANCE =SIMP(statut='o',typ='R',max=1), + TOLERANCE =SIMP(statut='o',typ='R',max=1), + ), + + RAYON =SIMP(statut='o',typ='R',), + + METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND","GEOMETRIQUE"),defaut="UPWIND"), + + INFO =SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: renaud.bargellini at edf.fr + +RAFF_GP =MACRO(nom="RAFF_GP", + op=OPS('Macro.raff_gp_ops.raff_gp_ops'), + sd_prod=maillage_sdaster, + UIinfo={"groupes":("Outils-métier","Rupture",)}, + reentrant='n', + fr="Preparation du maillage pour calcul du Gp en 2D", + MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, + fr="Maillage avant adaptation", + ang="Mesh before adaptation" ), + TRANCHE_2D = FACT(statut='0',max = 1, + CENTRE =SIMP(statut='o',typ='R',max=2), + RAYON =SIMP(statut='o',typ='R',max=1), + ANGLE =SIMP(statut='o',typ='R',max=1), + TAILLE =SIMP(statut='o',typ='R',max=1), + NB_ZONE =SIMP(statut='o',typ='I',), + ), + NB_RAFF = SIMP(statut='f',typ='I',defaut=4), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +# determination du type de sd produite par la commande +def raff_xfem_prod(self,TYPE,**args): + if TYPE == 'DISTANCE' : + return cham_no_sdaster + elif TYPE == 'ZONE' : + return carte_sdaster + else : + raise AsException("type de concept non prevu") + + +RAFF_XFEM=MACRO(nom="RAFF_XFEM", + op=OPS('Macro.raff_xfem_ops.raff_xfem_ops'), + sd_prod=raff_xfem_prod, + fr="Calcul d'un indicateur pour le raffinement", + reentrant='n', + UIinfo={"groupes":("Résultats et champs","Rupture",)}, + + TYPE =SIMP(statut='f',typ='TXM',into=('DISTANCE','ZONE'),defaut='DISTANCE'), + FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), + + b_zone =BLOC(condition = "TYPE == 'ZONE' ",fr="Paramètres de la zone", + RAYON =SIMP(statut='o',typ='R',val_min=0.), + ), + + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: samuel.geniaut at edf.fr + +# commande cachee appelee uniquement par la macro RAFF_XFEM + +RAFF_XFEM_ZONE=OPER(nom="RAFF_XFEM_ZONE", + op=188, +# sd_prod=cham_elem, + sd_prod=carte_sdaster, + fr="Calcul d'un indicateur binaire pour le raffinement", + reentrant='n', + UIinfo={"groupes":("Résultats et champs","Rupture",)}, + + FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max=1), + RAYON =SIMP(statut='o',typ='R',val_min=0.), + + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aurore.parrot at edf.fr +RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster, + fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n', + UIinfo={"groupes":("Post-traitements",)}, + LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), + RESU =FACT(statut='o',max='**', + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), + AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), + EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + TEMPE =SIMP(statut='f',typ='R' ), + LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), + CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ), + INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), + ) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None, + BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None, + INTE_SPEC=None,NOEUD_J=None,NUME_ORDRE_J=None, + NOM_CMP_J=None,NOM_CMP_I=None,NUME_ORDRE_I=None,NOEUD_I=None, + NOM_PARA_TABL=None,**args): + if AsType(RESULTAT) == dyna_harmo or \ + AsType(RESU_GENE) == harm_gene or \ + (INTE_SPEC and NUME_ORDRE_J and (NUME_ORDRE_I != NUME_ORDRE_J) ) or \ + (INTE_SPEC and NOEUD_J and ((NOEUD_I != NOEUD_J) or (NOM_CMP_I != NOM_CMP_J)) ) or \ + (TABLE != None and NOM_PARA_TABL == "FONCTION_C"): + return fonction_c + else: + return fonction_sdaster + +RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod, + fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre", + reentrant='f', + UIinfo={"groupes":("Résultats et champs","Fonctions",)}, + regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE','INTE_SPEC'),), + + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + RESU_GENE =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)), + TABLE =SIMP(statut='f',typ=(table_sdaster,table_fonction)), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), + NAPPE =SIMP(statut='f',typ=nappe_sdaster), + INTE_SPEC =SIMP(statut='f',typ=interspectre), + +# ======= ACCES A LA SD RESULTAT ================================================= + b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)", + fr="acces a une SD résultat", +# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), + ), + ), +# ======= BASE_ELAS_FLUI ================================================= + b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", + fr="Récupération de la fonction à partir d un concept melasflu", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='o',typ='I' ), + PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), + PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), + ), + +# ======= INTERSPECTRE ================================================= + b_inte_spec = BLOC ( condition = "INTE_SPEC != None", + fr="Récupération de fonction dans un concept interspectre", + regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOEUD_I =SIMP(statut='f',typ=no,max=1), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1 ), + b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='f',typ='I',max=1 ), + ), + b_noeud_i = BLOC (condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='f',typ=no,max=1), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1 ), + NOM_CMP_J =SIMP(statut='f',typ='TXM',max=1 ), + ), + ), + +# ======= TABLE ================================================= + b_table = BLOC ( condition = "TABLE != None", + fr="Récupération de la fonction à partir d un concept table", + regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'), + PRESENT_PRESENT('PARA_X','PARA_Y'),), + PARA_X = SIMP(statut='f',typ='TXM', + fr="1ère colonne de la table qui définit la fonction à récupérer", ), + PARA_Y = SIMP(statut='f',typ='TXM', + fr="2ème colonne de la table qui définit la fonction à récupérer", ), + #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction", + NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"), + fr="Nom du paramètre de la table contenant la fonction" ), + #), + + FILTRE = FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM' ), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R' ), + VALE_I =SIMP(statut='f',typ='I' ), + VALE_C =SIMP(statut='f',typ='C' ), + VALE_K =SIMP(statut='f',typ='TXM' ),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + ), + +# ======= RESULTAT ================================================= + b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT", + regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + b_cham = BLOC ( condition = "NOM_CHAM != None", + regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), + PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), + PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), + EXCLUS('GROUP_MA','MAILLE'), + EXCLUS('GROUP_NO','NOEUD'),), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I' ), + ), + ), + +# ======= RESU_GENE ================================================= + b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene", + fr="Récupération d'une fonction à partir d un concept TRAN_GENE", + regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","PTEM") ), + NOEUD_CHOC =SIMP(statut='f',typ=no), + GROUP_NO_CHOC =SIMP(statut='f',typ=grno), + b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')", + regles=(UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',), + UN_PARMI('NOM_CMP','NUME_CMP_GENE',), + EXCLUS('MULT_APPUI','CORR_STAT'),), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), + ), + b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)", + regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),), + PARA_X =SIMP(statut='o',typ='TXM', + into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), + PARA_Y =SIMP(statut='o',typ='TXM', + into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + INTITULE =SIMP(statut='f',typ='TXM' ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + ), + ), + b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", + fr="Récupération d'une fonction à partir d un concept HARM_GENE", + regles=(UN_PARMI('NOM_CMP','NUME_CMP_GENE'), + UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE") ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + ), + # b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", + # fr="Récupération d'une fonction à partir d un concept HARM_GENE", + # regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + # NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + # NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + # b_cham = BLOC ( condition = "NOM_CHAM != None", + # regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), + # NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + # NOM_CMP =SIMP(statut='f',typ='TXM' ), + # b_cmp = BLOC ( condition = "NOM_CMP != None", + # regles=(UN_PARMI('NOEUD','GROUP_NO'),), + # NOEUD =SIMP(statut='f',typ=no), + # GROUP_NO =SIMP(statut='f',typ=grno), + # ), + # ), + # ), + b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene", + fr="Récupération d'une fonction à partir d un concept MODE_GENE", + regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + b_cham = BLOC ( condition = "NOM_CHAM != None", + regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), + NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + b_cmp = BLOC ( condition = "NOM_CMP != None", + regles=(UN_PARMI('NOEUD','GROUP_NO'), + UN_PARMI('SQUELETTE','SOUS_STRUC'),), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + SQUELETTE =SIMP(statut='f',typ=squelette ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + ), + ), + ), + +# ======= CHAM_GD ================================================= + b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD", + regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), + PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), + PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), + EXCLUS('GROUP_MA','MAILLE'), + EXCLUS('GROUP_NO','NOEUD'),), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I' ), + ), + +# ======= NAPPE ================================================= + b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE", + VALE_PARA_FONC =SIMP(statut='o',typ='R' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + +# ======= SURCHARGE DES ATTRIBUTS ================================================= + NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: emmanuel.boyere at edf.fr +RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats" + +" en coordonnées généralisées", + regles=(UN_PARMI('FREQ','INST',),), + RESU_GENE =SIMP(statut='o',typ=(tran_gene,harm_gene),), + INST =SIMP(statut='f',typ='R',), + FREQ =SIMP(statut='f',typ='R',), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE",),), + b_interp_temp=BLOC(condition="INST != None and FREQ == None", + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",),), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),),), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.greffet at edf.fr +# +# RECUPERATION DE PARAMETRES DE COUPLAGE VIA YACS +# +RECU_PARA_YACS=OPER(nom="RECU_PARA_YACS",op=114,sd_prod=listr8_sdaster, + reentrant = 'n', + UIinfo={"groupes":("Fonction",)}, + fr = "Gestion des scalaires via YACS pour le coupleur IFS", + DONNEES = SIMP(statut='o',typ='TXM',into=("INITIALISATION","CONVERGENCE","FIN","PAS",) ), + b_init = BLOC(condition= "DONNEES=='INITIALISATION'", + PAS = SIMP(statut='o',typ='R', ),), + b_noinit = BLOC(condition= "(DONNEES=='CONVERGENCE')or(DONNEES=='FIN')", + NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), + INST = SIMP(statut='o',typ='R', ), + PAS = SIMP(statut='o',typ='R', ),), + b_pastps = BLOC(condition= "(DONNEES=='PAS')", + NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), + INST = SIMP(statut='o',typ='R', ), + PAS = SIMP(statut='o',typ='R', ),), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, + fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue" + +" dans une autre SD pour celles qui le permettent", + UIinfo={"groupes":("Résultats et champs","Tables",)},reentrant='n', + CO =SIMP(statut='o',typ=assd), + regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), + NOM_TABLE =SIMP(statut='f',typ='TXM' ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jacques.pellet at edf.fr + +RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f', + fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+ + "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné", + UIinfo={"groupes":("Résolution",)}, + MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, + matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), + + # mot-clé commun aux solveurs MUMPS, GCPC et PETSc: + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + + # mot-clé pour les posttraitements de la phase de solve de MUMPS + POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")), + + # mot-clé commun aux solveurs GCPC et PETSc: + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + MATR_PREC =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), + + # mots-clés pour solveur PETSc: + ALGORITHME =SIMP(statut='f',typ='TXM',into=("CG", "CR", "GMRES", "GCR", ),defaut="GMRES" ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: Georges-cc.devesa at edf.fr +def rest_cond_tran_prod(RESULTAT,TYPE_RESU,**args ): + + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "DYNA_TRANS") : return dyna_trans + if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "EVOL_NOLI") : return evol_noli + + raise AsException("type de concept resultat non prevu") + +REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op= 78,sd_prod=rest_cond_tran_prod, + fr="Restituer dans la base physique des résultats issus d'un calcul" + +"non-lineaire avec projection modale ou d'un calcul transitoire linear" + +"avec condensation dynamique", + reentrant='f', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=( + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), + EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),), + RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNA_TRANS", + into=("DYNA_TRANS","EVOL_NOLI") ), + BASE_MODALE =SIMP(statut='f',typ=mode_meca), +# NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), + MACR_ELEM_DYNA =SIMP(statut='f',typ=macr_elem_dyna), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_nom_cham=BLOC(condition="TOUT_CHAM == None", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,defaut="ACCE",into=("DEPL", + "VITE","ACCE",),),), + b_base_moda=BLOC(condition="BASE_MODALE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem),), + RESU_FINAL =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: emmanuel.boyere at edf.fr + +def rest_gene_phys_prod(RESU_GENE,**args ): + if AsType(RESU_GENE) == tran_gene : return dyna_trans + if AsType(RESU_GENE) == mode_gene : return mode_meca + if AsType(RESU_GENE) == harm_gene : return dyna_harmo + + raise AsException("type de concept resultat non prevu") + +REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op= 75,sd_prod=rest_gene_phys_prod, + fr="Restituer dans la base physique des résultats en coordonnées généralisées", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=( + EXCLUS('INST','LIST_INST','TOUT_INST', + 'TOUT_ORDRE','NUME_ORDRE','NUME_MODE',), + EXCLUS('FREQ','LIST_FREQ'), + EXCLUS('MULT_APPUI','CORR_STAT'), + EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'), + EXCLUS('CORR_STAT','NOEUD','GROUP_NO'), + EXCLUS('NOEUD','GROUP_NO'), + EXCLUS('MAILLE','GROUP_MA'), + PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),), + RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,harm_gene) ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_nom_cham=BLOC(condition="TOUT_CHAM == None", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", + "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",),),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +def rest_mode_nonl_prod(TYPE_RESU,**args): + if TYPE_RESU == 'DYNA_TRANS' : return dyna_trans + elif TYPE_RESU == 'MODE_MECA' : return mode_meca + raise AsException("type de concept resultat non prevu") + +REST_MODE_NONL=OPER(nom="REST_MODE_NONL", op=63, + sd_prod=rest_mode_nonl_prod, reentrant='n', + fr="Post traitement de mode_non_line : \ + recuperation resultats ", + UIinfo={"groupes":("Post-traitements",)}, + + MODE_NON_LINE =SIMP(statut='o',typ=table_container,max=1), + TYPE_RESU =SIMP(statut='o',typ='TXM',into=('MODE_MECA','DYNA_TRANS'),defaut='DYNA_TRANS',max=1), + NUME_ORDRE =SIMP(statut='o',typ='I',max=1), + b_dyna_trans =BLOC(condition="TYPE_RESU=='DYNA_TRANS'", + NB_INST =SIMP(statut='f',typ='I',max=1,defaut=512),), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + +) ; + + + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# person_in_charge: mathieu.corus at edf.fr +def rest_sous_struc_prod(RESU_GENE,RESULTAT,**args ): + if AsType(RESU_GENE) == tran_gene : return dyna_trans + if AsType(RESU_GENE) == mode_gene : return mode_meca + if AsType(RESU_GENE) == mode_cycl : return mode_meca + if AsType(RESU_GENE) == harm_gene : return dyna_harmo + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if AsType(RESULTAT) == mode_meca : return mode_meca + raise AsException("type de concept resultat non prevu") + +REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op= 77,sd_prod=rest_sous_struc_prod, + fr="Restituer dans la base physique des résultats obtenus par sous-structuration", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(UN_PARMI('RESU_GENE','RESULTAT'), +# ajout d'une regle de Ionel et Nicolas: +# UN_PARMI('NOM_CHAM','TOUT_CHAM'), +# + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST','NUME_MODE', + 'FREQ', 'LIST_FREQ'), +# Doc U à revoir + EXCLUS('NOEUD','GROUP_NO'), + EXCLUS('MAILLE','GROUP_MA'), + PRESENT_PRESENT('RESULTAT','SQUELETTE'), + UN_PARMI('SQUELETTE','SOUS_STRUC','SECTEUR'), + + ), + RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans, + mode_meca) ), + RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ), + NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + b_nom_cham=BLOC(condition="TOUT_CHAM == None", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", + "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",) ),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + CYCLIQUE =FACT(statut='f',max='**', + NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + NUME_DIAMETRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + RESULTAT2 =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char, + mode_meca) ), + ), + + SQUELETTE =SIMP(statut='f',typ=squelette ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + SECTEUR =SIMP(statut='f',typ='I'), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: andre.adobes at edf.fr +REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=interspectre, + reentrant='n', + fr="Calculer la réponse d'une structure dans la base physique", + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", + VITE_FLUI =SIMP(statut='o',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + ), + MODE_MECA =SIMP(statut='f',typ=mode_meca,), + BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), + NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON") ), + INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), + NOEUD =SIMP(statut='o',typ=no ,max='**'), + MAILLE =SIMP(statut='f',typ=ma ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,into=("DEPL", + "VITE","ACCE","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA") ), + MODE_STAT =SIMP(statut='f',typ=mode_meca ), + EXCIT =FACT(statut='f', + NOEUD =SIMP(statut='o',typ=no ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + ), + MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), + OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", + into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2008 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: Georges-cc.devesa at edf.fr +def rest_spec_temp_prod(RESU_GENE,RESULTAT,**args): + if AsType(RESULTAT) == dyna_harmo : return dyna_trans + if AsType(RESU_GENE) == harm_gene : return tran_gene + if AsType(RESULTAT) == dyna_trans : return dyna_harmo + if AsType(RESU_GENE) == tran_gene : return harm_gene + raise AsException("type de concept resultat non prevu") + + +REST_SPEC_TEMP=OPER(nom="REST_SPEC_TEMP",op=181,sd_prod=rest_spec_temp_prod, + fr="Transformée de Fourier d'un résultat", + reentrant='n', + UIinfo={"groupes":("Matrices et vecteurs",)}, + regles=UN_PARMI('RESU_GENE','RESULTAT'), + RESU_GENE =SIMP(statut='f',typ=(harm_gene,tran_gene,) ), + RESULTAT =SIMP(statut='f',typ=(dyna_harmo,dyna_trans,) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ), + SYMETRIE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), +); + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix at edf.fr + + +SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", + op=OPS('Macro.simu_point_mat_ops.simu_point_mat_ops'), + sd_prod=table_sdaster, + UIinfo={"groupes":("Résolution",)}, + fr="Calcul de l'évolution mécanique, en quasi-statique," \ + " d'un point matériel en non linéaire", + COMPORTEMENT =C_COMPORTEMENT(), + MATER =SIMP(statut='o',typ=mater_sdaster,max=30), + +## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. + ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), +# --MASSIF : orientation du materiau (monocristal, orthotropie) + MASSIF =FACT(statut='f',max='**', + regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), + ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), + ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), + ), + INCREMENT =C_INCREMENT('MECANIQUE'), + NEWTON =C_NEWTON(), + CONVERGENCE =C_CONVERGENCE(), + + SUPPORT= SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), + + b_PM = BLOC(condition="SUPPORT == 'POINT'",fr="Simulation sans élément fini", + FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), + NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), + OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), + ARCHIVAGE =FACT(statut='f', + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ), + # on permet certaines variables de commandes scalaires, définies par une fonction du temps + # on permet ici seulementn celles qui sont validees + AFFE_VARC = FACT(statut='f',max='**', + NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","IRRA","SECH")), + VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + + # VALE_REF est nécessaire pour certaines VARC : + B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", + VALE_REF =SIMP(statut='o',typ='R'), + ), + ), + # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : + LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","IRRA","SECH")), + + ), + b_EF = BLOC(condition="SUPPORT == 'ELEMENT'",fr="Simulation sur un élément fini", + MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN","D_PLAN",)), + RECH_LINEAIRE =C_RECH_LINEAIRE(), + ARCHIVAGE =C_ARCHIVAGE(), + SUIVI_DDL =C_SUIVI_DDL(), + + # on permet certaines variables de commandes scalaires, définies par une fonction du temps + # a priori toutes doivent fonctionner + AFFE_VARC = FACT(statut='f',max='**', + NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", + "EPSA","NEUT1","NEUT2")), + VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), + VALE_REF = SIMP(statut='f',typ='R'), + + b_ZIRC = BLOC(condition="NOM_VARC=='M_ZIRC'", + V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + + b_ACIER = BLOC(condition="NOM_VARC=='M_ACIER'", + V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V5 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V6 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + V7 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), + ), + ), + # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : + LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", + "M_ACIER","M_ZIRC","NEUT1","NEUT2")), + + SIGM_IMPOSE=FACT(statut='f', + SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + EPSI_IMPOSE=FACT(statut='f', + EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + ), + b_COEF = BLOC(condition="SUPPORT == 'POINT'",fr="matrice de coefficients", + regles = (PRESENT_ABSENT('SIGM_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), + PRESENT_ABSENT('EPSI_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), + PRESENT_ABSENT('MATR_C1','SIGM_IMPOSE','EPSI_IMPOSE'), + PRESENT_ABSENT('MATR_C2','SIGM_IMPOSE','EPSI_IMPOSE'), + PRESENT_ABSENT('VECT_IMPO', 'SIGM_IMPOSE','EPSI_IMPOSE'), + EXCLUS('EPSI_IMPOSE','GRAD_IMPOSE'), + EXCLUS('SIGM_IMPOSE','GRAD_IMPOSE'), + ), + + SIGM_IMPOSE=FACT(statut='f', + SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + EPSI_IMPOSE=FACT(statut='f', + EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + GRAD_IMPOSE=FACT(statut='f', + regles = ( ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), + F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + MATR_C1=FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), + ), + MATR_C2=FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), + ), + VECT_IMPO=FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), + NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), + ), + ), + SIGM_INIT=FACT(statut='f', + SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), + ), + EPSI_INIT=FACT(statut='f', + EPXX = SIMP(statut='o',typ='R',max=1), + EPYY = SIMP(statut='o',typ='R',max=1), + EPZZ = SIMP(statut='o',typ='R',max=1), + EPXY = SIMP(statut='o',typ='R',max=1), + EPXZ = SIMP(statut='o',typ='R',max=1), + EPYZ = SIMP(statut='o',typ='R',max=1), + ), + VARI_INIT=FACT(statut='f', + VALE = SIMP(statut='o',typ='R',max='**'), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: aimery.assire at edf.fr + + +STANLEY=MACRO(nom="STANLEY", + op=OPS('Macro.stanley_ops.stanley_ops'), + sd_prod=None, + reentrant='n', + UIinfo={"groupes":("Post-traitements",)}, + fr="Outil de post-traitement interactif Stanley ", + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,dyna_harmo,dyna_trans) ), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + DISPLAY =SIMP(statut='f',typ='TXM'), + UNITE_VALIDATION=SIMP(statut='f',typ='I',val_min=10,val_max=90, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mickael.abbas at edf.fr +# +STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, + fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique," + +" d'une structure en non linéaire", + reentrant='f', + UIinfo={"groupes":("Résolution","Mécanique",)}, + + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + ), + CONTACT =SIMP(statut='f',typ=char_contact), + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +#------------------------------------------------------------------- + COMPORTEMENT =C_COMPORTEMENT('STAT_NON_LINE'), +#------------------------------------------------------------------- + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), + # EXCLUS('EVOL_NOLI','DEPL',), + # EXCLUS('EVOL_NOLI','SIGM',), + # EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + STRX =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), + # EXCLUS('EVOL_NOLI','DEPL',), + # EXCLUS('EVOL_NOLI','SIGM',), + # EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + STRX =SIMP(statut='f',typ=cham_elem), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), +#------------------------------------------------------------------- + INCREMENT =C_INCREMENT('MECANIQUE'), +#------------------------------------------------------------------- + METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX","NEWTON_KRYLOV")), + b_meth_newton = BLOC(condition = "METHODE == 'NEWTON' or METHODE == 'NEWTON_KRYLOV'", + NEWTON = C_NEWTON(), + ), +#------------------------------------------------------------------- + RECH_LINEAIRE =C_RECH_LINEAIRE(), +#------------------------------------------------------------------- + PILOTAGE =C_PILOTAGE(), +#------------------------------------------------------------------- + CONVERGENCE =C_CONVERGENCE(), +#------------------------------------------------------------------- + SOLVEUR =C_SOLVEUR('STAT_NON_LINE'), +#------------------------------------------------------------------- + OBSERVATION =C_OBSERVATION(), +#------------------------------------------------------------------- + SUIVI_DDL =C_SUIVI_DDL(), +#------------------------------------------------------------------- + ARCHIVAGE =C_ARCHIVAGE(), +#------------------------------------------------------------------- + CRIT_QUALITE =FACT(statut='f',max=1, + ERRE_TEMPS_THM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", + fr="Adaptation temporelle pour les modélisations HM instationnaires", + ang="Time adaptation for unstationary HM models"), + ), +#------------------------------------------------------------------- + ENERGIE =FACT(statut='f',max=1, + CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), +#------------------------------------------------------------------- + AFFICHAGE =C_AFFICHAGE(), +#------------------------------------------------------------------- + CRIT_STAB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), + RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + b_char_crit =BLOC(condition="(RIGI_GEOM=='OUI')", + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), + ), + TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), + PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), + SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), + b_rigi_geom =BLOC(condition="(RIGI_GEOM=='NON')", + DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), + b_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", + DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, + into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', + 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', + 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), + regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), + LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_CALC = SIMP(statut='f',typ='I' ), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + b_info=BLOC(condition="INFO==2", + fr="filtre les messages émis dans le .mess selon le type de message demandé", + INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into=("CONTACT", + "MECA_NON_LINE", + "PILOTAGE", + "FACTORISATION", + "APPARIEMENT"), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jean-michel.proix at edf.fr + + +# MACRO "TEST_THERMOPLASTIQUE" +# ---------------------------- +# def test_compor_sdprod(self, COMPORTEMENT, **kwargs): +# """Ne produit une table qu'en présence de COMPORTEMENT.""" +# if COMPORTEMENT: +# return table_sdaster +# return None + + +TEST_COMPOR =MACRO(nom="TEST_COMPOR", + op=OPS('Macro.test_compor_ops.test_compor_ops'), + # sd_prod=test_compor_sdprod, + sd_prod=table_sdaster, + docu="",reentrant='n', + fr="macro de test des comportements incrementaux dependant de la temperature", + + OPTION =SIMP(statut='f',typ='TXM',into=("THER","MECA"),defaut="THER"), + + COMPORTEMENT =C_COMPORTEMENT('SIMU_POINT_MAT'), + NEWTON =C_NEWTON(), + CONVERGENCE =C_CONVERGENCE(), + + b_ther =BLOC(condition = "OPTION == 'THER'", + regles=(EXCLUS('C_PRAG','D_SIGM_EPSI'),), + MATER =SIMP(statut='o',typ=mater_sdaster,max=1,fr="materiau dependant de la temperature"), + ALPHA =SIMP(statut='o',typ=fonction_sdaster, + fr="coefficient de dilatation fonction de la temperature"), + YOUNG =SIMP(statut='o',typ=fonction_sdaster, + fr="module d'Young fonction de la temperature"), + LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max='**', + fr="liste des materiaux constants interpolés à chaque température"), + TEMP_INIT =SIMP(statut='o',typ='R', fr="temperature initiale et de reference"), + TEMP_FIN =SIMP(statut='o',typ='R', fr="temperature finale"), + INST_FIN =SIMP(statut='f',typ='R',defaut=1.,fr="instant final"), + SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), + NB_VARI =SIMP(statut='o',typ='I', fr="nombre de variables internes - 0 en elasticité"), + VARI_TEST =SIMP(statut='f',typ='TXM',max='**', + fr="liste de variables internes à tester - par defaut, toutes"), + +# special ecrouissage cinematique + D_SIGM_EPSI =SIMP(statut='f',typ=fonction_sdaster, + fr="module tangent fonction de la temperature- VMIS_CINE_LINE"), + C_PRAG =SIMP(statut='f',typ=fonction_sdaster, + fr="constante de Prager fonction de la temperature- VMIS_ECMI_*"), + ), + b_meca =BLOC(condition = "OPTION == 'MECA'", + LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max=2,min=2, + fr="liste des materiaux en Pa puis MPa "), + YOUNG =SIMP(statut='o',typ='R',fr="module d'Young"), + POISSON =SIMP(statut='o',typ='R',fr="coef de Poisson"), + LIST_NPAS =SIMP(statut='f',typ='I',max='**', + fr="nombre de pas de temps pour chaque discretisation"), + LIST_TOLE =SIMP(statut='f',typ='R',max='**',), + PREC_ZERO =SIMP(statut='f',typ='R',max='**',), + VARI_TEST =SIMP(statut='f',typ='TXM',max='**',defaut=('V1','VMIS','TRACE'), + fr="liste des CMP à tester "), + SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",)), + MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN"),defaut="3D",), + ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0., + fr='Rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées',), + MASSIF =FACT(statut='f',max='**',fr='orientation du materiau (monocristal, orthotropie)', + regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), + ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), + ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), + ), + TEST_TANGENTE =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON"),defaut="OUI",), + VERI_MATR_OPTION =FACT(statut='f',max=1,fr='options pour le test de la matrice tangente', + VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut=1.E-5), + PRECISION =SIMP(statut='f',typ='R',defaut=1.E-4 ), + PREC_ZERO =SIMP(statut='f',typ='R',defaut=1.E-12 ), + ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + ) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +TEST_FICHIER=MACRO(nom="TEST_FICHIER", + op=OPS('Macro.test_fichier_ops.test_fichier_ops'), + UIinfo={"groupes":("Utilitaires",)}, + fr="Tester la non régression de fichiers produits par des commandes aster", + FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), + EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**', + fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"), + NB_VALE =SIMP(statut='o',typ='I',), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + **C_TEST_REFERENCE('FICHIER', max=1) +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: nicolas.sellenet at edf.fr + +TEST_FONCTION=MACRO(nom="TEST_FONCTION", + op=OPS('Macro.test_fonction_ops.test_fonction_ops'), + sd_prod=None, + fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence", + UIinfo={"groupes":("Fonctions","Utilitaires",)}, + TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + VALEUR =FACT(statut='f',max='**', + fr="Tester la valeur d une fonction ou d une nappe", + regles=(UN_PARMI('VALE_PARA','INTERVALLE'),), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), + VALE_PARA =SIMP(statut='f',typ='R' ,validators=NoRepeat(),max=2), + INTERVALLE =SIMP(statut='f',typ='R' ,validators=NoRepeat(),min=2,max=2), + **C_TEST_REFERENCE('FONCTION', max='**') + ), + ATTRIBUT =FACT(statut='f',max='**', + fr="Tester la valeur d un attribut d une fonction ou d''une nappe", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), + PARA =SIMP(statut='f',typ='R' ), + CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ATTR =SIMP(statut='o',typ='TXM', + into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL", + "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ), + ATTR_REFE =SIMP(statut='o',typ='TXM' ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER") ), + ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +# person_in_charge: j-pierre.lefebvre at edf.fr +TEST_RESU=PROC(nom="TEST_RESU",op=23, + UIinfo={"groupes":("Résultats et champs","Utilitaires",)}, + fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence", + regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','CARTE','RESU','GENE','OBJET','TEST_NAN',)), + + CHAM_NO =FACT(statut='f',max='**', + regles=(EXCLUS('NOEUD','GROUP_NO'), # EXCLUS avec 'TYPE_TEST' dans trchno.f + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),), + CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), + NOEUD =SIMP(statut='f',typ=no ), + GROUP_NO =SIMP(statut='f',typ=grno ), + NOM_CMP =SIMP(statut='f',typ='TXM',max=1), + **C_TEST_REFERENCE('CHAM_NO', max='**') + ), + + CARTE =FACT(statut='f',max='**', + CHAM_GD =SIMP(statut='o',typ=carte_sdaster), + MAILLE =SIMP(statut='o',typ=ma), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1), + **C_TEST_REFERENCE('CARTE', max=1) + ), + + CHAM_ELEM =FACT(statut='f',max='**', + regles=(#UN_PARMI('MAILLE','TYPE_TEST',) dans trchel.f + EXCLUS('NOEUD','GROUP_NO','POINT'), + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT('GROUP_NO','NOM_CMP'), + PRESENT_PRESENT('POINT','NOM_CMP'),), + CHAM_GD =SIMP(statut='o',typ=cham_elem), + MAILLE =SIMP(statut='f',typ=ma), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + NOM_CMP =SIMP(statut='f',typ='TXM',max=1), + **C_TEST_REFERENCE('CHAM_ELEM', max='**') + ), + + RESU =FACT(statut='f',max='**', + regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'), + UN_PARMI('NOM_CHAM','PARA'), + PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP',), + PRESENT_PRESENT('NOM_CMP','NOM_CHAM'), + EXCLUS('NOEUD','GROUP_NO','POINT'), # EXCLUS avec 'TYPE_TEST' dans trresu.f + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT('GROUP_NO','NOM_CMP'), + PRESENT_PRESENT('POINT','NOM_CMP'),), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + FREQ =SIMP(statut='f',typ='R'), + NUME_MODE =SIMP(statut='f',typ='I'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ANGLE =SIMP(statut='f',typ='R'), + PARA =SIMP(statut='f',typ='TXM'), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NOM_CMP =SIMP(statut='f',typ='TXM',max=1), + MAILLE =SIMP(statut='f',typ=ma ,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + POINT =SIMP(statut='f',typ='I'), + SOUS_POINT =SIMP(statut='f',typ='I'), + **C_TEST_REFERENCE('RESU', max='**') + ), + + GENE =FACT(statut='f',max='**', + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), + b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene", + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + ), + b_mode =BLOC(condition = "AsType(RESU_GENE) == mode_gene", + regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), + UN_PARMI('NOM_CHAM','PARA'), + PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='f',typ='I'), + PARA =SIMP(statut='f',typ='TXM'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + NUME_MODE =SIMP(statut='f',typ='I'), + FREQ =SIMP(statut='f',typ='R'), + ), + b_harm =BLOC(condition = "AsType(RESU_GENE) == harm_gene", + regles=(UN_PARMI('NUME_ORDRE','FREQ') ,), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + FREQ =SIMP(statut='f',typ='R'), + ), + b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", + regles=(UN_PARMI('NUME_ORDRE','INST') ,), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + ), + **C_TEST_REFERENCE('GENE', max='**') + ), + + OBJET =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ='TXM'), + **C_TEST_REFERENCE('OBJET', max=1) + ), + + TEST_NAN =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr +TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, + UIinfo={"groupes":("Tables","Utilitaires",)}, + fr="Tester une cellule ou une colonne d'une table", +# concept table_sdaster à tester + TABLE =SIMP(statut='o',typ=table_sdaster), + FILTRE =FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM' ), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R',), + VALE_I =SIMP(statut='f',typ='I',), + VALE_C =SIMP(statut='f',typ='C',), + VALE_K =SIMP(statut='f',typ='TXM' ),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + NOM_PARA =SIMP(statut='o',typ='TXM' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + **C_TEST_REFERENCE('TABLE', max='**') +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +TEST_TEMPS=MACRO(nom="TEST_TEMPS", + op=OPS('Macro.test_temps_ops.test_temps_ops'), + sd_prod=None, + UIinfo={"groupes":("Utilitaires",)}, + fr="Permet de vérifier le temps passé dans les commandes", + reentrant='n', + + RESU = FACT(statut='o',max='**', + COMMANDE = SIMP(statut='o', typ='TXM', + fr="Nom de la commande testee"), + NUME_ORDRE = SIMP(statut='f', typ='I', defaut=1, val_min=1, + fr="Numero de l'occurrence de la commande testee"), + MACHINE = SIMP(statut='o', typ='TXM', max='**', + fr="Liste des machines dont on a la référence"), + VALE = SIMP(statut='o', typ='R', max='**', + fr="Temps CPU sur les machines listees en secondes"), + CRITERE = SIMP(statut='f', typ='TXM', defaut='RELATIF', into=('ABSOLU', 'RELATIF')), + PRECISION = SIMP(statut='f', typ='R', defaut=0.01, max='**', + fr="Ecart admissible pour chaque machine"), + TYPE_TEST = SIMP(statut='o', typ='TXM', into=('USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'), + defaut='USER+SYS', + fr="Valeur testee parmi 'USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'"), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jessica.haelewyn at edf.fr +THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', + UIinfo={"groupes":("Résolution","Thermique",)}, + fr="Résoudre un problème thermique linéaire stationnaire ou transitoire", + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + ETAT_INIT =FACT(statut='f', + regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), + STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), + EVOL_THER =SIMP(statut='f',typ=evol_ther), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + VALE =SIMP(statut='f',typ='R'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), +#------------------------------------------------------------------- + INCREMENT =C_INCREMENT('THERMIQUE'), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('THER_LINEAIRE'), +#------------------------------------------------------------------- + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), +#------------------------------------------------------------------- + ARCHIVAGE =C_ARCHIVAGE(), +#------------------------------------------------------------------- + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2)), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jessica.haelewyn at edf.fr +THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', + UIinfo={"groupes":("Résolution","Thermique",)}, + fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" + +" stationnaire ou transitoire" , + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), + COMPORTEMENT =FACT(statut='d',max='**', + RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", + into=("THER_NL", + "THER_HYDR", + "SECH_GRANGER", + "SECH_MENSI", + "SECH_BAZANT", + "SECH_NAPPE" + ) ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_ther), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), +#------------------------------------------------------------------- + INCREMENT =C_INCREMENT('THERMIQUE'), +#------------------------------------------------------------------- + ETAT_INIT =FACT(statut='f', + regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), + STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), + EVOL_THER =SIMP(statut='f',typ=evol_ther), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + VALE =SIMP(statut='f',typ='R'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), + b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", + PRECISION =SIMP(statut='o',typ='R',),), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), + NEWTON =FACT(statut='d', + REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ,val_min=0), + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), + ), + CONVERGENCE =FACT(statut='d', + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('THER_NON_LINE'), +#------------------------------------------------------------------- + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ), +#------------------------------------------------------------------- + ARCHIVAGE =C_ARCHIVAGE(), +#------------------------------------------------------------------- + OBSERVATION =C_OBSERVATION(), +#------------------------------------------------------------------- + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: jessica.haelewyn at edf.fr +THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, + fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" + +" stationnaire avec chargement mobile", + reentrant='n', + UIinfo={"groupes":("Résolution","Thermique",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='c',typ=cara_elem ), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_ther ), + FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + ETAT_INIT =FACT(statut='f', + EVOL_THER =SIMP(statut='f',typ=evol_ther ), + NUME_ORDRE =SIMP(statut='f',typ='I',defaut= 0 ), + ), + CONVERGENCE =FACT(statut='d', + CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), +#------------------------------------------------------------------- +# Catalogue commun SOLVEUR + SOLVEUR =C_SOLVEUR('THER_NON_LINE_MO'), +#------------------------------------------------------------------- + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; + +# ====================================================================== +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +# Vérification des imports et définitions non autorisés dans le catalogue +UNAUTHORIZED = ("numpy", "UTMESS", "Table", "Graph") + +for _name in UNAUTHORIZED: + _obj = globals().get(_name, None) + assert _obj is None, "Definition de '%s' interdite dans le catalogue." % _name + +assert aster_exists or aster is None + diff --git a/OldCodes/Aster/Cata/cataSTA11/ops.py b/OldCodes/Aster/Cata/cataSTA11/ops.py new file mode 100644 index 00000000..efe2a5a4 --- /dev/null +++ b/OldCodes/Aster/Cata/cataSTA11/ops.py @@ -0,0 +1,507 @@ +# coding=utf-8 +# ====================================================================== +# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# person_in_charge: mathieu.courtois at edf.fr + +# Modules Python +import sys +import os +import os.path as osp +import traceback +import cPickle as pickle +import re +from math import sqrt, pi, atan2, tan, log, exp +from glob import glob + +# Modules Eficas +import Accas +from Accas import ASSD +from Noyau.ascheckers import CheckLog +from Noyau.N_info import message, SUPERV +from Noyau.N_types import force_list + +try: + import aster + import aster_core + aster_exists = True + # Si le module aster est présent, on le connecte + # au JDC + import Build.B_CODE + Build.B_CODE.CODE.codex=aster + + from Utilitai.Utmess import UTMESS, MessageLog +except: + aster_exists = False + + + +def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO): + """Fonction sdprod partie commune à DEBUT et POURSUITE. + (on stocke un entier au lieu du logique) + """ + jdc.set_par_lot(PAR_LOT, user_value=True) + jdc.impr_macro = int(IMPR_MACRO == 'OUI') + jdc.jxveri = int(CODE != None or (DEBUG != None and DEBUG['JXVERI'] == 'OUI')) + jdc.sdveri = int(DEBUG != None and DEBUG['SDVERI'] == 'OUI') + jdc.fico = None + jdc.sd_checker = CheckLog() + jdc.info_level = INFO + jdc.hist_etape = (DEBUG != None and DEBUG['HIST_ETAPE'] == 'OUI') + if CODE != None: + jdc.fico = 'TEST' + if aster_exists: + if LANG: + from Execution.i18n import localization + localization.install(LANG) + # pb en cas d'erreur dans FIN : appeler reset_print_function dans traiter_fin_exec ? + #from functools import partial + #asprint = partial(aster.affiche, 'MESSAGE') + #message.register_print_function(asprint) + # ne faire qu'une fois + if not hasattr(jdc, 'msg_init'): + # messages d'alarmes désactivés + if IGNORE_ALARM: + if not type(IGNORE_ALARM) in (list, tuple): + IGNORE_ALARM = [IGNORE_ALARM] + for idmess in IGNORE_ALARM: + MessageLog.disable_alarm(idmess) + # en POURSUITE, conserver le catalogue de comportement picklé + if not hasattr(jdc, 'catalc'): + from Comportement import catalc + jdc.catalc = catalc + jdc.msg_init = True + + +def DEBUT(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): + """ + Fonction sdprod de la macro DEBUT + """ + # La commande DEBUT ne peut exister qu'au niveau jdc + 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) + suppr = False + for fname in glob('pick.*') + glob('glob.*'): + try: + UTMESS('I', 'SUPERVIS_4', valk=fname) + os.remove(fname) + suppr = True + except OSError: + UTMESS('A', 'SUPERVIS_5', valk=fname) + if suppr: + UTMESS('I', 'SUPERVIS_6') + +def build_debut(self,**args): + """ + Fonction ops pour la macro DEBUT + """ + self.jdc.UserError=self.codex.error + + if self.jdc.par_lot == 'NON' : + self.jdc._Build() + # On execute la fonction debut pour initialiser les bases + # Cette execution est indispensable avant toute autre action sur ASTER + # op doit être un entier car la fonction debut appelle GCECDU qui demande + # le numéro de l'operateur associé (getoper) + self.definition.op=0 + self.set_icmd(1) + self.codex.debut(self) + # On remet op a None juste apres pour eviter que la commande DEBUT + # ne soit executée dans la phase d'execution + self.definition.op=None + return 0 + +def POURSUITE(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): + """ + Fonction sdprod de la macro POURSUITE + """ + # La commande POURSUITE ne peut exister qu'au niveau jdc + if self.jdc is not self.parent : + raise Accas.AsException("La commande POURSUITE ne peut exister qu'au niveau jdc") + + commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO) + if aster_exists: + self.jdc.set_poursuite(True) + + if self.codex: + base = 'glob.1' + if aster_exists: + repglob = aster_core.get_option("repglob") + bhdf = osp.join(repglob, 'bhdf.1') + base = osp.join(repglob, 'glob.1') + if not osp.isfile(base) and not osp.isfile(bhdf): + UTMESS('F','SUPERVIS_89') + # Le module d'execution est accessible et glob.1 est present + # Pour eviter de rappeler plusieurs fois la sequence d'initialisation + # on memorise avec l'attribut fichier_init que l'initialisation + # est réalisée + if hasattr(self,'fichier_init'):return + self.fichier_init='glob.1' + self.jdc.initexec() + # le sous programme fortran appelé par self.codex.poursu demande le numéro + # de l'operateur (GCECDU->getoper), on lui donne la valeur 0 + self.definition.op=0 + self.codex.poursu(self) + # Par la suite pour ne pas executer la commande pendant la phase + # d'execution on le remet à None + self.definition.op = None + self.g_context = {} + + # Il peut exister un contexte python sauvegardé sous forme pickled + # On récupère ces objets après la restauration des concepts pour que + # la récupération des objets pickled soit prioritaire. + # On vérifie que les concepts relus dans glob.1 sont bien tous + # presents sous le même nom et du même type dans pick.1 + # Le contexte est ensuite updaté (surcharge) et donc enrichi des + # variables qui ne sont pas des concepts. + # On supprime du pickle_context les concepts valant None, ca peut + # être le cas des concepts non executés, placés après FIN. + UTMESS('I', 'SUPERVIS2_1', valk='pick.1') + pickle_context = get_pickled_context() + if pickle_context == None: + UTMESS('F', 'SUPERVIS_86') + return + self.jdc.restore_pickled_attrs(pickle_context) + # vérification cohérence pick/base + savsign = self.jdc._sign + newsign = self.jdc.signature(base) + if args.get('FORMAT_HDF') == 'OUI': + UTMESS('I', 'SUPERVIS_71') + elif newsign != savsign: + UTMESS('A', 'SUPERVIS_69', valk=(savsign, newsign), + vali=self.jdc.jeveux_sysaddr) + else: + UTMESS('I', 'SUPERVIS_70', valk=newsign, vali=self.jdc.jeveux_sysaddr) + from Cata.cata import entier + from Noyau.N_CO import CO + interrupt = [] + count = 0 + UTMESS('I', 'SUPERVIS_65') + for elem, co in pickle_context.items(): + if isinstance(co, ASSD): + count += 1 + typnam = co.__class__.__name__ + # on rattache chaque assd au nouveau jdc courant (en poursuite) + co.jdc = self.jdc + co.parent = self.jdc + # le marquer comme 'executed' + i_int = '' + if co.executed != 1: + interrupt.append((co.nom, typnam)) + i_int = 'exception' + co.executed = 1 + UTMESS('I', 'SUPERVIS_66', valk=(co.nom, typnam.lower(), i_int)) + # pour que sds_dict soit cohérent avec g_context + self.jdc.sds_dict[elem] = co + if elem != co.nom: + name = re.sub('_([0-9]+)$', '[\\1]', co.nom) + if self.jdc.info_level > 1: + UTMESS('I', 'SUPERVIS2_3', + valk=(elem, type(co).__name__.upper())) + UTMESS('A', 'SUPERVIS_93', valk=(elem, "del %s" % name)) + del pickle_context[elem] + continue + if co == None: + del pickle_context[elem] + if count == 0: + UTMESS('I', 'SUPERVIS_67') + for nom, typnam in interrupt: + UTMESS('I', 'SUPERVIS_76', valk=(nom, typnam)) + if not interrupt: + UTMESS('I', 'SUPERVIS_72') + if self.jdc.info_level > 1: + keys = pickle_context.keys() + keys.sort() + for key in keys: + try: + value = str(pickle_context[key]) + if len(value) > 1000: + value = value[:1000] + '...' + valk = key, value + except: + valk = key, '...' + UTMESS('I', 'SUPERVIS_73', valk=valk) + self.g_context.update(pickle_context) + return + + else: + # Si le module d'execution n est pas accessible ou glob.1 absent on + # demande un fichier (EFICAS) + # Il faut éviter de réinterpréter le fichier à chaque appel de + # POURSUITE + if hasattr(self,'fichier_init'): + return + self.make_poursuite() + +def get_pickled_context(): + """ + Cette fonction permet de réimporter dans le contexte courant du jdc (jdc.g_context) + les objets python qui auraient été sauvegardés, sous forme pickled, lors d'une + précédente étude. Un fichier pick.1 doit être présent dans le répertoire de travail + """ + fpick = 'pick.1' + if not osp.isfile(fpick): + return None + + # Le fichier pick.1 est présent. On essaie de récupérer les objets python sauvegardés + context={} + try: + file=open(fpick, 'rb') + # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement + # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère + # aucun objet. + context = pickle.load(file) + file.close() + except: + # En cas d'erreur on ignore le contenu du fichier + traceback.print_exc() + return None + + return context + +def POURSUITE_context(self,d): + """ + Fonction op_init de la macro POURSUITE + """ + # self représente la macro POURSUITE ... + d.update(self.g_context) + # Une commande POURSUITE n'est possible qu'au niveau le plus haut + # On ajoute directement les concepts dans le contexte du jdc + +def build_poursuite(self,**args): + """ + Fonction ops pour la macro POURSUITE + """ + # Pour POURSUITE on ne modifie pas la valeur initialisee dans ops.POURSUITE + # Il n y a pas besoin d executer self.codex.poursu (c'est deja fait dans + # la fonction sdprod de la commande (ops.POURSUITE)) + self.set_icmd(1) + self.jdc.UserError = self.codex.error + return 0 + +def INCLUDE(self, UNITE, DONNEE, **args): + """Fonction sd_prod pour la macro INCLUDE""" + if not (UNITE or DONNEE) or hasattr(self, '_mark'): + return + self._mark = 1 + if self.jdc and self.jdc.par_lot == 'NON': + # On est en mode commande par commande, on appelle la methode speciale + self.Execute_alone() + if UNITE: + fname = 'fort.%s' % UNITE + else: + fname = DONNEE + if aster_exists: + repdex = aster_core.get_option('repdex') + fname = osp.join(repdex, fname) + try: + if aster_exists: + self.make_include(fname=fname) + else: + # dans eficas + if UNITE: + self.make_include(unite=UNITE) + else: + self.make_include(fname=fname) + except Accas.AsException: + if aster_exists: + UTMESS('F+', 'FICHIER_1', valk=fname) + UTMESS('F', 'FICHIER_2') + raise + +def INCLUDE_context(self,d): + """Fonction op_init pour macro INCLUDE""" + ctxt = self.g_context + d.update(ctxt) + +def build_include(self,**args): + """Fonction ops de la macro INCLUDE appelée lors de la phase de Build""" + # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) + # le numéro de la commande n est pas utile en phase de construction + # La macro INCLUDE ne sera pas numérotée (incrément=None) + ier=0 + self.set_icmd(None) + # On n'execute pas l'ops d'include en phase BUILD car il ne sert a rien. + #ier=self.codex.opsexe(self,1) + return ier + +def _detr_list_co(self, context): + """Utilitaire pour DETRUIRE""" + list_co = set() + # par nom de concept (typ=assd) + for mc in self['CONCEPT'] or []: + list_co.update(force_list(mc["NOM"])) + # par chaine de caractères (typ='TXM') + for mc in self['OBJET'] or []: + # longueur <= 8, on cherche les concepts existants + for nom in force_list(mc['CHAINE']): + assert type(nom) in (str, unicode), 'On attend une chaine de caractères : %s' % nom + if len(nom.strip()) <= 8: + if self.jdc.sds_dict.get(nom) != None: + list_co.add(self.jdc.sds_dict[nom]) + elif context.get(nom) != None: + list_co.add(context[nom]) + #else uniquement destruction des objets jeveux + return list_co + +def DETRUIRE(self, CONCEPT, OBJET, **args): + """Fonction OPS pour la macro DETRUIRE : exécution réelle.""" + # pour les formules, il ne faut pas vider l'attribut "parent_context" trop tôt + for co in _detr_list_co(self, {}): + co.supprime(force=True) + self.set_icmd(1) + ier = self.codex.opsexe(self, 7) + return ier + +def build_detruire(self, d): + """Fonction op_init de DETRUIRE.""" + # d est le g_context du jdc ou d'une macro + #message.debug(SUPERV, "id(d) : %s", id(d)) + for co in _detr_list_co(self, d): + assert isinstance(co, ASSD), 'On attend un concept : %s (type=%s)' % (co, type(co)) + nom = co.nom + #message.debug(SUPERV, "refcount_1(%s) = %d", nom, sys.getrefcount(co)) + # traitement particulier pour les listes de concepts, on va mettre à None + # le terme de l'indice demandé dans la liste : + # nomconcept_i est supprimé, nomconcept[i]=None + i = nom.rfind('_') + if i > 0 and not nom.endswith('_'): + concept_racine = nom[:i] + if d.has_key(concept_racine) and type(d[concept_racine]) is list: + try: + num = int(nom[i+1:]) + d[concept_racine][num] = None + except (ValueError, IndexError): + # cas : RESU_aaa ou (RESU_8 avec RESU[8] non initialisé) + pass + # pour tous les concepts : + if d.has_key(nom): + del d[nom] + if self.jdc.sds_dict.has_key(nom): + del self.jdc.sds_dict[nom] + # "suppression" du concept + co.supprime() + # On signale au parent que le concept n'existe plus après l'étape self + self.parent.delete_concept_after_etape(self, co) + # marque comme détruit == non executé + co.executed = 0 + + +def build_procedure(self,**args): + """ + Fonction ops de la macro PROCEDURE appelée lors de la phase de Build + """ + ier=0 + # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) + # le numéro de la commande n est pas utile en phase de construction + # On ne numérote pas une macro PROCEDURE (incrément=None) + self.set_icmd(None) + #ier=self.codex.opsexe(self,3) + return ier + +def build_DEFI_FICHIER(self,**args): + """ + Fonction ops de la macro DEFI_FICHIER + """ + self.set_icmd(1) + ier = self.codex.opsexe(self, 26) + return ier + +def build_formule(self, d): + """Fonction ops de FORMULE.""" + NOM_PARA = self.etape['NOM_PARA'] or '' + VALE = self.etape['VALE'] + VALE_C = self.etape['VALE_C'] + if type(NOM_PARA) not in (list, tuple): + NOM_PARA = [NOM_PARA, ] + for para in NOM_PARA: + if para.strip() != para: + raise Accas.AsException("nom de paramètre invalide (contient des blancs)" \ + " : %s" % repr(para)) + if self.sd == None: + return + if VALE != None : + texte = ''.join(VALE.splitlines()) + elif VALE_C != None : + texte = ''.join(VALE_C.splitlines()) + self.sd.setFormule(NOM_PARA, texte.strip()) + +def build_gene_vari_alea(self, d): + """Fonction ops de la macro GENE_VARI_ALEA.""" + from Utilitai.Utmess import UTMESS + a = self.etape['BORNE_INF'] + moyen = self.etape['VALE_MOY' ] + TYPE = self.etape['TYPE'] + if self['INIT_ALEA'] is not None: + jump = self.etape['INIT_ALEA' ] + self.iniran(jump) + if TYPE == 'EXP_TRONQUEE': + b = self.etape['BORNE_SUP'] + if a >= b: + UTMESS('F', 'PROBA0_1', valr=[a, b]) + elif moyen <= a or moyen >= b: + UTMESS('F', 'PROBA0_2', valr=[a, moyen, b]) + k = 1. / (moyen - a) + if exp(-b * k) < 1.e-12: + UTMESS('F', 'PROBA0_3') + # résolution par point fixe + eps = 1.E-4 + nitmax = 100000 + test = 0. + while abs((test - k) / k) > eps: + test = k + k = 1. / (moyen - (a * exp(-a * k) - b * exp(-b * k)) / \ + (exp(-a * k) - exp(-b * k))) + # génération de la variable aléatoire + alpha = exp(-a * k) - exp(-b * k) + self.sd.valeur = -(log(exp(-a * k) - alpha * self.getran()[0])) / k + elif TYPE == 'EXPONENTIELLE': + if moyen <= a: + UTMESS('F', 'PROBA0_4', valr=[moyen, a]) + v = moyen - a + u = self.getran()[0] + x = -log(1 - u) + self.sd.valeur = a + v * x + elif TYPE == 'GAMMA': + delta = self.etape['COEF_VAR' ] + if moyen <= a: + UTMESS('F', 'PROBA0_4', valr=[moyen, a]) + v = moyen - a + alpha = 1. / delta**2 + if alpha <= 1.: + UTMESS('F', 'PROBA0_5') + gamma2 = alpha - 1. + gamm1 = 1. / gamma2 + beta = sqrt(2. * alpha - 1.) + beta2 = 1. / beta**2 + f0 = 0.5 + (1. / pi) * atan2(-gamma2 / beta, 1.) + c1 = 1. - f0 + c2 = f0 - 0.5 + vref = 0. + vv = -1. + while -vv > vref: + u = self.getran()[0] + gamdev = beta * tan(pi * (u * c1 + c2)) + gamma2 + unif = self.getran()[0] + if unif < 0.: + UTMESS('F', 'PROBA0_6') + vv = -log(unif) + vref = log(1 + beta2 * ((gamdev - gamma2)**2)) \ + + gamma2 * log(gamdev * gamm1) - gamdev + gamma2 + if vv <= 0.: + UTMESS('F', 'PROBA0_7') + self.sd.valeur = a + v * delta**2 * gamdev diff --git a/OldCodes/Aster/INSTALL b/OldCodes/Aster/INSTALL new file mode 100644 index 00000000..493c4676 --- /dev/null +++ b/OldCodes/Aster/INSTALL @@ -0,0 +1,40 @@ + + +1- Installation standard + +Pour installer EFICAS a partir de la distribution : .tgz +faire : + tar xzvf .tgz + +ce qui a pour effet de créer un répertoire de nom . + +Pour modifier l'emplacement de la doc, le chemin d'accès à Acrobat Reader, +les catalogues, il faut modifier le fichier editeur.ini dans le répertoire Aster. + + +ATTENTION : +Si Eficas est installé dans un répertoire particulier d'administration +dans lequel les utilisateurs n'ont pas le droit d'écriture, il faut que +l'administrateur lance Eficas pour générer +les fichiers et catalogues compilés .pyc + + + +2- Utilisation d'Eficas + +Pour utiliser Eficas, aller dans le répertoire Aster et faire : + python eficas_aster.py + + + +3- Installation avec un noyau pré-installé + +Aller dans le répertoire Aster du répertoire Eficas +et modifier le fichier prefs.py comme suit : +Mettre dans la variable CODE_PATH le chemin absolu vers +le répertoire contenant les deux répertoires Noyau et Validation que vous voulez +utiliser à la place de ceux fournis dans la livraison d'Eficas + +Pour changer les catalogues, modifier le fichier editeur.ini dans le répertoire Aster + + diff --git a/OldCodes/Aster/Include.com b/OldCodes/Aster/Include.com new file mode 100644 index 00000000..78fdda81 --- /dev/null +++ b/OldCodes/Aster/Include.com @@ -0,0 +1,2 @@ + +MAAA=LIRE_MAILLAGE(UNITE=20,); diff --git a/OldCodes/Aster/LICENSE.TERMS b/OldCodes/Aster/LICENSE.TERMS new file mode 100644 index 00000000..8c88a1e5 --- /dev/null +++ b/OldCodes/Aster/LICENSE.TERMS @@ -0,0 +1,21 @@ + ====================================================================== + THIS PROGRAM IS FREE SOFTWARE. YOU CAN REDISTRIBUTE IT AND/OR MODIFY + IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY + THE FREE SOFTWARE FOUNDATION, EITHER VERSION 2 OF THE LICENSE, AND + ANY LATER VERSION. + THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT + WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + SEE THE GNU GENERAL PUBLIC LICENSE FOR MORE DETAILS. + ====================================================================== + TRADUCTION EDF ( POUR INFORMATION ) + ====================================================================== + CE PROGRAMME EST UN LOGICIEL LIBRE. VOUS POUVEZ LE DIFFUSER ET/OU LE + MODIFIER SELON LES DISPOSITIONS DE LA LICENCE GRAND PUBLIC GNU (GPL) + TELLE QU'ELLE EST PUBLIEE PAR LA FREE SOFTWARE FOUNDATION, VERSION 2 + DE LA LICENCE ET TOUTE VERSION ULTERIEURE. + CE PROGRAMME EST DIFFUSE AVEC L'ESPOIR QU'IL SERA UTILE, MAIS SANS + GARANTIE, SANS MEME LA GARANTIE IMPLICITE DE QUALIFICATION DE MISE SUR + LE MARCHE OU D'ADAPTATION A UNE UTILISATION PARTICULIERE. + VOIR POUR DE PLUS AMPLES DETAILS LA LICENCE GRAND PUBLIC GNU (GPL) + ====================================================================== diff --git a/OldCodes/Aster/NEWS b/OldCodes/Aster/NEWS new file mode 100644 index 00000000..d228a9b0 --- /dev/null +++ b/OldCodes/Aster/NEWS @@ -0,0 +1,53 @@ +Version 1.12 (6/2007): + Mise en synchronisation avec la version 9.1 de Code_Aster de mai 2007. + +Version 1.11 (12/2006): + Mise en synchronisation avec la version 8.4 de Code_Aster de decembre 2006. + Première version du Traducteur de V7 en V8 + +Version 1.10 (6/2006): + Mise en synchronisation avec la version 8.3 de Code_Aster de juin 2006. + +Version 1.9 (12/2005): + Mise en synchronisation avec la version 8.2 de Code_Aster de decembre 2005. + +Version 1.8 (6/2005): + Mise en synchronisation avec la version 8.1 de Code_Aster de mai 2005. + Les includes et poursuites peuvent etre édités. Introduction de la notation + scientifique pour les flottants. + +Version 1.7 : (12/2004) + Mise en synchronisation avec la version STA7 de Code_Aster (7.4). + Les formules changent et deviennent des formules au sens python. + Disparition des PARAMETRE-EVAL + Les touches raccourcis (CtrlC par exple) sont activées et paramétrables dans prefs.py. + +Version 1.6 : (05/2004) + Mise en synchronisation avec la version STA7 de Code_Aster (7.2.26) + Evolution de la saisie des valeurs pour definir une fonction (EO2003-241) : + - Saisie des valeurs sous forme de tuple. + - Si une valeur est selectionnée, l'insertion se fera après cette valeur + et non en fin de liste + +Version 1.5 (10/2003): + Mise en synchronisation avec la version STA7 de Code_Aster d'octobre 2003 (7.2) + Introduction des validateurs de mots cles simples + +Version 1.4 (5/2003): + Mise en synchronisation avec la version STA7 de Code_Aster de mai 2003 (7.1) + Possibilité de donner un nom de fichier en argument lors de l'ouverture d'EFICAS (EO2003-060) + Correction d'une anomalie dans la fonctionnalité de commentarisation des commandes (AO2003-041) + Ajout du bouton de documentation dans le panneau FORMULE (AO2002-447) + Selection automatique du concept quand il n'en existe qu'un (EO2002-162) + +Version 1.3 (11/2002): + Mise en synchronisation avec la version STA6 de Code_Aster de septembre 2002 + Ajout de la possibilité de visualiser les INCLUDE, INCLUDE_MATERIAU et POURSUITE (popup + sur click droit de la souris sur l'icone de la commande) + Possibilité d'afficher la liste des commandes par groupe (menu option->affichage commandes) + Reprise profonde du mécanisme de gestion des fichiers inclus (voir menus d'AIDE pour plus de détails) + Corrections diverses + +Version 1.2 (5/2002): + Reconception de la version 1.1 : décomposition en packages Python + Mise en synchronisation avec la version STA6 de Code_Aster de fevrier 2002 diff --git a/OldCodes/Aster/README b/OldCodes/Aster/README new file mode 100644 index 00000000..0597ecbb --- /dev/null +++ b/OldCodes/Aster/README @@ -0,0 +1,2 @@ + +Pour installer EFICAS voir dans le fichier INSTALL diff --git a/OldCodes/Aster/Tests/README b/OldCodes/Aster/Tests/README new file mode 100644 index 00000000..bea23866 --- /dev/null +++ b/OldCodes/Aster/Tests/README @@ -0,0 +1,8 @@ +Ce repertoire contient quelques tests d'Eficas pour Aster. + +Les fichiers tests doivent etre lisibles par Eficas sans probleme. +Le repertoire Recette contient le cas de recette d'eficas_aster. +On doit pouvoir le relire tel que et le reconstruire de zero (fichier +normal et poursuite). + +Le test torsion.comm est un test pour format AsterV5 diff --git a/OldCodes/Aster/Tests/Recette/az.comm b/OldCodes/Aster/Tests/Recette/az.comm new file mode 100644 index 00000000..ef01a563 --- /dev/null +++ b/OldCodes/Aster/Tests/Recette/az.comm @@ -0,0 +1,119 @@ + +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','Group_1',), + 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=P5, + 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 + +INCLUDE(UNITE=12,); + +Tinclude=AFFE_MODELE(MAILLAGE=MINCLUDE, + AFFE=_F(MAILLE='ss', + PHENOMENE='THERMIQUE', + MODELISATION='AXIS_FOURIER',),); + +FIN(); +#CHECKSUM:62d9fdf65439daf4987e928b1c76bfbd -:FIN CHECKSUM \ No newline at end of file diff --git a/OldCodes/Aster/Tests/Recette/efica01a.11 b/OldCodes/Aster/Tests/Recette/efica01a.11 new file mode 100755 index 00000000..c140f8b1 --- /dev/null +++ b/OldCodes/Aster/Tests/Recette/efica01a.11 @@ -0,0 +1,19 @@ +DEPL2 = FORMULE(NOM_PARA='INST',VALE='sin(OMEGAA*INST)/(OMEGAA**xx)') +DEPLACE2=CALC_FONC_INTERP( FONCTION=DEPL2, + LIST_PARA=L_INST, + NOM_PARA='INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', + NOM_RESU='DEPL' ) + +MONO_X=CALC_CHAR_SEISME( MATR_MASS=MASSE, + DIRECTION=( 1., 0., 0.,), + MONO_APPUI='OUI' ) + + +MACRO_PROJ_BASE(BASE=MODE_MEC,MATR_ASSE_GENE=( + _F( MATRICE = CO("MASS_GEN"), MATR_ASSE = MASSE), + _F( MATRICE = CO("RIGI_GEN"), MATR_ASSE = RIGIDITE)), + VECT_ASSE_GENE=_F( VECTEUR = CO("VECT_X"), VECT_ASSE = MONO_X) + ) + diff --git a/OldCodes/Aster/Tests/Recette/efica01a.com0 b/OldCodes/Aster/Tests/Recette/efica01a.com0 new file mode 100755 index 00000000..214e3b89 --- /dev/null +++ b/OldCodes/Aster/Tests/Recette/efica01a.com0 @@ -0,0 +1,49 @@ +POURSUITE(CODE=_F( NOM = 'EFICA01A')) + +INCLUDE_MATERIAU( NOM_AFNOR='18MND5', TYPE_MODELE='REF', + VARIANTE='A', TYPE_VALE='NOMI', + NOM_MATER='MAT3', INFO=2 ) + +CHMAT3=AFFE_MATERIAU( MAILLAGE=MAILLA3, + AFFE=_F( TOUT='OUI', MATER = MAT3, TEMP_REF = 20.)) + +riginor = 2.88E7 + +TRAN_GE2=DYNA_TRAN_MODAL( MASS_GENE=MGEN_BIC, RIGI_GENE=RGEN_BIC, + METHODE='EULER', + AMOR_REDUIT=( 0.07, 0.07, ), + MODE_STAT=MSTA_BIC,EXCIT=( + _F( VECT_GENE = VECT_X1, ACCE = ACCELER1, + MULT_APPUI = 'OUI', + DIRECTION = ( 1., 0., 0.,), NOEUD = 'NO1', + VITE = VITESSE1, DEPL = DEPLACE1), + _F( VECT_GENE = VECT_X2, ACCE = ACCELER2, + MULT_APPUI = 'OUI', + DIRECTION = ( 1., 0., 0.,), NOEUD = 'NO11', + VITE = VITESSE2, DEPL = DEPLACE2)), + CHOC=_F( GROUP_NO_1 = 'MASSES1', + GROUP_NO_2 = 'MASSES2', + OBSTACLE = GRILLE, + INTITULE = 'NO2/NO12', + NORM_OBST = (0., 0., 1.,), + DIST_1 = 0.4495, + DIST_2 = 0.4495, + RIGI_NOR = riginor, + AMOR_NOR = 0., + RIGI_TAN = 0., + COULOMB = 0.), + INCREMENT=_F( INST_INIT = 0., INST_FIN = 1., PAS = 0.00025), + ARCHIVAGE=_F( PAS_ARCH = 8) + ) + +LISTIMP=DEFI_LIST_REEL( DEBUT=0., + INTERVALLE=_F( JUSQU_A = 1., NOMBRE = 500)) + +RESUA1=REST_BASE_PHYS( RESU_GENE=TRAN_GE1, + LIST_INST=LISTIMP, + INTERPOL='LIN', + NOM_CHAM='DEPL', + MULT_APPUI='OUI' + ) + +FIN() diff --git a/OldCodes/Aster/Tests/Recette/efica01a.comm b/OldCodes/Aster/Tests/Recette/efica01a.comm new file mode 100755 index 00000000..20eea866 --- /dev/null +++ b/OldCodes/Aster/Tests/Recette/efica01a.comm @@ -0,0 +1,275 @@ +# MODIF DATE 20/09/2004 AUTEUR DURAND C.DURAND +# TITRE TEST DE NON REGRESSION DE L IHM EFICAS - DERIVE DE SDND102A +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# Ce cas test est gere en configuration dans la base ASTER, il sert de +# modele pour prononcer la recette de l IHM d EFICAS : l objectif est de +# pouvoir recreer ce test a l identique dans EFICAS a partir d une page +# blanche. +# On a donc essaye d y placer toutes les commandes un peu particulieres +# du langage de commandes d ASTER +# +# Il s agit en fait du test SDND102A auquel on a ajoute : +# la definition d un parametre (VAL) +# l inclusion d un fichier (INCLUDE) +# une poursuite (POURSUITE) +# Il contient ainsi : +# des parametres, des formules, des macros, des mots cles facteurs repetes +# (y compris conditionnes par des regles : calc_fonction / COMB), +# des blocs (mode_iter_simult,calc_char_seisme), un defi_valeur, un parametre. +# +# +# Il faudra y associer quelques recommandations pour la recette : +# - verifier qu en ouvrant le .com0, il demande bien a browser le .comm puis, en cascade, le .11 +# - verifier qu on peut bien supprimer une commande, un mot cle simple et facteur +# - verifier les acces a la doc +# +# + + +DEBUT(CODE=_F(NOM='EFICA01A',NIV_PUB_WEB='INTERNET',VISU_EFICAS='NON'),) + +MAILLAGE=LIRE_MAILLAGE() + +MAILLAGE=DEFI_GROUP(reuse=MAILLAGE, + MAILLAGE=MAILLAGE, + CREA_GROUP_NO=(_F(NOEUD='NO2', + NOM='MASSES',), + _F(NOEUD='NO1', + NOM='ENCASTRE',),),) + +MAILLA2=LIRE_MAILLAGE(UNITE=21,) + +MODELE=AFFE_MODELE(MAILLAGE=MAILLAGE, + AFFE=(_F(GROUP_MA='RESSORT', + PHENOMENE='MECANIQUE', + MODELISATION='DIS_T',), + _F(GROUP_NO='MASSES', + PHENOMENE='MECANIQUE', + MODELISATION='DIS_T',),),) + +BICHOC=AFFE_MODELE(MAILLAGE=MAILLA2, + AFFE=(_F(GROUP_MA='RESSORTS', + PHENOMENE='MECANIQUE', + MODELISATION='DIS_T',), + _F(GROUP_NO=('MASSES1','MASSES2',), + PHENOMENE='MECANIQUE', + MODELISATION='DIS_T',),),) +VAL = 98696.0 + + +CARA_ELE=AFFE_CARA_ELEM(MODELE=MODELE, + DISCRET=(_F(GROUP_MA='RESSORT', + REPERE='GLOBAL', + CARA='K_T_D_L', + VALE=(VAL,0.0,0.0,),), + _F(GROUP_NO='MASSES', + CARA='M_T_D_N', + VALE=25.0,),),) + +CARA_BIC=AFFE_CARA_ELEM(MODELE=BICHOC, + DISCRET=(_F(GROUP_MA='RESSORTS', + REPERE='GLOBAL', + CARA='K_T_D_L', + VALE=(VAL,0.0,0.0,),), + _F(GROUP_NO='MASSES1', + CARA='M_T_D_N', + VALE=25.0,), + _F(GROUP_NO='MASSES2', + CARA='M_T_D_N', + VALE=25.0,),),) + +CON_LIM=AFFE_CHAR_MECA(MODELE=MODELE, + DDL_IMPO=(_F(GROUP_NO='ENCASTRE', + DX=0.0, + DY=0.0, + DZ=0.0,), + _F(GROUP_NO='MASSES', + DY=0.0, + DZ=0.0,),),) + +CL_BICHO=AFFE_CHAR_MECA(MODELE=BICHOC, + DDL_IMPO=(_F(GROUP_NO='ENCBICHO', + DX=0.0, + DY=0.0, + DZ=0.0,), + _F(GROUP_NO=('MASSES1','MASSES2',), + DY=0.0, + DZ=0.0,),),) + +MACRO_MATR_ASSE(MODELE=MODELE, + CARA_ELEM=CARA_ELE, + CHARGE=CON_LIM, + NUME_DDL=CO('NUMEDDL'), + MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'), + OPTION='RIGI_MECA',), + _F(MATRICE=CO('MASSE'), + OPTION='MASS_MECA',),),) + +MACRO_MATR_ASSE(MODELE=BICHOC, + CARA_ELEM=CARA_BIC, + CHARGE=CL_BICHO, + NUME_DDL=CO('NUMDDLC'), + MATR_ASSE=(_F(MATRICE=CO('RIGI_BIC'), + OPTION='RIGI_MECA',), + _F(MATRICE=CO('MASS_BIC'), + OPTION='MASS_MECA',),),) + +MODE_MEC=MODE_ITER_SIMULT(MATR_A=RIGIDITE, + MATR_B=MASSE,) + +MODE_MEC=NORM_MODE(reuse =MODE_MEC, + MODE=MODE_MEC, + NORME='MASS_GENE',) + +MODE_BIC=MODE_ITER_SIMULT(MATR_A=RIGI_BIC, + MATR_B=MASS_BIC, + METHODE='JACOBI', + OPTION='SANS', + CALC_FREQ=_F(OPTION='BANDE', + FREQ=(1.0,10.0,),),) + +MODE_BIC=NORM_MODE(reuse =MODE_BIC, + MODE=MODE_BIC, + NORME='MASS_GENE',) + +MODE_STA=MODE_STATIQUE(MATR_RIGI=RIGIDITE, + MATR_MASS=MASSE, + MODE_STAT=_F(TOUT='OUI', + AVEC_CMP='DX',),) + +MSTA_BIC=MODE_STATIQUE(MATR_RIGI=RIGI_BIC, + MATR_MASS=MASS_BIC, + MODE_STAT=_F(TOUT='OUI', + AVEC_CMP='DX',),) + +L_INST=DEFI_LIST_REEL(DEBUT=0.0, + INTERVALLE=_F(JUSQU_A=1.0, + PAS=1.E-4,),) + +OMEGAA=2.*pi*10. + +ACCE1 = FORMULE(VALE = 'sin(OMEGAA*INST)', + NOM_PARA='INST') + +ACCELER1=CALC_FONC_INTERP(FONCTION=ACCE1, + NOM_RESU='ACCE', + LIST_PARA=L_INST, + NOM_PARA = 'INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE',) + +ACCE2 = FORMULE(VALE = '-sin(OMEGAA*INST)', + NOM_PARA='INST') + +ACCELER2=CALC_FONC_INTERP(FONCTION=ACCE2, + NOM_RESU='ACCE', + LIST_PARA=L_INST, + NOM_PARA = 'INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE',) + +VITE1 = FORMULE(VALE = '-cos(OMEGAA*INST)/OMEGAA', + NOM_PARA='INST') + +VITESSE1=CALC_FONC_INTERP(FONCTION=VITE1, + NOM_RESU='VITE', + LIST_PARA=L_INST, + NOM_PARA = 'INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE',) + +DEPL1 = FORMULE(VALE = '-sin(OMEGAA*INST)/(OMEGAA**2)', + NOM_PARA='INST') + +DEPLACE1=CALC_FONC_INTERP(FONCTION=DEPL1, + NOM_RESU='DEPL', + LIST_PARA=L_INST, + NOM_PARA = 'INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE',) + +VITE2 = FORMULE(VALE = 'cos(OMEGAA*INST)/OMEGAA', + NOM_PARA='INST') + +VITESSE2=CALC_FONC_INTERP(FONCTION=VITE2, + NOM_RESU='VITE', + LIST_PARA=L_INST, + NOM_PARA = 'INST', + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE',) + +xx=2 + +INCLUDE(UNITE=11, + INFO=1,) + +MUR=DEFI_OBSTACLE(TYPE='PLAN_Z',) + +TRAN_GE1=DYNA_TRAN_MODAL(METHODE='EULER', + MASS_GENE=MASS_GEN, + RIGI_GENE=RIGI_GEN, + AMOR_REDUIT=0.07, + MODE_STAT=MODE_STA, + INCREMENT=_F(INST_INIT=0.0, + INST_FIN=1.0, + PAS=2.0E-4,), + ARCHIVAGE=_F(PAS_ARCH=8,), + EXCIT=_F(VECT_GENE=VECT_X, + ACCE=ACCELER1, + VITE=VITESSE1, + DEPL=DEPLACE1, + MULT_APPUI='OUI', + DIRECTION=(1.0,0.0,0.0,), + NOEUD='NO1',), + CHOC=_F(INTITULE='NO2/MUR', + GROUP_NO_1='MASSES', + OBSTACLE=MUR, + ORIG_OBST=(-1.0,0.0,0.0,), + NORM_OBST=(0.0,0.0,1.0,), + JEU=1.1005, + RIGI_NOR=5.76E7, + AMOR_NOR=0.0, + RIGI_TAN=0.0, + COULOMB=0.0,),) + +MULT_X1=CALC_CHAR_SEISME(MATR_MASS=MASS_BIC, + DIRECTION=(1.0,0.0,0.0,), + MODE_STAT=MSTA_BIC, + NOEUD='NO1',) + +MULT_X2=CALC_CHAR_SEISME(MATR_MASS=MASS_BIC, + DIRECTION=(1.0,0.0,0.0,), + MODE_STAT=MSTA_BIC, + NOEUD='NO11',) + +MACRO_PROJ_BASE(BASE=MODE_BIC, + MATR_ASSE_GENE=(_F(MATRICE=CO('MGEN_BIC'), + MATR_ASSE=MASS_BIC,), + _F(MATRICE=CO('RGEN_BIC'), + MATR_ASSE=RIGI_BIC,),), + VECT_ASSE_GENE=(_F(VECTEUR=CO('VECT_X1'), + VECT_ASSE=MULT_X1,), + _F(VECTEUR=CO('VECT_X2'), + VECT_ASSE=MULT_X2,),),) + +GRILLE=DEFI_OBSTACLE(TYPE='BI_PLAN_Z',) + +MAILLA3=LIRE_MAILLAGE(UNITE=22,) + +FIN() diff --git a/OldCodes/Aster/Tests/d0.comm b/OldCodes/Aster/Tests/d0.comm new file mode 100644 index 00000000..726e2840 --- /dev/null +++ b/OldCodes/Aster/Tests/d0.comm @@ -0,0 +1,6 @@ +DEBUT() +print "***********************************" +print "*********COUCOU1*******************" +print "***********************************" +INCLUDE(UNITE=11) +FIN() diff --git a/OldCodes/Aster/Tests/err.comm b/OldCodes/Aster/Tests/err.comm new file mode 100644 index 00000000..6ded4a0a --- /dev/null +++ b/OldCodes/Aster/Tests/err.comm @@ -0,0 +1,39 @@ + +# Test pour vérifier qu'une commande dont le concept +# produit est nommé sansnom est considérée comme invalide +#plusieurs commandes : PROC, MACRO, OPER + +DEBUT(); + +MA=LIRE_MAILLAGE(); + +kk=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +uu=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +SD_4=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +sansnom=AFFE_CHAR_CINE(MODELE=None,); + +MACR_ADAP_MAIL(ADAPTATION=_F(LIBRE='RAFFINEMENT', + MAILLAGE_N=MA, + MAILLAGE_NP1=CO('MAA'), + RESULTAT_N=None, + INDICATEUR=None, + NOM_CMP_INDICA=None, + CRIT_RAFF_ABS=1.0,),); + +MACR_ADAP_MAIL(ADAPTATION=_F(LIBRE='RAFFINEMENT', + MAILLAGE_N=MA, + MAILLAGE_NP1=MAA, + RESULTAT_N=None, + INDICATEUR=None, + NOM_CMP_INDICA=None, + CRIT_RAFF_ABS=1.0,),); + +PRE_CHAR_IDEAS(MODELE=None,); + +FIN(); diff --git a/OldCodes/Aster/Tests/err2.comm b/OldCodes/Aster/Tests/err2.comm new file mode 100644 index 00000000..485c0f77 --- /dev/null +++ b/OldCodes/Aster/Tests/err2.comm @@ -0,0 +1,18 @@ + +DEBUT(); + +MA=LIRE_MAILLAGE(); + +kk=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +uu=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +zezea=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +SD_5=DEFI_MATERIAU(ELAS=_F(E=56.24, + NU=0.3,),); + +FIN(); diff --git a/OldCodes/Aster/Tests/err3.comm b/OldCodes/Aster/Tests/err3.comm new file mode 100644 index 00000000..371a2426 --- /dev/null +++ b/OldCodes/Aster/Tests/err3.comm @@ -0,0 +1,60 @@ + + +DEBUT(); + +ma=LIRE_MAILLAGE(); + +air=DEFI_MATERIAU(); + +champmat=AFFE_MATERIAU(MAILLAGE=ma, + AFFE=_F(TOUT='OUI', + MATER=air,),); + +mo=AFFE_MODELE(MAILLAGE=ma, + AFFE=_F(TOUT='OUI', + PHENOMENE='ACOUSTIQUE', + MODELISATION='3D',),); + +characou=AFFE_CHAR_ACOU(MODELE=mo, + VITE_FACE=_F(GROUP_MA=('ENTREE','SORTIE','TOTO','TITI',), + VNOR=('RI',0.014,0.0,),),); + +MACRO_MATR_ASSE(MODELE=mo, + NUME_DDL=CO('num'), + MATR_ASSE=_F(MATRICE=CO('matasm'), + OPTION='MASS_ACOU',),); + +vectelem=CALC_VECT_ELEM(OPTION='CHAR_ACOU', + CHAM_MATER=champmat, + CHARGE=characou,); + +sansnom=ASSE_VECTEUR(VECT_ELEM=None, + NUME_DDL=num,); + +sansnom=ASSE_VECTEUR(VECT_ELEM=vectelem, + NUME_DDL=num,); + +ch=ASSE_VECTEUR(VECT_ELEM=vectelem, + NUME_DDL=num,); + +sansnom=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=None,),); + +sansnom=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=ch, + COEF_R=1,),); + +chno=COMB_CHAM_NO(COMB_C=_F(CHAM_NO=ch, + COEF_R=1,),); + +matasm=FACT_LDLT(reuse =matasm, + MATR_ASSE=matasm,); + +sansnom=RESO_LDLT(MATR_FACT=matasm, + CHAM_NO=None, + ); +sansnom=RESO_LDLT(MATR_FACT=matasm, + CHAM_NO=chno, + ); +rr =RESO_LDLT(MATR_FACT=matasm, + CHAM_NO=chno, + ); + diff --git a/OldCodes/Aster/Tests/incl.11 b/OldCodes/Aster/Tests/incl.11 new file mode 100644 index 00000000..4d2f5fdc --- /dev/null +++ b/OldCodes/Aster/Tests/incl.11 @@ -0,0 +1,3 @@ +MA=LIRE_MAILLAGE() + + diff --git a/OldCodes/Aster/Tests/incl.12 b/OldCodes/Aster/Tests/incl.12 new file mode 100644 index 00000000..6bdb45de --- /dev/null +++ b/OldCodes/Aster/Tests/incl.12 @@ -0,0 +1 @@ +MMA=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/incl.13 b/OldCodes/Aster/Tests/incl.13 new file mode 100644 index 00000000..3e1feeec --- /dev/null +++ b/OldCodes/Aster/Tests/incl.13 @@ -0,0 +1 @@ +a=1/ diff --git a/OldCodes/Aster/Tests/incl.14 b/OldCodes/Aster/Tests/incl.14 new file mode 100644 index 00000000..e1d48a40 --- /dev/null +++ b/OldCodes/Aster/Tests/incl.14 @@ -0,0 +1 @@ +INCLUDE(UNITE=15) diff --git a/OldCodes/Aster/Tests/incl.15 b/OldCodes/Aster/Tests/incl.15 new file mode 100644 index 00000000..16b438a8 --- /dev/null +++ b/OldCodes/Aster/Tests/incl.15 @@ -0,0 +1 @@ +XXX=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/incl.16 b/OldCodes/Aster/Tests/incl.16 new file mode 100644 index 00000000..79db1b98 --- /dev/null +++ b/OldCodes/Aster/Tests/incl.16 @@ -0,0 +1 @@ +mm=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/incl.17 b/OldCodes/Aster/Tests/incl.17 new file mode 100644 index 00000000..d3ec5d6d --- /dev/null +++ b/OldCodes/Aster/Tests/incl.17 @@ -0,0 +1,15 @@ +MMA=LIRE_MAILLAGE() + +mo=AFFE_MODELE(MAILLAGE=MMA, + AFFE=_F(TOUT='OUI', + PHENOMENE='MECANIQUE', + MODELISATION='3D',),); + +MACRO_MATR_ASSE(MODELE=mo, + NUME_DDL=CO('numdl'), + MATR_ASSE=_F(MATRICE=CO('mm'), + OPTION='RIGI_MECA',),); + +mm=FACT_LDLT(reuse =mm, + MATR_ASSE=mm,); + diff --git a/OldCodes/Aster/Tests/incl.25 b/OldCodes/Aster/Tests/incl.25 new file mode 100644 index 00000000..2e89f000 --- /dev/null +++ b/OldCodes/Aster/Tests/incl.25 @@ -0,0 +1 @@ +MA=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/incl1.comm b/OldCodes/Aster/Tests/incl1.comm new file mode 100644 index 00000000..e68cf5a3 --- /dev/null +++ b/OldCodes/Aster/Tests/incl1.comm @@ -0,0 +1,3 @@ +DEBUT() +INCLUDE(UNITE=13) +FIN() diff --git a/OldCodes/Aster/Tests/inclmat.comm b/OldCodes/Aster/Tests/inclmat.comm new file mode 100644 index 00000000..b05656a2 --- /dev/null +++ b/OldCodes/Aster/Tests/inclmat.comm @@ -0,0 +1,9 @@ +DEBUT() +MA=LIRE_MAILLAGE() +INCLUDE_MATERIAU(NOM_AFNOR='A42', + TYPE_MODELE='REF', + VARIANTE='C', + TYPE_VALE='NOMI', + NOM_MATER='MAT', + ) +FIN() diff --git a/OldCodes/Aster/Tests/inclmat2.comm b/OldCodes/Aster/Tests/inclmat2.comm new file mode 100644 index 00000000..b605ec5c --- /dev/null +++ b/OldCodes/Aster/Tests/inclmat2.comm @@ -0,0 +1,14 @@ +DEBUT() +INCLUDE_MATERIAU(NOM_AFNOR='A42', + TYPE_MODELE='REF', + VARIANTE='C', + TYPE_VALE='NOMI', + NOM_MATER='M', + ) +INCLUDE_MATERIAU(NOM_AFNOR='A42', + TYPE_MODELE='REF', + VARIANTE='F', + TYPE_VALE='NOMI', + NOM_MATER='N', + ) +FIN() diff --git a/OldCodes/Aster/Tests/j0.comm b/OldCodes/Aster/Tests/j0.comm new file mode 100644 index 00000000..7aa78c2f --- /dev/null +++ b/OldCodes/Aster/Tests/j0.comm @@ -0,0 +1,6 @@ + +DEBUT(PAR_LOT='OUI',); + +INCLUDE(UNITE=11,); + +FIN(); diff --git a/OldCodes/Aster/Tests/j1.comm b/OldCodes/Aster/Tests/j1.comm new file mode 100644 index 00000000..35190d65 --- /dev/null +++ b/OldCodes/Aster/Tests/j1.comm @@ -0,0 +1,2 @@ +POURSUITE() +FIN() diff --git a/OldCodes/Aster/Tests/j1.ini b/OldCodes/Aster/Tests/j1.ini new file mode 100644 index 00000000..2fb4dc86 --- /dev/null +++ b/OldCodes/Aster/Tests/j1.ini @@ -0,0 +1,5 @@ +[jdc] +jdc=a +[a] +comm=Tests/j0.comm +11=Tests/incl.11 diff --git a/OldCodes/Aster/Tests/j2.ini b/OldCodes/Aster/Tests/j2.ini new file mode 100644 index 00000000..f0dd6ce1 --- /dev/null +++ b/OldCodes/Aster/Tests/j2.ini @@ -0,0 +1,20 @@ +[jdc] +jdc=a +[a] +comm=p3.comm +poursuite=b +11=incl.11 +17=incl.17 +16=incl.16 +25=incl.25 +[b] +comm=p2.comm +poursuite=c +11=pincl.11 +[c] +comm=p1.comm +poursuite=d +11=qincl.11 +[d] +comm=d0.comm +11=rincl.11 diff --git a/OldCodes/Aster/Tests/jdc.ini b/OldCodes/Aster/Tests/jdc.ini new file mode 100644 index 00000000..eae54ec9 --- /dev/null +++ b/OldCodes/Aster/Tests/jdc.ini @@ -0,0 +1,17 @@ +[jdc] +jdc=a +[a] +comm=Tests/p0.comm +poursuite=pours1 +11=Tests/incl.11 +[pours1] +comm=Tests/p1.comm +poursuite=pours2 +12=Tests/incl.11 +[pours2] +comm=Tests/p2.comm +poursuite=pours3 +13=Tests/incl.11 +[pours3] +comm=Tests/p3.comm +14=Tests/incl.11 diff --git a/OldCodes/Aster/Tests/p0.comm b/OldCodes/Aster/Tests/p0.comm new file mode 100644 index 00000000..35190d65 --- /dev/null +++ b/OldCodes/Aster/Tests/p0.comm @@ -0,0 +1,2 @@ +POURSUITE() +FIN() diff --git a/OldCodes/Aster/Tests/p1.comm b/OldCodes/Aster/Tests/p1.comm new file mode 100644 index 00000000..7f15f690 --- /dev/null +++ b/OldCodes/Aster/Tests/p1.comm @@ -0,0 +1,6 @@ +POURSUITE() +print "+++++++++++++++++++++++++++++++++++" +print "+++++++++COUCOU3+++++++++++++++++++" +print "+++++++++++++++++++++++++++++++++++" +INCLUDE(UNITE=11) +FIN() diff --git a/OldCodes/Aster/Tests/p2.comm b/OldCodes/Aster/Tests/p2.comm new file mode 100644 index 00000000..7f15f690 --- /dev/null +++ b/OldCodes/Aster/Tests/p2.comm @@ -0,0 +1,6 @@ +POURSUITE() +print "+++++++++++++++++++++++++++++++++++" +print "+++++++++COUCOU3+++++++++++++++++++" +print "+++++++++++++++++++++++++++++++++++" +INCLUDE(UNITE=11) +FIN() diff --git a/OldCodes/Aster/Tests/p3.comm b/OldCodes/Aster/Tests/p3.comm new file mode 100644 index 00000000..40ec7776 --- /dev/null +++ b/OldCodes/Aster/Tests/p3.comm @@ -0,0 +1,7 @@ +POURSUITE() +print "+++++++++++++++++++++++++++++++++++" +print "+++++++++COUCOU4+++++++++++++++++++" +print "+++++++++++++++++++++++++++++++++++" +INCLUDE(UNITE=17) +INCLUDE(UNITE=11) +FIN() diff --git a/OldCodes/Aster/Tests/perr.comm b/OldCodes/Aster/Tests/perr.comm new file mode 100644 index 00000000..ee7d6fec --- /dev/null +++ b/OldCodes/Aster/Tests/perr.comm @@ -0,0 +1,5 @@ +DEBUT() +import traceback +traceback.print_stack() +a= +FIN() diff --git a/OldCodes/Aster/Tests/perr2.comm b/OldCodes/Aster/Tests/perr2.comm new file mode 100644 index 00000000..bb93df79 --- /dev/null +++ b/OldCodes/Aster/Tests/perr2.comm @@ -0,0 +1,3 @@ +DEBUT() +IMPR_CO() +FIN() diff --git a/OldCodes/Aster/Tests/pincl.11 b/OldCodes/Aster/Tests/pincl.11 new file mode 100644 index 00000000..b1bd46d9 --- /dev/null +++ b/OldCodes/Aster/Tests/pincl.11 @@ -0,0 +1 @@ +MAA=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/pp.comm b/OldCodes/Aster/Tests/pp.comm new file mode 100644 index 00000000..dda00d50 --- /dev/null +++ b/OldCodes/Aster/Tests/pp.comm @@ -0,0 +1,2 @@ +DEBUT() +FIN() diff --git a/OldCodes/Aster/Tests/princ.comm b/OldCodes/Aster/Tests/princ.comm new file mode 100644 index 00000000..59f33a88 --- /dev/null +++ b/OldCodes/Aster/Tests/princ.comm @@ -0,0 +1,16 @@ + +POURSUITE(); + +# commentaire + +xx=LIRE_MAILLAGE(); + +INCLUDE(UNITE=12,); + +INCLUDE(UNITE=35,); + +INCLUDE(UNITE=11,); + +yy=LIRE_MAILLAGE(); + +DETRUIRE(CONCEPT=_F(NOM=None,),); diff --git a/OldCodes/Aster/Tests/princ.ini b/OldCodes/Aster/Tests/princ.ini new file mode 100644 index 00000000..a8865fbc --- /dev/null +++ b/OldCodes/Aster/Tests/princ.ini @@ -0,0 +1,20 @@ +[jdc] +jdc=a +[a] +comm=princ.comm +poursuite=pours1 +11=princl.11 +12=princl.12 +14=princl.14 +35=princl.35 +[pours1] +comm=p1.comm +poursuite=pours2 +11=incl.11 +[pours2] +comm=p2.comm +poursuite=pours3 +11=incl.12 +[pours3] +comm=d0.comm +11=incl.16 diff --git a/OldCodes/Aster/Tests/princl.11 b/OldCodes/Aster/Tests/princl.11 new file mode 100644 index 00000000..ef02b73e --- /dev/null +++ b/OldCodes/Aster/Tests/princl.11 @@ -0,0 +1,3 @@ +MAA=LIRE_MAILLAGE() + + diff --git a/OldCodes/Aster/Tests/princl.12 b/OldCodes/Aster/Tests/princl.12 new file mode 100644 index 00000000..eb15ffd4 --- /dev/null +++ b/OldCodes/Aster/Tests/princl.12 @@ -0,0 +1,15 @@ +MMAA=LIRE_MAILLAGE() + +mo=AFFE_MODELE(MAILLAGE=MMAA, + AFFE=_F(TOUT='OUI', + PHENOMENE='MECANIQUE', + MODELISATION='3D',),); + +MACRO_MATR_ASSE(MODELE=mo, + NUME_DDL=CO('numdl'), + MATR_ASSE=_F(MATRICE=CO('mmm'), + OPTION='RIGI_MECA',),); + +mmm=FACT_LDLT(reuse =mmm, + MATR_ASSE=mmm,); + diff --git a/OldCodes/Aster/Tests/princl.14 b/OldCodes/Aster/Tests/princl.14 new file mode 100644 index 00000000..3ee3c9fe --- /dev/null +++ b/OldCodes/Aster/Tests/princl.14 @@ -0,0 +1,11 @@ + +mmo=AFFE_MODELE(MAILLAGE=xx, + AFFE=_F(TOUT='OUI', + PHENOMENE='MECANIQUE', + MODELISATION='3D',),); + +MACRO_MATR_ASSE(MODELE=mmo, + NUME_DDL=CO('nume'), + MATR_ASSE=_F(MATRICE=CO('mmb'), + OPTION='RIGI_MECA',),); + diff --git a/OldCodes/Aster/Tests/princl.35 b/OldCodes/Aster/Tests/princl.35 new file mode 100644 index 00000000..4a9f4aab --- /dev/null +++ b/OldCodes/Aster/Tests/princl.35 @@ -0,0 +1,5 @@ + + +INCLUDE(UNITE=14,); + +DETRUIRE(CONCEPT=_F(NOM=None,),); \ No newline at end of file diff --git a/OldCodes/Aster/Tests/qincl.11 b/OldCodes/Aster/Tests/qincl.11 new file mode 100644 index 00000000..c7101a0d --- /dev/null +++ b/OldCodes/Aster/Tests/qincl.11 @@ -0,0 +1 @@ +MAAA=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/rincl.11 b/OldCodes/Aster/Tests/rincl.11 new file mode 100644 index 00000000..c0277244 --- /dev/null +++ b/OldCodes/Aster/Tests/rincl.11 @@ -0,0 +1 @@ +MAAAA=LIRE_MAILLAGE() diff --git a/OldCodes/Aster/Tests/torsion.comm b/OldCodes/Aster/Tests/torsion.comm new file mode 100755 index 00000000..83f56092 --- /dev/null +++ b/OldCodes/Aster/Tests/torsion.comm @@ -0,0 +1,340 @@ + DEBUT(); + + + INCLUDE(UNITE: 80); + +TPS = 1. ; + + + +SY = 90. ; + + + +A = 1. ; +H = 0.01 ; +N = 50 ; +T = 0.01 ; +TD = DEFI_VALEUR(R8: EVAL(T*180./PI)) ; +CT = DEFI_VALEUR(R8: EVAL(COS(T))) ; +ST = DEFI_VALEUR(R8: EVAL(SIN(T))) ; +MST= DEFI_VALEUR(R8: EVAL(-ST)); +RAT= DEFI_VALEUR(R8: EVAL(H/A)); + + +K_REF = DEFI_VALEUR( R8: EVAL(0.9845615*Q1) ); +EPS_Y = DEFI_VALEUR( R8: EVAL( (1./K_REF)**5. )); +YOUNG = DEFI_VALEUR( R8: EVAL(SY/EPS_Y) ); + +!FORMULE( REEL: ( + RP(REEL:EPSI) = K_REF * SY * EPSI**0.2 + ) ); + +ECH_EPSI = DEFI_LIST_REEL ( + DEBUT: EPS_Y + INTERVALLE: ( + JUSQU_A: 3. + NOMBRE : 300 + ) + ) ; + +TRAC = CALC_FONC_INTERP ( + FONCTION: RP + LIST_PARA : ECH_EPSI + PROL_GAUCHE: 'LINEAIRE' + PROL_DROIT : 'LINEAIRE' + ) ; + + + PRE_GIBI(); + MA = LIRE_MAILLAGE(); + +&MA = DEFI_GROUP + ( + MAILLAGE: MA + CREA_GROUP_NO: + ( + TOUT_GROUP_MA: 'OUI' + ) + ) ; + + + CUIVRE = DEFI_MATERIAU + ( + ELAS : + ( + E : YOUNG + NU: 0.3 + ) + TRACTION : ( + SIGM: TRAC + ) + NON_LOCAL: ( + LONG_CARA: LC + ) + ) ; + + CHMAT = AFFE_MATERIAU + ( + MAILLAGE: MA + AFFE : + ( + GROUP_MA: TRANCHE + MATER : CUIVRE + ) + ) ; + + + MO_MECA = AFFE_MODELE + ( + MAILLAGE: MA + AFFE : + ( + GROUP_MA : TRANCHE + PHENOMENE : 'MECANIQUE' + MODELISATION : '3D_SI' + ) + ) ; + + MO_DELO = AFFE_MODELE ( + MAILLAGE: MA + AFFE: + ( + GROUP_MA: TRANCHE + PHENOMENE: 'NON_LOCAL' + MODELISATION: '3D' + ) + ) ; + + +!FORMULE ( REEL : ( UX_IMP(REEL: INST, REEL:X, REEL:Y) = + -INST*RAT*Y + )); +!FORMULE ( REEL : ( UY_IMP(REEL: INST, REEL:X, REEL:Y) = + INST*RAT*X + )); +!FORMULE ( REEL : ( UZ_IMP(REEL:X, REEL:Y) = 0. )); + + + ANCRAGE = AFFE_CHAR_MECA ( + MODELE : MO_MECA + FACE_IMPO: + ( + GROUP_MA: BAS + DX: 0. + DY: 0. + DZ: 0. + ) + ) ; + + TORSION = AFFE_CHAR_MECA_F ( + MODELE : MO_MECA + FACE_IMPO: + ( + GROUP_MA: HAUT + DX : UX_IMP + DY : UY_IMP + DZ : UZ_IMP + ) + ) ; + + + SYMETRIE = AFFE_CHAR_MECA ( + MODELE: MO_MECA + LIAISON_GROUP: ( + GROUP_MA_1 : SYM_CY_0 + GROUP_MA_2 : SYM_CY_1 + SANS_GROUP_NO: (HAUT, BAS) + DDL_1 : ('DX' 'DY' ) + DDL_2 : ('DX' ) + COEF_MULT_1 : (CT MST) + COEF_MULT_2 : (-1.) + COEF_IMPO : 0. + CENTRE : (0. 0. 0.) + ANGL_NAUT : (TD 0. 0.) + SOMMET : 'OUI' + ) + LIAISON_GROUP: ( + GROUP_MA_1 : SYM_CY_0 + GROUP_MA_2 : SYM_CY_1 + SANS_GROUP_NO: (HAUT, BAS) + DDL_1 : ('DX' 'DY' ) + DDL_2 : ('DY' ) + COEF_MULT_1 : (ST CT) + COEF_MULT_2 : (-1.) + COEF_IMPO : 0. + CENTRE : (0. 0. 0.) + ANGL_NAUT : (TD 0. 0.) + SOMMET : 'OUI' + ) + LIAISON_GROUP: ( + GROUP_MA_1 : SYM_CY_0 + GROUP_MA_2 : SYM_CY_1 + SANS_GROUP_NO: (HAUT, BAS) + DDL_1 : ('DZ') + DDL_2 : ('DZ') + COEF_MULT_1 : (1.) + COEF_MULT_2 : (-1.) + COEF_IMPO : 0. + CENTRE : (0. 0. 0.) + ANGL_NAUT : (TD 0. 0.) + SOMMET : 'OUI' + ) + ) ; + + + INSTANTS = DEFI_LIST_REEL + ( + DEBUT: 0. + INTERVALLE: + (JUSQU_A: TPS NOMBRE: 50) + ) ; + + + + EVOL = STAT_NON_LINE + ( + MODELE: MO_MECA + CHAM_MATER: CHMAT + EXCIT : + (CHARGE: TORSION) + (CHARGE: ANCRAGE) + (CHARGE: SYMETRIE) + INCREMENT: + ( + LIST_INST: INSTANTS + SUBD_PAS : 5 + SUBD_PAS_MINI: 0.0001 + ) + COMP_INCR: + ( + RELATION: 'PLAS_GRAD_TRAC' + DEFORMATION: 'PETIT' + ) + NEWTON: + ( + MATRICE:'ELASTIQUE' + ) + CONVERGENCE: + ( + RESI_GLOB_RELA: 1.E-4 + ITER_GLOB_MAXI: 500 + ITER_INTE_MAXI: 250 + RESI_INTE_RELA: 1.E-9 + ) + ARCHIVAGE: ( + ARCH_ETAT_INIT: 'OUI' + LIST_INST : INSTANTS + ) + + MODELE_NON_LOCAL: MO_DELO + LAGR_NON_LOCAL: ( + RESI_PRIM_ABSO: 1.E-9 + RESI_DUAL_ABSO: 1.E-4 + RHO: 1000. + ITER_PRIM_MAXI: 100 + ITER_DUAL_MAXI: 10 + ) + ) ; + + + +&EVOL = CALC_ELEM ( + MODELE: MO_MECA + CHAM_MATER: CHMAT + RESULTAT : EVOL + OPTION: ('SIEF_ELNO_ELGA' 'VARI_ELNO_ELGA') + ) ; + +&EVOL = CALC_NO ( + RESULTAT: EVOL + OPTION: ('FORC_NODA' + 'SIEF_NOEU_ELGA' 'VARI_NOEU_ELGA') + ) ; + + +ECHAN = INTE_MAIL_3D ( + MAILLAGE : MA + DEFI_SEGMENT: ( + GROUP_NO_ORIG: O1 + GROUP_NO_EXTR: A1 + ) + ) ; + + PLAS_CUM = POST_RELEVE_T ( + ACTION: ( + INTITULE : 'P' + CHEMIN : ECHAN + RESULTAT : EVOL + NOM_CHAM : 'VARI_NOEU_ELGA' + NOM_CMP : 'V1' + INST : TPS + OPERATION: 'EXTRACTION' + ) + ) ; + + + SIGMA = POST_RELEVE_T ( + ACTION: ( + INTITULE : 'SIYZ' + CHEMIN : ECHAN + RESULTAT : EVOL + NOM_CHAM : 'SIEF_NOEU_ELGA' + NOM_CMP : 'SIYZ' + INST : TPS + OPERATION: 'EXTRACTION' + ) + ) ; + + + + MOM_A = POST_RELEVE_T ( + ACTION: ( + INTITULE : 'MOMENT' + GROUP_NO : HAUT + RESULTAT : EVOL + NOM_CHAM : 'FORC_NODA' + RESULTANTE: ('DX' 'DY' 'DZ') + MOMENT : ('DRX' 'DRY' 'DRZ') + POINT : (0. 0. H) + TOUT_ORDRE: 'OUI' + OPERATION : 'EXTRACTION' + ) + ) ; + + MOM_KA_A = RECU_FONCTION ( + TABLE : MOM_A + PARA_X: 'INST' + PARA_Y: 'MOMENT_Z' + ) ; + +!FORMULE ( REEL:( MA3_KA(REEL: INST) = MOM_KA_A(INST)*360/TD/A**3/SY)); + + + + DEFUFI( + IMPRESSION: ( + NOM: 'POST_PY' + UNITE: 81 + ) + ) ; + + + + IMPR_COURBE( + FORMAT: 'AGRAF' + FICHIER: 'POST_PY' + COURBE: ( + FONCTION : MA3_KA + LIST_PARA: INSTANTS + ) + ) ; + + + FIN(); + + +IMPR_TABLE(TABLE:SIGMA); +IMPR_TABLE(TABLE:PLAS_CUM); + + FIN(); \ No newline at end of file diff --git a/OldCodes/Aster/__init__.py b/OldCodes/Aster/__init__.py new file mode 100644 index 00000000..8ed65e16 --- /dev/null +++ b/OldCodes/Aster/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# diff --git a/OldCodes/Aster/a.dat b/OldCodes/Aster/a.dat new file mode 100644 index 00000000..1122ebca --- /dev/null +++ b/OldCodes/Aster/a.dat @@ -0,0 +1,3 @@ +1,2 +3,7 +8,9 diff --git a/OldCodes/Aster/alphasdist.py b/OldCodes/Aster/alphasdist.py new file mode 100644 index 00000000..f3e6cab5 --- /dev/null +++ b/OldCodes/Aster/alphasdist.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions de versions alpha d'EFICAS en fonction + du tag CVS courant (Vx_yaz). Une version alpha est une version dont toutes les fonctionnalités + ne sont pas implémentées. On utilise pour ces versions, les packages Noyau Validation Cata et Macro + locaux. + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + - un zip pour Windows contenant mx TextTools préinstallé + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'Eficas par la commande : + cvs export -r TAG -d Eficas_export EficasV1_2 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_3a1) + 4- Aller dans le répertoire Eficas_export + 4- Executer le script alphasdist.py + python alphasdist.py + Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions + et de les copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +version="$Name: V7_main $"[7:-2] or 'Test1_4' +# ==========Path du noyau local ==================== +path_Noyau=".." +# ============================================================ +nom_distrib="Eficas"+version+"AsterSTA8" +path_distrib=os.path.join("dist",nom_distrib) +path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) +# Packages globaux (pour toutes les versions sauf surcharge) + copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster','Cata'),['*.py', ]) + copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) + copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) +# version 5 +# On enleve la V5 a la demande d AMA +# copyfiles('Cata/cataSTA5',os.path.join(path_distrib,'Aster','Cata','cataSTA5'),['*.py']) +#version 6 + copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) + copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) +#version 7.3 +# copyfiles('Cata/cataSTA73',os.path.join(path_distrib,'Aster','Cata','cataSTA73'),['*.py']) +# copyfiles('Cata/cataSTA73/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA73','Macro'),['*.py']) +#version 7.6 + copyfiles('Cata/cataSTA76',os.path.join(path_distrib,'Aster','Cata','cataSTA76'),['*.py']) + copyfiles('Cata/cataSTA76/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA76','Macro'),['*.py']) +#version 8 + copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) + copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8,'Macro'),['*.py']) + + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', + 'editeur.ini', + 'properties.py', + 'eficas_aster.py', + 'style.py', + ]) + copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) + + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) + copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + + copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) + + copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) + copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) + copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) + copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) + copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + try: + shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) + except: + print "Impossible de recuperer mxTextTools : ",dir_download + sys.exit(1) + + zipfile= makezipfile('dist',nom_distrib,nom_distrib) + try: + shutil.copy(zipfile,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + if os.path.isfile(file):shutil.copy(file,dir_cible) + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + +def makezipfile(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + os.chdir(dir_trav) + os.system("zip -rq "+nom_tar+".zip "+dir_cible) + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".zip") + +main() + diff --git a/OldCodes/Aster/configuration_ASTER.py b/OldCodes/Aster/configuration_ASTER.py new file mode 100644 index 00000000..4851738f --- /dev/null +++ b/OldCodes/Aster/configuration_ASTER.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert pour charger les parametres de configuration d'EFICAS +""" +# Modules Python +import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['exec_acrobat', 'catalogues','savedir','lang'] + self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,repIni) + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/Aster/configuration_Aster.py b/OldCodes/Aster/configuration_Aster.py new file mode 120000 index 00000000..ae867366 --- /dev/null +++ b/OldCodes/Aster/configuration_Aster.py @@ -0,0 +1 @@ +configuration_ASTER.py \ No newline at end of file diff --git a/OldCodes/Aster/eficasManager.py b/OldCodes/Aster/eficasManager.py new file mode 100644 index 00000000..922e5fed --- /dev/null +++ b/OldCodes/Aster/eficasManager.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- +# +# This module helps you to dynamically add a catalog in the list of +# Aster catalogs and then start Eficas with this catalog +# +# WARN: this requires that and /Aster are +# both in the PYTHONPATH +# +# WARN: This python module is a prototype. For industrial usage, it +# should be integrated in a package outside from the Aster specific +# package ==> define a generic prefs +# +# (gboulant - 23/03/2012) + +import sys +sys.path.append("..") + +# =================================================================== +# This part is to manage the catalog that defines the data structure +import prefs_ASTER +def addCatalog(catalogName, catalogPath): + """ + Function to add a catalog caraterized by a name (for the -c option + of the command line) and a path (the location of the python module + that corresponds to the catalog). + """ + prefs_ASTER.addCatalog(catalogName, catalogPath) + +import sys +import prefs +from InterfaceQT4 import eficas_go +def start(catalogName=None): + """ + This simply start Eficas as usual, and passing the catalog name as + an argument if not already present on the command line. + """ + if catalogName is not None and not "-c" in sys.argv: + # The catalogName can be consider as the -c option + sys.argv.append("-c") + sys.argv.append(catalogName) + eficas_go.lance_eficas(code=prefs.code) + +# =================================================================== +# This part is to manage the data saved from Eficas to comm file. +# The text contained in a comm file defines a JdC ("Jeu de Commandes"). + +def loadJdc(filename): + """ + This function loads the text from the specified JdC file. A JdC + file is the persistence file of Eficas (*.comm). + """ + fcomm=open(filename,'r') + jdc = "" + for line in fcomm.readlines(): + jdc+="%s"%line + + # Warning, we have to make sure that the jdc comes as a simple + # string without any extra spaces/newlines + return jdc.strip() + +def getJdcParameters(jdc,macro): + """ + This function converts the data from the specified macro of the + specified jdc text to a python dictionnary whose keys are the + names of the data of the macro. + """ + context = {} + source = "def args_to_dict(**kwargs): return kwargs \n" + source+= "%s = _F = args_to_dict \n"%macro + source+= "parameters="+jdc+" \n" + source+= "context['parameters'] = parameters \n" + #print source + code = compile(source, 'file.py', 'exec') + eval(code) + parameters = context['parameters'] + return parameters + +# +# =========================================================== +# Unit tests +# =========================================================== +# +def TEST_start(): + addCatalog(catalogName="demo", catalogPath="mycata.py") + #start() + start("demo") + +def TEST_getJdcParameters_fromString(): + jdc="S_EP_INTERNE(dir_name='/tmp', \n \ + TYPE_SEP='TUBE_SOUS_EPAISSEUR', \n \ + MAIL_TUBE=_F(UNITE_LONGUEUR='MM', \n \ + R_EXT=130., \n \ + EP_NOMINALE=22.0, \n \ + NB_SEG_AMORTISSEMENT=11, \n \ + NB_SEG_TRANSITION=4, \n \ + NB_SEG_GENERATRICES=5, \n \ + DIST_PTS_GEN_MIN=100.0, \n \ + NB_SEG_GEN_MIN=3, \n \ + NB_SEG_ARC=5, \n \ + NB_SEG_EP=3,),);" + + parameters=getJdcParameters(jdc,"S_EP_INTERNE") + print "parameters = ",parameters + print parameters['MAIL_TUBE']['R_EXT'] + + +def TEST_getJdcParameters_fromFile(): + jdc = loadJdc('data.comm') + parameters=getJdcParameters(jdc,"EPREUVE_ENCEINTE") + print parameters + + +if __name__ == "__main__": + TEST_start() + TEST_getJdcParameters_fromString() + TEST_getJdcParameters_fromFile() diff --git a/OldCodes/Aster/eficas_aster.py b/OldCodes/Aster/eficas_aster.py new file mode 100755 index 00000000..bc668a5b --- /dev/null +++ b/OldCodes/Aster/eficas_aster.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" + Ce module sert à lancer EFICAS configuré pour Code_Aster +""" +# Modules Python + +# Modules Eficas +import prefs +name='prefs_'+prefs.code +__import__(name) + +from InterfaceTK import eficas_go + +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Aster/lance_test.sh b/OldCodes/Aster/lance_test.sh new file mode 100755 index 00000000..743c70be --- /dev/null +++ b/OldCodes/Aster/lance_test.sh @@ -0,0 +1,43 @@ +#unalias do +#set -x +version=NEW9 +passe=1 +rm -rf ./Batch/${version}/ok_${passe} +rm -rf ./Batch/${version}/bad_${passe} +rm -rf ./Batch/${version}/badfile_${passe} +rm -rf ./Batch/${version}/nt_${passe} +for file in `cat ./Batch/${version}/aTester` +do + echo $file + grep "VISU_EFICAS='NON'" $file > /dev/null 2>/dev/null + rc=$? + if [ "$rc" != "0" ] + then + grep INCLUDE $file | grep -v "#" | grep -v INCLUDE_MATERIAU > /dev/null 2>/dev/null + rc=$? + if [ "$rc" != "0" ] + then + cr=`./test_eficas.py $file` + if [ "${cr}" == "" ] + then + echo $file >> ./Batch/${version}/bad_${passe} + else + nomfeuille=`basename $file` + boncr="DEBUT CR validation : "${nomfeuille}" FIN CR validation :"${nomfeuille} + cr=`echo $cr` + if [ "${cr}" != "$boncr" ] + then + echo $file >> ./Batch/${version}/bad_${passe} + echo $cr >>./Batch/${version}/bad_${passe} + echo $file >>./Batch/${version}/badfile_${passe} + else + echo $file >> ./Batch/${version}/ok_${passe} + fi + fi + else + echo $file >> ./Batch/${version}/nt_${passe} + fi + else + echo $file >> ./Batch/${version}/nt_${passe} + fi +done diff --git a/OldCodes/Aster/prefs.py b/OldCodes/Aster/prefs.py new file mode 100644 index 00000000..b4663f8f --- /dev/null +++ b/OldCodes/Aster/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="ASTER" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/Aster/prefs.py.win b/OldCodes/Aster/prefs.py.win new file mode 100644 index 00000000..c70c90fe --- /dev/null +++ b/OldCodes/Aster/prefs.py.win @@ -0,0 +1,101 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys + +# repIni sert à localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) + +# INSTALLDIR sert à localiser l'installation d'Eficas +# Obligatoire +INSTALLDIR=os.path.join(repIni,'..') + +# CODE_PATH sert à localiser Noyau et Validation éventuellement +# non contenus dans la distribution EFICAS +# Par défaut on utilise les modules de INSTALLDIR +# Peut valoir None (defaut) +CODE_PATH = None +#CODE_PATH = os.path.join(repIni,'../../Superv') + +# la variable code donne le nom du code a selectionner +code="ASTER" + +# ICONDIR sert à localiser le répertoire contenant les icones +# Par défaut on utilise le répertoire icons dans Editeur +ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') + +# lang indique la langue utilisée pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' + +labels= ('Fichier','Edition','Jeu de commandes', +# 'Catalogue','Browsers', + 'Options', + 'Aide', + ) + +appli_composants=['readercata','bureau', +# 'browser', + 'options', + ] + +menu_defs={ 'bureau': [ + ('Fichier',[ + ('Nouveau','newJDC','','Ctrl+N'), + ('Nouvel INCLUDE','newJDC_include'), + ('Ouvrir','openJDC','','Ctrl+O'), + ('Enregistrer','saveJDC','','Ctrl+S'), + ('Enregistrer sous','saveasJDC','','Ctrl+E'), + None, + ('Fermer','closeJDC','','Ctrl+W'), + ('Quitter','exitEFICAS','','Ctrl+Q'), + ] + ), + ('Edition',[ + ('Copier','copy','','Ctrl+C'), + ('Couper','cut','','Ctrl+X'), + ('Coller','paste','','Ctrl+V'), + ] + ), + ('Jeu de commandes',[ + ('Rapport de validation','visuCRJDC','','Ctrl+R'), + ('Fichier source','visu_txt_brut_JDC','','Ctrl+B'), + #('Paramètres Eficas','affichage_fichier_ini'), + ] + ), + ('Aide',[ + ('Aide EFICAS','aideEFICAS','','Ctrl+A'), + ] + ), + ] + } + +userprefs=os.path.expanduser("~/Eficas_install/prefs.py") +if os.path.isfile(userprefs): + try: + execfile(userprefs) + except: + pass + +sys.path[:0]=[INSTALLDIR] diff --git a/OldCodes/Aster/prefs_ASTER.py b/OldCodes/Aster/prefs_ASTER.py new file mode 100644 index 00000000..f9aa732c --- /dev/null +++ b/OldCodes/Aster/prefs_ASTER.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +import os + +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +rep_cata = os.path.join(repIni,'Cata') +mode_nouv_commande='alpha' + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' + +# Utilisateur/Developpeur +isdeveloppeur = "NON" + +rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau') +rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau') +rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau') + +#path_doc="/local/noyret/Docs" +rep_doc_STA88="/local/noyret/Docs" +rep_doc_STA103="/local/noyret/Docs" +rep_doc_STA11="/local/noyret/Docs/cataSTA11c_clefs_docu" + +# Choix des catalogues +catalogues=( +#('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'), +#('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'), +#('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'), +#('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'), +('ASTER','STA12',os.path.join(rep_cata,'cataSTA12'),'python','defaut'), +) +exec_acrobat = '/usr/bin/xgd-open' + + +def addCatalog(catalogName, catalogPath): + """ + This function helps you to add a new catalog dynamically + """ + global catalogues + item=('ASTER',catalogName,catalogPath,'python') + catalogues+=(item,) + diff --git a/OldCodes/Aster/prefs_Aster.py b/OldCodes/Aster/prefs_Aster.py new file mode 120000 index 00000000..11643fec --- /dev/null +++ b/OldCodes/Aster/prefs_Aster.py @@ -0,0 +1 @@ +prefs_ASTER.py \ No newline at end of file diff --git a/OldCodes/Aster/properties.py b/OldCodes/Aster/properties.py new file mode 100644 index 00000000..3e8be170 --- /dev/null +++ b/OldCodes/Aster/properties.py @@ -0,0 +1,21 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +version = "10.1.27" +date = "02/06/2010" +exploit = False diff --git a/OldCodes/Aster/qtEficas_aster.py b/OldCodes/Aster/qtEficas_aster.py new file mode 100755 index 00000000..f49b9bcb --- /dev/null +++ b/OldCodes/Aster/qtEficas_aster.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Aster/qtGroup.py b/OldCodes/Aster/qtGroup.py new file mode 100755 index 00000000..308eda6b --- /dev/null +++ b/OldCodes/Aster/qtGroup.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert à lancer EFICAS configuré pour Code_Aster +""" +# Modules Python +import sys,os + +# Modules Eficas +import prefs +name='prefs_'+prefs.code +__import__(name) + + +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4 import eficas_go + +eficas_go.lance_eficas_ssIhm_cherche_Groupes(code=prefs.code,version='STA10.3') diff --git a/OldCodes/Aster/reecrit_comm.py b/OldCodes/Aster/reecrit_comm.py new file mode 100755 index 00000000..eac5d59c --- /dev/null +++ b/OldCodes/Aster/reecrit_comm.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +import sys,os + +# Modules Eficas +import prefs +if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack + + +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4 import eficas_go + +if len(sys.argv) > 1 : + # on veut ouvrir un fichier directement au lancement d'Eficas + eficas_go.lance_eficas_ssIhm_reecrit(code='ASTER',fichier = sys.argv[1],version='STA11') diff --git a/OldCodes/Aster/sdist.py b/OldCodes/Aster/sdist.py new file mode 100644 index 00000000..a626f377 --- /dev/null +++ b/OldCodes/Aster/sdist.py @@ -0,0 +1,180 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions d'EFICAS en fonction + du tag CVS courant + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + - un zip pour Windows contenant mx TextTools préinstallé + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'EficasV1 par la commande : + cvs export -r TAG -d Eficas_export EficasV1 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) + 4- Copier le répertoire fourni par Aster (ACCAS6.2.0) au meme niveau que Eficas_export + 5- Aller dans le répertoire Eficas_export + 6- Executer le script sdist.py + python sdist.py + Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions + et de les copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +version="$Name: V7_main $"[7:-2] or 'Test1_4' +# ==========Path du noyau fourni par Aster==================== +path_Noyau="../../AccasAster" +# ============================================================ +nom_distrib="Eficas"+version +path_distrib=os.path.join("dist",nom_distrib) +path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) + copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py']) + copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) + copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) + # AIDE + copyfiles('../Aide',os.path.join(path_distrib,'Aide'),['*_ASTER.adp']) + copyfiles('../Aide/fichiers_ASTER',os.path.join(path_distrib,'Aide','fichiers_ASTER'),['*']) + #pour Aster TK + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) + copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) + # Code_Aster + copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', + 'prefs_ASTER.py', + 'editeur.ini', + 'editeur_salome.ini', + 'eficas_aster.py', + 'qtEficas_aster.py', + 'configuration.py', + 'configuration_ASTER.py', + 'test_eficas.py', + 'style.py', + '__init__.py' + ]) + + # Les Catalogues, Macros, Materiaux et SD + # copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) + # copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) + + #copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) + #copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) + + #copyfiles('Cata/cataSTA7',os.path.join(path_distrib,'Aster','Cata','cataSTA7'),['*.py']) + #copyfiles('Cata/cataSTA7/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA7','Macro'),['*.py']) + #copyfiles('Cata/cataSTA7/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA7/materiau'),['README.py']) + + copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) + copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8/Macro'),['*.py']) + copyfiles('Cata/cataSTA8/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA8/materiau'),['README.py']) + + copyfiles('Cata/cataSTA9',os.path.join(path_distrib,'Aster','Cata','cataSTA9'),['*.py']) + copyfiles('Cata/cataSTA9/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA9/Macro'),['*.py']) + copyfiles('Cata/cataSTA9/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA9/materiau'),['README.py']) + copyfiles('Cata/cataSTA9/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA9/SD'),['*.py']) + + copyfiles('Cata/cataSTA10',os.path.join(path_distrib,'Aster','Cata','cataSTA10'),['*.py']) + copyfiles('Cata/cataSTA10/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA10/Macro'),['*.py']) + #copyfiles('Cata/cataSTA10/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA10/materiau'),['README.py']) + copyfiles('Cata/cataSTA10/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA10/SD'),['*.py']) + + copyfiles('Cata',os.path.join(path_distrib,'Aster','Cata'),['*9c_clefs_docu']) + copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) + + # ______________________ + + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif','*.png']) + copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + copyfiles('../Editeur/Patrons/ASTER',os.path.join(path_distrib,'Editeur','Patrons','ASTER'),['*.com*']) + + copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) + copyfiles(os.path.join(path_Noyau,'Accas'),os.path.join(path_distrib,'Aster'),['properties.py']) + copyfiles(os.path.join(path_Noyau,'Cata'),os.path.join(path_distrib,'Aster','Cata'),['__init__.py',]) + copyfiles(os.path.join(path_Noyau,'Macro'),os.path.join(path_distrib,'Aster','Cata','cataSTA9','Macro'),['.py']) + #os.system("mv "+path_distrib+"/Aster/Cata/cata_STA9.py "+path_distrib+"/Aster/Cata/cataSTA9/cata.py") + + copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) + copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) + copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) + copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) + copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) + + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + shutil.copy('prefs.py.win',os.path.join(path_distrib,'Aster','prefs.py')) + shutil.copy('editeur.ini.win',os.path.join(path_distrib,'Aster','editeur.ini')) + + try: + shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) + except: + print "Impossible de recuperer mxTextTools : ",dir_download + sys.exit(1) + + zipfile= makezipfile('dist',nom_distrib,nom_distrib) + try: + shutil.copy(zipfile,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + shutil.copy(file,dir_cible) + + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + +def makezipfile(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + os.chdir(dir_trav) + os.system("zip -rq "+nom_tar+".zip "+dir_cible) + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".zip") + +main() + diff --git a/OldCodes/Aster/style.py b/OldCodes/Aster/style.py new file mode 100644 index 00000000..7ee50545 --- /dev/null +++ b/OldCodes/Aster/style.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" +Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les +informations sur le style voulu dans son repertoire Eficas_install. + +La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le +fichier style.py d'Eficas_install. Exemple:: + + style.background='yellow' + +pour modifier la couleur du background. + +Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. + +Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs +de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: + + class STYLE(STYLE): + background='yellow' + +Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: + + style=STYLE() + +Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: + + background='gray90' + foreground='black' + entry_background='white' + list_background='white' + list_select_background='#00008b' + list_select_foreground='grey' + tooltip_background="yellow" + + standard = ("Helvetica",12) + standard_italique = ("Helvetica",12,'italic') + standard_gras = ("Helvetica",12,'bold') + standard_gras_souligne = ("Helvetica",12,'bold','underline') + + canvas = ('Helvetica',10) + canvas_italique = ('Helvetica',10,'italic') + canvas_gras = ("Helvetica",10,'bold') + canvas_gras_italique = ("Helvetica",12,'bold','italic') + + standard12 = ("Helvetica",14) + standard12_gras = ("Helvetica",14,'bold') + standard12_gras_italique = ( "Helvetica",14,'bold','italic') + + +Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. +Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install +sont prises en compte dans cet ordre. +""" + +p1=10 +p2=14 +f1="Helvetica" + +style.background='gray90' +style.foreground='black' +style.standard = (f1,p1) +style.standard_italique = (f1,p1,'italic') +style.standard_gras = (f1,p1,'bold') +style.canvas_italique = (f1,p1,'italic') +style.canvas_gras = (f1,p1,'bold') +style.statusfont = (f1,p2) diff --git a/OldCodes/Aster/test_eficas.py b/OldCodes/Aster/test_eficas.py new file mode 100755 index 00000000..5ccac45c --- /dev/null +++ b/OldCodes/Aster/test_eficas.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +import sys,os + +# Modules Eficas +import prefs +if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack + + +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4 import eficas_go + +if len(sys.argv) > 1 : + # on veut ouvrir un fichier directement au lancement d'Eficas + eficas_go.lance_eficas_ssIhm_cherche_cr(code='ASTER',fichier = sys.argv[1],version='STA10.3') diff --git a/OldCodes/CarmelCND/CMakeLists.txt b/OldCodes/CarmelCND/CMakeLists.txt new file mode 100644 index 00000000..b708105c --- /dev/null +++ b/OldCodes/CarmelCND/CMakeLists.txt @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + + +install ( FILES + qtEficas_CarmelCND.py prefs_CARMELCND.py prefs.py configuration_CARMELCND.py + acquiertGroupes.py CarmelCND_Cata.py PrepareRunCarmel.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/CarmelCND + ) + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/CarmelCND/CarmelCND_Cata.py b/OldCodes/CarmelCND/CarmelCND_Cata.py new file mode 100644 index 00000000..a8413ce9 --- /dev/null +++ b/OldCodes/CarmelCND/CarmelCND_Cata.py @@ -0,0 +1,75 @@ +from Accas import * + +class source(ASSD): + pass + +class conducteur(ASSD): + pass + +class nocond(ASSD): + pass + +class vcut(ASSD): + pass + +class zs(ASSD): + pass + + +import types +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 + + __repr__=info + __str__=info + +JdC = JDC_CATA (code = 'monCode', + execmodul = None, + ) + +# ====================================================================== + + +SOURCE=OPER(nom='SOURCE',op=None,sd_prod=source,UIinfo = { "groupes" : ( "CACHE", ) }, + EnveloppeConnexeInducteur=SIMP(statut='o',typ='TXM',defaut="default"), + VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), + #VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),homo="constant",validators=VerifTypeTuple(('R','R','R'))), + Centre=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), + SectionBobine=SIMP(statut='o',typ='R',fr='en m2',ang='(m2)'), + Amplitude=SIMP(statut='o',typ='R',fr='en A',ang='(A)'), + NbdeTours=SIMP(statut='o',typ='I',val_min=1), +) + +CONDUCTEUR=OPER(nom='CONDUCTEUR',op=None,sd_prod=conducteur,UIinfo = { "groupes" : ( "CACHE", ) }, + Conductivite=SIMP(statut='o',typ='R',fr='en S/m',ang='(S/m)'), + PermeabiliteRelative=SIMP(statut='o',typ='R',), +) +NOCOND=OPER(nom='NOCOND',op=None,sd_prod=nocond,UIinfo = { "groupes" : ( "CACHE", ) }, + PermeabiliteRelative=SIMP(statut='o',typ='R',), +) +# +VCUT=OPER(nom='VCUT',op=None,sd_prod=vcut,UIinfo = { "groupes" : ( "CACHE", ) }, + Orientation=SIMP(statut='o',typ='TXM',into=("Oppose","Meme sens"),defaut="Oppose"), +) +ZS=OPER(nom='ZS',op=None,sd_prod=zs,UIinfo = { "groupes" : ( "CACHE", ) }, + Conductivite=SIMP(statut='o',typ='R',), + PermeabiliteRelative=SIMP(statut='o',typ='R',), +) +PARAMETRES=PROC(nom='PARAMETRES',op=None, UIinfo = { "groupes" : ( "CACHE", ) }, + RepCarmel=SIMP(typ='Repertoire',fr= "Repertoire Carmel",ang= "Carmel Directory",statut= "o",defaut="/projets/projets.002/carmel3d.001/frequentiel/V_240/Compil"), + TypedeFormule=SIMP(statut='o',typ='TXM',into=("TOMEGA","APHI")), + Frequence=SIMP(statut='o',typ='I',fr="en Hz",ang="(Hz)"), + Nb_Max_Iterations=SIMP(statut='o',typ='I',val_min=1,val_max=50000,defaut=10000), + Erreur_Max=SIMP(statut='o',typ='R',defaut=1E-9), +) diff --git a/OldCodes/CarmelCND/PourTraductionCarmel.py b/OldCodes/CarmelCND/PourTraductionCarmel.py new file mode 100644 index 00000000..c0056847 --- /dev/null +++ b/OldCodes/CarmelCND/PourTraductionCarmel.py @@ -0,0 +1,21 @@ +print tr("SOURCE") +print tr("EnveloppeConnexeInducteur") +print tr("EnveloppeConnexe2") +print tr("VecteurDirecteur") +print tr("Centre") +print tr("SectionBobine") +print tr("Amplitude") +print tr("NbdeTours") +print tr("CONDUCTEUR") +print tr("Conductivite") +print tr("PermeabiliteRelative") +print tr("NOCOND") +print tr("VCUT") +print tr("Orientation") +print tr("ZS") +print tr("PARAMETRES") +print tr("RepCarmel") +print tr("TypedeFormule") +print tr("Frequence") +print tr("Nb_Max_Iterations") +print tr("Erreur_Max") diff --git a/OldCodes/CarmelCND/PrepareRunCarmel.py b/OldCodes/CarmelCND/PrepareRunCarmel.py new file mode 100644 index 00000000..58af31d7 --- /dev/null +++ b/OldCodes/CarmelCND/PrepareRunCarmel.py @@ -0,0 +1,24 @@ +def prepareRunCarmel(repertoireExe,repertoireMed,nom): + texte= 'echo "Debut execution gendof" \n' + texte+= 'cd ' + repertoireMed + ' \n' + texte+= repertoireExe+"/gendof.exe -scale 0.001 < " + nom + ".ingendof\n" + texte+= 'echo "Debut execution fcarmel" \n' + #texte+= repertoireExe+"/gendof.exe -scale 0.001 \n" + #texte+= 'if [ ! -f "'+nom+'.car" ]\n' + #texte+= 'then\n exit(1)\nfi \n\n' + texte+= repertoireExe+"/fcarmel.exe < " + nom + ".infcarmel\n" + #texte+= repertoireExe+"/fcarmel.exe \n" + #texte+= 'if [ ! -f "'+nom+'.xmat" ]\n' + #texte+= 'then\n exit(1)\nfi \n\n' + texte+= 'echo "Debut execution postprocess" \n' + texte+= repertoireExe+"/postprocess.exe < " + nom + ".inpostprocess\n" + texte+= 'read a' + #texte+= repertoireExe+"/postprocess.exe" + + return texte + +if __name__ == "__main__": + repertoire="/home/A96028/ExecCarmel/Compil" + nom="lance/Domaine" + print prepareRunCarmel(repertoire,nom) + diff --git a/OldCodes/CarmelCND/acquiertGroupes.py b/OldCodes/CarmelCND/acquiertGroupes.py new file mode 100755 index 00000000..35eb0918 --- /dev/null +++ b/OldCodes/CarmelCND/acquiertGroupes.py @@ -0,0 +1,123 @@ +#! /usr/bin/env python +# -*- coding:utf-8 -*- +# /* This file is part of MED. +# * +# * COPYRIGHT (C) 1999 - 2013 EDF R&D, CEA/DEN +# * MED is free software: you can redistribute it and/or modify +# * it under the terms of the GNU Lesser General Public License as published by +# * the Free Software Foundation, either version 3 of the License, or +# * (at your option) any later version. +# * +# * MED is distributed in the hope that it will be useful, +# * but WITHOUT ANY WARRANTY; without even the implied warranty of +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# * GNU Lesser General Public License for more details. +# * +# * You should have received a copy of the GNU Lesser General Public License +# * along with MED. If not, see . +# */ + + +import sys +sys.path.append('/home/A96028/Salome/V7_main/tools/install/Medfichier-307-hdf51810/lib/python2.7/site-packages') + +from med.medfile import * +from med.medmesh import * +from med.medfamily import * +from med.medfilter import * + + +def getGroupes(filename,debug=0) : + listeGroupes=[] + maa="" + + dicoNumFam={} + + try : + fid = MEDfileOpen(filename,MED_ACC_RDONLY) + except : + return ("Pb a la lecture du fichier", listeGroupes,maa) + + + # /* Lecture des infos concernant le premier maillage */ + maa, sdim, mdim, type, desc, dtunit, sort, nstep, rep, nomcoo,unicoo = MEDmeshInfo(fid, 1) + if debug : + print "Maillage de nom : |%s| de dimension : %ld , et de type %s\n"%(maa,mdim,type) + print "Maillage de nom : |%s| , de dimension : %ld , et de type %s\n"%(maa,mdim,type) + print "\t -Dimension de l'espace : %ld\n"%(sdim) + print "\t -Description du maillage : %s\n"%(desc) + print "\t -Noms des axes : |%s|\n"%(nomcoo) + print "\t -Unités des axes : |%s|\n"%(unicoo) + print "\t -Type de repère : %s\n"%(rep) + print "\t -Nombre d'étape de calcul : %ld\n"%(nstep) + print "\t -Unité des dates : |%s|\n"%(dtunit) + + # /* Lecture du nombre de familles */ + nfam = MEDnFamily(fid,maa) + if debug : + print "Nombre de familles : %d \n"%(nfam) + + # /* Lecture de chaque famille */ + for i in xrange(0,nfam): + + # /* Lecture du nombre de groupe */ + ngro = MEDnFamilyGroup(fid,maa,i+1) + if debug : + print "Famille %d a %d groupes \n"%(i+1,ngro) + + gro = MEDCHAR(MED_LNAME_SIZE*ngro+1) + + nomfam,numfam,gro = MEDfamilyInfo(fid,maa,i+1,gro) + if debug : + print "Famille de nom %s et de numero %d : \n"%(nomfam,numfam) + print "Attributs : \n" + + for j in xrange(0,ngro): + # print "gro = %s\n"%(gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE]) + groupSplit=gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE] + groupeName="".join(groupSplit).split("\x00")[0] + groupeName=groupeName.replace(' ','') + if groupeName[0:7]=="CENTRE_" : dicoNumFam[groupeName]=numfam + if groupeName not in listeGroupes : listeGroupes.append(groupeName) + + + #print dicoNumFam + #print listeGroupes + + # /* Lecture des Numeros de Familles */ + + nnoe, chgt, trsf = MEDmeshnEntity(fid,maa,MED_NO_DT,MED_NO_IT, MED_NODE,MED_NONE,MED_COORDINATE,MED_NO_CMODE) + nufano = MEDINT(nnoe) + MEDmeshEntityFamilyNumberRd(fid,maa, MED_NO_DT, MED_NO_IT, MED_NODE,MED_NONE,nufano) + dicoNumNode={} + for groupe in dicoNumFam.keys(): + famille=dicoNumFam[groupe] + i=0 + while i < nufano.size(): + if nufano[i]==famille : + dicoNumNode[groupe]=i+1 + break + i=i+1 + + + #print dicoNumNode + dicoCoord={} + for groupe in dicoNumNode.keys() : + flt=MEDINT(1) + flt[0]=dicoNumNode[groupe] + coo1=MEDFLOAT(3) + filter=med_filter() + err=MEDfilterEntityCr( fid, nnoe, 1, sdim, MED_ALL_CONSTITUENT, MED_FULL_INTERLACE, MED_COMPACT_PFLMODE, MED_NO_PROFILE,1 , flt, filter) + MEDmeshNodeCoordinateAdvancedRd(fid, maa, MED_NO_DT, MED_NO_IT, filter, coo1) + MEDfilterClose(filter) + dicoCoord[groupe]=coo1 +# dicoCoord['CENTRE_saxBas']=(0,0,28.5e-3) +# dicoCoord['CENTRE_saxHaut']=(0,0,31.5e-3) + + MEDfileClose(fid) + return ("",listeGroupes,maa,dicoCoord) + +if __name__ == "__main__": + filename="/home/A96028/Carmel/Pascale/Domaine_Bidouille.med" + #filename="/home/A96028/Carmel/nouveauMed/Domaine.med" + print getGroupes(filename) diff --git a/OldCodes/CarmelCND/configuration_CARMELCND.py b/OldCodes/CarmelCND/configuration_CARMELCND.py new file mode 100644 index 00000000..4ab64b85 --- /dev/null +++ b/OldCodes/CarmelCND/configuration_CARMELCND.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +from InterfaceQT4 import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['catalogues','lang'] + self.labels_eficas=['lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/CarmelCND/prefs.py b/OldCodes/CarmelCND/prefs.py new file mode 100644 index 00000000..cfd8503b --- /dev/null +++ b/OldCodes/CarmelCND/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="CARMELCND" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/CarmelCND/prefs_CARMELCND.py b/OldCodes/CarmelCND/prefs_CARMELCND.py new file mode 100644 index 00000000..555d37b3 --- /dev/null +++ b/OldCodes/CarmelCND/prefs_CARMELCND.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] +sys.path[:0]=[repIni] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni +fileName="docMonCode.png" +image=1 + +# +catalogues=( + ('monCode','default',os.path.join(repIni,'CarmelCND_Cata.py'),'CARMELCND','python'), +) diff --git a/OldCodes/CarmelCND/qtEficas_CarmelCND.py b/OldCodes/CarmelCND/qtEficas_CarmelCND.py new file mode 100755 index 00000000..f49b9bcb --- /dev/null +++ b/OldCodes/CarmelCND/qtEficas_CarmelCND.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/CarmelCS/CMakeLists.txt b/OldCodes/CarmelCS/CMakeLists.txt new file mode 100644 index 00000000..70486eae --- /dev/null +++ b/OldCodes/CarmelCS/CMakeLists.txt @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + + +install ( FILES + CarmelCS_cata.py configuration_CARMELCS.py pilotyacsCS.py + prefs_CARMELCS.py prefs.py qtEficas_CarmelCS.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/CarmelCND + ) + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/CarmelCS/CarmelCS_cata.py b/OldCodes/CarmelCS/CarmelCS_cata.py new file mode 100644 index 00000000..7fe65f74 --- /dev/null +++ b/OldCodes/CarmelCS/CarmelCS_cata.py @@ -0,0 +1,25 @@ +from Accas import * + + +JdC = JDC_CATA (code = 'CarmelCS', + execmodul = None, + regles=(AU_MOINS_UN('PARAM_CS',),) + ) + +# ====================================================================== +# ====================================================================== + + +PARAM_CS=PROC(nom='PARAM_CS',op=None, + Formulation=SIMP(statut='o',typ='TXM',defaut="tomega",into=('tomega','aphi'),), + Per=SIMP(statut='o',typ='I',min=1), + Ind=SIMP(statut='o',typ='I',min=0), + FinalTime=SIMP(statut='o',typ='I',min=1), + SyrthesProcNumber=SIMP(statut='o',typ='I',defaut=1,min=1), + HomogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_homogene.phys",), + HeterogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_heterogene.phys",), + Carmel3D_StudyDirectory=SIMP(typ='Repertoire', statut='o'), + Syrthes_StudyDirectory=SIMP(typ='Repertoire', statut='o'), + XMLYacsFile=SIMP(typ=('Fichier','Files (*.xml)'),fr= 'Schema yacs du couplage a executer',ang= 'Yacs coupling schema for running', statut='o'), +#TODO examiner comment generer un schema yacs de maniere automatique +) diff --git a/OldCodes/CarmelCS/configuration_CARMELCS.py b/OldCodes/CarmelCS/configuration_CARMELCS.py new file mode 100644 index 00000000..4ab64b85 --- /dev/null +++ b/OldCodes/CarmelCS/configuration_CARMELCS.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +from InterfaceQT4 import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['catalogues','lang'] + self.labels_eficas=['lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/CarmelCS/pilotyacsCS.py b/OldCodes/CarmelCS/pilotyacsCS.py new file mode 100644 index 00000000..374b2d85 --- /dev/null +++ b/OldCodes/CarmelCS/pilotyacsCS.py @@ -0,0 +1,40 @@ +def pilotyacsCS(runxmlfile) : + import sys + import pilot + import SALOMERuntime + import loader + SALOMERuntime.RuntimeSALOME_setRuntime() + + xmlLoader = loader.YACSLoader() + + try: + p = xmlLoader.load(runxmlfile) + except IOError,ex: + print "IO exception:",ex + sys.exit(1) + + logger=p.getLogger("parser") + if not logger.isEmpty(): + print "The imported file has errors :" + print logger.getStr() + sys.exit(1) + + if not p.isValid(): + print "The schema is not valid and can not be executed" + print p.getErrorReport() + sys.exit(1) + + info=pilot.LinkInfo(pilot.LinkInfo.ALL_DONT_STOP) + p.checkConsistency(info) + if info.areWarningsOrErrors(): + print "The schema is not consistent and can not be executed" + print info.getGlobalRepr() + sys.exit(1) + executor = pilot.ExecutorSwig() + executor.RunPy(p) + +if __name__ == '__main__' : + + import sys + if sys.argv <> None : + pilotyacsCS(sys.argv[1]) diff --git a/OldCodes/CarmelCS/prefs.py b/OldCodes/CarmelCS/prefs.py new file mode 100644 index 00000000..2692b028 --- /dev/null +++ b/OldCodes/CarmelCS/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="CARMELCS" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/CarmelCS/prefs_CARMELCS.py b/OldCodes/CarmelCS/prefs_CARMELCS.py new file mode 100644 index 00000000..0b0e427b --- /dev/null +++ b/OldCodes/CarmelCS/prefs_CARMELCS.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni +fileName="docMonCode.png" +image=1 + +# +catalogues=( + ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'CARMELCS','python'), +) +#catalogues=( +# ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'dico','python'), +#) diff --git a/OldCodes/CarmelCS/qtEficas_CarmelCS.py b/OldCodes/CarmelCS/qtEficas_CarmelCS.py new file mode 100755 index 00000000..b1254f2c --- /dev/null +++ b/OldCodes/CarmelCS/qtEficas_CarmelCS.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +from PyQt4.QtCore import * +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Study/CMakeLists.txt b/OldCodes/Openturns_Study/CMakeLists.txt new file mode 100644 index 00000000..4c0c9ab9 --- /dev/null +++ b/OldCodes/Openturns_Study/CMakeLists.txt @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +# Question : Que faire des fichiers sdistOTqt.py et style.py + +install ( FILES qtEficas_openturns_study.py + ${CMAKE_CURRENT_SOURCE_DIR}/prefs_OPENTURNS_STUDY.py + prefs.py + configuration_OPENTURNS_STUDY.py + opsOT.py + #catalogues_openturns.ini + OpenTURNS_Cata_Study_V8.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/Openturns_Study + ) + + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py new file mode 100644 index 00000000..2ce3bf41 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py @@ -0,0 +1,1436 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + + + + + + +#================================ +# 1. Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Logistic", + "LogNormal", + "MultiNomial", + "Normal", + "TruncatedNormal", + "Poisson", + "Student", + "Triangular", + "Uniform", + "UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi", + ang = "R parameter", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre A de la loi", + ang = "A parameter", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre B de la loi | B > A", + ang = "B parameter | B > A", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.0, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1.0, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + Sup = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la distribution", + ang = "Upper bound", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC HISTOGRAM + + + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", + ang = "SigmaOverMu parameter | SigmaOverMu > 0", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu log de la loi", + ang = "Mu log parameter", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma log de la loi | SigmaLog > 0", + ang = "Sigma log parameter | SigmaLog > 0", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Alpha de la loi", + ang = "Alpha parameter", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > = 2", + ang = "Nu parameter | V > = 2", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = M < = B", + ang = "Lower bound | A < = M < = B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < = M < = B", + ang = "Mode | A < = M < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = M < = B", + ang = "Upper bound | A < = M < = B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION + + + + + + +#================================ +# 3. Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'R', + defaut = 0.0, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + AnalysedCorrelations = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "Analytical" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Linear', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.0, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "VariationCoefficient", + ), + + IterationNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + into = ( "FORM", "SORM" ), + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "Cobyla", "AbdoRackwitz" ), + fr = "Methode d'optimisation", + ang = "Optimisation method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d iterations", + ang = "Maximum number of iterations", + ), + + regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), + + MaximumAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-6, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successifs", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + RelativeAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-6, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "f", + typ = "R", + max = 1, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORM + + + SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SORM + + + + ), # Fin BLOC AnalyticalSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA + + +#=============================== +# 5. Definition des parametres +#=============================== +VARI = OPER ( nom = "VARI", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) + ) + +AAA=PROC(nom="AAA", + op=None, + fr="Essai", + ang = "Test", + + MALOI = SIMP(statut='o',typ=(loi,),), + MAVARIABLE = SIMP(statut='o',typ=(variable,),), +) ; + + + +import ops +FICXML=MACRO(nom="FICXML", + op=None, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Débranchement vers un fichier de commandes secondaires", + sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1, + FICHIER = SIMP(statut='o',typ='TXM',), +); + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py new file mode 100644 index 00000000..f53ee908 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- +#=============================== +# 5. Definition des parametres +#=============================== +VARI = OPER ( nom = "VARI", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) + ) + +VARI1 = OPER ( nom = "VARI1", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + POUTRE = FACT(statut= 'f',max= '**', + MAILLE = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + GROUP_MA = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + ), + POUTRE2 = FACT(statut= 'f',max= '**', + MAILLE2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + GROUP_MA2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), + ), + FINAL =FACT(statut= 'f',max= '**', + type=SIMP(statut='f',min=1,max= '**', into=("POUTRE","POUTRE2"), + validators=[VerifExiste(2),NoRepeat()], typ="TXM",), + ), + ) + + +FICXML=MACRO(nom="FICXML", + op=None, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Débranchement vers un fichier de commandes secondaires", + sd_prod=loi, + FICHIER = SIMP(statut='o',typ='TXM',), +); + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py new file mode 100644 index 00000000..58128f14 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py @@ -0,0 +1,1486 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class loi ( ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG + + + + +#================================ +# 0. Definition du modele physique +#================================ + +MODEL = PROC ( nom = "MODEL", + op = None, + docu = "", + + Name = SIMP ( statut = "o", + typ = "TXM", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL + + + + + + +#================================ +# 1. Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Logistic", + "LogNormal", + "MultiNomial", + "Normal", + "TruncatedNormal", + "Poisson", + "Student", + "Triangular", + "Uniform", + "UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi", + ang = "R parameter", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre A de la loi", + ang = "A parameter", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre B de la loi | B > A", + ang = "B parameter | B > A", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.0, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1.0, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + Sup = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la distribution", + ang = "Upper bound", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC HISTOGRAM + + + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", + ang = "SigmaOverMu parameter | SigmaOverMu > 0", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu log de la loi", + ang = "Mu log parameter", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma log de la loi | SigmaLog > 0", + ang = "Sigma log parameter | SigmaLog > 0", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Alpha de la loi", + ang = "Alpha parameter", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > = 2", + ang = "Nu parameter | V > = 2", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = M < = B", + ang = "Lower bound | A < = M < = B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < = M < = B", + ang = "Mode | A < = M < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = M < = B", + ang = "Upper bound | A < = M < = B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION + + + + + + +#================================ +# 3. Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'R', + defaut = 0.0, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + AnalysedCorrelations = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "Analytical" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Linear', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.0, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "VariationCoefficient", + ), + + IterationNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + into = ( "FORM", "SORM" ), + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "Cobyla", "AbdoRackwitz" ), + fr = "Methode d'optimisation", + ang = "Optimisation method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d iterations", + ang = "Maximum number of iterations", + ), + + regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), + + MaximumAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-6, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successifs", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + RelativeAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-6, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "f", + typ = "R", + max = 1, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORM + + + SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SORM + + + + ), # Fin BLOC AnalyticalSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py new file mode 100644 index 00000000..80dbe832 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py @@ -0,0 +1,1598 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG + + + + +#================================ +# 0. Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE + + + +import ops +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = ops.INCLUDE, + op_init = ops.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "TXM", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + ), + +) # Fin PROC VARIABLE + + + + +#================================ +# 1. Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Logistic", + "LogNormal", + "MultiNomial", + "Normal", + "TruncatedNormal", + "Poisson", + "Student", + "Triangular", + "Uniform", + "UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi", + ang = "R parameter", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre A de la loi", + ang = "A parameter", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre B de la loi | B > A", + ang = "B parameter | B > A", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.0, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1.0, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + Sup = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la distribution", + ang = "Upper bound", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC HISTOGRAM + + + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", + ang = "SigmaOverMu parameter | SigmaOverMu > 0", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu log de la loi", + ang = "Mu log parameter", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma log de la loi | SigmaLog > 0", + ang = "Sigma log parameter | SigmaLog > 0", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Alpha de la loi", + ang = "Alpha parameter", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > = 2", + ang = "Nu parameter | V > = 2", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = M < = B", + ang = "Lower bound | A < = M < = B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < = M < = B", + ang = "Mode | A < = M < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = M < = B", + ang = "Upper bound | A < = M < = B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION + + + + + + + +#================================ +# 3. Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + AnalysedCorrelations = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "Analytical" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Linear', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "VariationCoefficient", + ), + + IterationNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimisation method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successifs", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + ImportanceFactorGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FirstOrder + + + SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + ImportanceFactorGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC AnalyticalSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py new file mode 100644 index 00000000..05fdd221 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py @@ -0,0 +1,1630 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +# Les commentaires du style # Ordre Catalogue MOTCLEF sont utilises pour +# retrouver l ordre du catalogue + + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), + A_CLASSER(('LOG','DETERMINISTICVARIABLE'),'VARIABLE'),) + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + + +#================================ +# 0. Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "TXM", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + + + +#================================ +# 1. Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Logistic", + "LogNormal", + "MultiNomial", + "Normal", + "TruncatedNormal", + "Poisson", + "Student", + "Triangular", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi", + ang = "R parameter", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre A de la loi", + ang = "A parameter", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre B de la loi | B > A", + ang = "B parameter | B > A", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.0, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1.0, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Premier point de la distribution", + ang = "First point", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = Tuple(2), + max = '**', + fr = "Liste de couples (point,probabilite)", + ang = "(point,probabiblity) couple list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", + ang = "SigmaOverMu parameter | SigmaOverMu > 0", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu log de la loi", + ang = "Mu log parameter", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma log de la loi | SigmaLog > 0", + ang = "Sigma log parameter | SigmaLog > 0", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Alpha de la loi", + ang = "Alpha parameter", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Mu = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > = 2", + ang = "Nu parameter | V > = 2", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = M < = B", + ang = "Lower bound | A < = M < = B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < = M < = B", + ang = "Mode | A < = M < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = M < = B", + ang = "Upper bound | A < = M < = B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + + + + + +#================================ +# 3. Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + NumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + GraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + PointsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + AnalysedCorrelations = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "Analytical" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Linear', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "VariationCoefficient", + ), + + IterationNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimisation method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successifs", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "f", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + ImportanceFactorGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FirstOrder + + + SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + ImportanceFactorGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Resultats numeriques", + ang = "NumericalResults", + ), + + HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Resultats graphiques", + ang = "GraphicalResults", + ), + + ), # Fin BLOC HasoferReliabilityIndexSettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC AnalyticalSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py new file mode 100644 index 00000000..89ce0150 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py @@ -0,0 +1,1528 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), + AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', ) 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + +TOTO = PROC( nom='toto', op = None, docu = "", + fr = "toto", ang = "toto", + + TITI=SIMP(statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), +) +# Ordre Catalogue TOTO + + + +#================================ +# 0. Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "Fichier", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = "TXM", + into = ( "Independent", ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + +#================================ +# 1. Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Logistic", + "LogNormal", + "MultiNomial", + "Normal", + "Poisson", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi", + ang = "R parameter", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre A de la loi", + ang = "A parameter", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre B de la loi | B > A", + ang = "B parameter | B > A", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.0, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1.0, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Premier point de la distribution", + ang = "First point", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = Tuple(2), + max = '**', + fr = "Liste de couples (point,probabilite)", + ang = "(point,probabiblity) couple list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi | Mu > Gamma", + ang = "Mu parameter | Mu > Gamma", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", + ang = "SigmaOverMu parameter | SigmaOverMu > 0", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu log de la loi", + ang = "Mu log parameter", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma log de la loi | SigmaLog > 0", + ang = "Sigma log parameter | SigmaLog > 0", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Alpha de la loi", + ang = "Alpha parameter", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Mu = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > = 2", + ang = "Nu parameter | V > = 2", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = M < = B", + ang = "Lower bound | A < = M < = B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < = M < = B", + ang = "Mode | A < = M < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = M < = B", + ang = "Upper bound | A < = M < = B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + + + + +#================================ +# 3. Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1., + defaut = 0.1, + val_min = 0.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Linear', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "VariationCoefficient", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimisation method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successifs", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py new file mode 100644 index 00000000..80730558 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py @@ -0,0 +1,1726 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), + AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + + + +#================================ +# Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Laplace", + "Logistic", + "LogNormal", + "MultiNomial", + "NonCentralStudent", + "Normal", + "Poisson", + "Rayleigh", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi | R > 0", + ang = "R parameter | R > 0", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi", + ang = "Support upper bound", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = Tuple(2), + max = '**', + fr = "Liste de couples : largeur de classe, probabilité associée", + ang = "Class bandwidth, associated probability couple list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + ), # Fin BLOC LAPLACE + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Rapport ecart type / moyenne de la loi", + ang = "Standard deviation / mean value ratio", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne du log", + ang = "Log mean value", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type du log", + ang = "Log standard deviation", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Parametre N de la loi | N > 0", + ang = "N parameter | N > 0", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = "R", + max = '**', + fr = "Liste de probabilités", + ang = "Probability list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC MULTINOMIAL + + + NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Nu de la loi | Nu > 0", + ang = "Nu parameter | Nu > 0", + ), + + Delta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Delta de la loi | Delta > 0", + ang = "Delta parameter | Delta > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma de centrage de la loi", + ang = "Gamma parameter", + ), + + ), # Fin BLOC NONCENTRALSTUDENT + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + ), # Fin BLOC RAYLEIGH + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | Nu > 2", + ang = "Nu parameter | Nu > 2", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi", + ang = "Sigma parameter", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < M < B", + ang = "Support lower bound | A < M < B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < M < B", + ang = "Mode | A < M < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < M < B", + ang = "Support upper bound | A < M < B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi Normale non tronquée", + ang = "Mean value of the associated non truncated normal distribution", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart-type de la loi Normale non tronquée", + ang = "Standard deviation of the associated non truncated normal distribution", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < B", + ang = "Lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < B", + ang = "Upper bound | A < B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < B", + ang = "Support lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < B", + ang = "Support upper bound | A < B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + +#================================ +# Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "Fichier", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + fr = "Variable d'entrée du modèle", + ang = "Input variable of the model", + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + fr = "Modélisation probabiliste", + ang = "Probabilistic modelisation", + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = 'TXM', + into = ( "Independent", "Normal" ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + Matrix = BLOC ( condition = "Copula in ( 'Normal', )", + + CorrelationMatrix = SIMP ( statut = "o", + typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables", + ), + ), # Fin BLOC Matrix + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + + + + +#================================ +# Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Critère de l'étude d'incertitudes", + ang = "Uncertainty study criteria", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type du critère", + ang = "Criteria type", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Type du plan d'expérience", + ang = "Experiment plane type", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Liste de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unité par dimension (autant que de variables declarées)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Centre du plan d'expérience", + ang = "Experiment plan center", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum de la variable d'intérêt", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", + + KernelSmoothingDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la reconstruction a noyau", + ang = "Kernel Smoothing Drawing Filename", + ), + + + ), # Fin BLOC KernelSmoothingSettings + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + val_max = 1.0, + fr = "Coefficient de variation maximum", + ang = "Maximum coefficient of variation" + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Independent', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Intervale de confiance", + ang = "Confidence interval", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "Coefficient of variation", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", + + ConvergenceDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la convergence", + ang = "Convergence Drawing Filename", + ), + + + ), # Fin BLOC ConvergenceGraphSettings + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimization method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d'iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successives", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py new file mode 100644 index 00000000..b8ac5d33 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py @@ -0,0 +1,1726 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), + AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + + + +#================================ +# Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Laplace", + "Logistic", + "LogNormal", + "MultiNomial", + "NonCentralStudent", + "Normal", + "Poisson", + "Rayleigh", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi | R > 0", + ang = "R parameter | R > 0", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi", + ang = "Support upper bound", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + # Il faut definir une collection de couples ( x,p ) + 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(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + ), # Fin BLOC LAPLACE + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Rapport ecart type / moyenne de la loi", + ang = "Standard deviation / mean value ratio", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne du log", + ang = "Log mean value", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type du log", + ang = "Log standard deviation", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Parametre N de la loi | N > 0", + ang = "N parameter | N > 0", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = "R", + max = '**', + fr = "Liste de probabilités", + ang = "Probability list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC MULTINOMIAL + + + NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Nu de la loi | Nu > 0", + ang = "Nu parameter | Nu > 0", + ), + + Delta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Delta de la loi | Delta > 0", + ang = "Delta parameter | Delta > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma de centrage de la loi", + ang = "Gamma parameter", + ), + + ), # Fin BLOC NONCENTRALSTUDENT + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + ), # Fin BLOC RAYLEIGH + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | Nu > 2", + ang = "Nu parameter | Nu > 2", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi", + ang = "Sigma parameter", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < M < B", + ang = "Support lower bound | A < M < B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < M < B", + ang = "Mode | A < M < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < M < B", + ang = "Support upper bound | A < M < B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi Normale non tronquée", + ang = "Mean value of the associated non truncated normal distribution", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart-type de la loi Normale non tronquée", + ang = "Standard deviation of the associated non truncated normal distribution", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < B", + ang = "Lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < B", + ang = "Upper bound | A < B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < B", + ang = "Support lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < B", + ang = "Support upper bound | A < B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + +#================================ +# Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "Fichier", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + fr = "Variable d'entrée du modèle", + ang = "Input variable of the model", + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + fr = "Modélisation probabiliste", + ang = "Probabilistic modelisation", + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = 'TXM', + into = ( "Independent", "Normal" ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + Matrix = BLOC ( condition = "Copula in ( 'Normal', )", + + CorrelationMatrix = SIMP ( statut = "o", + typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables", + ), + ), # Fin BLOC Matrix + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + + + + +#================================ +# Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Critère de l'étude d'incertitudes", + ang = "Uncertainty study criteria", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type du critère", + ang = "Criteria type", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Type du plan d'expérience", + ang = "Experiment plane type", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Liste de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unité par dimension (autant que de variables declarées)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Centre du plan d'expérience", + ang = "Experiment plan center", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum de la variable d'intérêt", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", + + KernelSmoothingDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la reconstruction a noyau", + ang = "Kernel Smoothing Drawing Filename", + ), + + + ), # Fin BLOC KernelSmoothingSettings + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + val_max = 1.0, + fr = "Coefficient de variation maximum", + ang = "Maximum coefficient of variation" + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Independent', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Intervale de confiance", + ang = "Confidence interval", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "Coefficient of variation", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", + + ConvergenceDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la convergence", + ang = "Convergence Drawing Filename", + ), + + + ), # Fin BLOC ConvergenceGraphSettings + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimization method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d'iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successives", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig new file mode 100644 index 00000000..9a239a09 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig @@ -0,0 +1,1719 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), + AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + + + +#================================ +# Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Laplace", + "Logistic", + "LogNormal", + "MultiNomial", + "NonCentralStudent", + "Normal", + "Poisson", + "Rayleigh", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi | R > 0", + ang = "R parameter | R > 0", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi", + ang = "Support upper bound", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma", + ang = "Gamma parameter", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Premier point de la distribution", + ang = "First point", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = Tuple(2), + max = '**', + fr = "Liste de couples (point,probabilite)", + ang = "(point,probabiblity) couple list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + ), # Fin BLOC LAPLACE + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Rapport ecart type / moyenne de la loi", + ang = "Standard deviation / mean value ratio", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne du log", + ang = "Log mean value", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type du log", + ang = "Log standard deviation", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > = 0", + ang = "Beta parameter | Beta > = 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Dimension de la loi", + ang = "Distribution dimension", + ), + + # Il faut un vecteur P de taille N + Mu = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC MULTINOMIAL + + + NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Nu de la loi", + ang = "Nu parameter", + ), + + Delta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Delta de la loi", + ang = "Delta parameter", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma de la loi", + ang = "Gamma parameter", + ), + + ), # Fin BLOC NONCENTRALSTUDENT + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + ), # Fin BLOC RAYLEIGH + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | V > 2", + ang = "Nu parameter | V > 2", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi", + ang = "Sigma parameter", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < M < B", + ang = "Support lower bound | A < M < B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < M < B", + ang = "Mode | A < M < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < M < B", + ang = "Support upper bound | A < M < B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre SigmaN de la loi | SigmaN > 0", + ang = "SigmaN parameter | SigmaN> 0", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < = B", + ang = "Lower bound | A < = B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < = B", + ang = "Upper bound | A < = B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < B", + ang = "Support lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < B", + ang = "Support upper bound | A < B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + +#================================ +# Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = "Fichier", + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = 'TXM', + into = ( "Independent", "Normal" ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + Matrix = BLOC ( condition = "Copula in ( 'Normal', )", + + CorrelationMatrix = SIMP ( statut = "o", + typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables", + ), + ), # Fin BLOC Matrix + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + + + + +#================================ +# Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type d'Analyse", + ang = "Analysis", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Methode", + ang = "Method", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Nombre de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitsPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension (autant que de variables declarees)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unite par dimension", + ang = "Units per dimension", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", + + KernelSmoothingDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la reconstruction a noyau", + ang = "Kernel Smoothing Drawing Filename", + ), + + + ), # Fin BLOC KernelSmoothingSettings + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + val_max = 1.0, + fr = " maximum ...", + ang = "Absolute maximum ...." + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + Correlation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'Independent', 'Linear' ), + defaut = 'Independent', + max = 1, + fr = "Le type de correlation entre les variables", + ang = "Correlation between variables", + ), + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Intervale de confiance", + ang = "Confidence interval", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "Coefficient of variation", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", + + ConvergenceDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la convergence", + ang = "Convergence Drawing Filename", + ), + + + ), # Fin BLOC ConvergenceGraphSettings + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimization method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d'iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successives", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py new file mode 100644 index 00000000..9e43e543 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py @@ -0,0 +1,1748 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), +# AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +SIMULATION = PROC ( nom = "SIMULATION", + op = None, + docu = "", + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), + fr = "Nom du modele physique", + ), + SAMPLE = SIMP ( statut = "o", + typ = "R", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC SIMULATION +# Ordre Catalogue SIMULATION + + + + + +#================================ +# Definition des LOIS +#================================ + +# 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", + +#DISTRIBUTION = OPER ( nom = "DISTRIBUTION", +VARIABLE2=OPER(nom="VARIABLE2", + sd_prod = variable, + #sd_prod = None, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + #VARIABLE = FACT (statut='f',max='**', + # NOM=SIMP(statut = "o", typ = "TXM",), + +#DISTRIBUTION= FACT(statut = "o", +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Laplace", + "Logistic", + "LogNormal", + "MultiNomial", + "NonCentralStudent", + "Normal", + "Poisson", + "Rayleigh", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + defaut="Beta", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi | R > 0", + ang = "R parameter | R > 0", + defaut=1, + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + defaut=2, + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi", + ang = "Support upper bound", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + # Il faut definir une collection de couples ( x,p ) + 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(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + ), # Fin BLOC LAPLACE + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Rapport ecart type / moyenne de la loi", + ang = "Standard deviation / mean value ratio", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne du log", + ang = "Log mean value", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type du log", + ang = "Log standard deviation", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Parametre N de la loi | N > 0", + ang = "N parameter | N > 0", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = "R", + max = '**', + fr = "Liste de probabilités", + ang = "Probability list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC MULTINOMIAL + + + NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Nu de la loi | Nu > 0", + ang = "Nu parameter | Nu > 0", + ), + + Delta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Delta de la loi | Delta > 0", + ang = "Delta parameter | Delta > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma de centrage de la loi", + ang = "Gamma parameter", + ), + + ), # Fin BLOC NONCENTRALSTUDENT + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + ), # Fin BLOC RAYLEIGH + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | Nu > 2", + ang = "Nu parameter | Nu > 2", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi", + ang = "Sigma parameter", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < M < B", + ang = "Support lower bound | A < M < B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < M < B", + ang = "Mode | A < M < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < M < B", + ang = "Support upper bound | A < M < B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi Normale non tronquée", + ang = "Mean value of the associated non truncated normal distribution", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart-type de la loi Normale non tronquée", + ang = "Standard deviation of the associated non truncated normal distribution", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < B", + ang = "Lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < B", + ang = "Upper bound | A < B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < B", + ang = "Support lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < B", + ang = "Support upper bound | A < B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC WEIBULL + +#), # Fin OPER DISTRIBUTION +#), # Fin OPER DISTRIBUTION +) # Fin OPER DISTRIBUTION + + + +#================================ +# Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + UIinfo = {"groupes": ("CACHE")}, + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + fr = "Variable d'entrée du modèle", + ang = "Input variable of the model", + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + fr = "Modélisation probabiliste", + ang = "Probabilistic modelisation", + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = 'TXM', + into = ( "Independent", "Normal" ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + Matrix = BLOC ( condition = "Copula in ( 'Normal', )", + + CorrelationMatrix = SIMP ( statut = "o", + typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables", + ), + ), # Fin BLOC Matrix + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + + + + +#================================ +# Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Critère de l'étude d'incertitudes", + ang = "Uncertainty study criteria", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type du critère", + ang = "Criteria type", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Type du plan d'expérience", + ang = "Experiment plane type", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Liste de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unité par dimension (autant que de variables declarées)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Centre du plan d'expérience", + ang = "Experiment plan center", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum de la variable d'intérêt", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", + + KernelSmoothingDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la reconstruction a noyau", + ang = "Kernel Smoothing Drawing Filename", + ), + + + ), # Fin BLOC KernelSmoothingSettings + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + val_max = 1.0, + fr = "Coefficient de variation maximum", + ang = "Maximum coefficient of variation" + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Intervale de confiance", + ang = "Confidence interval", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "Coefficient of variation", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", + + ConvergenceDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la convergence", + ang = "Convergence Drawing Filename", + ), + + + ), # Fin BLOC ConvergenceGraphSettings + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimization method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d'iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successives", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py new file mode 100644 index 00000000..6a43ee35 --- /dev/null +++ b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py @@ -0,0 +1,1718 @@ +# -*- coding: iso-8859-1 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * + +class loi ( ASSD ) : pass +class variable ( ASSD ) : pass + +import types +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 + + __repr__=info + __str__=info + +class Matrice: + def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): + self.nbLigs=nbLigs + self.nbCols=nbCols + self.methodeCalculTaille=methodeCalculTaille + self.formatSortie=formatSortie + self.valSup=valSup + self.valMin=valMin + self.structure=structure + + def __convert__(self,valeur): + # Attention ne verifie pas grand chose + if type(valeur) != types.ListType : + return None + return valeur + + def info(self): + return "Matrice %s x %s" % (self.nbLigs, self.nbCols) + + __repr__=info + __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CRITERIA' ), + AU_MOINS_UN ( 'MODEL' ), + AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), +# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), +# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + +LOG = PROC ( nom = "LOG", + op = None, + docu = "", + + DebugMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + WrapperMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", + ang = "Open TURNS library debug level print", + ), + + UserMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'no', + fr = "Affichage du niveau de user de la bibliotheque Open TURNS", + ang = "Open TURNS library user level print", + ), + + InfoMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de info de la bibliotheque Open TURNS", + ang = "Open TURNS library info level print", + ), + + WarningMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", + ang = "Open TURNS library warning level print", + ), + + ErrorMessages = SIMP ( statut = "o", + typ = "TXM", + into = ( 'yes', 'no' ), + defaut = 'yes', + fr = "Affichage du niveau de error de la bibliotheque Open TURNS", + ang = "Open TURNS library error level print", + ), + +) # Fin PROC LOG +# Ordre Catalogue LOG + + + + + +#================================ +# Definition des LOIS +#================================ + +# 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) +DISTRIBUTION = OPER ( nom = "DISTRIBUTION", + sd_prod = loi, + op = 68, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + +#==== +# Type de distribution +#==== + + Kind = SIMP ( statut = "o", typ = "TXM", + into = ( "Beta", + "Exponential", + "Gamma", + "Geometric", + "Gumbel", + "Histogram", + "Laplace", + "Logistic", + "LogNormal", + "MultiNomial", + "NonCentralStudent", + "Normal", + "Poisson", + "Rayleigh", + "Student", + "Triangular", + "TruncatedNormal", + "Uniform", + #"UserDefined", + "Weibull", + ), + fr = "Choix du type de la loi marginale", + ang = "1D marginal distribution", + ), + +#==== +# Definition des parametres selon le type de la loi +#==== + + BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "RT", "MuSigma" ), + defaut = "RT", + fr = "Parametrage de la loi beta", + ang = "Beta distribution parameter set", + ), + + RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", + + R = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre R de la loi | R > 0", + ang = "R parameter | R > 0", + ), + + # T > R + T = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre T de la loi | T > R", + ang = "T parameter | T > R", + ), + + ), # Fin BLOC RT_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + # B > A + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi", + ang = "Support upper bound", + ), + + ), # Fin BLOC BETA + + + + EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC EXPONENTIAL + + + + GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "KLambda", "MuSigma" ), + defaut = "KLambda", + fr = "Parametrage de la loi gamma", + ang = "Gamma distribution parameter set", + ), + + KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", + + K = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre K de la loi | K > 0", + ang = "K parameter | K > 0", + ), + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC KLambda_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + + ), # Fin BLOC GAMMA + + + + GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", + + P = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + val_max = 1., + fr = "Parametre P | 0 < P < 1", + ang = "P parameter | 0 < P < 1", + ), + + ), # Fin BLOC GEOMETRIC + + + + GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi gumbel", + ang = "Gumbel distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Beta de la loi", + ang = "Beta parameter", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + ), # Fin BLOC GUMBEL + + + + HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", + + First = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + # Il faut definir une collection de couples ( x,p ) + 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(('R','R')), + ), + + ), # Fin BLOC HISTOGRAM + + + + LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + ), # Fin BLOC LAPLACE + + LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), + defaut = "MuSigmaLog", + fr = "Parametrage de la loi lognormale", + ang = "Lognormal distribution parameter set", + ), + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + SigmaOverMu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Rapport ecart type / moyenne de la loi", + ang = "Standard deviation / mean value ratio", + ), + + ), # Fin BLOC MuSigmaOverMu_Parameters + + MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", + + MuLog = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne du log", + ang = "Log mean value", + ), + + SigmaLog = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type du log", + ang = "Log standard deviation", + ), + + ), # Fin BLOC MuSigmaLog_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC LOGNORMAL + + + + LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du supoport de la loi", + ang = "Support lower bound", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC LOGISTIC + + + + MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", + + N = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Parametre N de la loi | N > 0", + ang = "N parameter | N > 0", + ), + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = "R", + max = '**', + fr = "Liste de probabilités", + ang = "Probability list", + validators=VerifTypeTuple(('R','R')), + ), + + ), # Fin BLOC MULTINOMIAL + + + NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Nu de la loi | Nu > 0", + ang = "Nu parameter | Nu > 0", + ), + + Delta = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Delta de la loi | Delta > 0", + ang = "Delta parameter | Delta > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Gamma de centrage de la loi", + ang = "Gamma parameter", + ), + + ), # Fin BLOC NONCENTRALSTUDENT + + + NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC NORMAL + + + + POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", + + Lambda = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Lambda de la loi | Lambda > 0", + ang = "Lambda parameter | Lambda > 0", + ), + + ), # Fin BLOC POISSON + + + + RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi | Sigma > 0", + ang = "Sigma parameter | Sigma > 0", + ), + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + ), # Fin BLOC RAYLEIGH + + + STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Mu de la loi", + ang = "Mu parameter", + ), + + Nu = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 2., + fr = "Parametre Nu de la loi | Nu > 2", + ang = "Nu parameter | Nu > 2", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Parametre Sigma de la loi", + ang = "Sigma parameter", + ), + + ), # Fin BLOC STUDENT + + + + TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < M < B", + ang = "Support lower bound | A < M < B", + ), + + M = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Mode de la loi | A < M < B", + ang = "Mode | A < M < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < M < B", + ang = "Support upper bound | A < M < B", + ), + + ), # Fin BLOC TRIANGULAR + + + + TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", + + MuN = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi Normale non tronquée", + ang = "Mean value of the associated non truncated normal distribution", + ), + + SigmaN = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart-type de la loi Normale non tronquée", + ang = "Standard deviation of the associated non truncated normal distribution", + ), + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure de la loi | A < B", + ang = "Lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure de la loi | A < B", + ang = "Upper bound | A < B", + ), + + ), # Fin BLOC TRUNCATEDNORMAL + + + + UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", + + A = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi | A < B", + ang = "Support lower bound | A < B", + ), + + B = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne superieure du support de la loi | A < B", + ang = "Support upper bound | A < B", + ), + + ), # Fin BLOC UNIFORM + + + + USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", + + # Il faut definir une collection de couples ( x,p ) + Values = SIMP ( statut = 'o', + typ = 'R', + max = '**', + ), + + ), # Fin BLOC USERDEFINED + + + + WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", + + Settings = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "AlphaBeta", "MuSigma" ), + defaut = "AlphaBeta", + fr = "Parametrage de la loi weibull", + ang = "Weibull distribution parameter set", + ), + + AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", + + Alpha = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Alpha de la loi | Alpha > 0", + ang = "Alpha parameter | Alpha > 0", + ), + + Beta = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Parametre Beta de la loi | Beta > 0", + ang = "Beta parameter | Beta > 0", + ), + + ), # Fin BLOC AlphaBeta_Parameters + + + MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", + + Mu = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Moyenne de la loi", + ang = "Mean value", + ), + + Sigma = SIMP ( statut = "o", + typ = "R", + max = 1, + val_min = 0., + fr = "Ecart type de la loi", + ang = "Standard deviation", + ), + + ), # Fin BLOC MuSigma_Parameters + + Gamma = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Borne inferieure du support de la loi", + ang = "Support lower bound", + ), + + ), # Fin BLOC WEIBULL + +) # Fin OPER DISTRIBUTION +# Ordre Catalogue DISTRIBUTION + + + +#================================ +# Definition du modele physique +#================================ + + +DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", + sd_prod = variable, + op = None, + fr = "Variable deterministe", + ang = "Deterministic variable", + + N = SIMP ( statut = 'o', + typ = "TXM", + fr = "Nom", + ang = "Name", + ), + + T = SIMP ( statut = 'o', + defaut = "in", + into = ( "in" , "out", ), + typ = "TXM", + fr = "Type", + ang = "Type", + ), + + R = SIMP ( statut = 'o', + defaut = 0, + typ = "I", + fr = "Rang", + ang = "Rank", + ), + +) # Fin OPER DETERMINISTICVARIABLE +# Ordre Catalogue DETERMINISTICVARIABLE + + + +import opsOT +MODEL = MACRO ( nom = "MODEL", + op = None, + UIinfo = { "groupes" : ( "Gestion du travail", ) }, + fr = "Chargement du wrapper du modele physique", + ang = "Physical model wrapper load", + sd_prod = opsOT.INCLUDE, + op_init = opsOT.INCLUDE_context, + fichier_ini = 1, + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), + fr = "Nom du modele physique", + ang = "Physical model identifier", + ), + +) # Fin PROC MODEL +# Ordre Catalogue MODEL + + + + +VARIABLE = PROC ( nom = "VARIABLE", + op = None, + docu = "", + fr = "Variable probabiliste", + ang = "Probabilistic variable", + + ModelVariable = SIMP ( statut = "o", + typ = ( variable, ), + fr = "Variable d'entrée du modèle", + ang = "Input variable of the model", + ), + + Distribution = SIMP ( statut = "o", + typ = ( loi, ), + fr = "Modélisation probabiliste", + ang = "Probabilistic modelisation", + ), + +) # Fin PROC VARIABLE +# Ordre Catalogue VARIABLE + + +CORRELATION = PROC ( nom = 'CORRELATION', + op = None, + docu = "", + fr = "Correlation entre variables", + ang = "Variable correlation", + + Copula = SIMP ( statut = "o", + typ = 'TXM', + into = ( "Independent", "Normal" ), + defaut = "Independent", + fr = "Type de la copule", + ang = "Copula kind", + ), + + Matrix = BLOC ( condition = "Copula in ( 'Normal', )", + + CorrelationMatrix = SIMP ( statut = "o", + typ = Matrice(nbLigs=None, + nbCols=None, + methodeCalculTaille='NbDeVariables', + valSup=1, + valMin=-1, + structure="symetrique"), + fr = "Matrice de correlation entre les variables d'entree", + ang = "Correlation matrix for input variables", + ), + ), # Fin BLOC Matrix + + +) # Fin PROC CORRELATION +# Ordre Catalogue CORRELATION + + + + + +#================================ +# Definition de l'etude +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +CRITERIA = PROC ( nom = "CRITERIA", + op = None, + docu = "", + fr = "Critère de l'étude d'incertitudes", + ang = "Uncertainty study criteria", + + + + Type = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), + fr = "Type du critère", + ang = "Criteria type", + ), + + + + + + + + MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Experiment Plane", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + # UC 3.1.1 + ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", + + ExperimentPlane = SIMP ( statut = "o", + typ = "TXM", + into = ( "Axial", "Factorial", "Composite", ), + fr = "Type du plan d'expérience", + ang = "Experiment plane type", + ), + + Levels = SIMP ( statut = "o", + typ = "R", + val_min = 0.0, + max = '**', + fr = "Liste de niveaux dans chaque direction", + ang = "Levels in each direction", + ), + + # Scaled Vector + UnitPerDimension = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Unité par dimension (autant que de variables declarées)", + ang = "Units per dimension (as much as declared variables)", + ), + + # Translation Vector + Center = SIMP ( statut = "o", + typ = "R", + max = '**', + fr = "Centre du plan d'expérience", + ang = "Experiment plan center", + ), + + ), # Fin BLOC ExperimentPlaneSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + ), # Fin BLOC RandomSamplingSettings + + Result = SIMP ( statut = "o", + typ = "TXM", + into = ( "Min/Max", ), + defaut = "Min/Max", + fr = "Le minimum et le maximum de la variable d'intérêt", + ang = "The min and max values", + ), + + + ), # Fin BLOC MinMax + + + + + CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Taylor Variance Decomposition", "Random Sampling" ), + fr = "Methode", + ang = "Method", + ), + + # UC 3.2. + TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + MeanFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne au premier ordre", + ang = "MeanFirstOrder", + ), + + StandardDeviationFirstOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type au premier ordre", + ang = "StandardDeviationFirstOrder", + ), + + MeanSecondOrder = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Moyenne au second ordre", + ang = "MeanSecondOrder", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "ImportanceFactor", + ), + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + ), # Fin FACT Result + + ), # Fin BLOC TaylorVarianceDecompositionSettings + + + + RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", + + SimulationsNumber = SIMP ( statut = "o", + typ = "I", + val_min = 1, + fr = "Nombre de points", + ang = "Points number", + ), + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + EmpiricalMean = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Moyenne empirique", + ang = "Empirical mean", + ), + + EmpiricalStandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Ecart-type empirique", + ang = "Empirical standard deviation", + ), + + EmpiricalQuantile = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Quantile empirique", + ang = "Empirical quantile", + ), + + EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", + + EmpiricalQuantile_Order = SIMP ( statut = "o", + typ = 'R', + defaut = 0.95, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Ordre du quantile empirique", + ang = "Empirical quantile order", + ), + + ), # Fin BLOC EmpiricalQuantileSettings + + CorrelationAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Correlations analysees", + ang = "Analysed correlations", + ), + + KernelSmoothing = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Kernel smoothing de l'echantillon", + ang = "Kernel smoothing of the sample", + ), + + KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", + + KernelSmoothingDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la reconstruction a noyau", + ang = "Kernel Smoothing Drawing Filename", + ), + + + ), # Fin BLOC KernelSmoothingSettings + + ), # Fin FACT Result + + ), # Fin BLOC RandomSamplingSettings + + ), # Fin BLOC CentralUncertainty + + + + + ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", + + Event = FACT ( statut = "o", + min = 1, + max = 1, + + Threshold = SIMP ( statut = "o", + typ = "R", + max = 1, + fr = "Le seuil de defaillance", + ang = "Failure threshold", + ), + + ComparisonOperator = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), + fr = "Que faut-il ne pas depasser : un maximum ou un minimum", + ang = "What is the failure threshold : maximum or minimum", + ), + ), # Fin FACT Event + + + Method = SIMP ( statut = "o", + typ = "TXM", + into = ( "Simulation", "FORM_SORM" ), + fr = "Methode", + ang = "Method", + ), + + SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", + + Algorithm = SIMP ( statut = "o", + typ = "TXM", + into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), + fr = "Algorithme de simulation", + ang = "Simulation algorithm", + ), + + + RandomGenerator = FACT ( statut = "o", + min = 1, + max = 1, + + SeedToBeSet = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", + ang = "Does the random generator seed need to be set ?", + ), + + SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", + + RandomGeneratorSeed = SIMP ( statut = "o", + typ = "I", + max = 1, + fr = "Racine du generateur aleatoire", + ang = "Random generator seed", + ), + + ), # Fin BLOC SeedSettings + + ), # Fin FACT RandomGenerator + + + BlockSize = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + defaut = 1, + fr = "Nombre de calculs realises en bloc", + ang = "Number of computations as a block", + ), + + MaximumOuterSampling = SIMP ( statut = "o", + typ = "I", + max = 1, + val_min = 1, + fr = "Maximum d'iterations externes", + ang = "Maximum outer Sampling value", + ), + + MaximumCoefficientOfVariation = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 0.1, + val_min = 0.0, + val_max = 1.0, + fr = "Coefficient de variation maximum", + ang = "Maximum coefficient of variation" + ), + + ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", + + MeanVector = SIMP ( statut = "o", + typ = "R", + max = "**", + fr = "Moyenne", + ang = "Mean vector", + ), + + + ), # Fin BLOC ImportanceSamplingSettings + + Result = FACT ( statut = "o", + min = 1, + max = "**", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + StandardDeviation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Ecart type", + ang = "Standard deviation", + ), + + ConfidenceInterval = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Intervale de confiance", + ang = "Confidence interval", + ), + + ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", + + Level = SIMP ( statut = "o", + typ = 'R', + defaut = 0.9, + max = 1, + val_min = 0.0, + val_max = 1.0, + fr = "Niveau de confiance", + ang = "Confidence level", + ), + + ), # Fin BLOC ConfidenceIntervalSettings + + VariationCoefficient = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Coefficient de variation", + ang = "Coefficient of variation", + ), + + SimulationsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'iterations", + ang = "Iteration number", + ), + + ConvergenceGraph = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Graphe de convergence", + ang = "Convergence graph", + ), + + ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", + + ConvergenceDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique de la convergence", + ang = "Convergence Drawing Filename", + ), + + + ), # Fin BLOC ConvergenceGraphSettings + + ), # Fin FACT Result + + + + ), # Fin BLOC SimulationSettings + + + + FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", + + Approximation = SIMP ( statut = "o", + typ = "TXM", + defaut = "FirstOrder", + into = ( "FirstOrder", "SecondOrder" ), + max = 1, + fr = "Approximation", + ang = "Approximation", + ), + + OptimizationAlgorithm = SIMP ( statut = "o", + typ = "TXM", + defaut = "Cobyla", + into = ( "Cobyla", "AbdoRackwitz" ), + max = 1, + fr = "Methode d'optimisation", + ang = "Optimization method", + ), + + + PhysicalStartingPoint = SIMP ( statut = "f", + typ = "R", + max = "**", + fr = "Point de demarrage de l'algorithme iteratif", + ang = "Initial point for iterative process", + ), + + MaximumIterationsNumber = SIMP ( statut = "f", + typ = "I", + max = 1, + val_min = 1, + fr = "Nombre maximum d'iterations", + ang = "Maximum number of iterations", + ), + + + MaximumAbsoluteError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum absolue entre 2 iterations successives", + ang = "Absolute maximum distance between 2 successive iterates", + ), + + MaximumRelativeError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Distance maximum relative entre 2 iterations successives", + ang = "Relative maximum distance between 2 successive iterates", + ), + + MaximumConstraintError = SIMP ( statut = "o", + typ = "R", + max = 1, + defaut = 1E-4, + val_min = 0.0, + fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", + ang = "Maximum absolute value of the constraint function minus the level value", + ), + + ImportanceSampling = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'no', + max = 1, + fr = "Tirage d'importance au point de conception", + ang = "Importance sampling at design point", + ), + + FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", + + Probability = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', ), + defaut = 'yes', + max = 1, + fr = "Probabiblite", + ang = "Probability", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + HasoferReliabilityIndex = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite", + ang = "Reliability index", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + FORMEventProbabilitySensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", + + FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FORMEventProbabilitySensitivitySettings + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC FORMResult + + + SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", + + + TvedtApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Tvedt", + ang = "Tvedt approximation", + ), + + HohenBichlerApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de HohenBichler", + ang = "HohenBichler approximation", + ), + + BreitungApproximation = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Approximation de Breitung", + ang = "Breitung approximation", + ), + + DesignPoint = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Point de conception", + ang = "Design point", + ), + + ImportanceFactor = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Facteur d'importance pour variable de sortie scalaire", + ang = "Importance factor", + ), + + ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", + + ImportanceFactorDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des facteurs d'importance", + ang = "Importance Factor Drawing Filename", + ), + + + ), # Fin BLOC ImportanceFactorSettings + + SensitivityAnalysis = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Analyse de sensibilite", + ang = "Sensitivity analysis", + ), + + SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Indice de fiabilite de Hasofer", + ang = "Hasofer reliability index", + ), + + HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", + + HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom du fichier graphique des sensibilites", + ang = "Sensitivity Drawing Filename", + ), + + + ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings + + ), # Fin BLOC SensitivityAnalysisSettings + + FunctionCallsNumber = SIMP ( statut = "o", + typ = 'TXM', + into = ( 'yes', 'no' ), + defaut = 'yes', + max = 1, + fr = "Nombre d'appels a la fonction", + ang = "Function calls number", + ), + + + ), # Fin BLOC SecondOrder + + + + ), # Fin BLOC FORM_SORMSettings + + + + ), # Fin BLOC ThresholdExceedence + + + +) # Fin PROC CRITERIA +# Ordre Catalogue CRITERIA + + + + + + + diff --git a/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py b/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py new file mode 100644 index 00000000..64d0b05e --- /dev/null +++ b/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + + self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] + self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] + self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] + configuration.CONFIG_BASE.__init__(self,appli,repIni) + + #--------------------------------------- + def lecture_fichier_ini_standard(self): + #--------------------------------------- + configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) + if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path + + #--------------------------------------- + def lecture_fichier_ini_integrateur(self): + #--------------------------------------- + configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) + if hasattr(self,'OpenTURNS_path') : + if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): + import sys + sys.path.remove(self.oldOTPath) + sys.path[:0]=[self.OpenTURNS_path] + self.oldOTPath=self.OpenTURNS_path + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/Openturns_Study/opsOT.py b/OldCodes/Openturns_Study/opsOT.py new file mode 100644 index 00000000..ed023cdb --- /dev/null +++ b/OldCodes/Openturns_Study/opsOT.py @@ -0,0 +1,38 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +def INCLUDE(self,FileName,**args): + """ + Fonction sd_prod pour la macro INCLUDE + """ + if hasattr(self,'change_fichier'): + delattr(self,'change_fichier') + delattr(self,'fichier_ini') + + self.make_include2(fichier=FileName) + +def INCLUDE_context(self,d): + """ + Fonction op_init pour macro INCLUDE + """ + for k,v in self.g_context.items(): + d[k]=v + + diff --git a/OldCodes/Openturns_Study/prefs.py b/OldCodes/Openturns_Study/prefs.py new file mode 100644 index 00000000..f83b0a29 --- /dev/null +++ b/OldCodes/Openturns_Study/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code='OPENTURNS_STUDY' +import sys, os +if os.path.abspath(__file__) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py b/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py new file mode 100644 index 00000000..f686f516 --- /dev/null +++ b/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2015 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +import os, sys +# Les variables pouvant positionnees sont : +print "import des prefs de OPENTURNS" + +# repIni sert a localiser le fichier +# initialdir sert comme directory initial des QFileDialog +# positionnee a repin au debut mise a jour dans configuration +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +# lang indique la langue utilisée pour les chaines d'aide : fr ou ang +lang='fr' +encoding='iso-8859-1' + +# Acces a la documentation +path_doc = os.path.join(INSTALLDIR,'Doc') +exec_acrobat = "/usr/bin/xpdf" +savedir = os.environ['HOME'] + + +# OpenTURNS Python module +OpenTURNS_path="" +if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] + +# Choix des catalogues +from Editeur.catadesc import CatalogDescription + +catalogues = ( + CatalogDescription(identifier = "OPENTURNS_STUDY_V8", + cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Study_V8.py'), + file_format = "openturns_study"), +) + diff --git a/OldCodes/Openturns_Study/properties.py b/OldCodes/Openturns_Study/properties.py new file mode 100644 index 00000000..8ba0ed7e --- /dev/null +++ b/OldCodes/Openturns_Study/properties.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR +# CONFIGURATION MANAGEMENT OF EDF VERSION +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "7.1.0" +date = "23/04/2003" diff --git a/OldCodes/Openturns_Study/qtEficas_openturns_study.py b/OldCodes/Openturns_Study/qtEficas_openturns_study.py new file mode 100755 index 00000000..abf2d5ab --- /dev/null +++ b/OldCodes/Openturns_Study/qtEficas_openturns_study.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert à lancer EFICAS configuré pour Openturns +""" +# Modules Python + +# Modules Eficas +import prefs +name='prefs_'+prefs.code +__import__(name) + +import sys +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Study/sdistOTqt.py b/OldCodes/Openturns_Study/sdistOTqt.py new file mode 100644 index 00000000..acf75c26 --- /dev/null +++ b/OldCodes/Openturns_Study/sdistOTqt.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions d'EFICAS pour Openturns + en fonction du tag CVS courant + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'EficasV1 par la commande : + cvs export -r TAG -d Eficas_export EficasV1 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) + 5- Aller dans le répertoire Eficas_export + 6- Executer le script sdist.py + python sdist.py + Ce qui a pour effet de creer un repertoire dist contenant la distribution + et de la copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +nom_distrib="QTEficasOpenturns_V1_0" +path_distrib=os.path.join("dist",nom_distrib) +path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) + copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) + copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) + copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) + # AIDE + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) + copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) + # ______________________ + + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) + copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) + + copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) + + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + shutil.copy(file,dir_cible) + + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + + +main() + diff --git a/OldCodes/Openturns_Study/style.py b/OldCodes/Openturns_Study/style.py new file mode 100644 index 00000000..7da9d534 --- /dev/null +++ b/OldCodes/Openturns_Study/style.py @@ -0,0 +1 @@ +# Necessaire pour compatibilite avec Aster diff --git a/OldCodes/Openturns_Study/test/MinMax_ExpPlane.comm b/OldCodes/Openturns_Study/test/MinMax_ExpPlane.comm new file mode 100644 index 00000000..6f671ab3 --- /dev/null +++ b/OldCodes/Openturns_Study/test/MinMax_ExpPlane.comm @@ -0,0 +1,17 @@ + +LOG(DebugMessages='no', + WrapperMessages='no', + UserMessages='no', + InfoMessages='yes', + WarningMessages='yes', + ErrorMessages='yes',); + +MODEL(Name='poutre',); + +CRITERIA(Type='Min/Max', + Method='Experiment Plane', + ExperimentPlane='Axial', + Levels=(1.0,2.0,5.0,), + UnitsPerDimension=(100.0,5.0,0.5,1e-07,), + Center=(3000000000.0,300.0,2.5,4e-06,), + Result='Min/Max',); diff --git a/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py b/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py new file mode 100644 index 00000000..098c853e --- /dev/null +++ b/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python + +# Chargement du module systeme +import sys +sys.path.append( '/local00/home/dutka/OpenTURNS/trunk/build/install/lib/python2.4/site-packages/openturns' ) + +# Chargement du module Open TURNS +from openturns import * + +# Definit le niveau d'affichage de la log +flags = Log.NONE +flags = flags + Log.WARN +flags = flags + Log.ERROR +flags = flags - Log.WRAPPER +flags = flags + Log.INFO +flags = flags - Log.USER +flags = flags - Log.DBG +Log.Show( flags ) + +# Etude 'Min/Max' +# Charge le modele physique +model = NumericalMathFunction( 'poutre' ) +n = model.getInputNumericalPointDimension() + +# Etude par plan d'experience +# Definit les niveaux de la structure de grille +levels = NumericalPoint( 3 ) +levels[0] = 1 +levels[1] = 2 +levels[2] = 5 + +# Cree le plan d'experience centre reduit +myCenteredReductedGrid = Axial(n, levels) +myExperimentPlane = myCenteredReductedGrid.generate() + +# Definit les facteurs d'echelle dans chaque direction +scaledVector = NumericalPoint( n ) +scaledVector[0] = 100 +scaledVector[1] = 5 +scaledVector[2] = 0.5 +scaledVector[3] = 1e-07 +myExperimentPlane.scale( scaledVector ) + +# Definit le vecteur de translation +translationVector = NumericalPoint( n ) +translationVector[0] = 3e+09 +translationVector[1] = 300 +translationVector[2] = 2.5 +translationVector[3] = 4e-06 +myExperimentPlane.translate( translationVector ) + + +inputSample = myExperimentPlane + +# Calcul +outputSample = model( inputSample ) + +# Resultats +minValue = outputSample.getMin() +maxValue = outputSample.getMax() + +print 'minValue = ', minValue +print 'maxValue = ', maxValue + + + +# Terminaison du fichier +sys.exit( 0 ) diff --git a/OldCodes/Openturns_Study/test/MinMax_RandomSampling.comm b/OldCodes/Openturns_Study/test/MinMax_RandomSampling.comm new file mode 100644 index 00000000..e9ed474b --- /dev/null +++ b/OldCodes/Openturns_Study/test/MinMax_RandomSampling.comm @@ -0,0 +1,30 @@ + +LOG(DebugMessages='no', + WrapperMessages='no', + UserMessages='no', + InfoMessages='yes', + WarningMessages='yes', + ErrorMessages='yes',); + +MODEL(Name='poutre',); + +L_E=DISTRIBUTION(Kind='Normal', + Mu=0.1, + Sigma=0.1,); + +L_F=DISTRIBUTION(Kind='Exponential', + Lambda=1.0, + Gamma=2.0,); + +L_L=DISTRIBUTION(Kind='MultiNomial', + N=1, + Values=1.0,); + +L_I=DISTRIBUTION(Kind='Uniform', + A=10.0, + B=20.0,); + +CRITERIA(Type='Min/Max', + Method='Random Sampling', + PointsNumber=1000, + Result='Min/Max',); diff --git a/OldCodes/Openturns_Wrapper/CMakeLists.txt b/OldCodes/Openturns_Wrapper/CMakeLists.txt new file mode 100644 index 00000000..570b3ca9 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/CMakeLists.txt @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +# Question : Que faire des fichiers sdistOTqt.py et style.py + +install ( FILES qtEficas_openturns_wrapper.py + ${CMAKE_CURRENT_SOURCE_DIR}/prefs_OPENTURNS_WRAPPER.py + prefs.py + configuration_OPENTURNS_WRAPPER.py + #catalogues_openturns.ini + OpenTURNS_Cata_Wrapper_V4.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/Openturns_Wrapper + ) + + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py new file mode 100644 index 00000000..7bad7c17 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py @@ -0,0 +1,216 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', + execmodul = None, + regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + + +#================================ +# 2. Definition des variables +#================================ + +VARIABLEPOOL = PROC ( nom = "VARIABLEPOOL", + op = None, + docu = "", + fr = "L'ensemble des variables probabilistes", + ang = "The pool of probabilistic variables", + + + Variables = FACT ( statut = "o", + min = 1, + max = "**", + + + + Name = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom de la variable, identique au nom dans le solver.", + ang = "Name of the variable, identical to the name in solver." + ), + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + defaut = "in", + fr = "variable d'entree ou de sortie du solver", + ang = "Input or Output variable", + ), + + Unit = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Unite", + ang = "Unit", + ), + + Comment = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Commentaire", + ang = "Comment", + ), + + Regexp = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Expression reguliere", + ang = "Regular expression", + ), + + Format = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Format d'ecriture", + ang = "Format", + ), + + + ), # Fin FACT Variables + +) # Fin PROC VARIABLEPOOL + + +#================================ +# Definition des parametres du wrapper +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +WRAPPER = PROC ( nom = "WRAPPER", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", "dynamic-link", "fork", ), + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", + + Command = SIMP ( statut = "o", + max = 1, + typ = "TXM", + fr = "Chemin du solver", + ang = "solver path", + ), + ), # Fin BLOC Fork + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", ), + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", ), + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + + + + Files = FACT ( statut = "f", + min = 1, + max = "**", + + Id = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Identificateur du fichier", + ang = "File id", + ), + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + fr = "Fichier d entree ou de sortie du solveur ?", + ang = "Input or Output file ?", + ), + + Name = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du fichier", + ang = "File name", + ), + + Path = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin du fichier", + ang = "Path file ", + ), + + Subst = SIMP ( statut = "f", + typ = "TXM", + max = "**", + fr = "Liste de variables", + ang = "List", + ), + + ), # Fin FACT Files + +) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py new file mode 100644 index 00000000..a3895d3f --- /dev/null +++ b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class variable(ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', + execmodul = None, + regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + + +#================================ +# 2. Definition des variables +#================================ + + + +VARIABLE = OPER ( nom = "VARIABLE", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + defaut = "in", + fr = "variable d'entree ou de sortie du solver", + ang = "Input or Output variable", + ), + + Unit = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Unite", + ang = "Unit", + ), + + Comment = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Commentaire", + ang = "Comment", + ), + + Regexp = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Expression reguliere", + ang = "Regular expression", + ), + + Format = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Format d'ecriture", + ang = "Format", + ), + + + ) # Fin FACT Variables +# + + +#================================ +# Definition des parametres du wrapper +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +WRAPPER = PROC ( nom = "WRAPPER", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", "dynamic-link", "fork", ), + defaut = "fork", + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", + + Command = SIMP ( statut = "o", + max = 1, + typ = "TXM", + fr = "Chemin du solver", + ang = "solver path", + ), + ), # Fin BLOC Fork + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", ), + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", ), + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + + + + Files = FACT ( statut = "f", + min = 1, + max = "**", + + Id = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Identificateur du fichier", + ang = "File id", + ), + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + fr = "Fichier d entree ou de sortie du solveur ?", + ang = "Input or Output file ?", + ), + + Name = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du fichier", + ang = "File name", + ), + + Path = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin du fichier", + ang = "Path file ", + ), + + Subst = SIMP ( statut = "f", + typ = "TXM", + max = "**", + fr = "Liste de variables", + ang = "List", + ), + + ), # Fin FACT Files + +) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py new file mode 100644 index 00000000..f99f40b3 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py @@ -0,0 +1,301 @@ +# -*- coding: utf-8 -*- + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class variable(ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', + execmodul = None, + regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + + +#================================ +# 2. Definition des variables +#================================ + + + +VARIABLE = OPER ( nom = "VARIABLE", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + defaut = "in", + fr = "variable d'entree ou de sortie du solver", + ang = "Input or Output variable", + ), + + Unit = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Unite", + ang = "Unit", + ), + + Comment = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Commentaire", + ang = "Comment", + ), + + Regexp = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Expression reguliere", + ang = "Regular expression", + ), + + Format = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Format d'ecriture", + ang = "Format", + ), + + + ) # Fin FACT Variables +# + + +#================================ +# Definition des parametres du wrapper +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +WRAPPER = PROC ( nom = "WRAPPER", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + Framework = SIMP ( statut = "o", + typ = "TXM", + into = ( "Salome", "Stand-alone", ), + max = 1, + fr = "Dans quel environnement le wrapper doit-il etre utilise ?", + ang = "Which framework is this wrapper designed for ?", + ), + + StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", "dynamic-link", "fork", ), + defaut = "fork", + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", + + Command = SIMP ( statut = "o", + max = 1, + typ = "TXM", + fr = "Chemin du solver", + ang = "solver path", + ), + ), # Fin BLOC Fork + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba" ), + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba" ), + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + ), # Fin BLOC StandAlone + + + Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", + + SolverComponentName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + defaut = "UNDEFINED", + fr = "Nom du composant solver", + ang = "Solver component name", + ), + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + into = ( "GenericWrapper4Salome.so", ), + defaut = "GenericWrapper4Salome.so", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", ), + defaut = "static-link", + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba", ), + defaut = "corba", + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba", ), + defaut = "corba", + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + ), # Fin BLOC Salome + + + Files = FACT ( statut = "f", + min = 1, + max = "**", + + Id = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Identificateur du fichier", + ang = "File id", + ), + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + fr = "Fichier d entree ou de sortie du solveur ?", + ang = "Input or Output file ?", + ), + + Name = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du fichier", + ang = "File name", + ), + + Path = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin du fichier", + ang = "Path file ", + ), + + Subst = SIMP ( statut = "f", + typ = "TXM", + max = "**", + fr = "Liste de variables", + ang = "List", + ), + + ), # Fin FACT Files + +) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py new file mode 100644 index 00000000..651d5b82 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py @@ -0,0 +1,326 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +import Accas +from Accas import * + +class variable(ASSD ) : pass + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', + execmodul = None, + regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), + ) # Fin JDC_CATA + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- + + +#================================ +# 2. Definition des variables +#================================ + + + +VARIABLE = OPER ( nom = "VARIABLE", + sd_prod = variable, + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + defaut = "in", + fr = "variable d'entree ou de sortie du solver", + ang = "Input or Output variable", + ), + + Unit = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Unite", + ang = "Unit", + ), + + Comment = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Commentaire", + ang = "Comment", + ), + + Regexp = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Expression reguliere", + ang = "Regular expression", + ), + + Format = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Format d'ecriture", + ang = "Format", + ), + + + ) # Fin FACT Variables +# + + +#================================ +# Definition des parametres du wrapper +#================================ + +# Nota : les variables de type PROC doivent etre en majuscules ! +WRAPPER = PROC ( nom = "WRAPPER", + op = None, + docu = "", + fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", + ang = "Writes the configuration file for OPENTURNS.", + + Framework = SIMP ( statut = "o", + typ = "TXM", + into = ( "Salome", "Stand-alone", ), + max = 1, + fr = "Dans quel environnement le wrapper doit-il etre utilise ?", + ang = "Which framework is this wrapper designed for ?", + ), + + StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", "dynamic-link", "fork", ), + defaut = "fork", + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", + + Command = SIMP ( statut = "o", + max = 1, + typ = "TXM", + fr = "Chemin du solver", + ang = "Solver path", + ), + + UserPrefix = SIMP ( statut = "f", + max = 1, + typ = "TXM", + fr = "Prefixe pour retrouver les repertories temporaires de calcul", + ang = "Prefix to help finding compute directories", + ), + ), # Fin BLOC Fork + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba" ), + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba" ), + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + ), # Fin BLOC StandAlone + + + Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", + + SolverComponentName = SIMP ( statut = "f", + typ = "TXM", + max = 1, + defaut = "UNDEFINED", + fr = "Nom du composant solver", + ang = "Solver component name", + ), + + + WrapperPath = SIMP ( statut = "o", + typ = "TXM", + into = ( "GenericWrapper4Salome.so", ), + defaut = "GenericWrapper4Salome.so", + max = 1, + fr = "Chemin d acces au wrapper", + ang = "Wrapper library path", + ), + + FunctionName = SIMP ( statut = "o", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom de la fonction dans le wrapper", + ang = "Function's name in wrapper", + ), + + GradientName = SIMP ( statut = "f", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom du gradient dans le wrapper", + ang = "Gradient's name in wrapper", + ), + + HessianName = SIMP ( statut = "f", + typ = "TXM", + into = ( "GENERICSOLVER", ), + defaut = "GENERICSOLVER", + max = 1, + fr = "Nom du hessian dans le wrapper", + ang = "Hessian's name in wrapper", + ), + + WrapCouplingMode = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "static-link", ), + defaut = "static-link", + fr = "Mode de couplage du solver", + ang = "Solver coupling mode", + ), + + State = SIMP ( statut = "f", + typ = "TXM", + max = 1, + into = ( "shared", "specific" ), + fr = "Partage de l'etat interne entre les fonctions", + ang = "Internal state sharing", + ), + + InDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba", ), + defaut = "corba", + fr = "Mode de transfert des donnees d'entree", + ang = "Input transfering mode", + ), + + OutDataTransfer = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "files", "arguments", "corba", ), + defaut = "corba", + fr = "Mode de transfert des donnees de sortie", + ang = "Output transfering mode", + ), + + ), # Fin BLOC Salome + + + Files = FACT ( statut = "f", + min = 1, + max = "**", + + Id = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Identificateur du fichier", + ang = "File id", + ), + + Type = SIMP ( statut = "o", + typ = "TXM", + max = 1, + into = ( "in", "out", ), + fr = "Fichier d entree ou de sortie du solveur ?", + ang = "Input or Output file ?", + ), + + Name = SIMP ( statut = "f", + typ = "TXM", + max = 1, + fr = "Nom du fichier", + ang = "File name", + ), + + Path = SIMP ( statut = "o", + typ = "TXM", + max = 1, + fr = "Chemin du fichier", + ang = "Path file ", + ), + + Subst = SIMP ( statut = "f", + typ = "TXM", + max = "**", + fr = "Liste de variables", + ang = "List", + ), + + ), # Fin FACT Files + +) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py b/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py new file mode 100644 index 00000000..64d0b05e --- /dev/null +++ b/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + + self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] + self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] + self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] + configuration.CONFIG_BASE.__init__(self,appli,repIni) + + #--------------------------------------- + def lecture_fichier_ini_standard(self): + #--------------------------------------- + configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) + if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path + + #--------------------------------------- + def lecture_fichier_ini_integrateur(self): + #--------------------------------------- + configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) + if hasattr(self,'OpenTURNS_path') : + if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): + import sys + sys.path.remove(self.oldOTPath) + sys.path[:0]=[self.OpenTURNS_path] + self.oldOTPath=self.OpenTURNS_path + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/Openturns_Wrapper/prefs.py b/OldCodes/Openturns_Wrapper/prefs.py new file mode 100644 index 00000000..10b557d2 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/prefs.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code = "OPENTURNS_WRAPPER" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py b/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py new file mode 100644 index 00000000..b60be596 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2015 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +import os, sys +# Les variables pouvant positionnees sont : +print "import des prefs de OPENTURNS" + +# repIni sert a localiser le fichier +# initialdir sert comme directory initial des QFileDialog +# positionnee a repin au debut mise a jour dans configuration +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +# lang indique la langue utilisée pour les chaines d'aide : fr ou ang +lang='fr' +encoding='iso-8859-1' + +# Acces a la documentation +path_doc = os.path.join(INSTALLDIR,'Doc') +exec_acrobat = "/usr/bin/xpdf" +savedir = os.environ['HOME'] + + +# OpenTURNS Python module +OpenTURNS_path="" +if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] + +# Choix des catalogues +from Editeur.catadesc import CatalogDescription + +catalogues = ( + CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4", + cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Wrapper_V4.py'), + file_format = "openturns_wrapper"), +) + diff --git a/OldCodes/Openturns_Wrapper/properties.py b/OldCodes/Openturns_Wrapper/properties.py new file mode 100644 index 00000000..8ba0ed7e --- /dev/null +++ b/OldCodes/Openturns_Wrapper/properties.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR +# CONFIGURATION MANAGEMENT OF EDF VERSION +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "7.1.0" +date = "23/04/2003" diff --git a/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py b/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py new file mode 100755 index 00000000..705dc165 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" + Ce module sert à lancer EFICAS configuré pour Openturns +""" +# Modules Python + +# Modules Eficas +import prefs +name='prefs_'+prefs.code +__import__(name) + +import sys +from InterfaceQT4 import eficas_go + +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Wrapper/sdistOTqt.py b/OldCodes/Openturns_Wrapper/sdistOTqt.py new file mode 100644 index 00000000..acf75c26 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/sdistOTqt.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions d'EFICAS pour Openturns + en fonction du tag CVS courant + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'EficasV1 par la commande : + cvs export -r TAG -d Eficas_export EficasV1 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) + 5- Aller dans le répertoire Eficas_export + 6- Executer le script sdist.py + python sdist.py + Ce qui a pour effet de creer un repertoire dist contenant la distribution + et de la copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +nom_distrib="QTEficasOpenturns_V1_0" +path_distrib=os.path.join("dist",nom_distrib) +path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) + copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) + copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) + copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) + # AIDE + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) + copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) + # ______________________ + + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) + copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) + + copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) + + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + shutil.copy(file,dir_cible) + + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + + +main() + diff --git a/OldCodes/Openturns_Wrapper/style.py b/OldCodes/Openturns_Wrapper/style.py new file mode 100644 index 00000000..7da9d534 --- /dev/null +++ b/OldCodes/Openturns_Wrapper/style.py @@ -0,0 +1 @@ +# Necessaire pour compatibilite avec Aster diff --git a/OldCodes/PSEN_N1/PSEN_Cata_N1.py b/OldCodes/PSEN_N1/PSEN_Cata_N1.py new file mode 100644 index 00000000..6d926367 --- /dev/null +++ b/OldCodes/PSEN_N1/PSEN_Cata_N1.py @@ -0,0 +1,199 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# -------------------------------------------------- +# debut entete +# -------------------------------------------------- + +#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR +from Accas import * +import opsPSEN_N1 +# +#class loi ( ASSD ) : pass +#class variable ( ASSD ) : pass +class sd_charge ( ASSD ) : pass +class sd_generateur ( ASSD ) : pass +class sd_ligne ( ASSD ) : pass +class sd_transfo ( ASSD ) : pass +class sd_moteur ( ASSD ) : pass +# + +# import types +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 + + __repr__=info + __str__=info + +# class Matrice: +# def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): +# self.nbLigs=nbLigs +# self.nbCols=nbCols +# self.methodeCalculTaille=methodeCalculTaille +# self.formatSortie=formatSortie +# self.valSup=valSup +# self.valMin=valMin +# self.structure=structure +# +# def __convert__(self,valeur): +# # Attention ne verifie pas grand chose +# if type(valeur) != types.ListType : +# return None +# return valeur +# +# def info(self): +# return "Matrice %s x %s" % (self.nbLigs, self.nbCols) +# +# __repr__=info +# __str__=info + + +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'PSEN', + execmodul = None, + regles = ( AU_MOINS_UN ( 'CASE_SELECTION' ), + # AU_MOINS_UN ( 'DIRECTORY' ), + # AU_MOINS_UN ( 'DISTRIBUTION' ), + # AU_MOINS_UN ( 'SIMULATION' ), + # AU_PLUS_UN ( 'PSSE_PARAMETERS' ), + # AU_PLUS_UN ( 'DIRECTORY' ), + # AU_PLUS_UN ( 'SIMULATION' ), + # AU_PLUS_UN ( 'CORRELATION' ), + # AU_PLUS_UN ( 'N_1_GENERATORS' ), + # AU_PLUS_UN ( 'N_1_LINES' ), + # AU_PLUS_UN ( 'N_1_LOADS' ), + # AU_PLUS_UN ( 'N_1_TRANSFORMERS' ), + + ), + ) # Fin JDC_CATA + + +# -------------------------------------------------- +# fin entete +# -------------------------------------------------- +## TODO : RUN +CASE_SELECTION = MACRO ( nom = "CASE_SELECTION", + sd_prod = opsPSEN_N1.INCLUDE, + op_init = opsPSEN_N1.INCLUDE_context, + regles = (UN_PARMI('FromFile', 'AllCases', 'WorstCases'),), + fichier_ini = 1, + op = None, + fr = "Sélectionnez les cas à analyser", + ang = 'Select the cases to analyze', + PSSE_path = SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files (x86)\PTI\PSSE33\PSSBIN'), + output_folder = SIMP(statut="o", typ="Repertoire"), + + FromFile = FACT( + statut = 'f', + input_path = SIMP(statut="f",typ='Repertoire'), + branch_cases = SIMP(statut='o', typ='TXM'), + transfo_cases = SIMP(statut='o', typ='TXM'), + high_cases = SIMP(statut='o', typ='TXM'), + low_cases = SIMP(statut='o', typ='TXM'), + ), + + AllCases = FACT( + statut='f', + all_cases = SIMP(statut='o', typ=bool, defaut = True), + ), + + WorstCases = FACT( + regles = (UN_PARMI('AvgBranchLoad', 'AvgBranchLoadPercent'), UN_PARMI('AvgTransfoLoad', 'AvgTransfoLoadPercent'), UN_PARMI('AvgHighVoltage', 'AvgHighVoltagePercent'), UN_PARMI('AvgLowVoltage', 'AvgLowVoltagePercent'),), + statut = 'f', + AvgBranchLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), + AvgBranchLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), + AvgTransfoLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), + AvgTransfoLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), + AvgHighVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), + AvgHighVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), + AvgLowVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), + AvgLowVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), + ), + + MaxDepth = SIMP(statut = 'o', typ = 'I', defaut = 5), + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete CASE SELECTION"), + + BusesList = SIMP(statut = 'f', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), + + optionsLF = FACT ( + statut = 'o', + AdjTaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Lock', '1 - Stepping', '2 - Direct'], defaut = '1 - Stepping'), + AdjDCtaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable'], defaut = '1 - Enable'), + SolutionMethod = SIMP(statut = 'o', typ = 'TXM', into = ['0 - FDNS', '1 - FNSL', '2 - Optimized FDNS'], defaut = '1 - FNSL'), + AdjSwitchedShunts = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable', '2 - Enable continuous mode'], defaut = '1 - Enable'), + DispatchMode = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Reserve', '2 - Pmax', '3 - Inertia', '4 - Droop'], defaut = '1 - Reserve'), + FlatStart = SIMP(statut = 'o', typ = bool, defaut = False), + VarLimits = SIMP(statut = 'o', typ = 'I', defaut = 99), + ), + ) + +CONTINGENCY_OPTIONS = PROC ( nom = 'CONTINGENCY_OPTIONS', + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + ang = 'Nyu', + Vmin = SIMP(statut = 'o', typ = 'R', defaut = 0.9, val_min = 0), + Vmax = SIMP(statut = 'o', typ = 'R', defaut = 1.1, val_min = 0), + ContRate = SIMP(statut = 'o', typ = 'TXM', defaut = 'a', into=['a', 'b']), + FlowLimitLines = SIMP(statut = 'o', typ = 'I', defaut = 110, val_min = 0), + FloLimitTransfos = SIMP(statut = 'o', typ = 'I', defaut = 100, val_min = 0), + Tolance = SIMP(statut = 'o', typ = 'I', defaut = 10, val_min = 0), + RadialLinesOnly = SIMP(statut = 'o', typ = bool, defaut = False), + TripTransfos = SIMP(statut = 'o', typ = bool, defaut = True), + TripGenerators = SIMP(statut = 'o', typ = bool, defaut = True), + TripN_2 = SIMP(statut = 'o', typ = bool, defaut = False), + IsolatedGen = SIMP(statut = 'o', typ = bool, defaut = True), + ) + +OUTPUT_OPTIONS = PROC ( nom = 'OUTPUT_OPTIONS', + op = None, + fr = "Definitions des lois marginales utilisees par les variables d'entree", + ang = 'Nyu', + TrNoGSUorGNDOutput = SIMP(statut = 'o', typ = bool, defaut = True), + TestBusName = SIMP(statut = 'o', typ = bool, defaut = True), + ReportSpaces = SIMP(statut = 'o', typ = bool, defaut = True), + RepeatComponentAllLines = SIMP(statut = 'o', typ = bool, defaut = True), + MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True), + WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True), + WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True), + ) + +DATA_PROCESSING = MACRO ( nom = 'DATA_PROCESSING', + sd_prod = opsPSEN_N1.PROCESS, + op_init = opsPSEN_N1.PROCESS_context, + fichier_ini = 1, + op = None, + fr = "Sélectionnez les cas à analyser", + ang = 'Select the cases to analyze', + XLS_file = SIMP(statut="o", typ = ('Fichier', 'XLS file (*.xls);;All Files (*)',),), + Onglets = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), + BusList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), + ContList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), + ) diff --git a/OldCodes/PSEN_N1/configuration_PSEN_N1.py b/OldCodes/PSEN_N1/configuration_PSEN_N1.py new file mode 100644 index 00000000..4ab64b85 --- /dev/null +++ b/OldCodes/PSEN_N1/configuration_PSEN_N1.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +from InterfaceQT4 import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['catalogues','lang'] + self.labels_eficas=['lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py b/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py new file mode 100644 index 00000000..7ffd8d0a --- /dev/null +++ b/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py @@ -0,0 +1,56 @@ +def processXLS(listeparam) : + print "dans processXLS" + item=listeparam[0] + fileNameObj=item.object.get_child('XLS_file') + if fileNameObj : fileName=fileNameObj.get_valeur() + else : fileName = "" + if fileName == "" : return 0, 'Nom de fichier invalide' + + ongletListObj=item.object.get_child('Onglets') + if ongletListObj : ongletList= ongletListObj.get_valeur() + else : ongletList = [] + if ongletList == [] : return 0, 'ongletList invalide' + + busListObj=item.object.get_child('BusList') + if busListObj : busList= busListObj.get_valeur() + else : busList = [] + if busList == [] : return 0, 'BusList invalide' + + contListObj=item.object.get_child('ContList') + if contListObj : contList=contListObj.get_valeur() + else : contList = [] + if contList == [] : return 0, 'ContList invalide' + + dicoBus={} + dicoCont={} + for onglet in ongletList: + recherche=str(" ("+ str(onglet) +" )") + listeBusPourOnglet=[] + listeContPourOnglet=[] + for bus in busList : + nomBusSplit=str(bus).split(recherche) + if len(nomBusSplit) == 2 : listeBusPourOnglet.append(nomBusSplit[0]) + for cont in contList : + nomContSplit=str(cont).split(recherche) + if len(nomContSplit) == 2 : listeContPourOnglet.append(nomContSplit[0]) + if listeBusPourOnglet != [] : dicoBus[onglet]=listeBusPourOnglet + if listeContPourOnglet != [] : dicoCont[onglet]=listeContPourOnglet + + from Processor import processXLS + processXLS(fileName,dicoBus,dicoCont) + #if nouvelleVal != [] : prob.set_valeur(nouvelleVal) + +# le dictionnaire des commandes a la structure suivante : +# la clef est la commande qui va proposer l action +# puis un tuple qui contient +# - la fonction a appeler +# - le label dans le menu du clic droit +# - un tuple contenant les parametres attendus par la fonction +# - appelable depuis Salome uniquement -) +# - appelable depuis un item valide uniquement +# - toolTip +dict_commandes={ + 'DATA_PROCESSING': ( + (processXLS,"process",('item',),False,True,"process values "), + ), + } diff --git a/OldCodes/PSEN_N1/opsPSEN_N1.py b/OldCodes/PSEN_N1/opsPSEN_N1.py new file mode 100644 index 00000000..9ea600a6 --- /dev/null +++ b/OldCodes/PSEN_N1/opsPSEN_N1.py @@ -0,0 +1,112 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +#from ExtractGeneratorLoadLineandTransfoDico import * +#from ExtractGeneratorLoadLineandTransfoDico import ExtractGeneratorLoadLineandTransfoDico2 + +def INCLUDE(self,PSSE_path,**args): + """ + Fonction sd_prod pour la macro INCLUDE + """ + #print('in INCLUDE') + #print args + CaseFolder = args['output_folder'] + if CaseFolder==None: return + reevalue=0 + if hasattr(self,'fichier_ini'): + reevalue=1 + if self.fichier_ini == CaseFolder : return + if hasattr(self,'old_context_fichier_init' ): + for concept in self.old_context_fichier_init.values(): + self.jdc.delete_concept(concept) + self.jdc_aux=None + self.contexte_fichier_init={} + self.reevalue_sd_jdc() + self.jdc.reset_context() + + self.fichier_ini=CaseFolder + self.contexte_fichier_init = {} + self.fichier_unite = 999 + self.fichier_err = None + self.fichier_text="" + + unite = 999 + + BusList = [138, 77, 69] + self.jdc.appli.changeIntoMC(self,'BusesList',BusList) + + + +def INCLUDE_context(self,d): + """ + Fonction op_init pour macro INCLUDE + """ + for k,v in self.g_context.items(): + d[k]=v + + +def PROCESS_context(self,d): + print "dans le init du Process" + +def PROCESS(self,XLS_file,**args): + if XLS_file == "" or XLS_file == None: return + if not (hasattr(self,'dico')) : + from Processor import getXLS + self.dico=getXLS(XLS_file) + self.jdc.appli.changeIntoMC(self,'Onglets',self.dico.keys()) + self.OngletsValeurs=[] + else : + # On teste si on a modifie la liste des onglets + OngletsValeurs= self.get_child('Onglets').getval() + + + if not (hasattr(self,'OngletsValeurs')) : self.OngletsValeurs=OngletsValeurs + elif self.OngletsValeurs == OngletsValeurs : print 'return' ;return + else : self.OngletsValeurs=OngletsValeurs + + if OngletsValeurs==() or OngletsValeurs == []: + self.jdc.appli.deleteMC(self,'BusList') + self.jdc.appli.deleteMC(self,'ContList') + self.OngletsValeurs=[] + return + + OldBusValeurs= self.get_child('BusList').getval() + OldContValeurs= self.get_child('ContList').getval() + if OldBusValeurs == None : OldBusValeurs=[] + if OldContValeurs == None : OldContValeurs=[] + + listeBus=[] + listeCont=[] + listeBusCoches=[] + listeContCoches=[] + for o in OngletsValeurs : + for b in self.dico[o][0]: + texte=b+" ("+ str(o) +" )" + listeBus.append(str(texte)) + if texte in OldBusValeurs : listeBusCoches.append(str(texte)) + for c in self.dico[o][1]: + texte=c+" ("+ str(o) +" )" + listeCont.append(str(texte)) + if texte in OldContValeurs : listeContCoches.append(str(texte)) + + self.jdc.appli.changeIntoMCandSet(self,'BusList',listeBus,listeBusCoches) + self.jdc.appli.changeIntoMCandSet(self,'ContList',listeCont,listeContCoches) + + diff --git a/OldCodes/PSEN_N1/prefs.py b/OldCodes/PSEN_N1/prefs.py new file mode 100644 index 00000000..647d0ae9 --- /dev/null +++ b/OldCodes/PSEN_N1/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="PSEN_N1" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/PSEN_N1/prefs_PSEN_N1.py b/OldCodes/PSEN_N1/prefs_PSEN_N1.py new file mode 100644 index 00000000..00992868 --- /dev/null +++ b/OldCodes/PSEN_N1/prefs_PSEN_N1.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='en' #'fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni + + +# +catalogues=( + ('PSEN_N1','default',os.path.join(repIni,'PSEN_Cata_N1.py'),'python','python'), +) diff --git a/OldCodes/PSEN_N1/properties.py b/OldCodes/PSEN_N1/properties.py new file mode 100644 index 00000000..1d328a46 --- /dev/null +++ b/OldCodes/PSEN_N1/properties.py @@ -0,0 +1,24 @@ +#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "1.2" +date = "25/05/2010" +exploit = False diff --git a/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py b/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py new file mode 100755 index 00000000..6863fe03 --- /dev/null +++ b/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +#sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +import prefs +name='prefs_'+prefs.code +__import__(name) + +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/PSEN_N1/run.py b/OldCodes/PSEN_N1/run.py new file mode 100644 index 00000000..4a660891 --- /dev/null +++ b/OldCodes/PSEN_N1/run.py @@ -0,0 +1,15 @@ +import sys + +def runPSEN_N1(dico) : + try : + for k in dico.keys() : + print k + except : + pass + print dico + return 1,'hhhh' + +if __name__ == "__main__": + if dico == None : dico={} + runPSEN_N1(dico) + diff --git a/OldCodes/Sep/CMakeLists.txt b/OldCodes/Sep/CMakeLists.txt new file mode 100644 index 00000000..c996b408 --- /dev/null +++ b/OldCodes/Sep/CMakeLists.txt @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + + +install ( FILES + qtEficas_SEP.py SEP_Cata_V1_4.py configuration_SEP.py prefs.py + __init__.py prefs_SEP.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/Sep + ) + + + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/Sep/SEP_Cata_V0.py b/OldCodes/Sep/SEP_Cata_V0.py new file mode 100644 index 00000000..0e0957b3 --- /dev/null +++ b/OldCodes/Sep/SEP_Cata_V0.py @@ -0,0 +1,114 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), + regles=(AU_PLUS_UN('STRUCTURE_SIMPLE',),), + )# Fin JDC_CATA +# + + +STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "sous epaisseur ", + dir_name = SIMP(statut='o', typ='TXM',), + + + TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), + + CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), + + + b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", + + MAIL_TUBE = FACT( statut='o', + fr = "Parametres maillage du tube ", + POINTS_DE_MESURE = FACT( statut='o', + FICHIER1 =SIMP(statut='f',typ='Fichier', + fr="Format du fichier : CSV.",), + FICHIER2 =SIMP(statut='f',typ='Fichier', + fr="Format du fichier : CSV.",), + ), + R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur du tube"), + EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale du tube sans sous epaisseur"), + NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=11 , val_min=1, fr="nombre de segments dans la longueur d'amortissement"), + NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=4 , val_min=1, fr="nombre de segments dans longueur de transition"), + NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=5 , val_min=1, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + PETITE_DISTANCE =SIMP(statut='o', typ='R', defaut=100.0 , fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + NB_SEG_PETITES_DISTANCES =SIMP(statut='o', typ='I', defaut=3 , val_min=3 , fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=5 , val_min=2 , fr="nombre de segments dans l'arc du tube entre deux generatrices"), + NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 , fr="nombre de segments dans l'epaisseur du tube"), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + + b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", + + MAIL_COUDE = FACT( statut='o', + fr = "Parametres maillage du coude ", + POINTS_DE_MESURE = FACT( statut='o', + FICHIER1 =SIMP(statut='f',typ='Fichier', + fr="Format du fichier : CSV.",), + ), + R_COUDE =SIMP(statut='o', typ='R', fr="rayon du coude"), + R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur"), + EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale sans sous epaisseur"), + ANGLE_COUDE =SIMP(statut='o', typ='R', defaut=90 , val_min=90. , val_max=90. ,fr="angle du coude"), + ORIENTATION_COUDE =SIMP(statut='o', typ='TXM',defaut='D',into=('D','G'),fr="orientation du coude"), + LONGUEUR_PROLONGEMENT_AMONT=SIMP(statut='o', typ='R', fr="longueur du prolongement amont"), + LONGUEUR_PROLONGEMENT_AVAL =SIMP(statut='o', typ='R', fr="longueur du prologenment aval"), + PAS_MESURE =SIMP(statut='o', typ='I', fr="pas de la mesure"), + DEBUT_MESURE =SIMP(statut='o', typ='R', fr="distance de la premiere mesure"), + ANGLE_MESURE =SIMP(statut='o', typ='R', defaut=45. ,fr="angle entre deux generatrices"), + NB_SEG_PROLONGEMENT_AMONT =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement amont"), + NB_SEG_PROLONGEMENT_AVAL =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement aval"), + NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=10 , val_min=1 ,fr="nombre de segments dans la longueur d'amortissement"), + NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=5 , val_min=1 ,fr="nombre de segments dans longueur de transition"), + NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=25 , val_min=25 ,fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=7 , val_min=2 ,fr="nombre de segments dans l'arc du coude entre deux generatrices"), + NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 ,fr="nombre de segments dans l'epaissuer"), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + + b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + b_charge_limite_oui=BLOC(condition = "((CHARGE_LIMITE == 'OUI') )", + + TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM', into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP',),), + + PARAMETRES_CALCUL = FACT( statut='o', + fr = "Parametres pour calcul de charge limite ", + + MEMOIRE=SIMP(statut='o', typ='I', ), + TEMPS =SIMP(statut='o', typ='I', ), + MACHINE=SIMP(statut='o', typ='TXM', defaut='LOCAL',into=('LOCAL','DISTANT'),), + + ), + PARAMETRES_CHARGE_LIMITE = FACT( statut='o', + fr = "Parametres materiau pour calcul de charge limite ", + + E =SIMP(statut='o', typ='R', fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', fr="limite d'elasticite"), + ), + + ), +) diff --git a/OldCodes/Sep/SEP_Cata_V1.py b/OldCodes/Sep/SEP_Cata_V1.py new file mode 100644 index 00000000..65bab217 --- /dev/null +++ b/OldCodes/Sep/SEP_Cata_V1.py @@ -0,0 +1,127 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), + regles=( UN_PARMI('S_EP_INTERNE','MACRO_OUTIL1','MACRO_OUTIL2'),), + )# Fin JDC_CATA +# + + +S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "sous epaisseur ", + dir_name = SIMP(statut='o', typ='TXM',), + TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR',)), + b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", + regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), + MAIL_TUBE = FACT( statut='f',max='**', + fr = "Parametres maillage du tube ", + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), + petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), + ), + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='R', defaut=4096.,val_min=4096.,val_max=8000.), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + ), + b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", + regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), + MAIL_COUDE = FACT( statut='f',max='**', + fr = "Parametres maillage du coude ", + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), + r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), + ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), + angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), + orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), + longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), + longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), + pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), + debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), + angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), + nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), + nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du coude entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), + ), + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='R', defaut=4096,val_min=4096,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + ), +) + + +MACRO_OUTIL1= MACRO (nom = 'MACRO_OUTIL1', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "Outil 1", + dir_name = SIMP(statut='o', typ='TXM',), + PARA_GEOM = FACT( statut='o', + max=1, + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), + unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), + ), +) + +MACRO_OUTIL2= MACRO (nom = 'MACRO_OUTIL2', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "Outil 2", + dir_name = SIMP(statut='o', typ='TXM',), + PARA_GEOM = FACT( statut='o', + max=1, + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), + unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), + ), +) + diff --git a/OldCodes/Sep/SEP_Cata_V1_2.py b/OldCodes/Sep/SEP_Cata_V1_2.py new file mode 100644 index 00000000..3f1c7713 --- /dev/null +++ b/OldCodes/Sep/SEP_Cata_V1_2.py @@ -0,0 +1,127 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), + regles=( UN_PARMI('S_EP_INTERNE'),), + )# Fin JDC_CATA +# + + +S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "sous epaisseur ", + dir_name = SIMP(statut='o', typ='TXM',), + TYPE_EXEC = SIMP(statut='o', typ='TXM',into=('MAILLAGE','CALCUL',)), + TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR','TEST_SOUS_EPAISSEUR')), + b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", + regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), + MAIL_TUBE = FACT( statut='f',max='**', + fr = "Parametres maillage du tube ", + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), + petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), + ), + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + ), + b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", + regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), + MAIL_COUDE = FACT( statut='f',max='**', + fr = "Parametres maillage du coude ", + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), + r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), + ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), + angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), + orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), + longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), + longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), + pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), + debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), + angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), + nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), + nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), + ), + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + ), + b_test_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TEST_SOUS_EPAISSEUR' ", + regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), + MAIL_TUBE = FACT( statut='f',max='**', + fr = "Parametres maillage du tube ", + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), + petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), + ), + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='I', defaut=128,val_min=128,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + ) +) + diff --git a/OldCodes/Sep/SEP_Cata_V1_3.py b/OldCodes/Sep/SEP_Cata_V1_3.py new file mode 100644 index 00000000..2895dbb7 --- /dev/null +++ b/OldCodes/Sep/SEP_Cata_V1_3.py @@ -0,0 +1,126 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), + regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), + )# Fin JDC_CATA +# + + +STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "sous epaisseur ", + dir_name = SIMP(statut='o', typ='TXM',), + + MAILLAGE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), + CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), + + lecture_maillage = BLOC(condition = "(MAILLAGE == 'NON') and (CHARGE_LIMITE=='OUI') ", + LECTURE_MAILLAGE = FACT( statut='o',max='**', + FICHIER =SIMP(statut='o',typ='Fichier',), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), + fr="Format du fichier : ASTER ou MED.",), + NOM = SIMP(statut='f',typ='TXM', + fr="Nom du maillage dans le fichier MED.",),), + ), + + execution_maillage = BLOC(condition = "MAILLAGE == 'OUI' ", + + TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE','COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE')), + + b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') or (TYPE_SEP=='TUBE_SOUS_EP_EXTERNE') ", + regles=(UN_PARMI('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE'),), + MAIL_TUBE = FACT( statut='f',max='**', + fr = "Parametres maillage du tube ", + points_de_mesure = FACT( statut='o',max='**', + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : CSV.",), + FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), + fr="Format du fichier : CSV",), + ), + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + + b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') or (TYPE_SEP=='COUDE_SOUS_EP_EXTERNE') ", + regles=(UN_PARMI('COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE'),), + MAIL_COUDE = FACT( statut='f',max='**', + fr = "Parametres maillage du coude ", + points_de_mesure = FACT( statut='o',max='**', + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : CSV.",), + FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), + fr="Format du fichier : CSV",), + ), + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), + r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), + ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), + angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), + orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), + longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), + longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), + pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), + debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), + angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), + nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), + nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), + + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + ), + + b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", + CHARGE_LIMITE = FACT( statut='f',max='**', + fr = "Parametres pour calcul de charge limite ", + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + version_aster=SIMP(statut='o', typ='TXM', defaut='STA10',into=('STA9','STA10'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), + E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), + D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + +) + diff --git a/OldCodes/Sep/SEP_Cata_V1_4.py b/OldCodes/Sep/SEP_Cata_V1_4.py new file mode 100644 index 00000000..462b8c6d --- /dev/null +++ b/OldCodes/Sep/SEP_Cata_V1_4.py @@ -0,0 +1,150 @@ +## -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), + regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), + )# Fin JDC_CATA +# + + +STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "sous epaisseur ", + dir_name = SIMP(statut='o', typ='TXM',), + + CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), + + TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), + + + b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", + + points_de_mesure = FACT( statut='o',max='**', + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : CSV.",), + ), + + + MAIL_TUBE = FACT( statut='f',max='**', + fr = "Parametres maillage du tube ", + + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), + nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + + b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", + + points_de_mesure = FACT( statut='o',max='**', + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : CSV.",), + FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), + fr="Format du fichier : CSV",), + ), + MAIL_COUDE = FACT( statut='f',max='**', + fr = "Parametres maillage du coude ", + + unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), + r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), + ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), + angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), + orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), + longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), + longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), + pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), + debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), + angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), + nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), + nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), + nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), + nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), + nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), + nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), + nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), + critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), + + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + + b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", + + TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM',into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP')), + + PARAMETRES = FACT( statut='o',max='**', + fr = "Parametres pour calcul de charge limite ", + + unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), + memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), + unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), + temps=SIMP(statut='o', typ='R', defaut=50.), + machine=SIMP(statut='o', typ='TXM', defaut='locale',into=('locale','distante'),), + unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('Pa','MPa'),), + + E =SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), + NU=SIMP(statut='o', typ='R', defaut=0.3 , fr="coefficient de poisson"), + SY=SIMP(statut='o', typ='R', defaut=98.7 , fr="limite d'elasticite"), + ), + + CHARGE_LIMITE_INF = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_INF') ", + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : .COMM",), + ), + + CHARGE_LIMITE_SUP = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_SUP') ", + FICHIER =SIMP(statut='o',typ='Fichier', + fr="Format du fichier : .COMM",), + ), + + INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), + ), + + +) + diff --git a/OldCodes/Sep/__init__.py b/OldCodes/Sep/__init__.py new file mode 100644 index 00000000..8ed65e16 --- /dev/null +++ b/OldCodes/Sep/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# diff --git a/OldCodes/Sep/catalogues_sep.ini b/OldCodes/Sep/catalogues_sep.ini new file mode 100644 index 00000000..7aee501b --- /dev/null +++ b/OldCodes/Sep/catalogues_sep.ini @@ -0,0 +1,14 @@ +# Choix des catalogues +import os +#rep_cata=os.path.dirname(os.path.abspath(__file__)) +rep_cata=os.getcwd() + +catalogues = ( + #('SEP','V0',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'), + #('SEP','V1',os.path.join(rep_cata,'SEP_Cata_V1.py'),'SEP','SEP'), + #('SEP','V1_1',os.path.join(rep_cata,'SEP_Cata_V1_1.py'),'SEP','SEP'), + #('SEP','V1_2',os.path.join(rep_cata,'SEP_Cata_V1_2.py'),'SEP','SEP'), + # ('SEP','V1_3',os.path.join(rep_cata,'SEP_Cata_V1_3.py'),'SEP','SEP'), + ('SEP','V1',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'), +) + diff --git a/OldCodes/Sep/configuration_SEP.py b/OldCodes/Sep/configuration_SEP.py new file mode 100644 index 00000000..4c7fcae7 --- /dev/null +++ b/OldCodes/Sep/configuration_SEP.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +import os, sys, string, types, re +import traceback +from PyQt4.QtGui import * + +# Modules Eficas +import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['exec_acrobat', 'catalogues','savedir'] + self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] + + self.INSTALLDIR =os.path.dirname(__file__) + configuration.CONFIG_BASE.__init__(self,appli,repIni) + + + +def make_config(appli,rep): + return CONFIG(appli,rep) + + diff --git a/OldCodes/Sep/editeur.ini b/OldCodes/Sep/editeur.ini new file mode 100644 index 00000000..83dff66c --- /dev/null +++ b/OldCodes/Sep/editeur.ini @@ -0,0 +1,44 @@ +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os + +from Sous_epaisseur import prefs + +rep_cata = os.path.join(prefs.repIni,'Cata') +print rep_cata + +# Accès à la documentation Aster +path_doc = os.path.join(rep_cata,'..','Doc') +exec_acrobat = "acroread" +# Utilisateur/Développeur +isdeveloppeur = "NON" +path_cata_dev = "/tmp/cata" +# Répertoire temporaire +rep_travail = "/tmp" +# Répertoire initial +initialdir=os.curdir + +# Choix des catalogues + +catalogues = ( + ('Sous_epaisseur','v1.0',os.path.join(rep_cata,'SEP_Cata_V1_4'),'python'), + ) + diff --git a/OldCodes/Sep/prefs.py b/OldCodes/Sep/prefs.py new file mode 100644 index 00000000..f91e53af --- /dev/null +++ b/OldCodes/Sep/prefs.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +import os,sys + +# repIni sert à localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) + +# INSTALLDIR sert à localiser l'installation d'Eficas +# Obligatoire +INSTALLDIR=os.path.join(repIni,'..') + +# CODE_PATH sert à localiser Noyau et Validation éventuellement +# non contenus dans la distribution EFICAS +# Par défaut on utilise les modules de INSTALLDIR +# Peut valoir None (defaut) +CODE_PATH = None + +# la variable code donne le nom du code a selectionner +code="SEP" + +# lang indique la langue utilisée pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' + + +EditeurDir=INSTALLDIR+"/Editeur" +sys.path.insert(0,INSTALLDIR) + +ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') + +# Preference +if os.name == 'nt': + userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ]) +else : + userprefs=os.path.expanduser("~/.Eficas_SEP/prefs.py") + +if os.path.isfile(userprefs): + try: + execfile(userprefs) + except: + pass + diff --git a/OldCodes/Sep/prefs_SEP.py b/OldCodes/Sep/prefs_SEP.py new file mode 100644 index 00000000..66a112fb --- /dev/null +++ b/OldCodes/Sep/prefs_SEP.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +import os,sys + +# repIni sert à localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) + +# lang indique la langue utilisée pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' + +catalogues = ( + ('Sous_epaisseur','v1.0',os.path.join(repIni,'SEP_Cata_V1_4.py'),'python'), +) + diff --git a/OldCodes/Sep/properties.py b/OldCodes/Sep/properties.py new file mode 100644 index 00000000..bd8236ca --- /dev/null +++ b/OldCodes/Sep/properties.py @@ -0,0 +1,24 @@ +#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "0.1" +date = "20/05/2009" +exploit = False diff --git a/OldCodes/Sep/qtEficas_SEP.py b/OldCodes/Sep/qtEficas_SEP.py new file mode 100755 index 00000000..741a2e49 --- /dev/null +++ b/OldCodes/Sep/qtEficas_SEP.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster Outils Metier Sous-Epaisseur +""" +# Modules Python + +# Modules Eficas +import prefs +from InterfaceQT4 import eficas_go +#from InterfaceQT import eficas_go + +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Sep/sdistSEP.py b/OldCodes/Sep/sdistSEP.py new file mode 100644 index 00000000..e94077f3 --- /dev/null +++ b/OldCodes/Sep/sdistSEP.py @@ -0,0 +1,99 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions d'EFICAS pour SEP + en fonction du tag CVS courant + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'EficasV1 par la commande : + cvs export -r TAG -d Eficas_export EficasV1 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) + 5- Aller dans le répertoire Eficas_export + 6- Executer le script sdist.py + python sdist.py + Ce qui a pour effet de creer un repertoire dist contenant la distribution + et de la copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +nom_distrib="QTEficasSEP_V1_0" +path_distrib=os.path.join("dist",nom_distrib) +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py','faqs.txt']) + copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) + copyfiles('../Sous_epaisseur',os.path.join(path_distrib,'Sous_epaisseur'),['*.py','*.ini']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) + # AIDE + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) + copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) + # ______________________ + + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + os.system("rm -rf .././convert/Parserv5 ") + os.system("rm -rf .././convert/convert_asterv5.py ") + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) + copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + + copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) + + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + shutil.copy(file,dir_cible) + + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + + +main() + diff --git a/OldCodes/Sep/style.py b/OldCodes/Sep/style.py new file mode 100644 index 00000000..d4855725 --- /dev/null +++ b/OldCodes/Sep/style.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +""" +Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les +informations sur le style voulu dans son repertoire Eficas_install. + +La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le +fichier style.py d'Eficas_install. Exemple:: + + style.background='yellow' + +pour modifier la couleur du background. + +Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. + +Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs +de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: + + class STYLE(STYLE): + background='yellow' + +Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: + + style=STYLE() + +Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: + + background='gray90' + foreground='black' + entry_background='white' + list_background='white' + list_select_background='#00008b' + list_select_foreground='grey' + tooltip_background="yellow" + + standard = ("Helvetica",12) + standard_italique = ("Helvetica",12,'italic') + standard_gras = ("Helvetica",12,'bold') + standard_gras_souligne = ("Helvetica",12,'bold','underline') + + canvas = ('Helvetica',10) + canvas_italique = ('Helvetica',10,'italic') + canvas_gras = ("Helvetica",10,'bold') + canvas_gras_italique = ("Helvetica",12,'bold','italic') + + standard12 = ("Helvetica",14) + standard12_gras = ("Helvetica",14,'bold') + standard12_gras_italique = ( "Helvetica",14,'bold','italic') + + +Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. +Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install +sont prises en compte dans cet ordre. +""" + +p1=10 +p2=14 +f1="Helvetica" + +style.background='gray90' +style.foreground='black' +style.standard = (f1,p1) +style.standard_italique = (f1,p1,'italic') +style.standard_gras = (f1,p1,'bold') +style.canvas_italique = (f1,p1,'italic') +style.canvas_gras = (f1,p1,'bold') +style.statusfont = (f1,p2) diff --git a/OldCodes/UiQT4/CMakeLists.txt b/OldCodes/UiQT4/CMakeLists.txt new file mode 100644 index 00000000..5e60625a --- /dev/null +++ b/OldCodes/UiQT4/CMakeLists.txt @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002, 2013 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +set ( _PYFILES ) +macro ( eficas_compile_ui uifile ) + get_filename_component ( _file_we ${uifile} NAME_WE ) + set ( _pyfile "${_file_we}.py" ) + add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} + COMMAND ${PYUIC4} ARGS -x -o ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ${CMAKE_CURRENT_SOURCE_DIR}/${uifile} + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${uifile} + COMMENT "Compiling ${uifile}" + ) + list ( APPEND _PYFILES ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ) +endmacro ( eficas_compile_ui ) + +eficas_compile_ui ( myMain.ui ) +eficas_compile_ui ( desBaseWidget.ui ) +eficas_compile_ui ( desChoixCata.ui ) +eficas_compile_ui ( desChoixCode.ui ) +eficas_compile_ui ( desChoixCommandes.ui ) +eficas_compile_ui ( desChoixLangue.ui ) +eficas_compile_ui ( desRecherche.ui ) +eficas_compile_ui ( desRechercheCatalogue.ui ) +eficas_compile_ui ( desSelectVal.ui ) +eficas_compile_ui ( desViewTexte.ui ) +eficas_compile_ui ( desViewRegles.ui ) +eficas_compile_ui ( desVisu.ui ) +eficas_compile_ui ( desWidgetCreeParam.ui ) +eficas_compile_ui ( desWidgetCommande.ui ) +eficas_compile_ui ( desWidgetFormule.ui ) +eficas_compile_ui ( desWidgetOptionnel.ui ) +eficas_compile_ui ( desGroupeOptionnel.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 ( desWidgetFact.ui ) +eficas_compile_ui ( desWidgetFactPlie.ui ) +eficas_compile_ui ( desWidgetHeure.ui ) +eficas_compile_ui ( desWidgetInactif.ui ) +eficas_compile_ui ( desWidgetInformation.ui ) +eficas_compile_ui ( desWidgetMatrice.ui ) +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 ( desWidgetPlusieursPlie.ui ) +eficas_compile_ui ( desWidgetRadioButton.ui ) +eficas_compile_ui ( desWidget4a6RadioButton.ui ) +eficas_compile_ui ( desWidgetSDCOInto.ui ) +eficas_compile_ui ( desWidgetSimpBase.ui ) +eficas_compile_ui ( desWidgetSimpBool.ui ) +eficas_compile_ui ( desWidgetSimpComplexe.ui ) +eficas_compile_ui ( desWidgetSimpFichier.ui ) +eficas_compile_ui ( desWidgetSimpSalome.ui ) +eficas_compile_ui ( desWidgetSimpTxt.ui ) +eficas_compile_ui ( desWidgetTuple2.ui ) +eficas_compile_ui ( desWidgetTuple3.ui ) +eficas_compile_ui ( desWidgetUniqueSDCO.ui ) +eficas_compile_ui ( desWidgetVide.ui ) + +add_custom_target ( CompileUI ALL DEPENDS ${_PYFILES} + COMMENT "Built UI files" + ) + +install ( FILES ${_PYFILES} + DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4 + ) + +# Rules to compile TS files +SET(TSFILES eficas_en.ts + eficas_fr.ts) + +SET(QMFILES) +FOREACH(input ${TSFILES}) + GET_FILENAME_COMPONENT(base ${input} NAME_WE) + SET(output ${CMAKE_CURRENT_BINARY_DIR}/${base}.qm) + SET(QMFILES ${QMFILES} ${output}) + ADD_CUSTOM_COMMAND(OUTPUT ${output} + COMMAND ${QT_LRELEASE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${input} -qm ${output} + MAIN_DEPENDENCY ${input}) +ENDFOREACH(input ${TSFILES}) + +ADD_CUSTOM_TARGET(CompileTS ALL DEPENDS ${QMFILES}) +INSTALL(FILES ${QMFILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4) + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/UiQT4/Newdoc.tgz b/OldCodes/UiQT4/Newdoc.tgz new file mode 100644 index 00000000..1ec9456b Binary files /dev/null and b/OldCodes/UiQT4/Newdoc.tgz differ diff --git a/OldCodes/UiQT4/Tuple2.ui b/OldCodes/UiQT4/Tuple2.ui new file mode 100644 index 00000000..fb7c2ab6 --- /dev/null +++ b/OldCodes/UiQT4/Tuple2.ui @@ -0,0 +1,149 @@ + + + Tuple2 + + + + 0 + 0 + 482 + 34 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + + false + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 5 + 20 + + + + + + + + + LECustomTuple + QLineEdit +
gereListe.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/Tuple3.ui b/OldCodes/UiQT4/Tuple3.ui new file mode 100644 index 00000000..10c44979 --- /dev/null +++ b/OldCodes/UiQT4/Tuple3.ui @@ -0,0 +1,164 @@ + + + Tuple3 + + + + 0 + 0 + 880 + 33 + + + + Form + + + + 0 + + + 0 + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + false + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 123 + 20 + + + + + + + + + LECustomTuple + QLineEdit +
gereListe.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desBaseWidget.ui b/OldCodes/UiQT4/desBaseWidget.ui new file mode 100644 index 00000000..43289173 --- /dev/null +++ b/OldCodes/UiQT4/desBaseWidget.ui @@ -0,0 +1,92 @@ + + + baseWidget + + + + 0 + 0 + 1038 + 557 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DMacro + + + + + + + 0 + + + + + Qt::Horizontal + + + 3 + + + + background:rgb(247,247,247); + + + + + + 0 + + + + + + + 0 + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desChoixCata.ui b/OldCodes/UiQT4/desChoixCata.ui new file mode 100644 index 00000000..39a16c5a --- /dev/null +++ b/OldCodes/UiQT4/desChoixCata.ui @@ -0,0 +1,201 @@ + + + DChoixCata + + + + 0 + 0 + 466 + 206 + + + + Choix d'une version du code Aster + + + true + + + + + + + + + 0 + 0 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 45 + + + + + + + + true + + + + 400 + 41 + + + + + 150 + 16777215 + + + + + + + + Qt::Vertical + + + + 20 + 45 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Cancel + + + + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + Validate choice + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + + &OK + + + + + + true + + + true + + + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desChoixCode.ui b/OldCodes/UiQT4/desChoixCode.ui new file mode 100644 index 00000000..33ea0f8b --- /dev/null +++ b/OldCodes/UiQT4/desChoixCode.ui @@ -0,0 +1,155 @@ + + + ChoixCode + + + + 0 + 0 + 555 + 332 + + + + + 0 + 0 + + + + Choix du code + + + + + + + 0 + 0 + + + + + 0 + 30 + + + + Veuillez choisir un code : + + + + + + + + 0 + 0 + + + + + + + + + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Cancel + + + + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + Validate choice + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + + &OK + + + + + + true + + + true + + + + + + + + + + diff --git a/OldCodes/UiQT4/desChoixCommandes.ui b/OldCodes/UiQT4/desChoixCommandes.ui new file mode 100644 index 00000000..be67512d --- /dev/null +++ b/OldCodes/UiQT4/desChoixCommandes.ui @@ -0,0 +1,449 @@ + + + ChoixCommandes + + + + 0 + 0 + 1244 + 652 + + + + + 0 + 0 + + + + + 505 + 0 + + + + DMacro + + + background-color : rgb(248,247,246) + + + + 0 + + + 2 + + + + + + 0 + 0 + + + + + 0 + 130 + + + + + 16777215 + 130 + + + + background-color:rgb(224,223,222) + + + QFrame::NoFrame + + + QFrame::Raised + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> + + + + + + + affiche les commandes par ordre alphabetique + + + Alphabetique + + + + + + + affiche les commandes selon les thèmes + + + Ordre de la modélisation + + + + + + + affiche les commandes selon les thèmes + + + Par Groupe + + + + + + + + + Qt::Horizontal + + + + 109 + 20 + + + + + + + + 5 + + + + + + 0 + 0 + + + + + 141 + 25 + + + + + 16777215 + 25 + + + + selectionne les mots qui CONTIENNENT l expression + + + QFrame::Box + + + QFrame::Raised + + + 1 + + + <html><head/><body><p align="center">Filtre Commande</p></body></html> + + + false + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 2 + + + + + + + + + 0 + 0 + + + + + 195 + 30 + + + + filter commands + + + background-color : rgb(248,247,246) + + + false + + + + + + + QLayout::SetMinimumSize + + + + + + 0 + 0 + + + + Sensible à la casse + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 100 + 30 + + + + + 70 + 40 + + + + ré-affiche toutes les commandes + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + Effacer + + + + + + + + + + + Qt::Horizontal + + + + 108 + 20 + + + + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + affiche les régles de validité + + + border : 0px + + + ... + + + + ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png + + + + 21 + 31 + + + + + + + + Règles de construction + + + + + + + + + Qt::Vertical + + + + 168 + 13 + + + + + + + + + + Qt::Horizontal + + + + 173 + 20 + + + + + + + + + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 1240 + 518 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 2 + + + 0 + + + 0 + + + + + 0 + + + + + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desChoixLangue.ui b/OldCodes/UiQT4/desChoixLangue.ui new file mode 100644 index 00000000..7beb2787 --- /dev/null +++ b/OldCodes/UiQT4/desChoixLangue.ui @@ -0,0 +1,125 @@ + + + ChoixLangue + + + + 0 + 0 + 191 + 119 + + + + + 0 + 0 + + + + Langue + + + + + + + 0 + 0 + + + + + + + + 0 + + + 0 + + + 0 + + + 4 + + + 0 + + + + + Français + + + + + + + English + + + + + rbEnglish + rbFrancais + + + + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + + 20 + 20 + + + + + + + + + 60 + 30 + + + + Validate choice + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + + &OK + + + + + + true + + + true + + + + + + + + + + diff --git a/OldCodes/UiQT4/desGroupeOptionnel.ui b/OldCodes/UiQT4/desGroupeOptionnel.ui new file mode 100644 index 00000000..c40c4c22 --- /dev/null +++ b/OldCodes/UiQT4/desGroupeOptionnel.ui @@ -0,0 +1,130 @@ + + + groupeOptionnel + + + + 0 + 0 + 400 + 300 + + + + Form + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + + + + 0 + 0 + + + + + 0 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + + + Qt::Horizontal + + + + 1037 + 20 + + + + + + + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::NoFrame + + + 0 + + + true + + + + + 0 + 0 + 382 + 225 + + + + + 0 + 0 + + + + + + + Qt::Vertical + + + + 20 + 75 + + + + + + + + + + + + + diff --git a/OldCodes/UiQT4/desRecherche.ui b/OldCodes/UiQT4/desRecherche.ui new file mode 100644 index 00000000..a0a44f98 --- /dev/null +++ b/OldCodes/UiQT4/desRecherche.ui @@ -0,0 +1,75 @@ + + + desRecherche + + + + 0 + 0 + 525 + 55 + + + + Rechercher dans le JDC + + + Next + + + + + 0 + 10 + 411 + 41 + + + + + 0 + 0 + + + + background:rgb(240,240,240) + + + + + true + + + + 420 + 10 + 101 + 41 + + + + + 0 + 0 + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + Suivant + + + false + + + true + + + + + + diff --git a/OldCodes/UiQT4/desRechercheCatalogue.ui b/OldCodes/UiQT4/desRechercheCatalogue.ui new file mode 100644 index 00000000..ef529e25 --- /dev/null +++ b/OldCodes/UiQT4/desRechercheCatalogue.ui @@ -0,0 +1,85 @@ + + + desRechercheCatalogue + + + + 0 + 0 + 817 + 359 + + + + Rechercher dans le Catalogue + + + + + + + + + 105 + 0 + + + + + 105 + 22 + + + + Mot à charcher + + + + + + + + + + + + Généalogie + + + + + + + + 419 + 91 + + + + + + + + + + Documentation + + + + + + + + 419 + 101 + + + + + + + + + + + diff --git a/OldCodes/UiQT4/desSelectVal.ui b/OldCodes/UiQT4/desSelectVal.ui new file mode 100644 index 00000000..125bae0e --- /dev/null +++ b/OldCodes/UiQT4/desSelectVal.ui @@ -0,0 +1,268 @@ + + + DSelVal + + + + 0 + 0 + 635 + 744 + + + + + 0 + 0 + + + + Sélection de valeurs + + + background:rgb(235,235,235) + + + + 0 + + + 0 + + + + + + 0 + 400 + + + + background:rgb(250,250,250) + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + + + + 0 + 0 + + + + + 280 + 150 + + + + Separateur + + + + 15 + + + 0 + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 7 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + espace + + + true + + + + + + + virgule + + + + + + + point-virgule + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + 0 + + + + + + 23 + 43 + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + + 200 + 40 + + + + + 200 + 40 + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + Importer Tout + + + + + + + + 0 + 0 + + + + + 200 + 40 + + + + + 200 + 40 + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + Ajouter Selection + + + + + + + + + + + + 16777215 + 31 + + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desViewRegles.ui b/OldCodes/UiQT4/desViewRegles.ui new file mode 100644 index 00000000..1742aa92 --- /dev/null +++ b/OldCodes/UiQT4/desViewRegles.ui @@ -0,0 +1,72 @@ + + + viewRegles + + + + 0 + 0 + 283 + 250 + + + + Dialog + + + + + + Fermer + + + + + + + QFrame::NoFrame + + + true + + + + + 0 + 0 + 265 + 194 + + + + + 0 + + + 0 + + + + + + + + + + + + Qt::Horizontal + + + + 171 + 20 + + + + + + + + + diff --git a/OldCodes/UiQT4/desViewTexte.ui b/OldCodes/UiQT4/desViewTexte.ui new file mode 100644 index 00000000..6cfa950e --- /dev/null +++ b/OldCodes/UiQT4/desViewTexte.ui @@ -0,0 +1,53 @@ + + dView + + + + 0 + 0 + 400 + 322 + + + + Dialog + + + + + + + + + Qt::Horizontal + + + + 209 + 20 + + + + + + + + Fermer + + + + + + + Sauver + + + + + view + bclose + bsave + + + + diff --git a/OldCodes/UiQT4/desVisu.ui b/OldCodes/UiQT4/desVisu.ui new file mode 100644 index 00000000..6f25807a --- /dev/null +++ b/OldCodes/UiQT4/desVisu.ui @@ -0,0 +1,39 @@ + + + DVisu + + + + 0 + 0 + 501 + 61 + + + + Visualisation Include Materiau + + + + 0 + + + 0 + + + + + QFrame::NoFrame + + + QFrame::Plain + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desWidget4a6RadioButton.ui b/OldCodes/UiQT4/desWidget4a6RadioButton.ui new file mode 100644 index 00000000..71780e85 --- /dev/null +++ b/OldCodes/UiQT4/desWidget4a6RadioButton.ui @@ -0,0 +1,376 @@ + + + Widget4a6RadioButton + + + + 0 + 0 + 949 + 73 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Form + + + + 0 + + + 0 + + + 2 + + + 0 + + + 2 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + QFrame::Box + + + + 1 + + + 0 + + + 1 + + + 0 + + + 1 + + + 0 + + + + + + 0 + 0 + + + + RadioButton + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + RadioButton + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 10 + 20 + + + + + + + + Qt::Vertical + + + + 17 + 40 + + + + + + + + + + + + + 25 + 25 + + + + + 25 + 25 + + + + Qt::StrongFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + radioButton_1 + radioButton_4 + RBPoubelle + + + +
diff --git a/OldCodes/UiQT4/desWidgetBloc.ui b/OldCodes/UiQT4/desWidgetBloc.ui new file mode 100644 index 00000000..439dd60f --- /dev/null +++ b/OldCodes/UiQT4/desWidgetBloc.ui @@ -0,0 +1,45 @@ + + + WidgetBloc + + + + 0 + 0 + 1033 + 25 + + + + Form + + + QGroupBox { + border: 1px solid gray; + border-radius: 5px; + margin-top: 1ex; /* leave space at the top for the title */ + } + + QGroupBox::title { + padding: 0 3px; + } + + + + 0 + + + + + 0 + + + 5 + + + + + + + + diff --git a/OldCodes/UiQT4/desWidgetCB.ui b/OldCodes/UiQT4/desWidgetCB.ui new file mode 100644 index 00000000..c5f16d2c --- /dev/null +++ b/OldCodes/UiQT4/desWidgetCB.ui @@ -0,0 +1,314 @@ + + + WidgetCB + + + + 0 + 0 + 739 + 63 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 1493 + 85 + + + + Form + + + QComboBox{combobox-popup:0;}; + + + + 0 + + + 0 + + + 2 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0 + + + + + 0 + + + + + + 0 + 0 + + + + + 361 + 25 + + + + + + + + + + QComboBox { + background:rgb(235,235,235); + } +/*QComboBox: on { + font : italic + } +background:rgb(235,235,235); +border:0px; + + +QComboBox:!editable:on, QComboBox::drop-down:editable:on { +background: black; + font : italic 14px + } +QComboBox:on { + font : italic 20px; + background: red ; +}/* + + + + 100 + + + false + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 301 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetCommande.ui b/OldCodes/UiQT4/desWidgetCommande.ui new file mode 100644 index 00000000..577965c1 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetCommande.ui @@ -0,0 +1,715 @@ + + + WidgetCommande + + + + 0 + 0 + 1353 + 596 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DCommandeUnique + + + + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 130 + + + + + 16777215 + 130 + + + + background-color:rgb(224,223,222) + + + + 2 + + + 3 + + + 2 + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Affiche le rapport de validité de la commande + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/ast-green-ball.png../../../.designer/Editeur/icons/ast-green-ball.png + + + + 21 + 31 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 2 + 40 + + + + + + + + + 0 + 0 + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + + + QLineEdit { + border: 2px solid gray; + border-radius: 10px; + padding: 0 8px; + background: darkgray; + /* selection-background-color: darkgray;*/ + } +QLineEdit:disabled +{ + background: lightgray; +} +/*read-only { + background: lightblue;*/ + + + false + + + + + + + Qt::Horizontal + + + + 108 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Ignored + + + + 2 + 40 + + + + + + + + 4 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Lance un script associé à la commande + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/roue.png../../../.designer/Editeur/icons/roue.png + + + + 21 + 31 + + + + + + + + + 0 + 0 + + + + + 0 + 38 + + + + true + + + + + + + + 21 + 31 + + + + + 31 + 31 + + + + Qt::ClickFocus + + + ouvre un navigateur sur l'aide contextuelle + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/point-interrogation.png../../../.designer/Editeur/icons/point-interrogation.png + + + + 21 + 31 + + + + + + + + + 21 + 31 + + + + + 31 + 31 + + + + Qt::ClickFocus + + + affiche les régles de validité + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/lettreRblanc30.png../../../.designer/Editeur/icons/lettreRblanc30.png + + + + 21 + 31 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit la commande + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/deleteRond.png../../../.designer/Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + RBValide + labelNomCommande + LENom + horizontalSpacer_3 + horizontalSpacer_4 + RBPoubelle + horizontalSpacer_5 + horizontalSpacer_7 + + + + + + + 0 + 0 + + + + + 160 + 40 + + + + Qt::ClickFocus + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Commandes + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + TextLabel + + + + + + + 0 + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande précédente + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + << + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande suivante + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + >> + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + Qt::Vertical + + + + 20 + 0 + + + + + + + + + + + + + + 0 + 81 + + + + background : rgb(247,247,247) + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 1353 + 466 + + + + + + + 1 + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + + qPixmapFromMimeSource + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + LENom + + + +
diff --git a/OldCodes/UiQT4/desWidgetCommentaire.ui b/OldCodes/UiQT4/desWidgetCommentaire.ui new file mode 100644 index 00000000..6a452e8b --- /dev/null +++ b/OldCodes/UiQT4/desWidgetCommentaire.ui @@ -0,0 +1,540 @@ + + + WidgetCommentaire + + + + 0 + 0 + 847 + 453 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DCommandeUnique + + + + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 130 + + + + + 16777215 + 130 + + + + background-color:rgb(224,223,222) + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 6 + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Affiche le rapport de validité de la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 21 + 31 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p>Commentaire</p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 2 + 40 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Ignored + + + + 2 + 40 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + + + + + + + + 8 + + + 15 + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Qt::ClickFocus + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Commandes + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande précédente + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + << + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande suivante + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + >> + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 847 + 323 + + + + + 0 + + + 4 + + + 0 + + + 4 + + + 0 + + + + + background : rgb(247,247,247) + + + + + + + Qt::Vertical + + + + 20 + 32 + + + + + + + + + + + + qPixmapFromMimeSource + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+
+ + scrollAreaCommandes + + + +
diff --git a/OldCodes/UiQT4/desWidgetCreeParam.ui b/OldCodes/UiQT4/desWidgetCreeParam.ui new file mode 100644 index 00000000..cbcdb1c3 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetCreeParam.ui @@ -0,0 +1,245 @@ + + + desWidgetCreeParam + + + + 0 + 0 + 728 + 530 + + + + Gestion des Paramètres + + + + + + + 701 + 291 + + + + QFrame::NoFrame + + + true + + + + + 0 + 0 + 710 + 349 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 701 + 291 + + + + alternate-background-color:rgb(235,235,235); +background-color: rgb(247,247,247); + + + + QFrame::NoFrame + + + QFrame::Raised + + + true + + + QAbstractItemView::SingleSelection + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 701 + 131 + + + + background:rgb(247,247,247) + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 30 + 40 + 531 + 76 + + + + + 12 + + + + + + 231 + 31 + + + + background:rgb(235,235,235); +border:0px; + + + false + + + + + + + <html><head/><body><p>Nom: </p></body></html> + + + false + + + + + + + + 231 + 31 + + + + background:rgb(235,235,235); +border:0px; + + + false + + + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + false + + + + + + + + + 30 + 10 + 531 + 22 + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> + + + false + + + + + + + Qt::Horizontal + + + + 288 + 20 + + + + + + + + + + + + lineEditNom + lineEditVal + scrollArea + LBParam + + + + diff --git a/OldCodes/UiQT4/desWidgetDate.ui b/OldCodes/UiQT4/desWidgetDate.ui new file mode 100644 index 00000000..873ab4f7 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetDate.ui @@ -0,0 +1,283 @@ + + + WidgetDate + + + + 0 + 0 + 736 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 20 + + + + + + + + + + + Qt::Horizontal + + + + 411 + 20 + + + + + + + + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetFact.ui b/OldCodes/UiQT4/desWidgetFact.ui new file mode 100644 index 00000000..28f196af --- /dev/null +++ b/OldCodes/UiQT4/desWidgetFact.ui @@ -0,0 +1,444 @@ + + + WidgetFact + + + + 0 + 0 + 949 + 61 + + + + Qt::StrongFocus + + + Form + + + QGroupBox { + border: 1px solid gray; + border-radius: 5px; + margin-top: 1ex; /* leave space at the top for the title */ + } + + QGroupBox::title { + padding: 0 3px; + } + + + + 0 + + + 0 + + + 2 + + + 0 + + + 0 + + + + + 0 + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 21 + 15 + + + + + 21 + 21 + + + + border : 0px + + + ... + + + + ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png + + + + 21 + 21 + + + + + + + + + + Qt::Vertical + + + + + + + + + + + 0 + + + + + + 17 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 21 + 25 + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 12121213 + 25 + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 1500 + 16 + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Lance un script associé à la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/roue.png../Editeur/icons/roue.png + + + + 21 + 31 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/point-interrogation30.png../Editeur/icons/point-interrogation30.png + + + + 21 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png + + + + 21 + 25 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + 0 + + + 2 + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 2 + + + + + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetFactPlie.ui b/OldCodes/UiQT4/desWidgetFactPlie.ui new file mode 100644 index 00000000..57ccde00 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetFactPlie.ui @@ -0,0 +1,221 @@ + + + WidgetFactPlie + + + + 0 + 0 + 727 + 27 + + + + Form + + + QGroupBox { + border: 1px solid gray; + border-radius: 5px; + margin-top: 1ex; /* leave space at the top for the title */ + } + + QGroupBox::title { + padding: 0 3px; + } + + + + 0 + + + 0 + + + + + + 21 + 15 + + + + + 21 + 21 + + + + border : 0px + + + ... + + + + ../Editeur/icons/plusnode.png../Editeur/icons/plusnode.png + + + + 25 + 25 + + + + + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + + 17 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + + 22 + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 12121213 + 25 + + + + TextLabel + + + + + + + + 0 + 0 + + + + + 500 + 0 + + + + + 1500 + 16 + + + + Qt::Horizontal + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetFormule.ui b/OldCodes/UiQT4/desWidgetFormule.ui new file mode 100644 index 00000000..7d3647be --- /dev/null +++ b/OldCodes/UiQT4/desWidgetFormule.ui @@ -0,0 +1,709 @@ + + + WidgetFormule + + + + 0 + 0 + 1156 + 689 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DCommandeUnique + + + + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Affiche le rapport de validité de la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 21 + 31 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">Formule</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 2 + 40 + + + + + + + + + 0 + 0 + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + + + QLineEdit { + border: 2px solid gray; + border-radius: 10px; + padding: 0 8px; + background: darkgray; + /* selection-background-color: darkgray;*/ + } +QLineEdit:disabled +{ + background: lightgray; +} +/*read-only { + background: lightblue;*/ + + + false + + + + + + + Qt::Horizontal + + + QSizePolicy::Ignored + + + + 2 + 40 + + + + + + + + 4 + + + QLayout::SetFixedSize + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + RBValide + labelNomCommande + LENom + horizontalSpacer_3 + horizontalSpacer_4 + RBPoubelle + horizontalSpacer_5 + + + + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Qt::ClickFocus + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Commandes + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande précédente + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + << + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande suivante + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + >> + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + + + + + 0 + 81 + + + + background : rgb(247,247,247) + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 1138 + 598 + + + + + + + + + + 0 + 0 + + + + <h3><p align="center"><u><b>Nom de la formule</b></u></p></h3> + + + false + + + + + + + + + <h3><p align="center"><u><b>Arguments</b></u></p></h3> + + + false + + + + + + + variables séparées par des "," + par ex. : x,y,z + + + false + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + <h3><p align="center"><u><b>Expression</b></u></p></h3> + + + false + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 17 + 17 + + + + + + + + + 0 + 40 + + + + + + + + + + <h1><b>(</b></h1> + + + false + + + + + + + + 230 + 40 + + + + + + + + <h1><b>)</b></h1> + + + false + + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + 0 + 0 + + + + + 0 + 35 + + + + + 16777215 + 35 + + + + <font size="+4" face="Helvetica"><b>=</b></font> + + + false + + + + + + + Qt::Vertical + + + + 20 + 10 + + + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + + + + + + Qt::Vertical + + + + 20 + 446 + + + + + + + + + + + + qPixmapFromMimeSource + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + scrollAreaCommandes + LENomsArgs + LECorpsFormule + LENom + LENomFormule + + + +
diff --git a/OldCodes/UiQT4/desWidgetHeure.ui b/OldCodes/UiQT4/desWidgetHeure.ui new file mode 100644 index 00000000..03d5dfba --- /dev/null +++ b/OldCodes/UiQT4/desWidgetHeure.ui @@ -0,0 +1,256 @@ + + + WidgetHeure + + + + 0 + 0 + 658 + 61 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + <html><head/><body><p><br/></p></body></html> + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 17 + 17 + + + + + + + + + + + Qt::Horizontal + + + + 454 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 3 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetInactif.ui b/OldCodes/UiQT4/desWidgetInactif.ui new file mode 100644 index 00000000..336a26fa --- /dev/null +++ b/OldCodes/UiQT4/desWidgetInactif.ui @@ -0,0 +1,471 @@ + + + WidgetInactif + + + + 0 + 0 + 946 + 495 + + + + + 350 + 0 + + + + DInactif + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Affiche le rapport de validité de la commande + + + border : 0px + + + + + + + ../Editeur/icons/ast-white-square.png../Editeur/icons/ast-white-square.png + + + + 21 + 31 + + + + false + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 2 + 40 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Ignored + + + + 2 + 40 + + + + + + + + 4 + + + QLayout::SetFixedSize + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + RBValide + labelNomCommande + horizontalSpacer_3 + horizontalSpacer_4 + RBPoubelle + horizontalSpacer_5 + + + + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Qt::ClickFocus + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Commandes + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande précédente + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + << + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande suivante + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + >> + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 66 + + + + + + + + + 0 + 0 + + + + <html><head/><body><p align="center"><span style=" font-size:16pt;">Le noeud sélectionné</span></p><p align="center"><span style=" font-size:16pt;">ne correspond pas à un objet actif</span></p></body></html> + + + false + + + + + + + Qt::Vertical + + + + 20 + 67 + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;"><span style=" font-size:x-large;">Seules les commandes placées</span></p> +<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;"><span style=" font-size:x-large;"> entre : DEBUT / FIN sont actives </span></p></body></html> + + + false + + + + + + + Qt::Vertical + + + + 20 + 66 + + + + + + + + qPixmapFromMimeSource + + + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetInformation.ui b/OldCodes/UiQT4/desWidgetInformation.ui new file mode 100644 index 00000000..25e2933f --- /dev/null +++ b/OldCodes/UiQT4/desWidgetInformation.ui @@ -0,0 +1,106 @@ + + + WidgetInformative + + + + 0 + 0 + 837 + 44 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 38 + 17 + + + + + + + + + 1 + 0 + + + + + 0 + 25 + + + + + 16777215 + 16777215 + + + + background:rgb(255,255,235); +border:0px; + + + + + + + Qt::Horizontal + + + + 13 + 17 + + + + + + + + lineEditVal + + + + diff --git a/OldCodes/UiQT4/desWidgetMatrice.ui b/OldCodes/UiQT4/desWidgetMatrice.ui new file mode 100644 index 00000000..7d0a82a6 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetMatrice.ui @@ -0,0 +1,191 @@ + + + desWidgetMatrice + + + + 0 + 0 + 802 + 300 + + + + Dialog + + + + 4 + + + 0 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 15 + + + + + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetOptionnel.ui b/OldCodes/UiQT4/desWidgetOptionnel.ui new file mode 100644 index 00000000..6e9e3935 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetOptionnel.ui @@ -0,0 +1,190 @@ + + + WidgetOptionnel + + + + 0 + 0 + 297 + 199 + + + + + 0 + 0 + + + + + 0 + 0 + + + + WidgetOptionnel + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + + + + 0 + 0 + + + + + 0 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + + + Qt::Horizontal + + + + 1037 + 20 + + + + + + + + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::NoFrame + + + 0 + + + true + + + + + 0 + 0 + 297 + 146 + + + + + 0 + 0 + + + + + + + Qt::Vertical + + + + 20 + 75 + + + + + + + + + + + + + + + qPixmapFromMimeSource + + + diff --git a/OldCodes/UiQT4/desWidgetOptionnelMC.ui b/OldCodes/UiQT4/desWidgetOptionnelMC.ui new file mode 100644 index 00000000..950792e0 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetOptionnelMC.ui @@ -0,0 +1,127 @@ + + + desWidgetOptionnel + + + + 0 + 0 + 384 + 218 + + + + Form + + + + 0 + + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 12121213 + 25 + + + + TextLabel + + + + + + + Qt::Horizontal + + + + + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::NoFrame + + + 0 + + + true + + + + + 0 + 0 + 384 + 185 + + + + + 0 + 0 + + + + + + + Qt::Vertical + + + + 20 + 75 + + + + + + + + + + + + + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetParam.ui b/OldCodes/UiQT4/desWidgetParam.ui new file mode 100644 index 00000000..357c0097 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetParam.ui @@ -0,0 +1,635 @@ + + + WidgetParam + + + + 0 + 0 + 786 + 515 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DCommandeUnique + + + + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + + + + 0 + 0 + + + + + 0 + 130 + + + + + 16777215 + 130 + + + + background-color:rgb(224,223,222) + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + 0 + + + 0 + + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Affiche le rapport de validité de la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 21 + 31 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 2 + 40 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Ignored + + + + 2 + 40 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + RBValide + RBPoubelle + horizontalSpacer_4 + labelParam + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + 8 + + + 15 + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Qt::ClickFocus + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Commandes + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande précédente + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + << + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + 0 + 0 + + + + + 60 + 24 + + + + + 60 + 24 + + + + Qt::ClickFocus + + + Affiche le formulaire de la commande suivante + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + >> + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + + + + + + + + + 0 + 81 + + + + background : rgb(247,247,247); + + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 768 + 361 + + + + + + + 25 + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + false + + + + + + + + 231 + 31 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + + + + 231 + 31 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p>Nom: </p></body></html> + + + false + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + Verifie la valeur + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + + + <html><head/><body><p><br/></p></body></html> + + + false + + + + + + + Qt::Vertical + + + + 20 + 70 + + + + + + + + + + + + qPixmapFromMimeSource + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+
+ + scrollAreaCommandes + + + +
diff --git a/OldCodes/UiQT4/desWidgetPlusieursBase.ui b/OldCodes/UiQT4/desWidgetPlusieursBase.ui new file mode 100644 index 00000000..799a330e --- /dev/null +++ b/OldCodes/UiQT4/desWidgetPlusieursBase.ui @@ -0,0 +1,842 @@ + + + WidgetPlusieursBase + + + + 0 + 0 + 764 + 202 + + + + + 0 + 0 + + + + + 100 + 20 + + + + Form + + + /* QFrame { +border: 1px solid gray; +}*/ + + + + + 0 + + + 0 + + + 2 + + + 2 + + + 0 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 21 + 25 + + + + permet de gérer la liste + + + border:0px + + + ... + + + + ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png + + + + 25 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Plain + + + true + + + + + 0 + 0 + 112 + 138 + + + + + 0 + 0 + + + + + + + + 0 + 0 + + + + TextLabel + + + + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 400 + 50 + + + + background : rgb(247,247,247); +border: 1px solid gray; +/* QFrame { +border: 1px solid gray; +}*/ + + + + + QFrame::Box + + + QFrame::Plain + + + 1 + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 398 + 161 + + + + + 0 + 0 + + + + + 2 + + + 2 + + + 0 + + + 2 + + + 0 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + QFrame::Box + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Remonte la ligne + + + border : 0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Descend la ligne + + + border : 0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + supprime une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/MoinsBleu2.png + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Ajoute une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png + + + + 32 + 32 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Montre l'ensemble des valeurs + + + border : 0px + + + ... + + + + ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Sélectionne depuis Salome + + + border : 0px + + + ... + + + + ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Visualise dans Salome + + + border : 0px + + + ... + + + + ../Editeur/icons/eye.png../Editeur/icons/eye.png + + + + 32 + 32 + + + + + + + + + + + + + + + 0 + + + 0 + + + + + 0 + + + + + + 0 + 0 + + + + + 25 + 30 + + + + Qt::ClickFocus + + + Ouvre un fichier de sélection des valeurs + + + border:0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + label + monCommentaireLabel + scrollArea_2 + layoutWidget + verticalSpacer_6 + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + scrollArea + RBHaut + RBBas + RBMoins + RBVoisListe + RBSalome + RBSalomeVue + BSelectFichier + RBPoubelle + + + +
diff --git a/OldCodes/UiQT4/desWidgetPlusieursInto.ui b/OldCodes/UiQT4/desWidgetPlusieursInto.ui new file mode 100644 index 00000000..a9968d9b --- /dev/null +++ b/OldCodes/UiQT4/desWidgetPlusieursInto.ui @@ -0,0 +1,613 @@ + + + WidgetPlusieursInto + + + + 0 + 0 + 1061 + 279 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 21 + 25 + + + + permet de gérer la liste + + + border:0px + + + ... + + + + ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png + + + + 25 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + + + 0 + 0 + + + + + 280 + 25 + + + + + 280 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 111 + + + + QFrame::NoFrame + + + QFrame::Raised + + + + 2 + + + 0 + + + + + 0 + + + + + + + + + 0 + 0 + + + + + 250 + 0 + + + + + 250 + 16777215 + + + + background:rgb(255,255,255) + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Cherche la valeur + + + border : 0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 0 + 0 + + + + Originel + + + + + + + Alpha + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + + 300 + 16777215 + + + + QFrame::NoFrame + + + 0 + + + true + + + + + 0 + 0 + 300 + 73 + + + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 278 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p><br/></p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::NoFrame + + + QFrame::Plain + + + 1 + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 650 + 261 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 17 + + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + horizontalSpacer + scrollArea + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetPlusieursIntoOrdonne.ui b/OldCodes/UiQT4/desWidgetPlusieursIntoOrdonne.ui new file mode 100644 index 00000000..86b75d90 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetPlusieursIntoOrdonne.ui @@ -0,0 +1,838 @@ + + + WidgetPlusieursIntoOrdonne + + + + 0 + 0 + 1013 + 538 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 2 + + + 0 + + + 7 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 21 + 25 + + + + permet de gérer la liste + + + border:0px + + + ... + + + + ../../../.designer/Editeur/icons/minusnode.png../../../.designer/Editeur/icons/minusnode.png + + + + 25 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/ast-green-ball.png../../../.designer/Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p><br/></p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + background:rgb(255,255,255) + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit une ligne + + + border : 0px + + + ... + + + + ../../../.designer/backup../../../.designer/backup + + + + 32 + 32 + + + + + + + + + + + + + + Catalogue + + + + + + + Alpha + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Plain + + + true + + + + + 0 + 0 + 18 + 180 + + + + + 0 + 0 + + + + + + + <html><head/><body><p><br/></p></body></html> + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 8 + 20 + + + + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::Box + + + QFrame::Plain + + + 1 + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 300 + 527 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 8 + 108 + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::Box + + + QFrame::Plain + + + 1 + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 297 + 482 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + + 0 + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Remonte d'une ligne + + + border : 0px + + + ... + + + + ../../../.designer/backup../../../.designer/backup + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Descend d'une ligne + + + border : 0px + + + ... + + + + ../../../.designer/backup../../../.designer/backup + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/MoinsBleu.png../Editeur/icons/MoinsBleu.png + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + ajoute une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png + + + + 32 + 32 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + visualise l'ensemble des valeurs + + + border : 0px + + + ... + + + + ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + + 18 + 20 + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 17 + + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../../../.designer/Editeur/icons/deleteRond.png../../../.designer/Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + horizontalSpacer + horizontalSpacer_2 + horizontalSpacer_3 + scrollArea + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetPlusieursPlie.ui b/OldCodes/UiQT4/desWidgetPlusieursPlie.ui new file mode 100644 index 00000000..c9dbe943 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetPlusieursPlie.ui @@ -0,0 +1,330 @@ + + + WidgetPlusieursPlie + + + + 0 + 0 + 1095 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + + + 0 + + + + + + 0 + 0 + + + + + 21 + 25 + + + + permet de gérer la liste + + + border:0px + + + ... + + + + ../Editeur/icons/plusnode.png../Editeur/icons/plusnode.png + + + + 25 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Affiche le rapport de validité du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + false + + + + 1 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(195,195,195); +border:0px; + + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 71 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + lineEditVal + RBPoubelle + RBValide + + + +
diff --git a/OldCodes/UiQT4/desWidgetPlusieursTuple.ui b/OldCodes/UiQT4/desWidgetPlusieursTuple.ui new file mode 100644 index 00000000..391a2325 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetPlusieursTuple.ui @@ -0,0 +1,668 @@ + + + WidgetPlusieursTuple + + + + 0 + 0 + 612 + 175 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 2 + + + 0 + + + 2 + + + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Plain + + + true + + + + + 0 + 0 + 112 + 109 + + + + + 0 + 0 + + + + + + + + 0 + 0 + + + + TextLabel + + + + + + + + + + + + + + + QFrame::NoFrame + + + + 0 + + + 0 + + + + + + 0 + 0 + + + + background : rgb(247,247,247) + + + QFrame::NoFrame + + + 1 + + + true + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + 0 + 0 + 197 + 110 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 13 + + + + + + + + + + + + + + + QFrame::Box + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Remonte la ligne + + + border : 0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Descend la ligne + + + border : 0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + supprime une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/MoinsBleu2.png + + + + + 32 + 32 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Ajoute une ligne + + + border : 0px + + + ... + + + + ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png + + + + 32 + 32 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Montre l'ensemble des valeurs + + + border : 0px + + + ... + + + + ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png + + + + 32 + 32 + + + + + + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 25 + 30 + + + + Qt::ClickFocus + + + Ouvre un fichier de sélection des valeurs + + + border:0px + + + ... + + + + + + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetRadioButton.ui b/OldCodes/UiQT4/desWidgetRadioButton.ui new file mode 100644 index 00000000..b39fa176 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetRadioButton.ui @@ -0,0 +1,342 @@ + + + WidgetRadioButton + + + + 0 + 0 + 851 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 90 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0 + + + + + 0 + + + + + + 0 + 0 + + + + + 0 + 25 + + + + RadioButton + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 2 + 20 + + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 2 + 20 + + + + + + + + + 0 + 0 + + + + RadioButton + + + + + + + Qt::Horizontal + + + + 5 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetSDCOInto.ui b/OldCodes/UiQT4/desWidgetSDCOInto.ui new file mode 100644 index 00000000..8974f213 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSDCOInto.ui @@ -0,0 +1,360 @@ + + + WidgetSDCOInto + + + + 0 + 0 + 858 + 312 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + QFrame::Box + + + + 0 + + + + + + 0 + 0 + + + + + 16777215 + 31 + + + + <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> + + + false + + + + + + + + 0 + 0 + + + + + 16777215 + 200 + + + + QFrame::NoFrame + + + true + + + + + 0 + 0 + 462 + 200 + + + + + + + QFrame::NoFrame + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p>ou Nom du concept</p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 31 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 17 + + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetSimpBase.ui b/OldCodes/UiQT4/desWidgetSimpBase.ui new file mode 100644 index 00000000..60c7dce5 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpBase.ui @@ -0,0 +1,304 @@ + + + WidgetSimpBase + + + + 0 + 0 + 743 + 60 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 1677721 + 60 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 58 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetSimpBool.ui b/OldCodes/UiQT4/desWidgetSimpBool.ui new file mode 100644 index 00000000..f9a78c7a --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpBool.ui @@ -0,0 +1,300 @@ + + + WidgetSimpBool + + + + 0 + 0 + 572 + 56 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 1493 + 56 + + + + Form + + + + 0 + + + 0 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + True + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + False + + + + + + + Qt::Horizontal + + + + 50 + 20 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + + + + + + 0 + 0 + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetSimpComplexe.ui b/OldCodes/UiQT4/desWidgetSimpComplexe.ui new file mode 100644 index 00000000..4e9db7e6 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpComplexe.ui @@ -0,0 +1,390 @@ + + + WidgetSimpComplexe + + + + 0 + 0 + 1242 + 87 + + + + + 0 + 0 + + + + + 940 + 0 + + + + + 1493 + 1400 + + + + Form + + + QLineEdit { +background:rgb(235,235,235); +border:0px; +} + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + QFrame::Box + + + + + + + + + 0 + 0 + + + + + 0 + 29 + + + + + 16777215 + 29 + + + + Complexe : a+bj + + + + + + + Qt::Horizontal + + + + 19 + 20 + + + + + + + + + + false + + + + + + + + 0 + 0 + + + + + 50 + 24 + + + + <html><head/><body><p align="center">OU </p></body></html> + + + + + + + 4 + + + 0 + + + + + Réel/Imaginaire + + + + + + + Module/Phase + + + + + + + + + + + false + + + + + + + Qt::Horizontal + + + + 5 + 20 + + + + + + + + false + + + + + + + + + Qt::Vertical + + + + 17 + 20 + + + + + + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 32 + 32 + + + + + + + + Qt::Vertical + + + + 18 + 47 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + LEComp + RBRI + RBMP + RBPoubelle + + + +
diff --git a/OldCodes/UiQT4/desWidgetSimpFichier.ui b/OldCodes/UiQT4/desWidgetSimpFichier.ui new file mode 100644 index 00000000..408f8dfb --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpFichier.ui @@ -0,0 +1,374 @@ + + + WidgetSimpFichier + + + + 0 + 0 + 1095 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Affiche le rapport de validité du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + 1 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 71 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 25 + 25 + + + + affiche l'explorateur de fichier + + + border : 0px + + + ... + + + + + + + + + 25 + 25 + + + + + + + + + 25 + 25 + + + + ouvre le fichier choisi + + + border:0px + + + ... + + + + ../Editeur/icons/visuFichier.png../Editeur/icons/visuFichier.png + + + + 25 + 25 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + lineEditVal + BFichier + BVisuFichier + RBPoubelle + RBValide + + + +
diff --git a/OldCodes/UiQT4/desWidgetSimpSalome.ui b/OldCodes/UiQT4/desWidgetSimpSalome.ui new file mode 100644 index 00000000..ba8ed2fd --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpSalome.ui @@ -0,0 +1,373 @@ + + + WidgetSimpSalome + + + + 0 + 0 + 1095 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Affiche le rapport de validité du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + 1 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 71 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 25 + 25 + + + + affiche l'explorateur de fichier + + + border : 0px + + + ... + + + + ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png + + + + 25 + 25 + + + + + + + + + 25 + 25 + + + + ouvre le fichier choisi + + + border:0px + + + ... + + + + ../Editeur/icons/eye.png../Editeur/icons/eye.png + + + + 25 + 25 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + lineEditVal + RBSalome + RBSalomeVue + RBPoubelle + RBValide + + + +
diff --git a/OldCodes/UiQT4/desWidgetSimpTxt.ui b/OldCodes/UiQT4/desWidgetSimpTxt.ui new file mode 100644 index 00000000..6fa4b7e9 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetSimpTxt.ui @@ -0,0 +1,304 @@ + + + WidgetSimpTxt + + + + 0 + 0 + 743 + 60 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 1677721 + 60 + + + + Form + + + + 0 + + + 1 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0 + + + + + + + + 1 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 5 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetTuple2.ui b/OldCodes/UiQT4/desWidgetTuple2.ui new file mode 100644 index 00000000..9c45154b --- /dev/null +++ b/OldCodes/UiQT4/desWidgetTuple2.ui @@ -0,0 +1,345 @@ + + + WidgetTuple2 + + + + 0 + 0 + 936 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + false + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 58 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + lineEditVal1 + lineEditVal2 + + + +
diff --git a/OldCodes/UiQT4/desWidgetTuple3.ui b/OldCodes/UiQT4/desWidgetTuple3.ui new file mode 100644 index 00000000..a31e9b55 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetTuple3.ui @@ -0,0 +1,362 @@ + + + WidgetTuple3 + + + + 0 + 0 + 1282 + 61 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 1 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + Qt::StrongFocus + + + background:rgb(235,235,235); +border:0px; + + + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 13 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/OldCodes/UiQT4/desWidgetUniqueSDCO.ui b/OldCodes/UiQT4/desWidgetUniqueSDCO.ui new file mode 100644 index 00000000..178cfc04 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetUniqueSDCO.ui @@ -0,0 +1,277 @@ + + + WidgetUniqueSDCO + + + + 0 + 0 + 1069 + 56 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 1 + + + 0 + + + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Affiche le rapport de validation du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 2 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0 + + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + + + + + Attend un objet de type CO + + + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 79 + 17 + + + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Qt::ClickFocus + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 25 + 25 + + + + + + + + Qt::Vertical + + + + 20 + 2 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + LESDCO + + + +
diff --git a/OldCodes/UiQT4/desWidgetVide.ui b/OldCodes/UiQT4/desWidgetVide.ui new file mode 100644 index 00000000..03a815f7 --- /dev/null +++ b/OldCodes/UiQT4/desWidgetVide.ui @@ -0,0 +1,330 @@ + + + WidgetVide + + + + 0 + 0 + 1069 + 55 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 2 + + + 0 + + + 0 + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 21 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 35 + + + + Qt::ClickFocus + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 32 + 32 + + + + + + + + + + + 0 + 0 + + + + + 300 + 24 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> + + + + + + + + 1 + 0 + + + + + 0 + 32 + + + + + 805 + 16777215 + + + + background:rgb(235,235,235); +border:0px; + + + Attend un objet de type XXXX. Il faut le créer + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 79 + 17 + + + + + + + + 0 + + + + + + 25 + 30 + + + + + 25 + 30 + + + + Qt::ClickFocus + + + border : 0px + + + ... + + + + ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 25 + 30 + + + + + 25 + 30 + + + + Qt::ClickFocus + + + border:0px + + + ... + + + + ../Editeur/icons/icon_salome.png../Editeur/icons/icon_salome.png + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 32 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+
+ + lineEditVal + RBSalome + RBSalomeVue + RBValide + RBPoubelle + + + +
diff --git a/OldCodes/UiQT4/eficas_en.0106.ts b/OldCodes/UiQT4/eficas_en.0106.ts new file mode 100644 index 00000000..e514c2ef --- /dev/null +++ b/OldCodes/UiQT4/eficas_en.0106.ts @@ -0,0 +1,3948 @@ + + + + @default + + + lecture du fichier impossible : + unable to read file : + + + + Impossible d'ouvrir le fichier %s + unable to open file %s + + + + Impossible de convertir le fichier Python qui doit contenir des erreurs. + + On retourne le fichier non converti. Prevenir la maintenance. + + %s + Unable to translate the file. it probably contains mistake +ask eficas team +%s + + + + Format de sortie : %s, non supporte + Unsupported format %s + + + + Impossible d'ouvrir le fichier : %s + unable to open file: %s + + + + Erreur ! Erreur ! + Error! + + + + Erreur rencontree dans recherche_enfants : %s + Error in recherche_enfants : %s + + + + Erreur dans la creation du mot-cle : %s + Error when creating %s + + + + Impossible d'ouvrir le fichier : %s + unable to open file : %s + + + + le texte a analyser n'est pas celui d'une commande ou d'un operateur : + text is no eficas text: + + + + Erreur dans la recherche du nom de la commande : + error when searching command's name : + + + + Erreur dans la recherche des args de la commande : + error when searching argument's command : + + + + Erreur dans la recherche du nom de la commande : + error when searching command's name : + + + + Erreur dans la recherche des args de la commande : + error when searching argument's command : + + + + %d n'est pas un index valide pour append_brother + %d is not a valid index for append-brother + + + + le fichier de commandes %s n'existe pas + commands file %s does not exist + + + + un fichier de commandes doit etre defini avant une poursuite %s + You have to define principal commands file before a secondary (poursuite) file %s + + + + le fichier poursuite %s n'existe pas + the secondary (poursuite) file does not exist + + + + include mal defini %s + include is not correct %s + + + + un fichier de commandes doit etre defini avant un include %s + You have to define principal commands file before include %s + + + + le fichier include %s n'existe pas + include file does not exist + + + + jdc %(v_1)s, le fichier + de commandes %(v_2)s n'existe pas + v_1 + jdc %(v_1)s : .comm %(v_2)s does not exist + + + + le fichier jdc %s n'existe pas + file %s does not exist + + + + jdc %s manque option jdc dans section jdc + jdc %s does not have jdc option in command line + + + + %(v_1)s include %(v_2)s : %(v_3)s + v_1 + %(v_1)s include %(v_2)s : %(v_3)s + + + + %(v_1)s fichier poursuite: %(v_2)s + v_1 + %(v_1)ssecondary (poursuite) file %(v_2)s + + + + nom etude : %s + study's name : %s + + + + utilisation : %prog [options] + use : %prog[options] + + + + nom du fichier de commandes + principal .comm file's name + + + + nom du fichier poursuite + secondary (poursuite) file's name + + + + numero d'unite suivi du nom du fichier include + unit number and include file's name + + + + fichier decrivant une etude + file containing a study + + + + version de catalogue a utiliser + catalog's version + + + + nom du code a utiliser + code's name + + + + niveau de debug + debug level + + + + schema + schema + + + + Nombre incorrect d'arguments + incorrect number of arguments + + + + Localisation specifiee pour l'application. + specified localization for the application. + + + + Impossible de transferer les fichiers requis dans : %s + unable to transfer files to : %s + + + + Erreur + error + + + + Erreurs fatales + fatale error + + + + Impossible reconstruire commande + + unable to construct command + + + + Objet commentaire non valorise + comment object has no value + + + + Debut Fonction %s + start function %s + + + + Fin Fonction %s + end function %s + + + + Nom de concept deja defini : %s + Concept's name %s is already existing + + + + Longueur incorrecte + incorrect length + + + + L'attribut 'min' doit etre un entier : + min must be an integer : + + + + L'attribut 'max' doit etre un entier : + max must be an integer : + + + + Nombres d'occurrence min et max invalides : + min and max are invalid: + + + + L'attribut 'fr' doit etre une chaine de caracteres + 'fr' must be a string + + + + L'attribut 'statut' doit valoir 'o','f','c' ou 'd' + values for statut arguments are : 'o','f','c' or 'd' + + + + L'attribut 'docu' doit etre une chaine de caracteres + docu must be a string + + + + Fin + end + + + + Le parametre EVAL %s ne peut valoir None + None is not a valid value for Eval parameter %s + + + + Pas de nom donne au parametre EVAL + No name for parameter EVAL + + + + Un nom de parametre ne peut depasser 8 caracteres + parameter's name can not exceed 8 characters + + + + Un concept de nom %s existe deja ! + Concept's name %s is already existing! + + + + ERREUR + ERROR + + + + Format pas implemente : %s + format : %s not implemented + + + + Type d'objet non prevu : %s + object type not expected : %s + + + + ce groupe de maillage %s est associe a au moins un materiau et au moins une source. + mesh group %s is associated with at least one material and at least a source. + + + + ce groupe de maillage %s n'est associe a aucun materiau ou source. + mesh group %s is associated with no material or no source. + + + + ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel + + + + + toutes les donnees ne sont pas connues + all data are not available + + + + Fichier patron %s n'existe pas. + pattern file %s does not exist. + + + + Pas supporte + not implemented + + + + Entite inconnue ou interdite :%s + Unknown or unsupported entity : %s + + + + Entite inconnue ou interdite :%s. Elle est ignoree + Unknown or unsupported entity : %s. ignored + + + + Les tuples ne sont pas supportes pour le format ini :%s + Tuple are not allowed for format ini : %s + + + + Type de valeur non supportee par le format ini :%(nom)s +%(exception)s + nom + Unsupported type of value for .ini format %(nom)s +%(exception)s + + + + Il y a un pb a la Creation du XML + problem when creating XML + + + + Il y a un pb a la Creation du STD + problem when creating STD + + + + Entite inconnue ou interdite : %s. Elle est ignoree + unkown ou unsupported entity : %s. ignored + + + + Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. + Tag %s not defined. Ask developpeurs team. + + + + Le mot-cle %s est obligatoire. + mandatory keyword : %s. + + + + concept %(inst_name)s de type %(class_name)s + inst_name + concept %(inst_name)s of type %(class_name)s + + + + Un nom de concept doit etre un identificateur Python + concept's name must be a python identifier + + + + Concept existant + allready existing concept + + + + Operateur reentrant mais concept non existant + operator 'reentrant' but concept does not exist + + + + Operateur reentrant et concept existant trouve + Operator 're-entrant' and concept exists + + + + Concept deja existant et de mauvais type + already existing concept of not supported type + + + + Nommage du concept refuse : un concept de meme nom existe deja + Name is refused : already existing concept + + + + Nommage du concept effectue + Concept named + + + + Nommage impossible %s + unable to name %s + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante + formula expects a list of arguments : no left parenthesis + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante + formula expects a list of arguments : no right parenthes + + + + Pas de nom donne a la FORMULE + no name given + + + + Un nom de FORMULE ne peut depasser 8 caracteres + name too long (8 characters max) + + + + Un nom de FORMULE ne peut pas commencer par un chiffre + name does not begin with a figure + + + + Le type de la valeur retournee n'est pas specifie + no type is specified for the return value + + + + Une formule ne peut retourner une valeur de type : %s + impossible to return a value of type : %s + + + + Impossible d'ajouter la commande + unable to add the keyword (commande) + + + + Impossible d ajouter la commande + unable to add the keyword (commande) + + + + Pas implemente + not implemented + + + + Nom de concept deja defini + already defined concept + + + + Nom de concept deja defini : + already defined concept : + + + + Impossible de trouver le fichier correspondant a l'unite + unable to find file corresponding to unit + + + + n'est pas un fichier existant + is not an existing file + + + + Fichier invalide %s + invalid file %s + + + + Impossible de construire le jeu de commandes correspondant au fichier + unable to create the jdc corresponding to the file + + + + Erreur lors de l'evaluation du fichier inclus + Error when reading the 'include' file + + + + Ce fichier ne sera pas pris en compte + %s + the file is ignored +%s + + + + Ce fichier ne sera pas pris en compte +Le fichier associe n'est pas defini + the file is ignored : associated file is not defined + + + + Le fichier n est pas defini + file is not defined + + + + le fichier doit contenir une unique variable de sortie + file must declare a single output variable + + + + Fichier invalide + invalid file + + + + Le contenu de ce fichier ne sera pas pris en compte + %s + the file will be ignored : +%s + + + + Le fichier INCLUDE n est pas defini + include file is not defined + + + + Le contenu de ce fichier ne sera pas pris en compte + + file will be ignored + + + + + Erreur lors de l'evaluation du fichier poursuite + Error when creating secondary (poursuite) file + + + + L'objet %(v_1)s ne peut etre un fils de %(v_2)s + v_1 + Object %(v_1)s can not be a child for %(v_2)s + + + + L'objet %s ne peut pas etre repete + Object %s can not be repeated + + + + Erreur - mclist inexistante : %s + Error - mclist does not exist : %s + + + + Erreur - mot cle facteur de nom : %s + Error - keyword "mot-clef facteur" nammed : %s + + + + traitement non-prevu + unexpected task + + + + L'objet %s ne peut pas etre ajoute + Object %s cannot be add + + + + None n'est pas une valeur autorisee + None is not a valid value + + + + un concept de meme nom existe deja + concept already exists + + + + Concept cree + concept created + + + + La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d + n_lign + matrix is not a %(n_lign)d x %(n_col)d matrix + + + + Decommenter + uncomment + + + + Decommente la commande + uncomment the command + + + + Impossible de supprimer un mot-cle obligatoire + mandatory keyword cannot be deleted + + + + Mot-cle %s supprime + Keyword %s deleted + + + + Pb interne : impossible de supprimer ce mot-cle + internal problem : unable to delete keyword + + + + Commentaire supprime + comment is deleted + + + + Commande %s supprimee + command %s is deleted + + + + Pb interne : impossible de supprimer cet objet + internal problem : unable to delete object + + + + Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas + + + unable to convert .comm file in order to open it with Eficas + + + + Include vide + include file is empty + + + + L'include doit etre correctement initialise pour etre visualise + include file must be correct + + + + Impossible de supprimer ce mot-clef + unable to delete this keyword + + + + View3D + View3D + + + + affiche dans Geom les elements de structure + diplay SE in Geom + + + + Graphique + graphic + + + + affiche la distribution + display distribution + + + + Impossible de supprimer un mot-clef obligatoire + unable to delete a mandatory keyword + + + + Mot-clef %s supprime + Keyword %s is deleted + + + + Definition d'un parametre + defines a parameter + + + + Import du fichier de Configuration + import configuration file + + + + Erreur a la lecture du fichier de configuration %s + Error when reading configuration file + + + + Erreur fatale au chargement de %s + fatal error when loading %s + + + + Erreur fatale au chargement d'un fichier + Fatal error when loading file + + + + fichier modifie + file updated + + + + Attention! fichier change hors EFICAS + Warning ! this file was modified outside Eficas + + + + Type de fichier non reconnu + unsupported file type + + + + EFICAS ne sait pas ouvrir le type de fichier %s + Eficas is not able to open this file's type : %s + + + + EFICAS ne sait pas ouvrir ce type de fichier + Eficas is not able to open this file's type + + + + Copie impossible + unable to copy + + + + Veuillez selectionner un objet a copier + you have to select an object to copy + + + + Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne + You have to select a single object : copy will be done after the selected node + + + + Aucun Objet n a ete copie ou coupe + No object was cut or copied + + + + Copie refusee + rejected copy + + + + Eficas n a pas reussi a copier l objet + Eficas cannot copy this object + + + + Copie refusee pour ce type d objet + Copy rejected : bad object type + + + + Deplacement refuse + move rejected + + + + Deplacement refuse entre 2 fichiers. Seule la copie est autorisee + move rejected. no move between two files : only copy is available + + + + Copie impossible a cet endroit + unable to copy here + + + + Veuillez selectionner une commande, un parametre, un commentaire ou une macro + select a command; a parameter, a comment or a macro + + + + Choix d'un fichier XML + Choice of XML file + + + + Ouvrir Fichier + Open file + + + + Erreur a la generation + Error when generating + + + + EFICAS ne sait pas convertir ce JDC + Eficas is unable to convert JDC + + + + Format %s non reconnu + not supported format %s + + + + Execution impossible + Unable to execute + + + + le JDC doit etre valide pour une execution MAP + JDC has to be valid before run + + + + le JDC doit contenir un et un seul composant + JDC must contains a single componant + + + + sauvegarde + save + + + + Sauvegarde du Fichier + save file + + + + Le fichier <b>%s</b> existe deja. + file <b>%s</b> already exists. + + + + &Ecraser + &Replace + + + + Donnez le nom du fichier correspondant a l unite logique + Choose file corresponding to unit + + + + Choix d'un fichier de poursuite + Choose poursuite file + + + + Le fichier %s contient une commande POURSUITE + + file %s contains a POURSUITE command + + + + Traduire Fichier + file translation + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + JDC files(*.comm);; All FIles(*) + + + + Fichier Traduit : %s + + + Translated file : %s + + + + Pas de difference entre le fichier origine et le fichier traduit + No difference between the primary file and the translated file + + + + %d versions du catalogue sont disponibles + %d catalogs versions are available + + + + &Ok + &Ok + + + + Entrez + enter + + + + valeurs + values + + + + Entrez entre + enter between + + + + et + and + + + + Selection + selection + + + + Type de base inconnu + unkown type + + + + Visualisation Fichier + view file + + + + Impossibilite d'afficher le Fichier + Unable to display file + + + + Sauvegarder Fichier + save File + + + + Fichier selectionne + file selected + + + + expression valide + valid expression + + + + expression invalide + unvalid expression + + + + expression n est pas de la forme a+bj + expression is not as a+bj + + + + entrer une seule valeur SVP + Please, enter a single value + + + + saisir le type de complexe + choose complex's type + + + + Sauvegarder le fichier + save file + + + + Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s + v_1 + file <b>%(v_1)s</b> was not saved. Raison : %(v_2)s + + + + &Recents + &Recently Opened + + + + Aide specifique + code's help + + + + Traduction + translation + + + + Options + Options + + + + TraduitV7V8 + + + + + TraduitV8V9 + + + + + TraduitV9V10 + + + + + Acquiert Groupe Maille + + + + + Specificites Maille + + + + + version + version + + + + pour + for + + + + Aide Indisponible + no help avalaible + + + + Parametrage + Options + + + + Veuillez d abord choisir un code + Choose a code + + + + Pas de possibilite de personnalisation de la configuration + no options avalaible for configuration + + + + &Effacer + &Delete + + + + Veuillez entrer le complexe sous forme aster ou sous forme python + enter a complex + + + + Import du catalogue + Loading catalog + + + + Pas de catalogue defini pour le code + No catalog for this code + + + + Aucun catalogue trouve + No catalog + + + + avec le catalogue + with catalog + + + + Impossible d'importer le catalogue + unable to load catalog + + + + Choix d une version du code + Choose a version for + + + + Choix d une version + choose a version + + + + Parametre + parameter + + + + Insere un parametre + insert a parameter + + + + item invalide + invalid item + + + + l item doit etre valide + item must be valid + + + + apres + after + + + + Insere un commentaire apres la commande + insert a comment after the command + + + + avant + before + + + + Insere un commentaire avant la commande + insert a comment before the command + + + + Insere un parametre apres la commande + insert a parameter after the command + + + + Insere un parametre avant la commande + insert a parameter before the commande + + + + Supprimer + delete + + + + supprime le mot clef + delete keyword + + + + Documentation + documentation + + + + documentation sur la commande + command's documentation + + + + Documentation Vide + empty documentation + + + + Aucune documentation n'est associee a ce noeud + no documentation is available for this node + + + + impossible de trouver la commande + unable to find command + + + + Lecteur PDF + PDF reader + + + + impossible d'ouvrir + unable to open + + + + Commentaire + Comment + + + + ce noeud + this node + + + + commente le noeud + comment this node + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + JDC Files (*.comm);;All Files(*) + + + + &Quitter + &Exit + + + + Quitter + Exit + + + + Fichier Duplique + file is duplicated + + + + Le fichier ne sera pas sauvegarde. + File will not be saved. + + + + &Annuler + &Cancel + + + + Fichier + File + + + + Le fichier <b>%s</b> est deja ouvert. + File <b>%s</b> is already open. + + + + &Duplication + &Duplication + + + + &Abort + &Abort + + + + Fichier Modifie + File is modified + + + + Le fichier %s n a pas ete sauvegarde. + file %s was not saved. + + + + &Sauvegarder + &Save + + + + Erreur a l'evaluation : + %s + Error when loadind : +%s + + + + Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom + File %s already exists : unable to create a directory with the same name + + + + Creation du repertoire %s impossible + Verifiez vos droits d'acces + Unable to create directory : check your access rights + + + + localisation de l'application, pour la traduction + use for application translation + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable + + + + + ERREUR! ce type de bloc (%s) n'est pas valable + + + + + n'est pas un index valide pour append_brother + is not correct - no possible "append_brother" + + + + Erreur interne + Internal error + + + + La PDF de la loi ne peut pas etre affichee. + unable to display law's PDF. + + + + Le fichier contient une commande MODEL + + file contains MODEL command + + + + Donnez le nom du fichier XML qui contient la description des variables + + + + + Choix unite %d + Choice for unit %d + + + + Fichier pour unite + File for unit + + + + La formule passee a l'interpreteur doit etre sous forme de tuple + formula must be written as tuple + + + + Debut + Beginning + + + + Le parametre EVAL ne peut valoir None + None is not a valid value for EVAL + + + + Pas de nom donne au parametre + No name given + + + + Le parametre %s ne peut valoir None + None is an incorrect value for parameter %s + + + + Format non implemente : %s + Not implemented format + + + + Type de valeur non supporte par le format pyth : n %(exception)s + nom + unsupported type of value + + + + Impossible de realiser la verification de la formule + unable to verify formula + + + + Pb interne : impossible de supprimer ce mot-clef + internal problem : unable to delete keyword + + + + Eficas ne peut pas traiter plusieurs instructions + sur la meme ligne : %s + Eficas is not able to manage many instructions on a same line + + + + le texte a analyser n'est pas celui d'une commande ou + d'un operateur : %s + text is not valid for a command or a operaor + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + text is not valid for command %(v_1)s %(v_2)s + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + text is not valid for command %(v_1)s %(v_2)s + + + + jdc %(v_1)s manque + fichier comm dans section %(v_2)s + v_1 + file %(v_1)s need a .comm file in section %(v_2)s + + + + jdc %(v_1)s + fichier include %(v_2)s, %(v_3)s + n'existe pas + v_1 + file %(v_1)s need an include file %(v_2)s,%(v_3)s does not exist + + + + jdc %(v_1)s manque fichier comm + dans section %(v_2)s + v_1 + file %(v_1)s need a .comm file in section %(v_2)s + + + + jdc %(v_1)s, le fichier de commandes + %(v_2)s n'existe pas + v_1 + jdc%(v_1)s, .comm %(v_2)s does not exist + + + + ATTENTION! Une source constante + n'est possible qu'a frequence nulle + en regime frequentiel + + + + + ERREUR! Une forme de la source du + type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ATTENTION! Une source constante n'est + possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! Une forme de la source du type + WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe + indiquant le type de materiau ou de source associee + + + + + ERREUR! ce groupe de maille (%(nom)s) n'a pas + le prefixe correct pour etre associe a un type %(type_bloc)s + nom + + + + + + Include Invalide. + ne sera pas pris en compte + Invalid include file. text will not be included + + + + Impossible de relire le fichier %s + + unable to read file + + + + Le fichier include contient des erreurs + include file contains errors + + + + PARAMETRE + PARAMETER + + + + EFICAS ne sait pas convertir le JDC selon le format + Eficas does not know how to convert data according to the defined format + + + + le JDC doit etre valide pour une execution + Before a run action, JDC must be valid + + + + Sauvegarder SVP avant l'execution + Save before run action + + + + Sauvegarde de l'input impossible + unable to save input file + + + + Un JdC valide est necessaire pour creer un .input + file must be valid to create a .input file + + + + Choix du composant obligatoire + You have to choose a component + + + + Le fichier %s contient une commande INCLUDE + + file %s contains an "INCLUDE" command + + + + Donnez le nom du fichier dont vous + voulez faire une poursuite + Name the principal file + + + + Fichiers Med (*.med);;Tous les Fichiers (*) + Med Files (*.med);;All Files(*) + + + + Fichier Med + Med File + + + + Veuillez selectionner un fichier Med + Choose a Med file + + + + reel + float + + + + entier + integer + + + + complexe + complex + + + + l'aide n est pas installee + Help is not available + + + + Export Med vers Fichier + export Med Mesh in a file + + + + Impossibilite d exporter le Fichier + Unable to export file + + + + objet valide + valid object + + + + Valeur non modifiable + value can not be changed + + + + Options pour + + Settings + + + + Nombre minimal de valeurs : + minimal number of values : + + + + Nombre maximal de valeurs : + Maximal number of values : + + + + l expression n est pas de la forme a+bj + expression must be as a+bj + + + + Valeur du mot-cle enregistree + Value is recorded + + + + Valeur du mot-cle non autorisee + Value is not authorized + + + + Fichier non encore nomme + unnamed file + + + + SOURCE + SOURCE + + + + EnveloppeConnexeInducteur + Bounding_Box + + + + EnveloppeConnexe2 + + + + + VecteurDirecteur + Direction_Vector + + + + Centre + Center + + + + SectionBobine + Section + + + + Amplitude + Amplitude + + + + NbdeTours + NbTurns + + + + CONDUCTEUR + CONDUCTOR + + + + Conductivite + Conductivity + + + + PermeabiliteRelative + Relative_Permeability + + + + NOCOND + DIELECTRIC + + + + VCUT + CUT + + + + Orientation + Orientation + + + + ZS + ZS + + + + PARAMETRES + SETTINGS + + + + RepCarmel + Carmel_Directory + + + + TypedeFormule + Formula + + + + Frequence + Frequency + + + + Nb_Max_Iterations + Max_Nb_Iterations + + + + Erreur_Max + Max_Error + + + + Format non implemente + non implemented format + + + + Type d'objet non prevu + + + + + Fichier de donnees + data file + + + + Tous les Fichiers (*) + all files (*) + + + + Select + select + + + + nb min de valeurs : + minimal number of values : + + + + nb max de valeurs atteint + maximum number of values + + + + TraduitV10V11 + + + + + TraduitV11V12 + + + + + Sauve Format Ligne + save file in line format + + + + Valeur du mot-clef enregistree + value recorded + + + + Valeur du mot-clef non autorisee : + unvalid value + + + + %s n'est pas un fichier valide + %s is not a valid file + + + + : verifie les types dans un tuple + valids type in a tuple + + + + Les types entres ne sont pas permis + unvalid type for values + + + + La cardinalite n'est pas correcte, la derniere valeur est ignoree + unvalid multiplicity. last value will be ignored + + + + n est pas un tuple de + is not a tuple + + + + valeurs + values + + + + Valeur incorrecte + incorrect value + + + + n est pas un identifiant correct + + is not a valid name + + + + Entrer un float SVP + Float expected + + + + Entrer un float inferieur a + float lower than + + + + Entrer un float superieur a + float superior than + + + + Mauvaise execution + bad run + + + + impossible d executer la methode + unable to run method + + + + Mauvaise Commande + bad command + + + + Aucune variable connue + no possible variable + + + + Mauvaise dimension de matrice + bad matrix dimension + + + + le nombre de ligne n est pas egal a + number of lines is not + + + + le nombre de colonne n est pas egal a + number of columns is not + + + + Mauvaise Valeur + bad value + + + + l element + element + + + + n est pas correct + is not correct + + + + Modification Impossible + unable to modify + + + + le parametre n'est pas valide + parameter is not valid + + + + n est pas un identifiant correct + is not a correct name + + + + Valeur incorrecte: + incorrect value : + + + + Valeur incorrecte + incorrect value + + + + Valeur correcte + valid value + + + + impossible d'evaluer : + unable to evaluate : + + + + Un concept de nom %s existe déjà ! + already existing concept with name : %s ! + + + + existe deja + + already exists + + + + La matrice n'a pas le bon entete + header does not match with matrix + + + + le mot clef + keyword + + + + doit etre insere avant + has to be inserted before + + + + insertion impossible + unable to insert keyword + + + + doit etre insere apres + has to be inserted after + + + + Nb maximum de valeurs atteint + Maximal number of values + + + + pas de regle de construction pour ce jeu de commandes + No specific rules for building this dataset + + + + Gestion Maillage + Mesh Menu + + + + Acquiert groupe mailles + Read elements mesh + + + + Acquisition Groupe Maille + Read elements mesh + + + + VERSION + VERSION_EN + + + + NUM + NUMBER + + + + FILETYPE + FILETYPE + + + + PARAMETERS + Parametres + + + + Fichier_maillage + FichierMaillage + + + + Echelle_du_maillage + MeshScale + + + + Formulation + Fomulation + + + + Timeproblem + TimeProblem + + + + spectral + EssaiSpectral + + + + Basis + Basis + + + + Fourier + Fourier + + + + Ordre + Ordre + + + + FREQUENCY + Frequency + + + + minimisation + Minimisation + + + + no + no + + + + yes + yes + + + + nb_procs_para + NbProcs + + + + POLYMER + Polymer_en_Anglais + + + + MODEL_DATABASE + MoDEL_DATa_Anglais + + + + Stabilise + Srabilise_Anglais + + + + Non Stabilise + Non Stabilise anglais + + + + Local + local_anglais + + + + ESSAI_OPTION + essai_option_anglais + + + + MATERIEL + mater_anglais + + + + Cable + cable_anglais + + + + Peinture + peinture_anglais + + + + Tuyauterie + tuyau_anglais + + + + Materiau_De_Cable + mat_cable_anglais + + + + PE + pe_anglais + + + + EPDM + epdm_anglais + + + + Modele + modele_anglais + + + + Objet commande commentarisé invalide + + + + + ChoixCode + + + Choix du code + Choose code + + + + Veuillez choisir un code : + Choose code : + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + ChoixCommandes + + + DMacro + DMacro + + + + Alphabetique + alphabetic sort + + + + Par Groupe + Sort by group + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Order</span></p></body></html> + + + + affiche les commandes par ordre alphabetique + display commands in alphabetic order + + + + affiche les commandes selon les thèmes + display commands by thema + + + + Ordre de la modélisation + ordered by modelisation + + + + <html><head/><body><p align="center">Filtre Commande</p></body></html> + <html><head/><body><p align="center">Filters Commands</p></body></html> + + + + filter commands + filters commands + + + + affiche les régles de validité + display validity rules + + + + ... + + + + + Règles de construction + Building Rules + + + + Sensible à la casse + case-sensitive + + + + Effacer + Clear + + + + selectionne les mots qui CONTIENNENT l expression + select words that CONTAINS the filter + + + + ré-affiche toutes les commandes + re-display the list of commands + + + + DChoixCata + + + Choix d'une version du code Aster + Choose a version for code Aster + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 catalogs are available </span></p></body></html> + + + + &OK + &Ok + + + + &Cancel + &Cancel + + + + Validate choice + validate choice + + + + DSelVal + + + Sélection de valeurs + Values Selections + + + + Separateur + marker + + + + espace + space + + + + virgule + comma + + + + point-virgule + semi-colon + + + + Ajouter Selection + add selected value + + + + Importer Tout + imports all values + + + + DVisu + + + Visualisation Include Materiau + View Include + + + + Eficas + + + MainWindow + Main Window + + + + &Fichier + &File + + + + &Aide + &Help + + + + toolBar + toolBar + + + + &Nouveau + &New + + + + Ctrl+N + Ctrl+N + + + + Nouvel Include + New Include + + + + &Ouvrir + &Open + + + + Ctrl+O + Ctrl+O + + + + Enregistrer + Save + + + + Enregistrer sous + Save as + + + + Fermer + Close + + + + Ctrl+W + + + + + Fermer tout + Close all + + + + Couper + Cut + + + + Ctrl+X + Ctrl+X + + + + Copier + Copy + + + + Ctrl+C + Ctrl+C + + + + Coller + Paste + + + + Ctrl+V + Ctrl+V + + + + Quitter + Exit + + + + Ctrl+Q + Ctrl+Q + + + + Rapport de Validation + Validation Report + + + + Fichier Source + Source File + + + + Fichier Résultat + Result File + + + + Parametres Eficas + Eficas Parameters + + + + Lecteur documentation + documentation reader + + + + Eficas + Eficas + + + + Version + Version + + + + Supprimer + Delete + + + + Rechercher + Find + + + + Rechercher dans l'arbre d'etude + Find in Data Tree + + + + Ctrl+F + Ctrl+F + + + + Replier/Deplier + Expand/Collapse + + + + Execution + Run + + + + Execution + Run + + + + Patrons + Patterns + + + + Tab 1 + + + + + &Edition + &Edit + + + + &JeuDeDonnées + &Data + + + + Shift+I + + + + + Ctrl+S + + + + + Ctrl+Shift+S + + + + + Shift+V + + + + + Chercher Mot-Clef + Find Keyword + + + + Rechercher dans le catalogue + Find Keyword in Catalog + + + + Shift+F + + + + + Shift+D + + + + + Commentaire + Comment + + + + Shift+C + + + + + Paramètres + Parameters + + + + Gestion des paramètres + Managing parameters + + + + Shift+P + + + + + Parametre Eficas + Eficas Settings + + + + Save Run + Save run + + + + Run + run + + + + &bad + + + + + Régles du JdC + Rules for dataset + + + + JDCEditor + + + Save File + + + + + The file <b>%1</b> could not be saved.<br>Reason: %2 + + + + + JDC (*.comm);;All Files (*) + + + + + &Abandonner + &Cancel + + + + Tuple2 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Tuple3 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Widget4a6RadioButton + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + WidgetBloc + + + Form + + + + + WidgetCB + + + Affiche le rapport de validation du mot-clef + display validation report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetCommande + + + Affiche le rapport de validité de la commande + Display validity report for the keyword + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + Object Name. Only valid objects can be named + + + + Lance un script associé à la commande + Run associated script + + + + ouvre un navigateur sur l'aide contextuelle + open a browser to navigate to contextual help + + + + affiche les régles de validité + display validity rules + + + + Détruit la commande + Delete the command + + + + Affiche les commandes possibles + display allowed commands + + + + &Commandes + &Commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Affiche le formulaire de la commande précédente + display previous command + + + + Affiche le formulaire de la commande suivante + display next command + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + TextLabel + + + + + WidgetCommentaire + + + <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">Comment</span></p></body></html> + + + + Affiche les commandes possibles + display allowed commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Détruit le commentaire + Delete the comment + + + + &Commandes + &Commands + + + + Affiche le formulaire de la commande précédente + display previous command + + + + Affiche le formulaire de la commande suivante + display next command + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + WidgetDate + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetFact + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + WidgetFactPlie + + + TextLabel + TextLabel + + + + Form + + + + + ... + + + + + WidgetHeure + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetInformative + + + Form + + + + + WidgetOptionnel + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html + + + + WidgetOptionnel + + + + + WidgetParam + + + <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> + <html><head/><body><p><span style=" color:#000000;">Parameter</span></p></body></html> + + + + Détruit le commentaire + Delete the comment + + + + Affiche les commandes possibles + Display allowed commands + + + + &Commandes + &Commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Affiche le formulaire de la commande précédente + Display previous command + + + + Affiche le formulaire de la commande suivante + Display next command + + + + <html><head/><body><p>Valeur: </p></body></html> + <html><head/><body><p>Value: </p></body></html< + + + + <html><head/><body><p>Nom: </p></body></html> + <html><head/><body><p>Name: </p></body></html> + + + + Verifie la valeur + Valid the value + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetPlusieursBase + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Remonte la ligne + up + + + + Descend la ligne + down + + + + supprime une ligne + deletes a line + + + + Ajoute une ligne + add a line + + + + Montre l'ensemble des valeurs + display all the value + + + + Sélectionne depuis Salome + from salome + + + + Visualise dans Salome + Show in salome + + + + Ouvre un fichier de sélection des valeurs + Open a file for selection + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + TextLabel + TextLabel + + + + WidgetPlusieursInto + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + WidgetPlusieursIntoOrdonne + + + Affiche le rapport de validation du mot-clef + display validity report for the keyword + + + + TextLabel + TextLabel + + + + Remonte d'une ligne + Up + + + + Descend d'une ligne + Down + + + + Détruit une ligne + Delete a line + + + + ajoute une ligne + add a line + + + + visualise l'ensemble des valeurs + show all values + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + Détruit le mot-clef + Delete the keyword + + + + WidgetPlusieursTuple + + + Form + + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + Up + + + + Descend la ligne + Down + + + + supprime une ligne + delete a line + + + + Ajoute une ligne + add a line + + + + Montre l'ensemble des valeurs + show all values + + + + Ouvre un fichier de sélection des valeurs + import data from a file + + + + Détruit le mot-clef + Delete the keyword + + + + TextLabel + TextLabel + + + + WidgetRadioButton + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + WidgetSDCOInto + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> + <html><head/><body><p>Objects with the recquired type</p><p><br/></p></body></html> + + + + <html><head/><body><p>ou Nom du concept</p></body></html> + or name the object + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpBase + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpBool + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + True + + + + + False + + + + + WidgetSimpComplexe + + + Complexe : a+bj + Complex : a+bj + + + + Réel/Imaginaire + Real/Imaginary + + + + Module/Phase + Module/Phase + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p align="center">OU </p></body></html> + + + + + WidgetSimpFichier + + + Affiche le rapport de validité du mot-clef + Display validity report for the keyword + + + + affiche l'explorateur de fichier + open file explorer + + + + ouvre le fichier choisi + Open the file + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpTxt + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetTuple2 + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + WidgetTuple3 + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + WidgetUniqueSDCO + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Attend un objet de type CO + expect a CO Object + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetVide + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> + + + + + Attend un objet de type XXXX. Il faut le créer + object must be created + + + + baseWidget + + + DMacro + DMacro + + + + dView + + + Dialog + Dialog + + + + Fermer + Close + + + + Sauver + Save + + + + desRecherche + + + Rechercher dans le JDC + Find in JDC + + + + Suivant + Next + + + + Next + + + + + desWidgetCreeParam + + + Gestion des Paramètres + Parameters + + + + <html><head/><body><p>Nom: </p></body></html> + Name + + + + <html><head/><body><p>Valeur: </p></body></html> + Value + + + + <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> + <html><head/><body><p><span style=" text-decoration: underline;">New Parameter</span></p></body></html> + + + + desWidgetMatrice + + + Dialog + Dialog + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + self.appliEficas + + + Wrapper Files (*.xml);;All Files (*) + + + + + Noname + + + + + viewRegles + + + Dialog + Dialog + + + diff --git a/OldCodes/UiQT4/eficas_en.ts b/OldCodes/UiQT4/eficas_en.ts new file mode 100644 index 00000000..afe86d8a --- /dev/null +++ b/OldCodes/UiQT4/eficas_en.ts @@ -0,0 +1,5860 @@ + + + + @default + + COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES + Coefficient to calibrate tidal velocities + + + BOTTOM_TOPOGRAPHY_FILE + Bottom topography file + + + NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES + Number of corrections of distributive schemes + + + WATER_DENSITY + Water density + + + VALUE_OF_ATMOSPHERIC_PRESSURE + Value of atmospheric pressure + + + LISTING_FOR_PRINTOUT_PERIOD + Listing for printout period + + + CONSERVATIVE_N_SCHEME + Conservative N-Scheme + + + wave_celerity_(m/s) + Wave celerity (m/s) + + + scalar_flowrate_of_fluid_(m2/s) + Scalar flowrate of fluid (m2/s) + + + constant_normal_profile + Constant normal profile + + + LAMBERT_4_CORSICA + Lambert 4 corsica + + + MERCATOR + Mercator + + + VELOCITY_DIFFUSIVITY + Velocity diffusivity + + + LINEARIZED_PROPAGATION + Linearized propagation + + + PRINTOUT_PERIOD_FOR_DROGUES + Printout period for drogues + + + BINARY_RESULTS_FILE_FORMAT + Binary results file format + + + COMPUTATION_CONTINUED + Computation continued + + + PARALLEL_PROCESSORS + Parallel processors + + + COEFFICIENT_FOR_DIFFUSION_OF_TRACERS + Coefficient for diffusion of tracers + + + LAMBERT_3_SOUTH + Lambert 3 south + + + DIAMETER_OF_ALGAE + Diameter of algae + + + FRICTION_DATA_FILE + Friction data file + + + Real_tide_(recommended_methodology) + Real tide (recommended methodology) + + + NAMES_OF_POINTS + Names of points + + + GIGARTINA_LEPTORHYNCHOS + Gigartina leptorhynchos + + + STOP_CRITERIA + Stop criteria + + + Roe_scheme + Roe scheme + + + FINITE_VOLUME_SCHEME + Finite volume scheme + + + IMPLICITATION_COEFFICIENT_OF_TRACERS + Implicitation coefficient of tracers + + + gradient_simple + Gradient simple + + + SPATIAL_PROJECTION_TYPE + Spatial projection type + + + PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI + Physical characteristics of the tsunami + + + direct + Direct + + + zero + Zero + + + FRICTION_COEFFICIENT + Friction coefficient + + + BREACHES_DATA_FILE + Breaches data file + + + COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION + Coefficient 1 for law of tracers degradation + + + TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES + Treatment of fluxes at the boundaries + + + GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER + Global number of the point to calibrate high water + + + REFERENCE_FILE_FORMAT + Reference file format + + + conjugate_residual + Conjugate residual + + + BOTTOM_SURFACES_DELWAQ_FILE + Bottom surfaces DELWAQ file + + + N_SCHEME_FOR_TIDAL_FLATS + N-Scheme for tidal flats + + + NO_FRICTION + No friction + + + no_preconditioning_ + No preconditioning + + + CONTINUITY_CORRECTION + Continuity correction + + + F(T90)_LAW + F(T90) law + + + FREE_SURFACE_GRADIENT_COMPATIBILITY + Free surface gradient compatibility + + + gmres + GMRES + + + strong + Strong + + + 1/h_div_(_h_nu_grad(U) + 1/h div ( h nu grad(U) + + + SMAGORINSKI + Smagorinski + + + NAMES_OF_PRIVATE_VARIABLES + Names of private variables + + + NODES_DISTANCES_DELWAQ_FILE + Nodes distances DELWAQ file + + + SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS + Scheme option for advection of tracers + + + MERCATOR_FOR_TELEMAC + Mercator for telemac + + + TIME_STEP_REDUCTION_FOR_K_EPSILON_MODEL + Time step reduction for K-Epsilon model + + + quasi_bubble + Quasi-bubble + + + NON_DIMENSIONAL_DISPERSION_COEFFICIENTS + Non-dimensional dispersion coefficients + + + classical_EBE + Classical ebe + + + IMPLICIT_NON_CONSERVATIVE_N_SCHEME + Implicit non conservative n scheme + + + GEOMETRY_FILE_FORMAT + Geometry file format + + + ORIGINAL_HOUR_OF_TIME + Original hour of time + + + DIFFUSIVITY_FOR_DELWAQ + Diffusivity for DELWAQ + + + Q(Z)_not_programmed + Q(Z) not programmed + + + DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS + Dissipation coefficient for secondary currents + + + ALGAE_TRANSPORT_MODEL + Algae transport model + + + TOLERANCES_FOR_IDENTIFICATION + Tolerances for identification + + + WGS84_SOUTHERN_UTM + WGS84 southern utm + + + air_pressure_(Pa) + Air pressure (Pa) + + + No_model + No model + + + DELWAQ_PRINTOUT_PERIOD + DELWAQ printout period + + + DROGUES_FILE + Drogues file + + + MASS_LUMPING_FOR_WEAK_CHARACTERISTICS + Mass-lumping for weak characteristics + + + GRAVITY_ACCELERATION + Gravity acceleration + + + BINARY_DATABASE_2_FOR_TIDE + Binary database 2 for tide + + + 6_points + 6 points + + + TIME_RANGE_FOR_FOURIER_ANALYSIS + Time range for fourier analysis + + + EDGE_BASED_N_SCHEME + Edge-based N-Scheme + + + Priority_to_fluxes + Priority to fluxes + + + LAMBERT_1_NORTH + Lambert 1 north + + + velocity_proportional_to_square_root_of_depth + Velocity proportional to square root of depth + + + STRICKLER + Strickler + + + LAMBERT_2_EXTENDED + Lambert 2 extended + + + ELEMENTS_MASKED_BY_USER + Elements masked by user + + + NAMES_OF_TRACERS + Names of tracers + + + H_CLIPPING + H clipping + + + conjugate_residuals + Conjugate residuals + + + PARAMETER_ESTIMATION + Parameter estimation + + + CHECKING_THE_MESH + Checking the mesh + + + SOLVER_FOR_K_EPSILON_MODEL + Solver for K-Epsilon model + + + LIST_OF_FILES + List of files + + + Wave_equation + Wave equation + + + NAMES_OF_CLANDESTINE_VARIABLES + Names of clandestine variables + + + WAQTEL_STEERING_FILE + Waqtel steering file + + + MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES + Maximum number of iterations for advection schemes + + + squared_conjugate_gradient + Squared conjugate gradient + + + LAW_OF_BOTTOM_FRICTION + Law of bottom friction + + + MATRIX_VECTOR_PRODUCT + Matrix-vector product + + + ACCURACY_FOR_DIFFUSION_OF_TRACERS + Accuracy for diffusion of tracers + + + cgstab + CGSTAB + + + MANNING + Manning + + + SCHEME_FOR_ADVECTION_OF_TRACERS + Scheme for advection of tracers + + + OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL + Option for the solver for K-Epsilon model + + + conjugate_gradient_squared_stabilised_(cgstab) + Conjugate gradient squared stabilised (CGSTAB) + + + PELVETIOPSIS_LIMITATA + Pelvetiopsis limitata + + + LIKE_1_BUT_WITH_POROSITY_(DEFINA_METHOD) + Like 1 but with porosity (defina method) + + + FRICTION_DATA + Friction data + + + TUBES_DATA_FILE + Tubes data file + + + ZONES_FILE + Zones file + + + Mean_tide + Mean tide + + + DENSITY_EFFECTS + Density effects + + + THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE + Threshold depth for receding procedure + + + explicit + Explicit + + + DRY_ELEMENTS_FROZEN + Dry elements frozen + + + extrapolation + Extrapolation + + + conjugate_gradient_on_normal_equation + Conjugate gradient on normal equation + + + TREATMENT_OF_NEGATIVE_DEPTHS + Treatment of negative depths + + + STEERING_FILE + Steering file + + + ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM + Zone number in geographic system + + + DIFFUSION_OF_TRACERS + Diffusion of tracers + + + PREVIOUS_COMPUTATION_FILE + Previous computation file + + + DIAMETER_OF_ROUGHNESS_ELEMENTS + Diameter of roughness elements + + + friction_velocity + Friction velocity + + + NUMBER_OF_TIME_STEPS + Number of time steps + + + NEWMARK_TIME_INTEGRATION_COEFFICIENT + Newmark time integration coefficient + + + TOMAWAC_STEERING_FILE + TOMAWAC steering file + + + CONSTANT_VISCOSITY + Constant viscosity + + + INITIAL_DEPTH + Initial depth + + + WATER_QUALITY + Water quality + + + MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS + Maximum number of iterations for diffusion of tracers + + + ANGLAIS + Anglais + + + EQUATIONS_SOLVED_EVERYWHERE_WITH_CORRECTION_ON_TIDAL_FLATS + Equations solved everywhere with correction on tidal flats + + + LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES + Law of friction on lateral boundaries + + + COUPLING_PERIOD_FOR_SISYPHE + Coupling period for sisyphe + + + NON_CONSERVATIVE_PSI_SCHEME + Non conservative PSI scheme + + + STAGE_DISCHARGE_CURVES_FILE + Stage-discharge curves file + + + INITIAL_CONDITIONS + Initial conditions + + + predictor_corrector + Predictor-corrector + + + LAMBERT + Lambert + + + OPTION_FOR_THE_DIFFUSION_OF_TRACERS + Option for the diffusion of tracers + + + ACCURACY_OF_EPSILON + Accuracy of epsilon + + + THRESHOLD_DEPTH_FOR_WIND + Threshold depth for wind + + + SOLVER_ACCURACY + Solver accuracy + + + TURBULENCE_MODEL_FOR_SOLID_BOUNDARIES + Turbulence model for solid boundaries + + + BOUNDARY_CONDITIONS_FILE + Boundary conditions file + + + VALIDATION + Validation + + + tracer + Tracer + + + TIDE_GENERATING_FORCE + Tide generating force + + + SUPG + SUPG + + + PRESCRIBED_FLOWRATES + Prescribed flowrates + + + Mean_spring_tide + Mean spring tide + + + BINARY_DATABASE_1_FOR_TIDE + Binary database 1 for tide + + + LAW_OF_TRACERS_DEGRADATION + Law of tracers degradation + + + SECTIONS_INPUT_FILE + Sections input file + + + MINIMUM_VALUE_OF_DEPTH + Minimum value of depth + + + No_tide + No tide + + + SPACING_OF_ROUGHNESS_ELEMENTS + Spacing of roughness elements + + + SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON + Scheme option for advection of K-epsilon + + + LISTING_PRINTOUT_PERIOD + Listing printout period + + + COLEBROOK_WHITE + Colebrook-white + + + MINOR_CONSTITUENTS_INFERENCE + Minor constituents inference + + + CARTESIAN,_NOT_GEOREFERENCED + Cartesian, not georeferenced + + + No_Tsunami + No tsunami + + + drift_along_x_(m) + Drift along X (m) + + + UTM_ZONE,_E.G. + Utm zone, e.g. + + + CONSERVATIVE_PSI_SCHEME + Conservative PSI-Scheme + + + PREVIOUS_COMPUTATION_FILE_FORMAT + Previous computation file format + + + VALUES_OF_THE_TRACERS_AT_THE_SOURCES + Values of the tracers at the sources + + + linear + Linear + + + BINARY_RESULTS_FILE + Binary results file + + + diagonal + Diagonal + + + EXCHANGE_AREAS_DELWAQ_FILE + Exchange areas DELWAQ file + + + IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY + Implicitation for diffusion of velocity + + + conjugate_gradient + Conjugate gradient + + + WGS84_NORTHERN_UTM + WGS84 northern utm + + + WEIRS_DATA_FILE + Weirs data file + + + IMPLICITATION_FOR_VELOCITY + Implicitation for velocity + + + DEFINITION_OF_ZONES + Definition of zones + + + MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON + Maximum number of iterations for K and Epsilon + + + MEAN_DEPTH_FOR_LINEARIZATION + Mean depth for linearization + + + 3_points + 3 points + + + wind_along_y_axis_(m/s) + Wind along Y axis (m/s) + + + div(_nu_grad(T)_) + Div( nu grad(t) ) + + + minimum_error + Minimum error + + + SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES + Scheme option for advection of velocities + + + DESIRED_COURANT_NUMBER + Desired courant number + + + flowrate_along_x_axis_(m2/s) + Flowrate along X axis (m2/s) + + + SUPG_OPTION + SUPG option + + + 1/h_div_(_h_nu_grad(T) + 1/h div ( h nu grad(t) + + + crout + Crout + + + conjugate_gradient_squared + Conjugate gradient squared + + + STOP_IF_A_STEADY_STATE_IS_REACHED + Stop if a steady state is reached + + + DEFAULT_PARALLEL_EXECUTABLE + Default parallel executable + + + INFORMATION_ABOUT_SOLVER + Information about solver + + + K_EPSILON_MODEL + K-Epsilon model + + + AIR_PRESSURE + Air pressure + + + RESULTS_FILE + Results file + + + VERTICAL_FLUXES_DELWAQ_FILE + Vertical fluxes DELWAQ file + + + DELWAQ_STEERING_FILE + DELWAQ steering file + + + wind_along_x_axis_(m/s) + Wind along X axis (m/s) + + + Lagrange_interp. + Lagrange interp. + + + MASS_BALANCE + Mass-balance + + + turbulent_viscosity_(m2/s) + Turbulent viscosity (m2/s) + + + OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS + Option for tidal boundary conditions + + + ADVECTION_OF_TRACERS + Advection of tracers + + + DIFFUSION_OF_VELOCITY + Diffusion of velocity + + + scalar_velocity_(m/s) + Scalar velocity (m/s) + + + COEFFICIENT_OF_WIND_INFLUENCE + Coefficient of wind influence + + + PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS + Production coefficient for secondary currents + + + HLLC_scheme_order_1 + HLLC scheme order 1 + + + RESULTS_FILE_FORMAT + Results file format + + + COUPLING_PERIOD_FOR_TOMAWAC + Coupling period for TOMAWAC + + + NUMBER_OF_PRIVATE_ARRAYS + Number of private arrays + + + MAXIMUM_NUMBER_OF_FRICTION_DOMAINS + Maximum number of friction domains + + + DURATION + Duration + + + BINARY_DATA_FILE_2_FORMAT + Binary data file 2 format + + + HORIZONTAL_WITH_SAME_NUMBER_OF_NODES_UPSTREAM/DOWNSTREAM + Horizontal with same number of nodes upstream/downstream + + + OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES + Option for the diffusion of velocities + + + MASS_LUMPING_ON_TRACERS + Mass-lumping on tracers + + + NORTH + North + + + RAIN_OR_EVAPORATION + Rain or evaporation + + + FRANCAIS + Francais + + + PARTITIONING_TOOL + Partitioning tool + + + FORMATTED_RESULTS_FILE + Formatted results file + + + VERTICAL_STRUCTURES + Vertical structures + + + OPTION_FOR_TSUNAMI_GENERATION + Option for tsunami generation + + + VARIABLE_TIME_STEP + Variable time-step + + + IRIDAEA_FLACCIDA_(CLOSE_TO_ULVA) + Iridaea flaccida (close to ulva) + + + PROPAGATION_OPTION + Propagation option + + + REFERENCE_FILE + Reference file + + + TIDAL_DATA_BASE + Tidal data base + + + INITIAL_ELEVATION + Initial elevation + + + average + Average + + + STOCHASTIC_DIFFUSION_MODEL + Stochastic diffusion model + + + FORTRAN_FILE + Fortran file + + + BREACH + Breach + + + Z(Q) + Z(Q) + + + NO_DEFAULT_VALUE + No default value + + + no_preconditioning + No preconditioning + + + TIME_STEP + Time step + + + rough + Rough + + + SALINITY_DELWAQ_FILE + Salinity DELWAQ file + + + IMPLICITATION_FOR_DEPTH + Implicitation for depth + + + NUMBER_OF_LAGRANGIAN_DRIFTS + Number of lagrangian drifts + + + TEMPERATURE_FOR_DELWAQ + Temperature for DELWAQ + + + GENERAL + General + + + SECONDARY_CURRENTS + Secondary currents + + + PRECONDITIONING + Preconditioning + + + MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW + Manning default value for colebrook-white law + + + ADVECTION_OF_H + Advection of H + + + DEBUGGER + Debugger + + + LATITUDE_OF_ORIGIN_POINT + Latitude of origin point + + + PRESCRIBED_TRACERS_VALUES + Prescribed tracers values + + + RECORD_NUMBER_FOR_RESTART + Record number for restart + + + turbulent_viscosity_of_k_epsilon_model_(m2/s) + Turbulent viscosity of K-epsilon model (m2/s) + + + LISTING_PRINTOUT + Listing printout + + + CORIOLIS_COEFFICIENT + Coriolis coefficient + + + TURBULENCE_MODEL + Turbulence model + + + NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS + Number of first time step for listing printouts + + + PRINTING_CUMULATED_FLOWRATES + Printing cumulated flowrates + + + OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS + Option for the treatment of tidal flats + + + variable_in_time_and_space_given_by_formated_file + Variable in time and space given by formated file + + + CONTROL_SECTIONS + Control sections + + + SOLVER_FOR_DIFFUSION_OF_TRACERS + Solver for diffusion of tracers + + + SECTIONS_OUTPUT_FILE + Sections output file + + + NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES + Number of sub-steps of distributive schemes + + + UPWIND_COEFFICIENTS + Upwind coefficients + + + time_of_maximum_elevation + Time of maximum elevation + + + ALGAE_TYPE + Algae type + + + RAIN_OR_EVAPORATION_IN_MM_PER_DAY + Rain or evaporation in mm per day + + + FORMATTED_DATA_FILE_1 + Formatted data file 1 + + + FORMATTED_DATA_FILE_2 + Formatted data file 2 + + + C_U_PRECONDITIONING + C-U preconditioning + + + LIST_OF_POINTS + List of points + + + WGS84_LONGITUDE/LATITUDE_IN_REAL_DEGREES + WGS84 longitude/latitude in real degrees + + + MISCELLANEOUS_(LEGOS_NEA,_FES20XX,_PREVIMER...) + Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...) + + + conj_gradient + Conj gradient + + + weak + Weak + + + SCHEME_FOR_ADVECTION_OF_VELOCITIES + Scheme for advection of velocities + + + gmres_(see_option_for_the_solver_for_k_epsilon_model) + GMRES (see option for the solver for K-Epsilon model) + + + NO_ADVECTION + No advection + + + NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS + Number of first time step for graphic printouts + + + DEPTH_IN_FRICTION_TERMS + Depth in friction terms + + + FOURIER_ANALYSIS_PERIODS + Fourier analysis periods + + + EQUATIONS + Equations + + + MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION + Maximum number of iterations for identification + + + WIND + Wind + + + SPEED_AND_DIRECTION_OF_WIND + Speed and direction of wind + + + TYPE_OF_SOURCES + Type of sources + + + TITLE + Title + + + MASS_LUMPING_ON_H + Mass-lumping on H + + + NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES + Number of sub-iterations for non-linearities + + + PSI_SCHEME_OPTION + Psi scheme option + + + LIQUID_BOUNDARIES_FILE + Liquid boundaries file + + + VELOCITIES_OF_THE_SOURCES_ALONG_X + Velocities of the sources along X + + + VELOCITIES_OF_THE_SOURCES_ALONG_Y + Velocities of the sources along Y + + + CHARACTERISTICS + Characteristics + + + BOTTOM_SMOOTHINGS + Bottom smoothings + + + SALINITY_FOR_DELWAQ + Salinity for DELWAQ + + + OPTION_FOR_CHARACTERISTICS + Option for characteristics + + + MAXIMUM_NUMBER_OF_TRACERS + Maximum number of tracers + + + maximum_velocity + Maximum velocity + + + FREE_INTEGER_20 + Free integer 20 + + + ZERO + Zero + + + OPTION_FOR_WIND + Option for wind + + + BINARY_DATA_FILE_1 + Binary data file 1 + + + BINARY_DATA_FILE_2 + Binary data file 2 + + + free_surface_elevation_(m) + Free surface elevation (m) + + + PRESCRIBED_VELOCITIES + Prescribed velocities + + + water_depth_(m) + Water depth (m) + + + VELOCITY_DELWAQ_FILE + Velocity DELWAQ file + + + kinetic_order_2 + Kinetic order 2 + + + kinetic_order_1 + Kinetic order 1 + + + coupled + Coupled + + + LAMBERT_2_CENTER + Lambert 2 center + + + COMPATIBLE_COMPUTATION_OF_FLUXES + Compatible computation of fluxes + + + Astronomical_neap_tide + Astronomical neap tide + + + NUMBER_OF_TRACERS + Number of tracers + + + Dirac + Dirac + + + COUPLING_DIRECTORY + Coupling directory + + + DEFAULT_EXECUTABLE + Default executable + + + GEOMETRY_FILE + Geometry file + + + DICTIONARY + Dictionary + + + WAF_scheme_order_2 + WAF scheme order 2 + + + VARIABLES_FOR_GRAPHIC_PRINTOUTS + Variables for graphic printouts + + + INFORMATION_ABOUT_K_EPSILON_MODEL + Information about K-Epsilon model + + + OIL_SPILL_STEERING_FILE + Oil spill steering file + + + MAXIMUM_NUMBER_OF_BOUNDARIES + Maximum number of boundaries + + + DIFFUSIVITY_DELWAQ_FILE + Diffusivity DELWAQ file + + + Thompson_method_based_on_characteristics + Thompson method based on characteristics + + + DESCRIPTION_OF_LIBRARIES + Description of libraries + + + NUMBER_OF_WEIRS + Number of weirs + + + SPHERE + Sphere + + + Computed_with_c,u,v + Computed with C,U,V + + + Astronomical_tide + Astronomical tide + + + velocity_along_y_axis_(m/s) + Velocity along Y axis (m/s) + + + CULVERT_DATA_FILE + Culvert data file + + + bottom_elevation_(m) + Bottom elevation (m) + + + EXCHANGES_BETWEEN_NODES_DELWAQ_FILE + Exchanges between nodes DELWAQ file + + + SOLVER_OPTION_FOR_TRACERS_DIFFUSION + Solver option for tracers diffusion + + + INITIAL_VALUES_OF_TRACERS + Initial values of tracers + + + flowrate_along_y_axis_(m2/s) + Flowrate along Y axis (m2/s) + + + NUMBER_OF_TUBES + Number of tubes + + + LONGITUDE_OF_ORIGIN_POINT + Longitude of origin point + + + MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER + Maximum number of iterations for solver + + + CORIOLIS + Coriolis + + + ADVECTION + Advection + + + Edge_based_storage + Edge-based storage + + + EXPLICIT_+_MURD_SCHEME_PSI + Explicit + murd scheme PSI + + + previous + Previous + + + ABSCISSAE_OF_SOURCES + Abscissae of sources + + + VECTOR_LENGTH + Vector length + + + GRAPHIC_PRINTOUT_PERIOD + Graphic printout period + + + COUPLING_WITH + Coupling with + + + CHEZY + CHEZY + + + variable_in_time_given_by_formated_file + Variable in time given by formated file + + + WATER_DISCHARGE_OF_SOURCES + Water discharge of sources + + + ADVECTION_OF_U_AND_V + Advection of U and V + + + Zokagoa_scheme_order_1 + Zokagoa scheme order 1 + + + DEFINED_BY_USER + Defined by user + + + LATITUDE_LONGITUDE + Latitude longitude + + + VOLUMES_DELWAQ_FILE + Volumes DELWAQ file + + + VELOCITY_FOR_DELWAQ + Velocity for DELWAQ + + + ROUGHNESS_COEFFICIENT_OF_BOUNDARIES + Roughness coefficient of boundaries + + + TPXO + TPXO + + + INITIAL_TIME_SET_TO_ZERO + Initial time set to zero + + + EXPLICIT_+_SUPG + Explicit + SUPG + + + INITIAL_GUESS_FOR_U + Initial guess for U + + + SCHEME_FOR_ADVECTION_OF_K_EPSILON + Scheme for advection of K-epsilon + + + NO_DEGRADATION + No degradation + + + TEMPERATURE_DELWAQ_FILE + Temperature DELWAQ file + + + Froude_number + Froude number + + + classical + Classical + + + nombre_de_courants_ + Nombre de courants + + + SOURCES_FILE + Sources file + + + LOG_LAW + Log law + + + CONTROL_OF_LIMITS + Control of limits + + + NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS + Number of Gauss points for weak characteristics + + + TYPE_OF_WEIRS + Type of weirs + + + THRESHOLD_FOR_NEGATIVE_DEPTHS + Threshold for negative depths + + + velocity_proportional_to_square_root_of_depth,_variant + Velocity proportional to square root of depth, variant + + + VELOCITY_PROFILES + Velocity profiles + + + LANGUAGE + Language + + + STAGE_DISCHARGE_CURVES + Stage-discharge curves + + + Courant_number_ + Courant number + + + COST_FUNCTION + Cost function + + + JMJ + JMJ + + + ORIGIN_COORDINATES + Origin coordinates + + + RECORD_NUMBER_IN_WAVE_FILE + Record number in wave file + + + tracer_1_etc. + Tracer 1 etc. + + + TYPE_OF_ADVECTION + Type of advection + + + WIND_VELOCITY_ALONG_X + Wind velocity along X + + + WIND_VELOCITY_ALONG_Y + Wind velocity along Y + + + MAXIMUM_NUMBER_OF_SOURCES + Maximum number of sources + + + HAALAND + HAALAND + + + div(_nu_grad(U)_) + Div( nu grad(U) ) + + + DISCRETIZATIONS_IN_SPACE + Discretizations in space + + + SISYPHE_STEERING_FILE + Sisyphe steering file + + + ADVECTION_OF_K_AND_EPSILON + Advection of K and epsilon + + + NUMBER_OF_CULVERTS + Number of culverts + + + RELEASE + Release + + + list_of_tests + List of tests + + + PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS + Preconditioning for diffusion of tracers + + + EXPLICIT_LEO_POSTMA + Explicit Leo Postma + + + LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER + Local number of the point to calibrate high water + + + Tchamen_scheme_order_1 + Tchamen scheme order 1 + + + supplementary_variable_O + Supplementary variable o + + + WAVE_ENHANCED_FRICTION_FACTOR + Wave enhanced friction factor + + + ELDER + Elder + + + supplementary_variable_N + Supplementary variable n + + + gauss_seidel + Gauss-Seidel + + + TREATMENT_OF_THE_LINEAR_SYSTEM + Treatment of the linear system + + + VARIABLES_TO_BE_PRINTED + Variables to be printed + + + normal_velocity_given_in_ubor_in_the_conlim_file + Normal velocity given in ubor in the conlim file + + + DENSITY_OF_ALGAE + Density of algae + + + NON_SUBMERGED_VEGETATION_FRICTION + Non-submerged vegetation friction + + + TIDAL_FLATS + Tidal flats + + + diagonal_and_crout + Diagonal and Crout + + + HARMONIC_CONSTANTS_FILE + Harmonic constants file + + + Priority_to_prescribed_values + Priority to prescribed values + + + BINARY_DATA_FILE_1_FORMAT + Binary data file 1 format + + + Normal + Normal + + + nodal + Nodal + + + PRESCRIBED_ELEVATIONS + Prescribed elevations + + + LIMIT_VALUES + Limit values + + + quadratic + Quadratic + + + ORDINATES_OF_SOURCES + Ordinates of sources + + + Real_tide_(methodology_before_2010) + Real tide (methodology before 2010) + + + NUMBER_OF_DROGUES + Number of drogues + + + maximum_elevation + Maximum elevation + + + dissipation_of_turbulent_energy_(W/kg) + Dissipation of turbulent energy (W/kg) + + + PROPAGATION + Propagation + + + constant_in_time_and_space + Constant in time and space + + + Mean_neap_tide + Mean neap tide + + + gmres_(see_option_for_the_solver_for_tracer_diffusion) + GMRES (see option for the solver for tracer diffusion) + + + SOLVER_OPTION + Solver option + + + MATRIX_STORAGE + Matrix storage + + + COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE + Coefficient to calibrate tidal range + + + brownian_movement + Brownian movement + + + SOLVER + Solver + + + smooth + Smooth + + + turbulent_kinetic_energy_in_k_epsilon_model_(J/kg) + Turbulent kinetic energy in K-Epsilon model (W/kg) + + + NIKURADSE + Nikuradse + + + PRECONDITIONING_FOR_K_EPSILON_MODEL + Preconditioning for K-Epsilon model + + + drift_along_y_(m) + Drift along Y (m) + + + velocity_along_x_axis_(m/s) + Velocity along X axis (m/s) + + + LEO_POSTMA_FOR_TIDAL_FLATS + Leo Postma for tidal flats + + + block_diagonal_(4_9_matrices) + Block-diagonal (4-9 matrices) + + + Computed_with_h,u,v + Computed with H,U,V + + + ACCURACY_OF_K + Accuracy of K + + + WATER_QUALITY_PROCESS + Water quality process + + + OPTION_FOR_LIQUID_BOUNDARIES + Option for liquid boundaries + + + COEFFICIENT_TO_CALIBRATE_SEA_LEVEL + Coefficient to calibrate sea level + + + INITIAL_GUESS_FOR_H + Initial guess for H + + + SPHERICAL_COORDINATES + Spherical coordinates + + + no + No + + + THICKNESS_OF_ALGAE + Thickness of algae + + + MEAN_TEMPERATURE + Mean temperature + + + IDENTIFICATION_METHOD + Identification method + + + friction_coefficient + Friction coefficient + + + MASS_LUMPING_ON_VELOCITY + Mass-lumping on velocity + + + time_of_maximum_velocity + Time of maximum velocity + + + VALUES_OF_TRACERS_IN_THE_RAIN + Values of tracers in the rain + + + supplementary_variable_Z + Supplementary variable Z + + + supplementary_variable_R + Supplementary variable R + + + EXPLICIT_+_MURD_SCHEME_N + Explicit + murd Scheme N + + + conjugate_gradient_on_a_normal_equation + Conjugate gradient on a normal equation + + + WAVE_DRIVEN_CURRENTS + Wave driven currents + + + Tsunami_generated_on_the_basis_of_the_Okada_model_1992 + Tsunami generated on the basis of the Okada model 1992 + + + ASCII_DATABASE_FOR_TIDE + ASCII database for tide + + + OIL_SPILL_MODEL + Oil spill model + + + 1_point + 1 point + + + ORIGINAL_DATE_OF_TIME + Original date of time + + + GEOGRAPHIC_SYSTEM + Geographic system + + + TIDAL_MODEL_FILE + Tidal model file + + + absolute_value_of_diagonal + Absolute value of diagonal + + + u_and_v_given_in_the_conlim_file + U and V given in the conlim file + + + + lecture du fichier impossible : + unable to read file : + + + + Impossible d'ouvrir le fichier %s + unable to open file %s + + + + Impossible de convertir le fichier Python qui doit contenir des erreurs. + + On retourne le fichier non converti. Prevenir la maintenance. + + %s + Unable to translate the file. it probably contains mistake +ask eficas team +%s + + + + Format de sortie : %s, non supporte + Unsupported format %s + + + + Impossible d'ouvrir le fichier : %s + unable to open file: %s + + + + Erreur ! Erreur ! + Error! + + + + Erreur rencontree dans recherche_enfants : %s + Error in recherche_enfants : %s + + + + Erreur dans la creation du mot-cle : %s + Error when creating %s + + + + Impossible d'ouvrir le fichier : %s + unable to open file : %s + + + + le texte a analyser n'est pas celui d'une commande ou d'un operateur : + text is no eficas text: + + + + Erreur dans la recherche du nom de la commande : + error when searching command's name : + + + + Erreur dans la recherche des args de la commande : + error when searching argument's command : + + + + Erreur dans la recherche du nom de la commande : + error when searching command's name : + + + + Erreur dans la recherche des args de la commande : + error when searching argument's command : + + + + %d n'est pas un index valide pour append_brother + %d is not a valid index for append-brother + + + + le fichier de commandes %s n'existe pas + commands file %s does not exist + + + + un fichier de commandes doit etre defini avant une poursuite %s + You have to define principal commands file before a secondary (poursuite) file %s + + + + le fichier poursuite %s n'existe pas + the secondary (poursuite) file does not exist + + + + include mal defini %s + include is not correct %s + + + + un fichier de commandes doit etre defini avant un include %s + You have to define principal commands file before include %s + + + + le fichier include %s n'existe pas + include file does not exist + + + + jdc %(v_1)s, le fichier + de commandes %(v_2)s n'existe pas + v_1 + jdc %(v_1)s : .comm %(v_2)s does not exist + + + + le fichier jdc %s n'existe pas + file %s does not exist + + + + jdc %s manque option jdc dans section jdc + jdc %s does not have jdc option in command line + + + + %(v_1)s include %(v_2)s : %(v_3)s + v_1 + %(v_1)s include %(v_2)s : %(v_3)s + + + + %(v_1)s fichier poursuite: %(v_2)s + v_1 + %(v_1)ssecondary (poursuite) file %(v_2)s + + + + nom etude : %s + study's name : %s + + + + utilisation : %prog [options] + use : %prog[options] + + + + nom du fichier de commandes + principal .comm file's name + + + + nom du fichier poursuite + secondary (poursuite) file's name + + + + numero d'unite suivi du nom du fichier include + unit number and include file's name + + + + fichier decrivant une etude + file containing a study + + + + version de catalogue a utiliser + catalog's version + + + + nom du code a utiliser + code's name + + + + niveau de debug + debug level + + + + schema + schema + + + + Nombre incorrect d'arguments + incorrect number of arguments + + + + Localisation specifiee pour l'application. + specified localization for the application. + + + + Impossible de transferer les fichiers requis dans : %s + unable to transfer files to : %s + + + + Erreur + error + + + + Erreurs fatales + fatale error + + + + Impossible reconstruire commande + + unable to construct command + + + + Objet commentaire non valorise + comment object has no value + + + + Debut Fonction %s + start function %s + + + + Fin Fonction %s + end function %s + + + + Nom de concept deja defini : %s + Concept's name %s is already existing + + + + Longueur incorrecte + incorrect length + + + + L'attribut 'min' doit etre un entier : + min must be an integer : + + + + L'attribut 'max' doit etre un entier : + max must be an integer : + + + + Nombres d'occurrence min et max invalides : + min and max are invalid: + + + + L'attribut 'fr' doit etre une chaine de caracteres + 'fr' must be a string + + + + L'attribut 'statut' doit valoir 'o','f','c' ou 'd' + values for statut arguments are : 'o','f','c' or 'd' + + + + L'attribut 'docu' doit etre une chaine de caracteres + docu must be a string + + + + Fin + end + + + + Le parametre EVAL %s ne peut valoir None + None is not a valid value for Eval parameter %s + + + + Pas de nom donne au parametre EVAL + No name for parameter EVAL + + + + Un nom de parametre ne peut depasser 8 caracteres + parameter's name can not exceed 8 characters + + + + Un concept de nom %s existe deja ! + Concept's name %s is already existing! + + + + ERREUR + ERROR + + + + Format pas implemente : %s + format : %s not implemented + + + + Type d'objet non prevu : %s + object type not expected : %s + + + + ce groupe de maillage %s est associe a au moins un materiau et au moins une source. + mesh group %s is associated with at least one material and at least a source. + + + + ce groupe de maillage %s n'est associe a aucun materiau ou source. + mesh group %s is associated with no material or no source. + + + + ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel + + + + + toutes les donnees ne sont pas connues + all data are not available + + + + Fichier patron %s n'existe pas. + pattern file %s does not exist. + + + + Pas supporte + not implemented + + + + Entite inconnue ou interdite :%s + Unknown or unsupported entity : %s + + + + Entite inconnue ou interdite :%s. Elle est ignoree + Unknown or unsupported entity : %s. ignored + + + + Les tuples ne sont pas supportes pour le format ini :%s + Tuple are not allowed for format ini : %s + + + + Type de valeur non supportee par le format ini :%(nom)s +%(exception)s + nom + Unsupported type of value for .ini format %(nom)s +%(exception)s + + + + Il y a un pb a la Creation du XML + problem when creating XML + + + + Il y a un pb a la Creation du STD + problem when creating STD + + + + Entite inconnue ou interdite : %s. Elle est ignoree + unkown ou unsupported entity : %s. ignored + + + + Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. + Tag %s not defined. Ask developpeurs team. + + + + Le mot-cle %s est obligatoire. + mandatory keyword : %s. + + + + concept %(inst_name)s de type %(class_name)s + inst_name + concept %(inst_name)s of type %(class_name)s + + + + Un nom de concept doit etre un identificateur Python + concept's name must be a python identifier + + + + Concept existant + allready existing concept + + + + Operateur reentrant mais concept non existant + operator 'reentrant' but concept does not exist + + + + Operateur reentrant et concept existant trouve + Operator 're-entrant' and concept exists + + + + Concept deja existant et de mauvais type + already existing concept of not supported type + + + + Nommage du concept refuse : un concept de meme nom existe deja + Name is refused : already existing concept + + + + Nommage du concept effectue + Concept named + + + + Nommage impossible %s + unable to name %s + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante + formula expects a list of arguments : no left parenthesis + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante + formula expects a list of arguments : no right parenthes + + + + Pas de nom donne a la FORMULE + no name given + + + + Un nom de FORMULE ne peut depasser 8 caracteres + name too long (8 characters max) + + + + Un nom de FORMULE ne peut pas commencer par un chiffre + name does not begin with a figure + + + + Le type de la valeur retournee n'est pas specifie + no type is specified for the return value + + + + Une formule ne peut retourner une valeur de type : %s + impossible to return a value of type : %s + + + + Impossible d'ajouter la commande + unable to add the keyword (commande) + + + + Impossible d ajouter la commande + unable to add the keyword (commande) + + + + Pas implemente + not implemented + + + + Nom de concept deja defini + already defined concept + + + + Nom de concept deja defini : + already defined concept : + + + + Impossible de trouver le fichier correspondant a l'unite + unable to find file corresponding to unit + + + + n'est pas un fichier existant + is not an existing file + + + + Fichier invalide %s + invalid file %s + + + + Impossible de construire le jeu de commandes correspondant au fichier + unable to create the jdc corresponding to the file + + + + Erreur lors de l'evaluation du fichier inclus + Error when reading the 'include' file + + + + Ce fichier ne sera pas pris en compte + %s + the file is ignored +%s + + + + Ce fichier ne sera pas pris en compte +Le fichier associe n'est pas defini + the file is ignored : associated file is not defined + + + + Le fichier n est pas defini + file is not defined + + + + le fichier doit contenir une unique variable de sortie + file must declare a single output variable + + + + Fichier invalide + invalid file + + + + Le contenu de ce fichier ne sera pas pris en compte + %s + the file will be ignored : +%s + + + + Le fichier INCLUDE n est pas defini + include file is not defined + + + + Le contenu de ce fichier ne sera pas pris en compte + + file will be ignored + + + + + Erreur lors de l'evaluation du fichier poursuite + Error when creating secondary (poursuite) file + + + + L'objet %(v_1)s ne peut etre un fils de %(v_2)s + v_1 + Object %(v_1)s can not be a child for %(v_2)s + + + + L'objet %s ne peut pas etre repete + Object %s can not be repeated + + + + Erreur - mclist inexistante : %s + Error - mclist does not exist : %s + + + + Erreur - mot cle facteur de nom : %s + Error - keyword "mot-clef facteur" nammed : %s + + + + traitement non-prevu + unexpected task + + + + L'objet %s ne peut pas etre ajoute + Object %s cannot be add + + + + None n'est pas une valeur autorisee + None is not a valid value + + + + un concept de meme nom existe deja + concept already exists + + + + Concept cree + concept created + + + + La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d + n_lign + matrix is not a %(n_lign)d x %(n_col)d matrix + + + + Decommenter + uncomment + + + + Decommente la commande + uncomment the command + + + + Impossible de supprimer un mot-cle obligatoire + mandatory keyword cannot be deleted + + + + Mot-cle %s supprime + Keyword %s deleted + + + + Pb interne : impossible de supprimer ce mot-cle + internal problem : unable to delete keyword + + + + Commentaire supprime + comment is deleted + + + + Commande %s supprimee + command %s is deleted + + + + Pb interne : impossible de supprimer cet objet + internal problem : unable to delete object + + + + Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas + + + unable to convert .comm file in order to open it with Eficas + + + + Include vide + include file is empty + + + + L'include doit etre correctement initialise pour etre visualise + include file must be correct + + + + Impossible de supprimer ce mot-clef + unable to delete this keyword + + + + View3D + View3D + + + + affiche dans Geom les elements de structure + diplay SE in Geom + + + + Graphique + graphic + + + + affiche la distribution + display distribution + + + + Impossible de supprimer un mot-clef obligatoire + unable to delete a mandatory keyword + + + + Mot-clef %s supprime + Keyword %s is deleted + + + + Definition d'un parametre + defines a parameter + + + + Import du fichier de Configuration + import configuration file + + + + Erreur a la lecture du fichier de configuration %s + Error when reading configuration file + + + + Erreur fatale au chargement de %s + fatal error when loading %s + + + + Erreur fatale au chargement d'un fichier + Fatal error when loading file + + + + fichier modifie + file updated + + + + Attention! fichier change hors EFICAS + Warning ! this file was modified outside Eficas + + + + Type de fichier non reconnu + unsupported file type + + + + EFICAS ne sait pas ouvrir le type de fichier %s + Eficas is not able to open this file's type : %s + + + + EFICAS ne sait pas ouvrir ce type de fichier + Eficas is not able to open this file's type + + + + Copie impossible + unable to copy + + + + Veuillez selectionner un objet a copier + you have to select an object to copy + + + + Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne + You have to select a single object : copy will be done after the selected node + + + + Aucun Objet n a ete copie ou coupe + No object was cut or copied + + + + Copie refusee + rejected copy + + + + Eficas n a pas reussi a copier l objet + Eficas cannot copy this object + + + + Copie refusee pour ce type d objet + Copy rejected : bad object type + + + + Deplacement refuse + move rejected + + + + Deplacement refuse entre 2 fichiers. Seule la copie est autorisee + move rejected. no move between two files : only copy is available + + + + Copie impossible a cet endroit + unable to copy here + + + + Veuillez selectionner une commande, un parametre, un commentaire ou une macro + select a command; a parameter, a comment or a macro + + + + Choix d'un fichier XML + Choice of XML file + + + + Ouvrir Fichier + Open file + + + + Erreur a la generation + Error when generating + + + + EFICAS ne sait pas convertir ce JDC + Eficas is unable to convert JDC + + + + Format %s non reconnu + not supported format %s + + + + Execution impossible + Unable to execute + + + + le JDC doit etre valide pour une execution MAP + JDC has to be valid before run + + + + le JDC doit contenir un et un seul composant + JDC must contains a single componant + + + + sauvegarde + save + + + + Sauvegarde du Fichier + save file + + + + Le fichier <b>%s</b> existe deja. + file <b>%s</b> already exists. + + + + &Ecraser + &Replace + + + + Donnez le nom du fichier correspondant a l unite logique + Choose file corresponding to unit + + + + Choix d'un fichier de poursuite + Choose poursuite file + + + + Le fichier %s contient une commande POURSUITE + + file %s contains a POURSUITE command + + + + Traduire Fichier + file translation + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + JDC files(*.comm);; All FIles(*) + + + + Fichier Traduit : %s + + + Translated file : %s + + + + Pas de difference entre le fichier origine et le fichier traduit + No difference between the primary file and the translated file + + + + %d versions du catalogue sont disponibles + %d catalogs versions are available + + + + &Ok + &Ok + + + + Entrez + enter + + + + valeurs + values + + + + Entrez entre + enter between + + + + et + and + + + + Selection + selection + + + + Type de base inconnu + unkown type + + + + Visualisation Fichier + view file + + + + Impossibilite d'afficher le Fichier + Unable to display file + + + + Sauvegarder Fichier + save File + + + + Fichier selectionne + file selected + + + + expression valide + valid expression + + + + expression invalide + unvalid expression + + + + expression n est pas de la forme a+bj + expression is not as a+bj + + + + entrer une seule valeur SVP + Please, enter a single value + + + + saisir le type de complexe + choose complex's type + + + + Sauvegarder le fichier + save file + + + + Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s + v_1 + file <b>%(v_1)s</b> was not saved. Raison : %(v_2)s + + + + &Recents + &Recently Opened + + + + Aide specifique + code's help + + + + Traduction + translation + + + + Options + Options + + + + TraduitV7V8 + + + + + TraduitV8V9 + + + + + TraduitV9V10 + + + + + Acquiert Groupe Maille + + + + + Specificites Maille + + + + + version + version + + + + pour + for + + + + Aide Indisponible + no help avalaible + + + + Parametrage + Options + + + + Veuillez d abord choisir un code + Choose a code + + + + Pas de possibilite de personnalisation de la configuration + no options avalaible for configuration + + + + &Effacer + &Delete + + + + Veuillez entrer le complexe sous forme aster ou sous forme python + enter a complex + + + + Import du catalogue + Loading catalog + + + + Pas de catalogue defini pour le code + No catalog for this code + + + + Aucun catalogue trouve + No catalog + + + + avec le catalogue + with catalog + + + + Impossible d'importer le catalogue + unable to load catalog + + + + Choix d une version du code + Choose a version for + + + + Choix d une version + choose a version + + + + Parametre + parameter + + + + Insere un parametre + insert a parameter + + + + item invalide + invalid item + + + + l item doit etre valide + item must be valid + + + + apres + after + + + + Insere un commentaire apres la commande + insert a comment after the command + + + + avant + before + + + + Insere un commentaire avant la commande + insert a comment before the command + + + + Insere un parametre apres la commande + insert a parameter after the command + + + + Insere un parametre avant la commande + insert a parameter before the commande + + + + Supprimer + delete + + + + supprime le mot clef + delete keyword + + + + Documentation + documentation + + + + documentation sur la commande + command's documentation + + + + Documentation Vide + empty documentation + + + + Aucune documentation n'est associee a ce noeud + no documentation is available for this node + + + + impossible de trouver la commande + unable to find command + + + + Lecteur PDF + PDF reader + + + + impossible d'ouvrir + unable to open + + + + Commentaire + Comment + + + + ce noeud + this node + + + + commente le noeud + comment this node + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + JDC Files (*.comm);;All Files(*) + + + + &Quitter + &Exit + + + + Quitter + Exit + + + + Fichier Duplique + file is duplicated + + + + Le fichier ne sera pas sauvegarde. + File will not be saved. + + + + &Annuler + &Cancel + + + + Fichier + File + + + + Le fichier <b>%s</b> est deja ouvert. + File <b>%s</b> is already open. + + + + &Duplication + &Duplication + + + + &Abort + &Abort + + + + Fichier Modifie + File is modified + + + + Le fichier %s n a pas ete sauvegarde. + file %s was not saved. + + + + &Sauvegarder + &Save + + + + Erreur a l'evaluation : + %s + Error when loadind : +%s + + + + Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom + File %s already exists : unable to create a directory with the same name + + + + Creation du repertoire %s impossible + Verifiez vos droits d'acces + Unable to create directory : check your access rights + + + + localisation de l'application, pour la traduction + use for application translation + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable + + + + + ERREUR! ce type de bloc (%s) n'est pas valable + + + + + n'est pas un index valide pour append_brother + is not correct - no possible "append_brother" + + + + Erreur interne + Internal error + + + + La PDF de la loi ne peut pas etre affichee. + unable to display law's PDF. + + + + Le fichier contient une commande MODEL + + file contains MODEL command + + + + Donnez le nom du fichier XML qui contient la description des variables + + + + + Choix unite %d + Choice for unit %d + + + + Fichier pour unite + File for unit + + + + La formule passee a l'interpreteur doit etre sous forme de tuple + formula must be written as tuple + + + + Debut + Beginning + + + + Le parametre EVAL ne peut valoir None + None is not a valid value for EVAL + + + + Pas de nom donne au parametre + No name given + + + + Le parametre %s ne peut valoir None + None is an incorrect value for parameter %s + + + + Format non implemente : %s + Not implemented format + + + + Type de valeur non supporte par le format pyth : n %(exception)s + nom + unsupported type of value + + + + Impossible de realiser la verification de la formule + unable to verify formula + + + + Pb interne : impossible de supprimer ce mot-clef + internal problem : unable to delete keyword + + + + Eficas ne peut pas traiter plusieurs instructions + sur la meme ligne : %s + Eficas is not able to manage many instructions on a same line + + + + le texte a analyser n'est pas celui d'une commande ou + d'un operateur : %s + text is not valid for a command or a operaor + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + text is not valid for command %(v_1)s %(v_2)s + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + text is not valid for command %(v_1)s %(v_2)s + + + + jdc %(v_1)s manque + fichier comm dans section %(v_2)s + v_1 + file %(v_1)s need a .comm file in section %(v_2)s + + + + jdc %(v_1)s + fichier include %(v_2)s, %(v_3)s + n'existe pas + v_1 + file %(v_1)s need an include file %(v_2)s,%(v_3)s does not exist + + + + jdc %(v_1)s manque fichier comm + dans section %(v_2)s + v_1 + file %(v_1)s need a .comm file in section %(v_2)s + + + + jdc %(v_1)s, le fichier de commandes + %(v_2)s n'existe pas + v_1 + jdc%(v_1)s, .comm %(v_2)s does not exist + + + + ATTENTION! Une source constante + n'est possible qu'a frequence nulle + en regime frequentiel + + + + + ERREUR! Une forme de la source du + type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ATTENTION! Une source constante n'est + possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! Une forme de la source du type + WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe + indiquant le type de materiau ou de source associee + + + + + ERREUR! ce groupe de maille (%(nom)s) n'a pas + le prefixe correct pour etre associe a un type %(type_bloc)s + nom + + + + + + Include Invalide. + ne sera pas pris en compte + Invalid include file. text will not be included + + + + Impossible de relire le fichier %s + + unable to read file + + + + Le fichier include contient des erreurs + include file contains errors + + + + PARAMETRE + PARAMETER + + + + EFICAS ne sait pas convertir le JDC selon le format + Eficas does not know how to convert data according to the defined format + + + + le JDC doit etre valide pour une execution + Before a run action, JDC must be valid + + + + Sauvegarder SVP avant l'execution + Save before run action + + + + Sauvegarde de l'input impossible + unable to save input file + + + + Un JdC valide est necessaire pour creer un .input + file must be valid to create a .input file + + + + Choix du composant obligatoire + You have to choose a component + + + + Le fichier %s contient une commande INCLUDE + + file %s contains an "INCLUDE" command + + + + Donnez le nom du fichier dont vous + voulez faire une poursuite + Name the principal file + + + + Fichiers Med (*.med);;Tous les Fichiers (*) + Med Files (*.med);;All Files(*) + + + + Fichier Med + Med File + + + + Veuillez selectionner un fichier Med + Choose a Med file + + + + reel + float + + + + entier + integer + + + + complexe + complex + + + + l'aide n est pas installee + Help is not available + + + + Export Med vers Fichier + export Med Mesh in a file + + + + Impossibilite d exporter le Fichier + Unable to export file + + + + objet valide + valid object + + + + Valeur non modifiable + value can not be changed + + + + Options pour + + Settings + + + + Nombre minimal de valeurs : + minimal number of values : + + + + Nombre maximal de valeurs : + Maximal number of values : + + + + l expression n est pas de la forme a+bj + expression must be as a+bj + + + + Valeur du mot-cle enregistree + Value is recorded + + + + Valeur du mot-cle non autorisee + Value is not authorized + + + + Fichier non encore nomme + unnamed file + + + + SOURCE + SOURCE + + + + EnveloppeConnexeInducteur + Bounding_Box + + + + EnveloppeConnexe2 + + + + + VecteurDirecteur + Direction_Vector + + + + Centre + Center + + + + SectionBobine + Section + + + + Amplitude + Amplitude + + + + NbdeTours + NbTurns + + + + CONDUCTEUR + CONDUCTOR + + + + Conductivite + Conductivity + + + + PermeabiliteRelative + Relative_Permeability + + + + NOCOND + DIELECTRIC + + + + VCUT + CUT + + + + Orientation + Orientation + + + + ZS + ZS + + + + PARAMETRES + SETTINGS + + + + RepCarmel + Carmel_Directory + + + + TypedeFormule + Formula + + + + Frequence + Frequency + + + + Nb_Max_Iterations + Max_Nb_Iterations + + + + Erreur_Max + Max_Error + + + + Format non implemente + non implemented format + + + + Type d'objet non prevu + + + + + Fichier de donnees + data file + + + + Tous les Fichiers (*) + all files (*) + + + + Select + select + + + + nb min de valeurs : + minimal number of values : + + + + nb max de valeurs atteint + maximum number of values + + + + TraduitV10V11 + + + + + TraduitV11V12 + + + + + Sauve Format Ligne + save file in line format + + + + Valeur du mot-clef enregistree + value recorded + + + + Valeur du mot-clef non autorisee : + unvalid value + + + + %s n'est pas un fichier valide + %s is not a valid file + + + + : verifie les types dans un tuple + valids type in a tuple + + + + Les types entres ne sont pas permis + unvalid type for values + + + + La cardinalite n'est pas correcte, la derniere valeur est ignoree + unvalid multiplicity. last value will be ignored + + + + n est pas un tuple de + is not a tuple + + + + valeurs + values + + + + Valeur incorrecte + incorrect value + + + + n est pas un identifiant correct + + is not a valid name + + + + Entrer un float SVP + Float expected + + + + Entrer un float inferieur a + float lower than + + + + Entrer un float superieur a + float superior than + + + + Mauvaise execution + bad run + + + + impossible d executer la methode + unable to run method + + + + Mauvaise Commande + bad command + + + + Aucune variable connue + no possible variable + + + + Mauvaise dimension de matrice + bad matrix dimension + + + + le nombre de ligne n est pas egal a + number of lines is not + + + + le nombre de colonne n est pas egal a + number of columns is not + + + + Mauvaise Valeur + bad value + + + + l element + element + + + + n est pas correct + is not correct + + + + Modification Impossible + unable to modify + + + + le parametre n'est pas valide + parameter is not valid + + + + n est pas un identifiant correct + is not a correct name + + + + Valeur incorrecte: + incorrect value : + + + + Valeur incorrecte + incorrect value + + + + Valeur correcte + valid value + + + + impossible d'evaluer : + unable to evaluate : + + + + Un concept de nom %s existe déjà ! + already existing concept with name : %s ! + + + + existe deja + + already exists + + + + La matrice n'a pas le bon entete + header does not match with matrix + + + + le mot clef + keyword + + + + doit etre insere avant + has to be inserted before + + + + insertion impossible + unable to insert keyword + + + + doit etre insere apres + has to be inserted after + + + + Nb maximum de valeurs atteint + Maximal number of values + + + + pas de regle de construction pour ce jeu de commandes + No specific rules for building this dataset + + + + Gestion Maillage + Mesh Menu + + + + Acquiert groupe mailles + Read elements mesh + + + + Acquisition Groupe Maille + Read elements mesh + + + + VERSION + VERSION_EN + + + + NUM + NUMBER + + + + FILETYPE + FILETYPE + + + + PARAMETERS + Parametres + + + + Fichier_maillage + FichierMaillage + + + + Echelle_du_maillage + MeshScale + + + + Formulation + Fomulation + + + + Timeproblem + TimeProblem + + + + spectral + EssaiSpectral + + + + Basis + Basis + + + + Fourier + Fourier + + + + Ordre + Ordre + + + + FREQUENCY + Frequency + + + + minimisation + Minimisation + + + + no + no + + + + yes + yes + + + + nb_procs_para + NbProcs + + + + POLYMER + Polymer_en_Anglais + + + + MODEL_DATABASE + MoDEL_DATa_Anglais + + + + Stabilise + Srabilise_Anglais + + + + Non Stabilise + Non Stabilise anglais + + + + Local + local_anglais + + + + ESSAI_OPTION + essai_option_anglais + + + + MATERIEL + mater_anglais + + + + Cable + cable_anglais + + + + Peinture + peinture_anglais + + + + Tuyauterie + tuyau_anglais + + + + Materiau_De_Cable + mat_cable_anglais + + + + PE + pe_anglais + + + + EPDM + epdm_anglais + + + + Modele + modele_anglais + + + + Objet commande commentarisé invalide + + + + + ChoixCode + + + Choix du code + Choose code + + + + Veuillez choisir un code : + Choose code : + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + ChoixCommandes + + + DMacro + DMacro + + + + Alphabetique + alphabetic sort + + + + Par Groupe + Sort by group + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Order</span></p></body></html> + + + + affiche les commandes par ordre alphabetique + display commands in alphabetic order + + + + affiche les commandes selon les thèmes + display commands by thema + + + + Ordre de la modélisation + ordered by modelisation + + + + <html><head/><body><p align="center">Filtre Commande</p></body></html> + <html><head/><body><p align="center">Filters Commands</p></body></html> + + + + filter commands + filters commands + + + + affiche les régles de validité + display validity rules + + + + ... + + + + + Règles de construction + Building Rules + + + + Sensible à la casse + case-sensitive + + + + Effacer + Clear + + + + selectionne les mots qui CONTIENNENT l expression + select words that CONTAINS the filter + + + + ré-affiche toutes les commandes + re-display the list of commands + + + + DChoixCata + + + Choix d'une version du code Aster + Choose a version for code Aster + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 catalogs are available </span></p></body></html> + + + + &OK + &Ok + + + + &Cancel + &Cancel + + + + Validate choice + validate choice + + + + DSelVal + + + Sélection de valeurs + Values Selections + + + + Separateur + marker + + + + espace + space + + + + virgule + comma + + + + point-virgule + semi-colon + + + + Ajouter Selection + add selected value + + + + Importer Tout + imports all values + + + + DVisu + + + Visualisation Include Materiau + View Include + + + + Eficas + + + MainWindow + Main Window + + + + &Fichier + &File + + + + &Aide + &Help + + + + toolBar + toolBar + + + + &Nouveau + &New + + + + Ctrl+N + Ctrl+N + + + + Nouvel Include + New Include + + + + &Ouvrir + &Open + + + + Ctrl+O + Ctrl+O + + + + Enregistrer + Save + + + + Enregistrer sous + Save as + + + + Fermer + Close + + + + Ctrl+W + + + + + Fermer tout + Close all + + + + Couper + Cut + + + + Ctrl+X + Ctrl+X + + + + Copier + Copy + + + + Ctrl+C + Ctrl+C + + + + Coller + Paste + + + + Ctrl+V + Ctrl+V + + + + Quitter + Exit + + + + Ctrl+Q + Ctrl+Q + + + + Rapport de Validation + Validation Report + + + + Fichier Source + Source File + + + + Fichier Résultat + Result File + + + + Parametres Eficas + Eficas Parameters + + + + Lecteur documentation + documentation reader + + + + Eficas + Eficas + + + + Version + Version + + + + Supprimer + Delete + + + + Rechercher + Find + + + + Rechercher dans l'arbre d'etude + Find in Data Tree + + + + Ctrl+F + Ctrl+F + + + + Replier/Deplier + Expand/Collapse + + + + Execution + Run + + + + Execution + Run + + + + Patrons + Patterns + + + + Tab 1 + + + + + &Edition + &Edit + + + + &JeuDeDonnées + &Data + + + + Shift+I + + + + + Ctrl+S + + + + + Ctrl+Shift+S + + + + + Shift+V + + + + + Chercher Mot-Clef + Find Keyword + + + + Rechercher dans le catalogue + Find Keyword in Catalog + + + + Shift+F + + + + + Shift+D + + + + + Commentaire + Comment + + + + Shift+C + + + + + Paramètres + Parameters + + + + Gestion des paramètres + Managing parameters + + + + Shift+P + + + + + Parametre Eficas + Eficas Settings + + + + Save Run + Save run + + + + Run + run + + + + &bad + + + + + Régles du JdC + Rules for dataset + + + + JDCEditor + + + Save File + + + + + The file <b>%1</b> could not be saved.<br>Reason: %2 + + + + + JDC (*.comm);;All Files (*) + + + + + &Abandonner + &Cancel + + + + Tuple2 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Tuple3 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Widget4a6RadioButton + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + WidgetBloc + + + Form + + + + + WidgetCB + + + Affiche le rapport de validation du mot-clef + display validation report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetCommande + + + Affiche le rapport de validité de la commande + Display validity report for the keyword + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + Object Name. Only valid objects can be named + + + + Lance un script associé à la commande + Run associated script + + + + ouvre un navigateur sur l'aide contextuelle + open a browser to navigate to contextual help + + + + affiche les régles de validité + display validity rules + + + + Détruit la commande + Delete the command + + + + Affiche les commandes possibles + display allowed commands + + + + &Commandes + &Commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Affiche le formulaire de la commande précédente + display previous command + + + + Affiche le formulaire de la commande suivante + display next command + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + TextLabel + + + + + WidgetCommentaire + + + <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">Comment</span></p></body></html> + + + + Affiche les commandes possibles + display allowed commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Détruit le commentaire + Delete the comment + + + + &Commandes + &Commands + + + + Affiche le formulaire de la commande précédente + display previous command + + + + Affiche le formulaire de la commande suivante + display next command + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + WidgetDate + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetFact + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + WidgetFactPlie + + + TextLabel + TextLabel + + + + Form + + + + + ... + + + + + WidgetHeure + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetInformative + + + Form + + + + + WidgetOptionnel + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html + + + + WidgetOptionnel + + + + + WidgetParam + + + <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> + <html><head/><body><p><span style=" color:#000000;">Parameter</span></p></body></html> + + + + Détruit le commentaire + Delete the comment + + + + Affiche les commandes possibles + Display allowed commands + + + + &Commandes + &Commands + + + + Shift+A, Alt+A, Alt+A, Alt+A + Shift+A, Alt+A, Alt+A, Alt+A + + + + Affiche le formulaire de la commande précédente + Display previous command + + + + Affiche le formulaire de la commande suivante + Display next command + + + + <html><head/><body><p>Valeur: </p></body></html> + <html><head/><body><p>Value: </p></body></html< + + + + <html><head/><body><p>Nom: </p></body></html> + <html><head/><body><p>Name: </p></body></html> + + + + Verifie la valeur + Valid the value + + + + DCommandeUnique + + + + + ... + + + + + << + + + + + >> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetPlusieursBase + + + Affiche le rapport de validation du mot-clef + Display validity report for keyword + + + + Remonte la ligne + up + + + + Descend la ligne + down + + + + supprime une ligne + deletes a line + + + + Ajoute une ligne + add a line + + + + Montre l'ensemble des valeurs + display all the value + + + + Sélectionne depuis Salome + from salome + + + + Visualise dans Salome + Show in salome + + + + Ouvre un fichier de sélection des valeurs + Open a file for selection + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + TextLabel + TextLabel + + + + WidgetPlusieursInto + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + WidgetPlusieursIntoOrdonne + + + Affiche le rapport de validation du mot-clef + display validity report for the keyword + + + + TextLabel + TextLabel + + + + Remonte d'une ligne + Up + + + + Descend d'une ligne + Down + + + + Détruit une ligne + Delete a line + + + + ajoute une ligne + add a line + + + + visualise l'ensemble des valeurs + show all values + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + Détruit le mot-clef + Delete the keyword + + + + WidgetPlusieursTuple + + + Form + + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + Up + + + + Descend la ligne + Down + + + + supprime une ligne + delete a line + + + + Ajoute une ligne + add a line + + + + Montre l'ensemble des valeurs + show all values + + + + Ouvre un fichier de sélection des valeurs + import data from a file + + + + Détruit le mot-clef + Delete the keyword + + + + TextLabel + TextLabel + + + + WidgetRadioButton + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + WidgetSDCOInto + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> + <html><head/><body><p>Objects with the recquired type</p><p><br/></p></body></html> + + + + <html><head/><body><p>ou Nom du concept</p></body></html> + or name the object + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpBase + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpBool + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + True + + + + + False + + + + + WidgetSimpComplexe + + + Complexe : a+bj + Complex : a+bj + + + + Réel/Imaginaire + Real/Imaginary + + + + Module/Phase + Module/Phase + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p align="center">OU </p></body></html> + + + + + WidgetSimpFichier + + + Affiche le rapport de validité du mot-clef + Display validity report for the keyword + + + + affiche l'explorateur de fichier + open file explorer + + + + ouvre le fichier choisi + Open the file + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetSimpTxt + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetTuple2 + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + WidgetTuple3 + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + WidgetUniqueSDCO + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + Attend un objet de type CO + expect a CO Object + + + + Détruit le mot-clef + Delete the keyword + + + + Form + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + WidgetVide + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> + + + + + Attend un objet de type XXXX. Il faut le créer + object must be created + + + + baseWidget + + + DMacro + DMacro + + + + dView + + + Dialog + Dialog + + + + Fermer + Close + + + + Sauver + Save + + + + desRecherche + + + Rechercher dans le JDC + Find in JDC + + + + Suivant + Next + + + + Next + + + + + desWidgetCreeParam + + + Gestion des Paramètres + Parameters + + + + <html><head/><body><p>Nom: </p></body></html> + Name + + + + <html><head/><body><p>Valeur: </p></body></html> + Value + + + + <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> + <html><head/><body><p><span style=" text-decoration: underline;">New Parameter</span></p></body></html> + + + + desWidgetMatrice + + + Dialog + Dialog + + + + Affiche le rapport de validation du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + self.appliEficas + + + Wrapper Files (*.xml);;All Files (*) + + + + + Noname + + + + + viewRegles + + + Dialog + Dialog + + + diff --git a/OldCodes/UiQT4/eficas_fr.0106.ts b/OldCodes/UiQT4/eficas_fr.0106.ts new file mode 100644 index 00000000..22d9c577 --- /dev/null +++ b/OldCodes/UiQT4/eficas_fr.0106.ts @@ -0,0 +1,4745 @@ + + + + @default + + Values_Of_Tracers_In_The_Rain + Valeurs_Des_Traceurs_Dans_La_Pluie + + + Threshold_Depth_For_Receding_Procedure + Profondeur_Limite_Pour_Procedure_De_Ressuyage + + + Title + Titre + + + Spatial_Projection_Type + Type_De_Projection_Spatiale + + + Stochastic_Diffusion_Model + Modele_De_Diffusion_Stochastique + + + Drogues_File + Fichier_Des_Flotteurs + + + Origin_Coordinates + Coordonnees_De_L'origine + + + Thickness_Of_Algae + Epaisseur_Des_Algues + + + Velocities_Of_The_Sources_Along_X + Vitesses_Des_Sources_Selon_X + + + Velocities_Of_The_Sources_Along_Y + Vitesses_Des_Sources_Selon_Y + + + Finite_Volume_Scheme + Schema_En_Volumes_Finis + + + Density_Of_Algae + Masse_Volumique_Des_Algues + + + Geometry_File + Fichier_De_Geometrie + + + Turbulence_Model + Modele_De_Turbulence + + + Oil_Spill_Model + Modele_De_Nappes_D'hydrocarbures + + + Definition_Of_Zones + Definition_De_Zones + + + Rain_Or_Evaporation + Pluie_Ou_Evaporation + + + Sources_File + Fichier_Des_Sources + + + Friction_Coefficient + Coefficient_De_Frottement + + + Wind + Vent + + + Option_For_Tidal_Boundary_Conditions + Option_Pour_Les_Conditions_Aux_Limites_De_Maree + + + Coefficient_To_Calibrate_Tidal_Velocities + Coefficient_De_Calage_Des_Vitesses_De_Courant + + + Initial_Time_Set_To_Zero + Remise_A_Zero_Du_Temps + + + Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers + Maximum_D'iterations_Pour_La_Diffusion_Des_Traceurs + + + Binary_Results_File + Fichier_De_Resultats_Binaire + + + Number_Of_Drogues + Nombre_De_Flotteurs + + + Air_Pressure + Pression_Atmospherique + + + Mean_Depth_For_Linearization + Profondeur_Moyenne_Pour_La_Linearisation + + + Control_Of_Limits + Controle_Des_Limites + + + Free_Surface_Gradient_Compatibility + Compatibilite_Du_Gradient_De_Surface_Libre + + + Prescribed_Tracers_Values + Valeurs_Imposees_Des_Traceurs + + + defaut + Saint-venant_Ef + + + Velocity_Diffusivity + Coefficient_De_Diffusion_Des_Vitesses + + + Time_Step + Pas_De_Temps + + + Validation + Validation + + + Roughness_Coefficient_Of_Boundaries + Coefficient_De_Rugosite_Des_Bords + + + Density_Effects + Effets_De_Densite + + + Implicitation_Coefficient_Of_Tracers + Coefficient_D'implicitation_Des_Traceurs + + + Formatted_Results_File + Fichier_De_Resultats_Formate + + + Debugger + Debugger + + + Liquid_Boundaries_File + Fichier_Des_Frontieres_Liquides + + + Sections_Output_File + Fichier_De_Sortie_Des_Sections_De_Controle + + + Number_Of_Private_Arrays + Nombre_De_Tableaux_Prives + + + Coefficient_Of_Wind_Influence + Coefficient_D'influence_Du_Vent + + + Depth_In_Friction_Terms + Hauteur_Dans_Les_Termes_De_Frottement + + + Coefficient_To_Calibrate_Sea_Level + Coefficient_De_Calage_Du_Niveau_De_Mer + + + Variables_To_Be_Printed + Variables_A_Imprimer + + + Preconditioning + Preconditionnement + + + Cost_Function + Fonction_Cout + + + Type_Of_Sources + Type_Des_Sources + + + Tidal_Flats + Bancs_Decouvrants + + + Ascii_Database_For_Tide + Base_Ascii_De_Donnees_De_Maree + + + Original_Date_Of_Time + Date_De_L'origine_Des_Temps + + + Mean_Temperature + Temperature_Moyenne + + + Initial_Elevation + Cote_Initiale + + + Tubes_Data_File + Fichier_De_Donnees_Des_Buses + + + Boundary_Conditions_File + Fichier_Des_Conditions_Aux_Limites + + + Breach + Breche + + + Treatment_Of_The_Linear_System + Traitement_Du_Systeme_Lineaire + + + Prescribed_Elevations + Cotes_Imposees + + + List_Of_Points + Liste_De_Points + + + Listing_Printout_Period + Periode_Pour_Les_Sorties_Listing + + + Initial_Guess_For_H + Ordre_Du_Tir_Initial_Pour_H + + + Geometry_File_Format + Format_Du_Fichier_De_Geometrie + + + Coefficient_1_For_Law_Of_Tracers_Degradation + Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs + + + Number_Of_Lagrangian_Drifts + Nombre_De_Derives_Lagrangiennes + + + Weirs_Data_File + Fichier_De_Donnees_Des_Seuils + + + Rain_Or_Evaporation_In_Mm_Per_Day + Pluie_Ou_Evaporation_En_Mm_Par_Jour + + + Minor_Constituents_Inference + Interpolation_De_Composantes_Mineures + + + Maximum_Number_Of_Friction_Domains + Nombre_Maximum_De_Domaines_De_Frottement + + + Elements_Masked_By_User + Elements_Masques_Par_L'utilisateur + + + Control_Sections + Sections_De_Controle + + + Number_Of_Time_Steps + Nombre_De_Pas_De_Temps + + + Solver_Accuracy + Precision_Du_Solveur + + + Wave_Driven_Currents + Courants_De_Houle + + + Number_Of_Culverts + Nombre_De_Siphons + + + Equations + Equations + + + Maximum_Number_Of_Iterations_For_Identification + Maximum_D'iterations_Pour_L'identification + + + Coefficient_For_Diffusion_Of_Tracers + Coefficient_De_Diffusion_Des_Traceurs + + + Option_For_The_Diffusion_Of_Velocities + Option_Pour_La_Diffusion_Des_Vitesses + + + Coefficient_To_Calibrate_Tidal_Range + Coefficient_De_Calage_Du_Marnage + + + Binary_Data_File_1 + Fichier_De_Donnees_Binaire_1 + + + Binary_Data_File_2 + Fichier_De_Donnees_Binaire_2 + + + Solver + Solveur + + + Implicitation_For_Velocity + Implicitation_Pour_La_Vitesse + + + Longitude_Of_Origin_Point + Longitude_Du_Point_Origine + + + Original_Hour_Of_Time + Heure_De_L'origine_Des_Temps + + + Law_Of_Friction_On_Lateral_Boundaries + Loi_De_Frottement_Sur_Les_Parois_Laterales + + + Propagation + Propagation + + + Solver_For_Diffusion_Of_Tracers + Solveur_Pour_La_Diffusion_Des_Traceurs + + + Discretizations_In_Space + Discretisations_En_Espace + + + Solver_Option + Option_Du_Solveur + + + Advection_Of_H + Convection_De_H + + + Output_Of_Initial_Conditions + Sortie_Des_Conditions_Initiales + + + Record_Number_For_Restart + Enregistrement_Pour_Suite_De_Calcul + + + Accuracy_For_Diffusion_Of_Tracers + Precision_Pour_La_Diffusion_Des_Traceurs + + + Initial_Guess_For_U + Ordre_Du_Tir_Initial_Pour_U + + + Advection_Of_K_And_Epsilon + Convection_De_K_Et_Epsilon + + + Identification_Method + Methode_D'identification + + + Names_Of_Points + Noms_Des_Points + + + Zone_Number_In_Geographic_System + Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique + + + Matrix_Storage + Stockage_Des_Matrices + + + Algae_Type + Type_Des_Algues + + + Water_Density + Masse_Volumique_De_L'eau + + + Newmark_Time_Integration_Coefficient + Coefficient_D'integration_En_Temps_De_Newmark + + + Friction_Data_File + Fichier_De_Donnees_Pour_Le_Frottement + + + Implicitation_For_Diffusion_Of_Velocity + Implicitation_Pour_La_Diffusion_Des_Vitesses + + + Limit_Values + Valeurs_Limites + + + Advection + Convection + + + Geographic_System + Systeme_Geographique + + + Results_File + Fichier_Des_Resultats + + + Algae_Transport_Model + Modele_De_Transport_Des_Algues + + + Treatment_Of_Negative_Depths + Traitement_Des_Hauteurs_Negatives + + + Ordinates_Of_Sources + Ordonnees_Des_Sources + + + Coriolis_Coefficient + Coefficient_De_Coriolis + + + Water_Discharge_Of_Sources + Debits_Des_Sources + + + Advection_Of_U_And_V + Convection_De_U_Et_V + + + Latitude_Of_Origin_Point + Latitude_Du_Point_Origine + + + Binary_Database_1_For_Tide + Base_Binaire_1_De_Donnees_De_Maree + + + Coriolis + Coriolis + + + Desired_Courant_Number + Nombre_De_Courant_Souhaite + + + Variables_For_Graphic_Printouts + Variables_Pour_Les_Sorties_Graphiques + + + Time_Range_For_Fourier_Analysis + Bornes_En_Temps_Pour_L'analyse_De_Fourier + + + Graphic_Printout_Period + Periode_Pour_Les_Sorties_Graphiques + + + Tide_Generating_Force + Force_Generatrice_De_La_Maree + + + Preconditioning_For_Diffusion_Of_Tracers + Preconditionnement_Pour_La_Diffusion_Des_Traceurs + + + Number_Of_Tubes + Nombre_De_Buses + + + Vertical_Structures + Structures_Verticales + + + Stop_If_A_Steady_State_Is_Reached + Arret_Si_Un_Etat_Permanent_Est_Atteint + + + Number_Of_Weirs + Nombre_De_Seuils + + + Listing_Printout + Sortie_Listing + + + Previous_Computation_File + Fichier_Du_Calcul_Precedent + + + Fortran_File + Fichier_Fortran + + + Sections_Input_File + Fichier_Des_Sections_De_Controle + + + Binary_Database_2_For_Tide + Base_Binaire_2_De_Donnees_De_Maree + + + Results_File_Format + Format_Du_Fichier_Des_Resultats + + + Accuracy_Of_K + Precision_Sur_K + + + Tidal_Model_File + Fichier_Du_Modele_De_Maree + + + Fourier_Analysis_Periods + Periodes_D'analyse_De_Fourier + + + H_Clipping + Clipping_De_H + + + Tolerances_For_Identification + Precisions_Pour_L'identification + + + Previous_Computation_File_Format + Format_Du_Fichier_Du_Calcul_Precedent + + + Prescribed_Flowrates + Debits_Imposes + + + Bottom_Topography_File + Fichier_Des_Fonds + + + Implicitation_For_Depth + Implicitation_Pour_La_Hauteur + + + Reference_File_Format + Format_Du_Fichier_De_Reference + + + Diffusion_Of_Tracers + Diffusion_Des_Traceurs + + + Formatted_Data_File_1 + Fichier_De_Donnees_Formate_1 + + + Formatted_Data_File_2 + Fichier_De_Donnees_Formate_2 + + + Computation_Continued + Suite_De_Calcul + + + Breaches_Data_File + Fichier_De_Donnees_Des_Breches + + + Diffusion_Of_Velocity + Diffusion_Des_Vitesses + + + Type_Of_Advection + Forme_De_La_Convection + + + Solver_Option_For_Tracers_Diffusion + Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs + + + Advection_Of_Tracers + Convection_Des_Traceurs + + + Printout_Period_For_Drogues + Periode_Pour_Les_Sorties_De_Flotteurs + + + Option_For_The_Treatment_Of_Tidal_Flats + Option_De_Traitement_Des_Bancs_Decouvrants + + + Physical_Characteristics_Of_The_Tsunami + Parametres_Physiques_Du_Tsunami + + + Maximum_Number_Of_Iterations_For_K_And_Epsilon + Maximum_D'iterations_Pour_K_Et_Epsilon + + + Tidal_Data_Base + Base_De_Donnees_De_Maree + + + Maximum_Number_Of_Iterations_For_Solver + Maximum_D'iterations_Pour_Le_Solveur + + + Number_Of_Tracers + Nombre_De_Traceurs + + + Threshold_Depth_For_Wind + Profondeur_Limite_Pour_Le_Vent + + + Gravity_Acceleration + Acceleration_De_La_Pesanteur + + + Option_For_Characteristics + Option_Pour_Les_Caracteristiques + + + Spacing_Of_Roughness_Elements + Espacement_Des_Elements_De_Frottement + + + Parallel_Processors + Processeurs_Paralleles + + + Harmonic_Constants_File + Fichier_Des_Constantes_Harmoniques + + + Spherical_Coordinates + Coordonnees_Spheriques + + + Parameter_Estimation + Estimation_De_Parametre + + + Linearized_Propagation + Propagation_Linearisee + + + Accuracy_Of_Epsilon + Precision_Sur_Epsilon + + + Diameter_Of_Roughness_Elements + Diametre_Des_Elements_De_Frottement + + + Number_Of_First_Time_Step_For_Graphic_Printouts + Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques + + + Threshold_For_Negative_Depths + Seuil_Pour_Les_Profondeurs_Negatives + + + Wind_Velocity_Along_X + Vitesse_Du_Vent_Suivant_X + + + Wind_Velocity_Along_Y + Vitesse_Du_Vent_Suivant_Y + + + Information_About_Solver + Informations_Sur_Le_Solveur + + + Initial_Conditions + Conditions_Initiales + + + Culvert_Data_File + Fichier_De_Donnees_Des_Siphons + + + Maximum_Number_Of_Iterations_For_Advection_Schemes + Maximum_D'iterations_Pour_Les_Schemas_De_Convection + + + Turbulence_Model_For_Solid_Boundaries + Regime_De_Turbulence_Pour_Les_Parois + + + Continuity_Correction + Correction_De_Continuite + + + Law_Of_Bottom_Friction + Loi_De_Frottement_Sur_Le_Fond + + + Option_For_Tsunami_Generation + Option_Pour_La_Generation_De_Tsunami + + + Type_Of_Weirs + Type_Des_Seuils + + + Record_Number_In_Wave_File + Numero_De_L'enregistrement_Dans_Le_Fichier_De_Houle + + + Abscissae_Of_Sources + Abscisses_Des_Sources + + + Values_Of_The_Tracers_At_The_Sources + Valeurs_Des_Traceurs_Des_Sources + + + Treatment_Of_Fluxes_At_The_Boundaries + Traitement_Des_Flux_Aux_Frontieres + + + Printing_Cumulated_Flowrates + Impression_Du_Cumul_Des_Flux + + + Compatible_Computation_Of_Fluxes + Calcul_Compatible_Des_Flux + + + Bottom_Smoothings + Lissages_Du_Fond + + + Initial_Depth + Hauteur_Initiale + + + Minimum_Value_Of_Depth + Valeur_Minimum_De_H + + + Option_For_The_Diffusion_Of_Tracers + Option_Pour_La_Diffusion_Des_Traceurs + + + Duration + Duree_Du_Calcul + + + Stop_Criteria + Criteres_D'arret + + + Prescribed_Velocities + Vitesses_Imposees + + + Initial_Values_Of_Tracers + Valeurs_Initiales_Des_Traceurs + + + Reference_File + Fichier_De_Reference + + + + lecture du fichier impossible : + unable to read file + + + + Impossible d'ouvrir le fichier %s + unable to read file + + + + Format de sortie : %s, non supporte + + + + + Impossible d'ouvrir le fichier : %s + + + + + Erreur a l'evaluation : + %s + + + + + Erreur ! Erreur ! + + + + + Erreur rencontree dans recherche_enfants : %s + + + + + Erreur dans la creation du mot-cle : %s + + + + + Impossible d'ouvrir le fichier : %s + + + + + le texte a analyser n'est pas celui d'une commande ou d'un operateur : + + + + + Erreur dans la recherche du nom de la commande : + + + + + Erreur dans la recherche des args de la commande : + + + + + Erreur dans la recherche du nom de la commande : + + + + + Erreur dans la recherche des args de la commande : + + + + + %d n'est pas un index valide pour append_brother + + + + + le fichier de commandes %s n'existe pas + + + + + un fichier de commandes doit etre defini avant une poursuite %s + + + + + le fichier poursuite %s n'existe pas + + + + + include mal defini %s + + + + + un fichier de commandes doit etre defini avant un include %s + + + + + le fichier include %s n'existe pas + + + + + le fichier jdc %s n'existe pas + + + + + jdc %s manque option jdc dans section jdc + + + + + %(v_1)s include %(v_2)s : %(v_3)s + v_1 + + + + + %(v_1)s fichier poursuite: %(v_2)s + v_1 + + + + + nom etude : %s + + + + + utilisation : %prog [options] + + + + + nom du fichier de commandes + + + + + nom du fichier poursuite + + + + + numero d'unite suivi du nom du fichier include + + + + + fichier decrivant une etude + + + + + version de catalogue a utiliser + + + + + nom du code a utiliser + + + + + niveau de debug + + + + + schema + + + + + localisation de l'application, pour la traduction + + + + + Nombre incorrect d'arguments + + + + + Localisation specifiee pour l'application. + + + + + Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom + + + + + Creation du repertoire %s impossible + Verifiez vos droits d'acces + + + + + Impossible de transferer les fichiers requis dans : %s + + + + + Erreur + + + + + Erreurs fatales + + + + + Impossible reconstruire commande + + + + + + Objet commentaire non valorise + + + + + Debut Fonction %s + + + + + Fin Fonction %s + + + + + Nom de concept deja defini : %s + + + + + Longueur incorrecte + + + + + L'attribut 'min' doit etre un entier : + + + + + L'attribut 'max' doit etre un entier : + + + + + Nombres d'occurrence min et max invalides : + + + + + L'attribut 'fr' doit etre une chaine de caracteres + + + + + L'attribut 'statut' doit valoir 'o','f','c' ou 'd' + + + + + L'attribut 'docu' doit etre une chaine de caracteres + + + + + Fin + + + + + Le parametre EVAL %s ne peut valoir None + + + + + Le parametre EVAL ne peut valoir None + + + + + Pas de nom donne au parametre EVAL + + + + + Un nom de parametre ne peut depasser 8 caracteres + + + + + ERREUR + + + + + Format pas implemente : %s + + + + + Type d'objet non prevu : %s + + + + + ce groupe de maillage %s est associe a au moins un materiau et au moins une source. + + + + + ce groupe de maillage %s n'est associe a aucun materiau ou source. + + + + + ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable + + + + + ERREUR! ce type de bloc (%s) n'est pas valable + + + + + toutes les donnees ne sont pas connues + + + + + Fichier patron %s n'existe pas. + + + + + Pas supporte + + + + + Entite inconnue ou interdite :%s + + + + + Entite inconnue ou interdite :%s. Elle est ignoree + + + + + Les tuples ne sont pas supportes pour le format ini :%s + + + + + Type de valeur non supportee par le format ini :%(nom)s +%(exception)s + nom + + + + + Il y a un pb a la Creation du XML + + + + + Il y a un pb a la Creation du STD + + + + + Entite inconnue ou interdite : %s. Elle est ignoree + + + + + Type de valeur non supporte par le format pyth : n %(exception)s + nom + + + + + Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. + + + + + Le mot-cle %s est obligatoire. + + + + + concept %(inst_name)s de type %(class_name)s + inst_name + + + + + Un nom de concept doit etre un identificateur Python + + + + + Concept existant + + + + + Operateur reentrant mais concept non existant + + + + + Operateur reentrant et concept existant trouve + + + + + Concept deja existant et de mauvais type + + + + + Nommage du concept refuse : un concept de meme nom existe deja + + + + + Nommage du concept effectue + + + + + Nommage impossible %s + + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante + + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante + + + + + Pas de nom donne a la FORMULE + + + + + Un nom de FORMULE ne peut depasser 8 caracteres + + + + + Un nom de FORMULE ne peut pas commencer par un chiffre + + + + + Le type de la valeur retournee n'est pas specifie + + + + + Une formule ne peut retourner une valeur de type : %s + + + + + Impossible d'ajouter la commande + + + + + Impossible d ajouter la commande + + + + + Pas implemente + + + + + Nom de concept deja defini + + + + + Nom de concept deja defini : + + + + + Impossible de trouver le fichier correspondant a l'unite + + + + + n'est pas un fichier existant + + + + + Fichier invalide %s + + + + + Impossible de construire le jeu de commandes correspondant au fichier + + + + + Erreur lors de l'evaluation du fichier inclus + + + + + Ce fichier ne sera pas pris en compte + %s + + + + + Ce fichier ne sera pas pris en compte +Le fichier associe n'est pas defini + + + + + Le fichier n est pas defini + + + + + le fichier doit contenir une unique variable de sortie + + + + + Fichier invalide + + + + + Le contenu de ce fichier ne sera pas pris en compte + %s + + + + + Le fichier INCLUDE n est pas defini + + + + + Le contenu de ce fichier ne sera pas pris en compte + + + + + + Erreur lors de l'evaluation du fichier poursuite + + + + + L'objet %(v_1)s ne peut etre un fils de %(v_2)s + v_1 + + + + + L'objet %s ne peut pas etre repete + + + + + Erreur - mclist inexistante : %s + + + + + Erreur - mot cle facteur de nom : %s + + + + + traitement non-prevu + + + + + L'objet %s ne peut pas etre ajoute + + + + + None n'est pas une valeur autorisee + + + + + un concept de meme nom existe deja + + + + + Concept cree + + + + + La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d + n_lign + + + + + Impossible de relire le fichier %s + + + + + + Le fichier include contient des erreurs + + + + + n'est pas un index valide pour append_brother + + + + + Decommenter + + + + + Decommente la commande + + + + + Impossible de supprimer un mot-cle obligatoire + + + + + Mot-cle %s supprime + + + + + Pb interne : impossible de supprimer ce mot-cle + + + + + Commentaire supprime + + + + + Commande %s supprimee + + + + + Pb interne : impossible de supprimer cet objet + + + + + Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas + + + + + + + Include vide + + + + + L'include doit etre correctement initialise pour etre visualise + + + + + Impossible de supprimer ce mot-clef + + + + + View3D + + + + + affiche dans Geom les elements de structure + + + + + Graphique + + + + + affiche la distribution + + + + + Erreur interne + + + + + La PDF de la loi ne peut pas etre affichee. + + + + + &Annuler + + + + + Impossible de supprimer un mot-clef obligatoire + + + + + Mot-clef %s supprime + + + + + Pb interne : impossible de supprimer ce mot-clef + + + + + Definition d'un parametre + + + + + Import du fichier de Configuration + + + + + Erreur a la lecture du fichier de configuration %s + + + + + Erreur fatale au chargement de %s + + + + + Erreur fatale au chargement d'un fichier + + + + + fichier modifie + + + + + Attention! fichier change hors EFICAS + + + + + Type de fichier non reconnu + + + + + EFICAS ne sait pas ouvrir le type de fichier %s + + + + + EFICAS ne sait pas ouvrir ce type de fichier + + + + + Copie impossible + + + + + Veuillez selectionner un objet a copier + + + + + Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne + + + + + Aucun Objet n a ete copie ou coupe + + + + + Copie refusee + + + + + Eficas n a pas reussi a copier l objet + + + + + Copie refusee pour ce type d objet + + + + + Deplacement refuse + + + + + Deplacement refuse entre 2 fichiers. Seule la copie est autorisee + + + + + Copie impossible a cet endroit + + + + + Veuillez selectionner une commande, un parametre, un commentaire ou une macro + + + + + Choix d'un fichier XML + + + + + Le fichier contient une commande MODEL + + + + + + Donnez le nom du fichier XML qui contient la description des variables + + + + + Ouvrir Fichier + + + + + Erreur a la generation + + + + + EFICAS ne sait pas convertir ce JDC + + + + + Format %s non reconnu + + + + + EFICAS ne sait pas convertir le JDC selon le format + + + + + Execution impossible + + + + + le JDC doit etre valide pour une execution MAP + + + + + le JDC doit contenir un et un seul composant + + + + + le JDC doit etre valide pour une execution + + + + + Sauvegarder SVP avant l'execution + + + + + sauvegarde + + + + + Sauvegarde du Fichier + + + + + Le fichier <b>%s</b> existe deja. + + + + + &Ecraser + + + + + Sauvegarde de l'input impossible + + + + + Un JdC valide est necessaire pour creer un .input + + + + + Choix du composant obligatoire + + + + + Choix unite %d + + + + + Le fichier %s contient une commande INCLUDE + + + + + + Donnez le nom du fichier correspondant a l unite logique + + + + + Fichier pour unite + + + + + Choix d'un fichier de poursuite + + + + + Le fichier %s contient une commande POURSUITE + + + + + + Donnez le nom du fichier dont vous + voulez faire une poursuite + + + + + Fichiers Med (*.med);;Tous les Fichiers (*) + + + + + Fichier Med + + + + + Veuillez selectionner un fichier Med + + + + + reel + + + + + entier + + + + + complexe + + + + + Entrez + + + + + Entrez entre + + + + + et + + + + + Type de base inconnu + + + + + Aide Indisponible + + + + + l'aide n est pas installee + + + + + Visualisation Fichier + + + + + Impossibilite d'afficher le Fichier + + + + + Sauvegarder Fichier + + + + + Fichier selectionne + + + + + Selection + + + + + Export Med vers Fichier + + + + + Impossibilite d exporter le Fichier + + + + + Traduire Fichier + + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + + + + + Fichier Traduit : %s + + + + + + + Pas de difference entre le fichier origine et le fichier traduit + + + + + objet valide + + + + + %d versions du catalogue sont disponibles + + + + + Sauvegarder le fichier + + + + + Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s + v_1 + + + + + Options pour + + + + + + valeurs + + + + + Nombre minimal de valeurs : + + + + + Nombre maximal de valeurs : + + + + + expression valide + + + + + expression invalide + + + + + l expression n est pas de la forme a+bj + + + + + expression n est pas de la forme a+bj + + + + + entrer une seule valeur SVP + + + + + saisir le type de complexe + + + + + Valeur du mot-cle enregistree + + + + + Valeur du mot-cle non autorisee + + + + + &Recents + + + + + Aide specifique + + + + + Options + + + + + Traduction + + + + + TraduitV7V8 + + + + + TraduitV8V9 + + + + + TraduitV9V10 + + + + + Acquiert Groupe Maille + + + + + Specificites Maille + + + + + version + + + + + pour + + + + + Parametrage + + + + + Veuillez d abord choisir un code + + + + + Pas de possibilite de personnalisation de la configuration + + + + + &Effacer + + + + + Veuillez entrer le complexe sous forme aster ou sous forme python + + + + + Import du catalogue + + + + + Pas de catalogue defini pour le code + + + + + Aucun catalogue trouve + + + + + Impossible d'importer le catalogue + + + + + avec le catalogue + + + + + Choix d une version du code + + + + + Choix d une version + + + + + Parametre + + + + + Insere un parametre + + + + + item invalide + + + + + l item doit etre valide + + + + + &Ok + &Ok + + + + apres + + + + + Insere un commentaire apres la commande + + + + + avant + + + + + Insere un commentaire avant la commande + + + + + Insere un parametre apres la commande + + + + + Insere un parametre avant la commande + + + + + Supprimer + + + + + supprime le mot clef + + + + + Documentation + + + + + documentation sur la commande + + + + + Documentation Vide + + + + + Aucune documentation n'est associee a ce noeud + + + + + impossible de trouver la commande + + + + + Lecteur PDF + + + + + impossible d'ouvrir + + + + + Commentaire + + + + + ce noeud + + + + + commente le noeud + + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + + + + + &Quitter + + + + + Quitter + + + + + Fichier Duplique + + + + + Le fichier ne sera pas sauvegarde. + + + + + Fichier + + + + + Le fichier <b>%s</b> est deja ouvert. + + + + + &Duplication + + + + + &Abort + + + + + Fichier Modifie + + + + + Le fichier %s n a pas ete sauvegarde. + + + + + &Sauvegarder + + + + + SOURCE + + + + + EnveloppeConnexeInducteur + + + + + EnveloppeConnexe2 + + + + + VecteurDirecteur + + + + + Centre + + + + + SectionBobine + + + + + Amplitude + + + + + NbdeTours + + + + + CONDUCTEUR + + + + + Conductivite + + + + + PermeabiliteRelative + + + + + NOCOND + + + + + VCUT + + + + + Orientation + + + + + ZS + + + + + PARAMETRES + + + + + RepCarmel + + + + + TypedeFormule + + + + + Frequence + + + + + Nb_Max_Iterations + + + + + Erreur_Max + + + + + PARAMETRE + + + + + Valeur non modifiable + + + + + Format non implemente + + + + + Type d'objet non prevu + + + + + Select + + + + + Sauve Format Ligne + + + + + %s n'est pas un fichier valide + + + + + Fichier de donnees + + + + + Tous les Fichiers (*) + + + + + nb min de valeurs : + + + + + nb max de valeurs atteint + + + + + TraduitV10V11 + + + + + TraduitV11V12 + + + + + Valeur du mot-clef enregistree + + + + + Valeur du mot-clef non autorisee : + + + + + Un concept de nom %s existe déjà ! + + + + + La cardinalite n'est pas correcte, la derniere valeur est ignoree + + + + + n est pas un tuple de + + + + + valeurs + + + + + Valeur incorrecte + + + + + n est pas un identifiant correct + + + + + + Entrer un float SVP + + + + + Entrer un float inferieur a + + + + + Entrer un float superieur a + + + + + Mauvaise execution + + + + + impossible d executer la methode + + + + + Mauvaise Commande + + + + + Aucune variable connue + + + + + Mauvaise dimension de matrice + + + + + le nombre de ligne n est pas egal a + + + + + le nombre de colonne n est pas egal a + + + + + Mauvaise Valeur + + + + + l element + + + + + n est pas correct + + + + + Modification Impossible + + + + + le parametre n'est pas valide + + + + + n est pas un identifiant correct + + + + + Valeur incorrecte: + + + + + Valeur incorrecte + + + + + Valeur correcte + + + + + impossible d'evaluer : + + + + + La formule passee a l'interpreteur doit etre sous forme de tuple + + + + + Debut + + + + + Pas de nom donne au parametre + + + + + Le parametre %s ne peut valoir None + + + + + Format non implemente : %s + + + + + Impossible de realiser la verification de la formule + + + + + Un concept de nom %s existe deja ! + + + + + existe deja + + + + + + Fichier non encore nomme + + + + + La matrice n'a pas le bon entete + + + + + le mot clef + + + + + doit etre insere avant + + + + + insertion impossible + + + + + doit etre insere apres + + + + + Nb maximum de valeurs atteint + + + + + pas de regle de construction pour ce jeu de commandes + + + + + Gestion Maillage + + + + + Acquiert groupe mailles + + + + + Acquisition Groupe Maille + + + + + VERSION + + + + + NUM + + + + + FILETYPE + + + + + PARAMETERS + + + + + Fichier_maillage + + + + + Echelle_du_maillage + + + + + Formulation + + + + + Timeproblem + + + + + spectral + + + + + Basis + + + + + Fourier + + + + + Ordre + + + + + FREQUENCY + + + + + minimisation + + + + + no + + + + + yes + + + + + nb_procs_para + + + + + POLYMER + + + + + MODEL_DATABASE + + + + + Stabilise + + + + + Non Stabilise + + + + + Local + + + + + ESSAI_OPTION + + + + + MATERIEL + + + + + Cable + + + + + Peinture + + + + + Tuyauterie + + + + + Materiau_De_Cable + + + + + PE + + + + + EPDM + + + + + Modele + + + + + Impossible de convertir le fichier Python qui doit contenir des erreurs. + + On retourne le fichier non converti. Prevenir la maintenance. + + %s + + + + + Eficas ne peut pas traiter plusieurs instructions + sur la meme ligne : %s + + + + + le texte a analyser n'est pas celui d'une commande ou + d'un operateur : %s + + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + + + + + jdc %(v_1)s manque + fichier comm dans section %(v_2)s + v_1 + + + + + jdc %(v_1)s, le fichier + de commandes %(v_2)s n'existe pas + v_1 + + + + + jdc %(v_1)s + fichier include %(v_2)s, %(v_3)s + n'existe pas + v_1 + + + + + jdc %(v_1)s manque fichier comm + dans section %(v_2)s + v_1 + + + + + jdc %(v_1)s, le fichier de commandes + %(v_2)s n'existe pas + v_1 + + + + + Objet commande commentarisé invalide + + + + + ATTENTION! Une source constante + n'est possible qu'a frequence nulle + en regime frequentiel + + + + + ERREUR! Une forme de la source du + type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ATTENTION! Une source constante n'est + possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! Une forme de la source du type + WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe + indiquant le type de materiau ou de source associee + + + + + ERREUR! ce groupe de maille (%(nom)s) n'a pas + le prefixe correct pour etre associe a un type %(type_bloc)s + nom + + + + + + Include Invalide. + ne sera pas pris en compte + + + + + : verifie les types dans un tuple + + + + + Les types entres ne sont pas permis + + + + + ChoixCode + + + Choix du code + + + + + Veuillez choisir un code : + + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + ChoixCommandes + + + DMacro + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> + + + + + affiche les commandes par ordre alphabetique + + + + + Alphabetique + + + + + affiche les commandes selon les thèmes + + + + + Ordre de la modélisation + + + + + Par Groupe + + + + + <html><head/><body><p align="center">Filtre Commande</p></body></html> + + + + + filter commands + + + + + affiche les régles de validité + + + + + ... + + + + + Règles de construction + + + + + Sensible à la casse + + + + + Effacer + + + + + selectionne les mots qui CONTIENNENT l expression + + + + + ré-affiche toutes les commandes + + + + + DChoixCata + + + Choix d'une version du code Aster + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> + + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + DSelVal + + + Sélection de valeurs + + + + + Separateur + + + + + espace + + + + + virgule + + + + + point-virgule + + + + + Ajouter Selection + + + + + Importer Tout + + + + + DVisu + + + Visualisation Include Materiau + + + + + Eficas + + + MainWindow + + + + + &Fichier + + + + + &Aide + + + + + toolBar + + + + + &Nouveau + ME VOILA + + + + Ctrl+N + + + + + Nouvel Include + + + + + &Ouvrir + + + + + Ctrl+O + + + + + Enregistrer + + + + + Enregistrer sous + + + + + Fermer + + + + + Ctrl+W + + + + + Fermer tout + + + + + Couper + + + + + Ctrl+X + + + + + Copier + + + + + Ctrl+C + + + + + Coller + + + + + Ctrl+V + + + + + Quitter + + + + + Ctrl+Q + + + + + Rapport de Validation + + + + + Fichier Source + + + + + Fichier Résultat + + + + + Parametres Eficas + + + + + Lecteur documentation + + + + + Eficas + + + + + Version + + + + + Supprimer + + + + + Rechercher + + + + + Rechercher dans l'arbre d'etude + + + + + Ctrl+F + + + + + Replier/Deplier + + + + + Tab 1 + + + + + &Edition + + + + + &JeuDeDonnées + + + + + Shift+I + + + + + Ctrl+S + + + + + Ctrl+Shift+S + + + + + Shift+V + + + + + Chercher Mot-Clef + + + + + Rechercher dans le catalogue + + + + + Shift+F + + + + + Shift+D + + + + + Commentaire + + + + + Shift+C + + + + + Paramètres + + + + + Gestion des paramètres + + + + + Shift+P + + + + + Parametre Eficas + + + + + Execution + + + + + Execution + + + + + Save Run + + + + + Patrons + + + + + Run + + + + + &bad + + + + + Régles du JdC + + + + + JDCEditor + + + Save File + + + + + The file <b>%1</b> could not be saved.<br>Reason: %2 + + + + + JDC (*.comm);;All Files (*) + + + + + &Abandonner + &Abandonner + + + + Tuple2 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Tuple3 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Widget4a6RadioButton + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + Détruit le mot-clef + + + + + WidgetBloc + + + Form + + + + + WidgetCB + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetCommande + + + DCommandeUnique + + + + + Affiche le rapport de validité de la commande + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + + + + + Lance un script associé à la commande + + + + + ouvre un navigateur sur l'aide contextuelle + + + + + affiche les régles de validité + + + + + Détruit la commande + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + TextLabel + + + + + WidgetCommentaire + + + DCommandeUnique + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> + + + + + Détruit le commentaire + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + WidgetDate + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetFact + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + WidgetFactPlie + + + Form + + + + + ... + + + + + TextLabel + + + + + WidgetHeure + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetInformative + + + Form + + + + + WidgetOptionnel + + + WidgetOptionnel + + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + WidgetParam + + + DCommandeUnique + + + + + ... + + + + + <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> + + + + + Détruit le commentaire + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + + + <html><head/><body><p>Nom: </p></body></html> + + + + + Verifie la valeur + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetPlusieursBase + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + + + + + Descend la ligne + + + + + supprime une ligne + + + + + Ajoute une ligne + + + + + Montre l'ensemble des valeurs + + + + + Sélectionne depuis Salome + + + + + Visualise dans Salome + + + + + Ouvre un fichier de sélection des valeurs + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + TextLabel + + + + + WidgetPlusieursInto + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + WidgetPlusieursIntoOrdonne + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + TextLabel + + + + + Remonte d'une ligne + + + + + Descend d'une ligne + + + + + Détruit une ligne + + + + + ajoute une ligne + + + + + visualise l'ensemble des valeurs + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + + + + + Détruit le mot-clef + + + + + WidgetPlusieursTuple + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + + + + + Descend la ligne + + + + + supprime une ligne + + + + + Ajoute une ligne + + + + + Montre l'ensemble des valeurs + + + + + Ouvre un fichier de sélection des valeurs + + + + + Détruit le mot-clef + + + + + TextLabel + + + + + WidgetRadioButton + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + Détruit le mot-clef + + + + + WidgetSDCOInto + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> + + + + + <html><head/><body><p>ou Nom du concept</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetSimpBase + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetSimpBool + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + True + + + + + False + + + + + Détruit le mot-clef + + + + + WidgetSimpComplexe + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Complexe : a+bj + + + + + <html><head/><body><p align="center">OU </p></body></html> + + + + + Réel/Imaginaire + + + + + Module/Phase + + + + + WidgetSimpFichier + + + Form + + + + + Affiche le rapport de validité du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + affiche l'explorateur de fichier + + + + + ouvre le fichier choisi + + + + + Détruit le mot-clef + + + + + WidgetSimpTxt + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetTuple2 + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetTuple3 + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetUniqueSDCO + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Attend un objet de type CO + + + + + Détruit le mot-clef + + + + + WidgetVide + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> + + + + + Attend un objet de type XXXX. Il faut le créer + + + + + baseWidget + + + DMacro + + + + + dView + + + Dialog + + + + + Fermer + + + + + Sauver + + + + + desRecherche + + + Rechercher dans le JDC + + + + + Next + + + + + Suivant + + + + + desWidgetCreeParam + + + Gestion des Paramètres + + + + + <html><head/><body><p>Nom: </p></body></html> + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + + + <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> + + + + + desWidgetMatrice + + + Dialog + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + self.appliEficas + + + Wrapper Files (*.xml);;All Files (*) + + + + + Noname + + + + + viewRegles + + + Dialog + + + + diff --git a/OldCodes/UiQT4/eficas_fr.ts b/OldCodes/UiQT4/eficas_fr.ts new file mode 100644 index 00000000..d93d2f5b --- /dev/null +++ b/OldCodes/UiQT4/eficas_fr.ts @@ -0,0 +1,5069 @@ + + + + @default + + Year + Annee + + + Month + Mois + + + Day + Jour + + + Hour + Heure + + + Minute + Minute + + + Second + Seconde + + + Discretizations_In_Space + Discretisations_En_Espace + + + Discretizations_In_Space_Tracers + Discretisations_En_Espace_Tracers + + + Discretizations_In_Space_U_And_V + Discretisations_En_Espace_U_And_V + + + Discretizations_In_Space_K_And_Epsilon + Discretisations_En_Espace_K_And_Epsilon + + + Discretizations_In_Space_H + Discretisations_En_Espace_H + + + Supg_Option + Option_De_Supg + + + Supg_Option_Tracers + Option_De_Supg_Tracers + + + Supg_Option_U_And_V + Option_De_Supg_U_And_V + + + Supg_Option_K_And_Epsilon + Option_De_Supg_K_And_Epsilon + + + Supg_Option_H + Option_De_Supg_H + + + Type_Of_Advection + Forme_De_La_Convection + + + Forme_De_La_Convection + Type_Of_Advection + + + Type_Of_Advection_Tracers + Forme_De_La_Convection_Tracers + + + Type_Of_Advection_U_And_V + Forme_De_La_Convection_U_And_V + + + Type_Of_Advection_K_And_Epsilon + Forme_De_La_Convection_K_And_Epsilon + + + Type_Of_Advection_H + Forme_De_La_Convection_H + + + Hauteur constante + Constant depth + + + Mass_Lumping_On_H + Mass_Lumping_Sur_H + + + Mass_Lumping_On_Velocity + Mass_Lumping_Sur_La_Vitesse + + + Mass_Lumping_On_Tracers + Mass_Lumping_Sur_Les_Traceurs + + + Mass_Lumping_For_Weak_Characteristics + Mass_Lumping_Pour_Les_Caracteristiques_Faibles + + + INITIALIZATION + INITIALISATION + + + Input_Files + Fichiers_D_Entree + + + Formatted_And_Binary_Files + Fichiers_Formates_Et_Binaires + + + Initial_State + Etat_Initial + + + Coupling + Couplage + + + Mass_Balance + Bilan_De_Masse + + + BOUNDARY_CONDITIONS + CONDITIONS_AUX_LIMITES + + + NUMERICAL_PARAMETERS + PARAMETRES_NUMERIQUES + + + PHYSICAL_PARAMETERS + PARAMETRES_PHYSIQUES + + + OUTPUT_FILES + FICHIERS_DE_SORTIE + + + CONSTRUCTION_WORKS_MODELLING + MODELISATION_DES_OUVRAGES + + + GENERAL_PARAMETERS + PARAMETRES_GENERAUX + + + PARTICLE_TRANSPORT + TRANSPORT_DE_PARTICULE + + + Computation_Continued_Settings + Parametres_De_Continuation_Du_Calcul + + + Inputs_Outputs_For_Tide + Entrees_Sorties_Pour_La_Maree + + + Location + Localisation + + + Physical_Parameters + Parametres_Physiques + + + Liquid_Boundaries + Frontieres_Liquide + + + Solver_Definition + Definition_Du_Solver + + + Linearity + Linearite + + + Precondionning_Setting + Parametres_Preconditionnement + + + Matrix_Informations + Stockage_Des_Matrices + + + Advection + Advection + + + Propagation + Propagation + + + Diffusion + Diffusion + + + Discretization_Implicitation + Discretisation + + + Tidal + Maree + + + Various + Divers + + + Friction_Setting + Parametres_De_Friction + + + Meteorology + Meteorologie + + + Wave + Houle + + + Parameters_Estimation + Parametres_A_Estimer + + + Tolerances_For_Identification + Tolerances_Pour_L_Identification + + + Sources + Sources + + + Coriolis_Settings + Parametres_Pour_Coriolis + + + Various_For_Numerical + Divers_Parametres_Numeriques + + + Secondary_Currents_Settings + Parametres_Pour_Les_Courants_Secondaires + + + Tsunami + Tsunami + + + Graphic_And_Listing_Printouts + Sorties_Listing_Et_Graphiques + + + Controls + Controles + + + Fourier + Fourier + + + General_Location + Localisation_Generale + + + Time + Temps + + + Original_Date_Of_Time + Date_A_L_Origine + + + Original_Hour_Of_Time + Temps_A_L_Origine + + + Limit_Values + Valeurs_Limites + + + Tracers_Setting + Parametres_Des_Traceurs + + + Tracer + Traceur + + + Boundary_Conditions_For_Tracers + Conditions_Aux_Limites_Pour_Les_Traceurs + + + Solving + + + + Accuracy + + + + Source + Source + + + Metereology + Metereologie + + + Numerical + Numerique + + + Degradation + Degradation + + + Values_Of_Tracers_In_The_Rain + Valeurs_Des_Traceurs_Dans_La_Pluie + + + Threshold_Depth_For_Receding_Procedure + Profondeur_Limite_Pour_Procedure_De_Ressuyage + + + Title + Titre + + + Spatial_Projection_Type + Type_De_Projection_Spatiale + + + Stochastic_Diffusion_Model + Modele_De_Diffusion_Stochastique + + + Drogues_File + Fichier_Des_Flotteurs + + + Origin_Coordinates + Coordonnees_De_L_Origine + + + Thickness_Of_Algae + Epaisseur_Des_Algues + + + Velocities_Of_The_Sources_Along_X + Vitesses_Des_Sources_Selon_X + + + Velocities_Of_The_Sources_Along_Y + Vitesses_Des_Sources_Selon_Y + + + Finite_Volume_Scheme + Schema_En_Volumes_Finis + + + Density_Of_Algae + Masse_Volumique_Des_Algues + + + Geometry_File + Fichier_De_Geometrie + + + Turbulence_Model + Modele_De_Turbulence + + + Oil_Spill_Model + Modele_De_Nappes_D_Hydrocarbures + + + Definition_Of_Zones + Definition_De_Zones + + + Rain_Or_Evaporation + Pluie_Ou_Evaporation + + + Sources_File + Fichier_Des_Sources + + + Friction_Coefficient + Coefficient_De_Frottement + + + Wind + Vent + + + Option_For_Tidal_Boundary_Conditions + Option_Pour_Les_Conditions_Aux_Limites_De_Maree + + + Option_For_Liquid_Boundaries + Option_Pour_Les_Frontieres_Liquides + + + Coefficient_To_Calibrate_Tidal_Velocities + Coefficient_De_Calage_Des_Vitesses_De_Courant + + + Initial_Time_Set_To_Zero + Remise_A_Zero_Du_Temps + + + Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers + Maximum_D_Iterations_Pour_La_Diffusion_Des_Traceurs + + + Binary_Results_File + Fichier_De_Resultats_Binaire + + + Number_Of_Drogues + Nombre_De_Flotteurs + + + Air_Pressure + Pression_Atmospherique + + + Mean_Depth_For_Linearization + Profondeur_Moyenne_Pour_La_Linearisation + + + Control_Of_Limits + Controle_Des_Limites + + + Free_Surface_Gradient_Compatibility + Compatibilite_Du_Gradient_De_Surface_Libre + + + Prescribed_Tracers_Values + Valeurs_Imposees_Des_Traceurs + + + defaut + Saint-venant_Ef + + + Velocity_Diffusivity + Coefficient_De_Diffusion_Des_Vitesses + + + Time_Step + Pas_De_Temps + + + Validation + Validation + + + Roughness_Coefficient_Of_Boundaries + Coefficient_De_Rugosite_Des_Bords + + + Density_Effects + Effets_De_Densite + + + Implicitation_Coefficient_Of_Tracers + Coefficient_D_Implicitation_Des_Traceurs + + + Formatted_Results_File + Fichier_De_Resultats_Formate + + + Debugger + Debugger + + + Liquid_Boundaries_File + Fichier_Des_Frontieres_Liquides + + + Sections_Output_File + Fichier_De_Sortie_Des_Sections_De_Controle + + + Number_Of_Private_Arrays + Nombre_De_Tableaux_Prives + + + Coefficient_Of_Wind_Influence + Coefficient_D_Influence_Du_Vent + + + Depth_In_Friction_Terms + Hauteur_Dans_Les_Termes_De_Frottement + + + Coefficient_To_Calibrate_Sea_Level + Coefficient_De_Calage_Du_Niveau_De_Mer + + + Variables_To_Be_Printed + Variables_A_Imprimer + + + Preconditioning + Preconditionnement + + + Cost_Function + Fonction_Cout + + + Type_Of_Sources + Type_Des_Sources + + + Tidal_Flats + Bancs_Decouvrants + + + Ascii_Database_For_Tide + Base_Ascii_De_Donnees_De_Maree + + + Original_Date_Of_Time + Date_De_L_origine_Des_Temps + + + Mean_Temperature + Temperature_Moyenne + + + Initial_Elevation + Cote_Initiale + + + Tubes_Data_File + Fichier_De_Donnees_Des_Buses + + + Boundary_Conditions_File + Fichier_Des_Conditions_Aux_Limites + + + Breach + Breche + + + Treatment_Of_The_Linear_System + Traitement_Du_Systeme_Lineaire + + + Prescribed_Elevations + Cotes_Imposees + + + List_Of_Points + Liste_De_Points + + + Listing_Printout_Period + Periode_De_Sortie_Listing + + + Initial_Guess_For_H + Ordre_Du_Tir_Initial_Pour_H + + + Geometry_File_Format + Format_Du_Fichier_De_Geometrie + + + Coefficient_1_For_Law_Of_Tracers_Degradation + Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs + + + Number_Of_Lagrangian_Drifts + Nombre_De_Derives_Lagrangiennes + + + Weirs_Data_File + Fichier_De_Donnees_Des_Seuils + + + Rain_Or_Evaporation_In_Mm_Per_Day + Pluie_Ou_Evaporation_En_Mm_Par_Jour + + + Minor_Constituents_Inference + Interpolation_De_Composantes_Mineures + + + Maximum_Number_Of_Friction_Domains + Nombre_Maximum_De_Domaines_De_Frottement + + + Elements_Masked_By_User + Elements_Masques_Par_L_Utilisateur + + + Control_Sections + Sections_De_Controle + + + Number_Of_Time_Steps + Nombre_De_Pas_De_Temps + + + Solver_Accuracy + Precision_Du_Solveur + + + Wave_Driven_Currents + Courants_De_Houle + + + Number_Of_Culverts + Nombre_De_Siphons + + + Equations + Equations + + + Maximum_Number_Of_Iterations_For_Identification + Maximum_D_Iterations_Pour_L_Identification + + + Coefficient_For_Diffusion_Of_Tracers + Coefficient_De_Diffusion_Des_Traceurs + + + Option_For_The_Diffusion_Of_Velocities + Option_Pour_La_Diffusion_Des_Vitesses + + + Coefficient_To_Calibrate_Tidal_Range + Coefficient_De_Calage_Du_Marnage + + + Binary_Data_File_1 + Fichier_De_Donnees_Binaire_1 + + + Binary_Data_File_2 + Fichier_De_Donnees_Binaire_2 + + + Solver + Solveur + + + Implicitation_For_Velocity + Implicitation_Pour_La_Vitesse + + + Longitude_Of_Origin_Point + Longitude_Du_Point_Origine + + + Original_Hour_Of_Time + Heure_De_L_origine_Des_Temps + + + Law_Of_Friction_On_Lateral_Boundaries + Loi_De_Frottement_Sur_Les_Parois_Laterales + + + Propagation + Propagation + + + Solver_For_Diffusion_Of_Tracers + Solveur_Pour_La_Diffusion_Des_Traceurs + + + Solver_Option + Option_Du_Solveur + + + Advection_Of_H + Convection_De_H + + + Output_Of_Initial_Conditions + Sortie_Des_Conditions_Initiales + + + Record_Number_For_Restart + Enregistrement_Pour_Suite_De_Calcul + + + Accuracy_For_Diffusion_Of_Tracers + Precision_Pour_La_Diffusion_Des_Traceurs + + + Initial_Guess_For_U + Ordre_Du_Tir_Initial_Pour_U + + + Advection_Of_K_And_Epsilon + Convection_De_K_Et_Epsilon + + + Identification_Method + Methode_D_Identification + + + Names_Of_Points + Noms_Des_Points + + + Zone_Number_In_Geographic_System + Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique + + + Matrix_Storage + Stockage_Des_Matrices + + + Matrix_Vector_Product + Produit_Matrice_Vecteur + + + Algae_Type + Type_Des_Algues + + + Water_Density + Masse_Volumique_De_L_Eau + + + Newmark_Time_Integration_Coefficient + Coefficient_D_Integration_En_Temps_De_Newmark + + + Friction_Data_File + Fichier_De_Donnees_Pour_Le_Frottement + + + Implicitation_For_Diffusion_Of_Velocity + Implicitation_Pour_La_Diffusion_Des_Vitesses + + + Advection + Convection + + + Geographic_System + Systeme_Geographique + + + Results_File + Fichier_Des_Resultats + + + Algae_Transport_Model + Modele_De_Transport_Des_Algues + + + Treatment_Of_Negative_Depths + Traitement_Des_Hauteurs_Negatives + + + Ordinates_Of_Sources + Ordonnees_Des_Sources + + + Coriolis_Coefficient + Coefficient_De_Coriolis + + + Water_Discharge_Of_Sources + Debits_Des_Sources + + + Advection_Of_U_And_V + Convection_De_U_Et_V + + + Latitude_Of_Origin_Point + Latitude_Du_Point_Origine + + + Binary_Database_1_For_Tide + Base_Binaire_1_De_Donnees_De_Maree + + + Coriolis + Coriolis + + + Desired_Courant_Number + Nombre_De_Courant_Souhaite + + + Variables_For_Graphic_Printouts + Variables_Pour_Les_Sorties_Graphiques + + + Time_Range_For_Fourier_Analysis + Bornes_En_Temps_Pour_L_Analyse_De_Fourier + + + Graphic_Printout_Period + Periode_Pour_Les_Sorties_Graphiques + + + Tide_Generating_Force + Force_Generatrice_De_La_Maree + + + Preconditioning_For_Diffusion_Of_Tracers + Preconditionnement_Pour_La_Diffusion_Des_Traceurs + + + Number_Of_Tubes + Nombre_De_Buses + + + Vertical_Structures + Structures_Verticales + + + Stop_If_A_Steady_State_Is_Reached + Arret_Si_Un_Etat_Permanent_Est_Atteint + + + Number_Of_Weirs + Nombre_De_Seuils + + + Listing_Printout + Sortie_Listing + + + Previous_Computation_File + Fichier_Du_Calcul_Precedent + + + Fortran_File + Fichier_Fortran + + + Sections_Input_File + Fichier_Des_Sections_De_Controle + + + Binary_Database_2_For_Tide + Base_Binaire_2_De_Donnees_De_Maree + + + Results_File_Format + Format_Du_Fichier_Des_Resultats + + + Accuracy_Of_K + Precision_Sur_K + + + Tidal_Model_File + Fichier_Du_Modele_De_Maree + + + Fourier_Analysis_Periods + Periodes_D_Analyse_De_Fourier + + + H_Clipping + Clipping_De_H + + + Tolerances_For_Identification + Precisions_Pour_L_Identification + + + Previous_Computation_File_Format + Format_Du_Fichier_Du_Calcul_Precedent + + + Prescribed_Flowrates + Debits_Imposes + + + Bottom_Topography_File + Fichier_Des_Fonds + + + Implicitation_For_Depth + Implicitation_Pour_La_Hauteur + + + Reference_File_Format + Format_Du_Fichier_De_Reference + + + Diffusion_Of_Tracers + Diffusion_Des_Traceurs + + + Formatted_Data_File_1 + Fichier_De_Donnees_Formate_1 + + + Formatted_Data_File_2 + Fichier_De_Donnees_Formate_2 + + + Computation_Continued + Suite_De_Calcul + + + Breaches_Data_File + Fichier_De_Donnees_Des_Breches + + + Diffusion_Of_Velocity + Diffusion_Des_Vitesses + + + Solver_Option_For_Tracers_Diffusion + Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs + + + Advection_Of_Tracers + Convection_Des_Traceurs + + + Printout_Period_For_Drogues + Periode_Pour_Les_Sorties_De_Flotteurs + + + Option_For_The_Treatment_Of_Tidal_Flats + Option_De_Traitement_Des_Bancs_Decouvrants + + + Physical_Characteristics_Of_The_Tsunami + Parametres_Physiques_Du_Tsunami + + + Maximum_Number_Of_Iterations_For_K_And_Epsilon + Maximum_D_Iterations_Pour_K_Et_Epsilon + + + Tidal_Data_Base + Base_De_Donnees_De_Maree + + + Maximum_Number_Of_Iterations_For_Solver + Maximum_D_Iterations_Pour_Le_Solveur + + + Number_Of_Tracers + Nombre_De_Traceurs + + + Threshold_Depth_For_Wind + Profondeur_Limite_Pour_Le_Vent + + + Gravity_Acceleration + Acceleration_De_La_Pesanteur + + + Option_For_Characteristics + Option_Pour_Les_Caracteristiques + + + Spacing_Of_Roughness_Elements + Espacement_Des_Elements_De_Frottement + + + Parallel_Processors + Processeurs_Paralleles + + + Harmonic_Constants_File + Fichier_Des_Constantes_Harmoniques + + + Spherical_Coordinates + Coordonnees_Spheriques + + + Parameter_Estimation + Estimation_De_Parametre + + + Linearized_Propagation + Propagation_Linearisee + + + Accuracy_Of_Epsilon + Precision_Sur_Epsilon + + + Diameter_Of_Roughness_Elements + Diametre_Des_Elements_De_Frottement + + + Number_Of_First_Time_Step_For_Graphic_Printouts + Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques + + + Threshold_For_Negative_Depths + Seuil_Pour_Les_Profondeurs_Negatives + + + Wind_Velocity_Along_X + Vitesse_Du_Vent_Suivant_X + + + Wind_Velocity_Along_Y + Vitesse_Du_Vent_Suivant_Y + + + Information_About_Solver + Informations_Sur_Le_Solveur + + + Initial_Conditions + Conditions_Initiales + + + Culvert_Data_File + Fichier_De_Donnees_Des_Siphons + + + Maximum_Number_Of_Iterations_For_Advection_Schemes + Maximum_D_Iterations_Pour_Les_Schemas_De_Convection + + + Turbulence_Model_For_Solid_Boundaries + Regime_De_Turbulence_Pour_Les_Parois + + + Continuity_Correction + Correction_De_Continuite + + + Law_Of_Bottom_Friction + Loi_De_Frottement_Sur_Le_Fond + + + Option_For_Tsunami_Generation + Option_Pour_La_Generation_De_Tsunami + + + Type_Of_Weirs + Type_Des_Seuils + + + Record_Number_In_Wave_File + Numero_De_L_Enregistrement_Dans_Le_Fichier_De_Houle + + + Abscissae_Of_Sources + Abscisses_Des_Sources + + + Values_Of_The_Tracers_At_The_Sources + Valeurs_Des_Traceurs_Des_Sources + + + Treatment_Of_Fluxes_At_The_Boundaries + Traitement_Des_Flux_Aux_Frontieres + + + Printing_Cumulated_Flowrates + Impression_Du_Cumul_Des_Flux + + + Compatible_Computation_Of_Fluxes + Calcul_Compatible_Des_Flux + + + Bottom_Smoothings + Lissages_Du_Fond + + + Initial_Depth + Hauteur_Initiale + + + Minimum_Value_Of_Depth + Valeur_Minimum_De_H + + + Option_For_The_Diffusion_Of_Tracers + Option_Pour_La_Diffusion_Des_Traceurs + + + Duration + Duree_Du_Calcul + + + Stop_Criteria + Criteres_D_Arret + + + Prescribed_Velocities + Vitesses_Imposees + + + Initial_Values_Of_Tracers + Valeurs_Initiales_Des_Traceurs + + + Reference_File + Fichier_De_Reference + + + + lecture du fichier impossible : + unable to read file + + + + Impossible d'ouvrir le fichier %s + unable to read file + + + + Format de sortie : %s, non supporte + + + + + Impossible d'ouvrir le fichier : %s + + + + + Erreur a l'evaluation : + %s + + + + + Erreur ! Erreur ! + + + + + Erreur rencontree dans recherche_enfants : %s + + + + + Erreur dans la creation du mot-cle : %s + + + + + Impossible d'ouvrir le fichier : %s + + + + + le texte a analyser n'est pas celui d'une commande ou d'un operateur : + + + + + Erreur dans la recherche du nom de la commande : + + + + + Erreur dans la recherche des args de la commande : + + + + + Erreur dans la recherche du nom de la commande : + + + + + Erreur dans la recherche des args de la commande : + + + + + %d n'est pas un index valide pour append_brother + + + + + le fichier de commandes %s n'existe pas + + + + + un fichier de commandes doit etre defini avant une poursuite %s + + + + + le fichier poursuite %s n'existe pas + + + + + include mal defini %s + + + + + un fichier de commandes doit etre defini avant un include %s + + + + + le fichier include %s n'existe pas + + + + + le fichier jdc %s n'existe pas + + + + + jdc %s manque option jdc dans section jdc + + + + + %(v_1)s include %(v_2)s : %(v_3)s + v_1 + + + + + %(v_1)s fichier poursuite: %(v_2)s + v_1 + + + + + nom etude : %s + + + + + utilisation : %prog [options] + + + + + nom du fichier de commandes + + + + + nom du fichier poursuite + + + + + numero d'unite suivi du nom du fichier include + + + + + fichier decrivant une etude + + + + + version de catalogue a utiliser + + + + + nom du code a utiliser + + + + + niveau de debug + + + + + schema + + + + + localisation de l'application, pour la traduction + + + + + Nombre incorrect d'arguments + + + + + Localisation specifiee pour l'application. + + + + + Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom + + + + + Creation du repertoire %s impossible + Verifiez vos droits d'acces + + + + + Impossible de transferer les fichiers requis dans : %s + + + + + Erreur + + + + + Erreurs fatales + + + + + Impossible reconstruire commande + + + + + + Objet commentaire non valorise + + + + + Debut Fonction %s + + + + + Fin Fonction %s + + + + + Nom de concept deja defini : %s + + + + + Longueur incorrecte + + + + + L'attribut 'min' doit etre un entier : + + + + + L'attribut 'max' doit etre un entier : + + + + + Nombres d'occurrence min et max invalides : + + + + + L'attribut 'fr' doit etre une chaine de caracteres + + + + + L'attribut 'statut' doit valoir 'o','f','c' ou 'd' + + + + + L'attribut 'docu' doit etre une chaine de caracteres + + + + + Fin + + + + + Le parametre EVAL %s ne peut valoir None + + + + + Le parametre EVAL ne peut valoir None + + + + + Pas de nom donne au parametre EVAL + + + + + Un nom de parametre ne peut depasser 8 caracteres + + + + + ERREUR + + + + + Format pas implemente : %s + + + + + Type d'objet non prevu : %s + + + + + ce groupe de maillage %s est associe a au moins un materiau et au moins une source. + + + + + ce groupe de maillage %s n'est associe a aucun materiau ou source. + + + + + ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable + + + + + ERREUR! ce type de bloc (%s) n'est pas valable + + + + + toutes les donnees ne sont pas connues + + + + + Fichier patron %s n'existe pas. + + + + + Pas supporte + + + + + Entite inconnue ou interdite :%s + + + + + Entite inconnue ou interdite :%s. Elle est ignoree + + + + + Les tuples ne sont pas supportes pour le format ini :%s + + + + + Type de valeur non supportee par le format ini :%(nom)s +%(exception)s + nom + + + + + Il y a un pb a la Creation du XML + + + + + Il y a un pb a la Creation du STD + + + + + Entite inconnue ou interdite : %s. Elle est ignoree + + + + + Type de valeur non supporte par le format pyth : n %(exception)s + nom + + + + + Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. + + + + + Le mot-cle %s est obligatoire. + + + + + concept %(inst_name)s de type %(class_name)s + inst_name + + + + + Un nom de concept doit etre un identificateur Python + + + + + Concept existant + + + + + Operateur reentrant mais concept non existant + + + + + Operateur reentrant et concept existant trouve + + + + + Concept deja existant et de mauvais type + + + + + Nommage du concept refuse : un concept de meme nom existe deja + + + + + Nommage du concept effectue + + + + + Nommage impossible %s + + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante + + + + + La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante + + + + + Pas de nom donne a la FORMULE + + + + + Un nom de FORMULE ne peut depasser 8 caracteres + + + + + Un nom de FORMULE ne peut pas commencer par un chiffre + + + + + Le type de la valeur retournee n'est pas specifie + + + + + Une formule ne peut retourner une valeur de type : %s + + + + + Impossible d'ajouter la commande + + + + + Impossible d ajouter la commande + + + + + Pas implemente + + + + + Nom de concept deja defini + + + + + Nom de concept deja defini : + + + + + Impossible de trouver le fichier correspondant a l'unite + + + + + n'est pas un fichier existant + + + + + Fichier invalide %s + + + + + Impossible de construire le jeu de commandes correspondant au fichier + + + + + Erreur lors de l'evaluation du fichier inclus + + + + + Ce fichier ne sera pas pris en compte + %s + + + + + Ce fichier ne sera pas pris en compte +Le fichier associe n'est pas defini + + + + + Le fichier n est pas defini + + + + + le fichier doit contenir une unique variable de sortie + + + + + Fichier invalide + + + + + Le contenu de ce fichier ne sera pas pris en compte + %s + + + + + Le fichier INCLUDE n est pas defini + + + + + Le contenu de ce fichier ne sera pas pris en compte + + + + + + Erreur lors de l'evaluation du fichier poursuite + + + + + L'objet %(v_1)s ne peut etre un fils de %(v_2)s + v_1 + + + + + L'objet %s ne peut pas etre repete + + + + + Erreur - mclist inexistante : %s + + + + + Erreur - mot cle facteur de nom : %s + + + + + traitement non-prevu + + + + + L'objet %s ne peut pas etre ajoute + + + + + None n'est pas une valeur autorisee + + + + + un concept de meme nom existe deja + + + + + Concept cree + + + + + La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d + n_lign + + + + + Impossible de relire le fichier %s + + + + + + Le fichier include contient des erreurs + + + + + n'est pas un index valide pour append_brother + + + + + Decommenter + + + + + Decommente la commande + + + + + Impossible de supprimer un mot-cle obligatoire + + + + + Mot-cle %s supprime + + + + + Pb interne : impossible de supprimer ce mot-cle + + + + + Commentaire supprime + + + + + Commande %s supprimee + + + + + Pb interne : impossible de supprimer cet objet + + + + + Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas + + + + + + + Include vide + + + + + L'include doit etre correctement initialise pour etre visualise + + + + + Impossible de supprimer ce mot-clef + + + + + View3D + + + + + affiche dans Geom les elements de structure + + + + + Graphique + + + + + affiche la distribution + + + + + Erreur interne + + + + + La PDF de la loi ne peut pas etre affichee. + + + + + &Annuler + + + + + Impossible de supprimer un mot-clef obligatoire + + + + + Mot-clef %s supprime + + + + + Pb interne : impossible de supprimer ce mot-clef + + + + + Definition d'un parametre + + + + + Import du fichier de Configuration + + + + + Erreur a la lecture du fichier de configuration %s + + + + + Erreur fatale au chargement de %s + + + + + Erreur fatale au chargement d'un fichier + + + + + fichier modifie + + + + + Attention! fichier change hors EFICAS + + + + + Type de fichier non reconnu + + + + + EFICAS ne sait pas ouvrir le type de fichier %s + + + + + EFICAS ne sait pas ouvrir ce type de fichier + + + + + Copie impossible + + + + + Veuillez selectionner un objet a copier + + + + + Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne + + + + + Aucun Objet n a ete copie ou coupe + + + + + Copie refusee + + + + + Eficas n a pas reussi a copier l objet + + + + + Copie refusee pour ce type d objet + + + + + Deplacement refuse + + + + + Deplacement refuse entre 2 fichiers. Seule la copie est autorisee + + + + + Copie impossible a cet endroit + + + + + Veuillez selectionner une commande, un parametre, un commentaire ou une macro + + + + + Choix d'un fichier XML + + + + + Le fichier contient une commande MODEL + + + + + + Donnez le nom du fichier XML qui contient la description des variables + + + + + Ouvrir Fichier + + + + + Erreur a la generation + + + + + EFICAS ne sait pas convertir ce JDC + + + + + Format %s non reconnu + + + + + EFICAS ne sait pas convertir le JDC selon le format + + + + + Execution impossible + + + + + le JDC doit etre valide pour une execution MAP + + + + + le JDC doit contenir un et un seul composant + + + + + le JDC doit etre valide pour une execution + + + + + Sauvegarder SVP avant l'execution + + + + + sauvegarde + + + + + Sauvegarde du Fichier + + + + + Le fichier <b>%s</b> existe deja. + + + + + &Ecraser + + + + + Sauvegarde de l'input impossible + + + + + Un JdC valide est necessaire pour creer un .input + + + + + Choix du composant obligatoire + + + + + Choix unite %d + + + + + Le fichier %s contient une commande INCLUDE + + + + + + Donnez le nom du fichier correspondant a l unite logique + + + + + Fichier pour unite + + + + + Choix d'un fichier de poursuite + + + + + Le fichier %s contient une commande POURSUITE + + + + + + Donnez le nom du fichier dont vous + voulez faire une poursuite + + + + + Fichiers Med (*.med);;Tous les Fichiers (*) + + + + + Fichier Med + + + + + Veuillez selectionner un fichier Med + + + + + reel + + + + + entier + + + + + complexe + + + + + Entrez + + + + + Entrez entre + + + + + et + + + + + Type de base inconnu + + + + + Aide Indisponible + + + + + l'aide n est pas installee + + + + + Visualisation Fichier + + + + + Impossibilite d'afficher le Fichier + + + + + Sauvegarder Fichier + + + + + Fichier selectionne + + + + + Selection + + + + + Export Med vers Fichier + + + + + Impossibilite d exporter le Fichier + + + + + Traduire Fichier + + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + + + + + Fichier Traduit : %s + + + + + + + Pas de difference entre le fichier origine et le fichier traduit + + + + + objet valide + + + + + %d versions du catalogue sont disponibles + + + + + Sauvegarder le fichier + + + + + Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s + v_1 + + + + + Options pour + + + + + + valeurs + + + + + Nombre minimal de valeurs : + + + + + Nombre maximal de valeurs : + + + + + expression valide + + + + + expression invalide + + + + + l expression n est pas de la forme a+bj + + + + + expression n est pas de la forme a+bj + + + + + entrer une seule valeur SVP + + + + + saisir le type de complexe + + + + + Valeur du mot-cle enregistree + + + + + Valeur du mot-cle non autorisee + + + + + &Recents + + + + + Aide specifique + + + + + Options + + + + + Traduction + + + + + TraduitV7V8 + + + + + TraduitV8V9 + + + + + TraduitV9V10 + + + + + Acquiert Groupe Maille + + + + + Specificites Maille + + + + + version + + + + + pour + + + + + Parametrage + + + + + Veuillez d abord choisir un code + + + + + Pas de possibilite de personnalisation de la configuration + + + + + &Effacer + + + + + Veuillez entrer le complexe sous forme aster ou sous forme python + + + + + Import du catalogue + + + + + Pas de catalogue defini pour le code + + + + + Aucun catalogue trouve + + + + + Impossible d'importer le catalogue + + + + + avec le catalogue + + + + + Choix d une version du code + + + + + Choix d une version + + + + + Parametre + + + + + Insere un parametre + + + + + item invalide + + + + + l item doit etre valide + + + + + &Ok + &Ok + + + + apres + + + + + Insere un commentaire apres la commande + + + + + avant + + + + + Insere un commentaire avant la commande + + + + + Insere un parametre apres la commande + + + + + Insere un parametre avant la commande + + + + + Supprimer + + + + + supprime le mot clef + + + + + Documentation + + + + + documentation sur la commande + + + + + Documentation Vide + + + + + Aucune documentation n'est associee a ce noeud + + + + + impossible de trouver la commande + + + + + Lecteur PDF + + + + + impossible d'ouvrir + + + + + Commentaire + + + + + ce noeud + + + + + commente le noeud + + + + + Fichiers JDC (*.comm);;Tous les Fichiers (*) + + + + + &Quitter + + + + + Quitter + + + + + Fichier Duplique + + + + + Le fichier ne sera pas sauvegarde. + + + + + Fichier + + + + + Le fichier <b>%s</b> est deja ouvert. + + + + + &Duplication + + + + + &Abort + + + + + Fichier Modifie + + + + + Le fichier %s n a pas ete sauvegarde. + + + + + &Sauvegarder + + + + + SOURCE + + + + + EnveloppeConnexeInducteur + + + + + EnveloppeConnexe2 + + + + + VecteurDirecteur + + + + + Centre + + + + + SectionBobine + + + + + Amplitude + + + + + NbdeTours + + + + + CONDUCTEUR + + + + + Conductivite + + + + + PermeabiliteRelative + + + + + NOCOND + + + + + VCUT + + + + + Orientation + + + + + ZS + + + + + PARAMETRES + + + + + RepCarmel + + + + + TypedeFormule + + + + + Frequence + + + + + Nb_Max_Iterations + + + + + Erreur_Max + + + + + PARAMETRE + + + + + Valeur non modifiable + + + + + Format non implemente + + + + + Type d'objet non prevu + + + + + Select + + + + + Sauve Format Ligne + + + + + %s n'est pas un fichier valide + + + + + Fichier de donnees + + + + + Tous les Fichiers (*) + + + + + nb min de valeurs : + + + + + nb max de valeurs atteint + + + + + TraduitV10V11 + + + + + TraduitV11V12 + + + + + Valeur du mot-clef enregistree + + + + + Valeur du mot-clef non autorisee : + + + + + Un concept de nom %s existe déjà ! + + + + + La cardinalite n'est pas correcte, la derniere valeur est ignoree + + + + + n est pas un tuple de + + + + + valeurs + + + + + Valeur incorrecte + + + + + n est pas un identifiant correct + + + + + + Entrer un float SVP + + + + + Entrer un float inferieur a + + + + + Entrer un float superieur a + + + + + Mauvaise execution + + + + + impossible d executer la methode + + + + + Mauvaise Commande + + + + + Aucune variable connue + + + + + Mauvaise dimension de matrice + + + + + le nombre de ligne n est pas egal a + + + + + le nombre de colonne n est pas egal a + + + + + Mauvaise Valeur + + + + + l element + + + + + n est pas correct + + + + + Modification Impossible + + + + + le parametre n'est pas valide + + + + + n est pas un identifiant correct + + + + + Valeur incorrecte: + + + + + Valeur incorrecte + + + + + Valeur correcte + + + + + impossible d'evaluer : + + + + + La formule passee a l'interpreteur doit etre sous forme de tuple + + + + + Debut + + + + + Pas de nom donne au parametre + + + + + Le parametre %s ne peut valoir None + + + + + Format non implemente : %s + + + + + Impossible de realiser la verification de la formule + + + + + Un concept de nom %s existe deja ! + + + + + existe deja + + + + + + Fichier non encore nomme + + + + + La matrice n'a pas le bon entete + + + + + le mot clef + + + + + doit etre insere avant + + + + + insertion impossible + + + + + doit etre insere apres + + + + + Nb maximum de valeurs atteint + + + + + pas de regle de construction pour ce jeu de commandes + + + + + Gestion Maillage + + + + + Acquiert groupe mailles + + + + + Acquisition Groupe Maille + + + + + VERSION + + + + + NUM + + + + + FILETYPE + + + + + PARAMETERS + + + + + Fichier_maillage + + + + + Echelle_du_maillage + + + + + Formulation + + + + + Timeproblem + + + + + spectral + + + + + Basis + + + + + Fourier + + + + + Ordre + + + + + FREQUENCY + + + + + minimisation + + + + + no + + + + + yes + + + + + nb_procs_para + + + + + POLYMER + + + + + MODEL_DATABASE + + + + + Stabilise + + + + + Non Stabilise + + + + + Local + + + + + ESSAI_OPTION + + + + + MATERIEL + + + + + Cable + + + + + Peinture + + + + + Tuyauterie + + + + + Materiau_De_Cable + + + + + PE + + + + + EPDM + + + + + Modele + + + + + Impossible de convertir le fichier Python qui doit contenir des erreurs. + + On retourne le fichier non converti. Prevenir la maintenance. + + %s + + + + + Eficas ne peut pas traiter plusieurs instructions + sur la meme ligne : %s + + + + + le texte a analyser n'est pas celui d'une commande ou + d'un operateur : %s + + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + + + + + le texte a analyser n'est pas celui d'une commande connue : + %(v_1)s %(v_2)s + v_1 + + + + + jdc %(v_1)s manque + fichier comm dans section %(v_2)s + v_1 + + + + + jdc %(v_1)s, le fichier + de commandes %(v_2)s n'existe pas + v_1 + + + + + jdc %(v_1)s + fichier include %(v_2)s, %(v_3)s + n'existe pas + v_1 + + + + + jdc %(v_1)s manque fichier comm + dans section %(v_2)s + v_1 + + + + + jdc %(v_1)s, le fichier de commandes + %(v_2)s n'existe pas + v_1 + + + + + Objet commande commentarisé invalide + + + + + ATTENTION! Une source constante + n'est possible qu'a frequence nulle + en regime frequentiel + + + + + ERREUR! Une forme de la source du + type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ATTENTION! Une source constante n'est + possible qu'a frequence nulle en regime frequentiel + + + + + ERREUR! Une forme de la source du type + WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. + + + + + ERREUR! ce groupe de maille (%s) n'a pas de prefixe + indiquant le type de materiau ou de source associee + + + + + ERREUR! ce groupe de maille (%(nom)s) n'a pas + le prefixe correct pour etre associe a un type %(type_bloc)s + nom + + + + + + Include Invalide. + ne sera pas pris en compte + + + + + : verifie les types dans un tuple + + + + + Les types entres ne sont pas permis + + + + + ChoixCode + + + Choix du code + + + + + Veuillez choisir un code : + + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + ChoixCommandes + + + DMacro + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> + + + + + affiche les commandes par ordre alphabetique + + + + + Alphabetique + + + + + affiche les commandes selon les thèmes + + + + + Ordre de la modélisation + + + + + Par Groupe + + + + + <html><head/><body><p align="center">Filtre Commande</p></body></html> + + + + + filter commands + + + + + affiche les régles de validité + + + + + ... + + + + + Règles de construction + + + + + Sensible à la casse + + + + + Effacer + + + + + selectionne les mots qui CONTIENNENT l expression + + + + + ré-affiche toutes les commandes + + + + + DChoixCata + + + Choix d'une version du code Aster + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> + + + + + &Cancel + + + + + Validate choice + + + + + &OK + + + + + DSelVal + + + Sélection de valeurs + + + + + Separateur + + + + + espace + + + + + virgule + + + + + point-virgule + + + + + Ajouter Selection + + + + + Importer Tout + + + + + DVisu + + + Visualisation Include Materiau + + + + + Eficas + + + MainWindow + + + + + &Fichier + + + + + &Aide + + + + + toolBar + + + + + &Nouveau + + + + + Ctrl+N + + + + + Nouvel Include + + + + + &Ouvrir + + + + + Ctrl+O + + + + + Enregistrer + + + + + Enregistrer sous + + + + + Fermer + + + + + Ctrl+W + + + + + Fermer tout + + + + + Couper + + + + + Ctrl+X + + + + + Copier + + + + + Ctrl+C + + + + + Coller + + + + + Ctrl+V + + + + + Quitter + + + + + Ctrl+Q + + + + + Rapport de Validation + + + + + Fichier Source + + + + + Fichier Résultat + + + + + Parametres Eficas + + + + + Lecteur documentation + + + + + Eficas + + + + + Version + + + + + Supprimer + + + + + Rechercher + + + + + Rechercher dans l'arbre d'etude + + + + + Ctrl+F + + + + + Replier/Deplier + + + + + Tab 1 + + + + + &Edition + + + + + &JeuDeDonnées + + + + + Shift+I + + + + + Ctrl+S + + + + + Ctrl+Shift+S + + + + + Shift+V + + + + + Chercher Mot-Clef + + + + + Rechercher dans le catalogue + + + + + Shift+F + + + + + Shift+D + + + + + Commentaire + + + + + Shift+C + + + + + Paramètres + + + + + Gestion des paramètres + + + + + Shift+P + + + + + Parametre Eficas + + + + + Execution + + + + + Execution + + + + + Save Run + + + + + Patrons + + + + + Run + + + + + &bad + + + + + Régles du JdC + + + + + JDCEditor + + + Save File + + + + + The file <b>%1</b> could not be saved.<br>Reason: %2 + + + + + JDC (*.comm);;All Files (*) + + + + + &Abandonner + &Abandonner + + + + Tuple2 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Tuple3 + + + Form + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Widget4a6RadioButton + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + Détruit le mot-clef + + + + + WidgetBloc + + + Form + + + + + WidgetCB + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetCommande + + + DCommandeUnique + + + + + Affiche le rapport de validité de la commande + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + Nom de l'objet. Seuls, les objets valides peuvent être nommés + + + + + Lance un script associé à la commande + + + + + ouvre un navigateur sur l'aide contextuelle + + + + + affiche les régles de validité + + + + + Détruit la commande + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + TextLabel + + + + + WidgetCommentaire + + + DCommandeUnique + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> + + + + + Détruit le commentaire + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + WidgetDate + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetFact + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + WidgetFactPlie + + + Form + + + + + ... + + + + + TextLabel + + + + + WidgetHeure + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><br/></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetInformative + + + Form + + + + + WidgetOptionnel + + + WidgetOptionnel + + + + + <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> + + + + + WidgetParam + + + DCommandeUnique + + + + + ... + + + + + <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> + + + + + Détruit le commentaire + + + + + Affiche les commandes possibles + + + + + &Commandes + + + + + Shift+A, Alt+A, Alt+A, Alt+A + + + + + Affiche le formulaire de la commande précédente + + + + + << + + + + + Affiche le formulaire de la commande suivante + + + + + >> + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + + + <html><head/><body><p>Nom: </p></body></html> + + + + + Verifie la valeur + + + + + <html><head/><body><p><br/></p></body></html> + + + + + WidgetPlusieursBase + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + + + + + Descend la ligne + + + + + supprime une ligne + + + + + Ajoute une ligne + + + + + Montre l'ensemble des valeurs + + + + + Sélectionne depuis Salome + + + + + Visualise dans Salome + + + + + Ouvre un fichier de sélection des valeurs + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + TextLabel + + + + + WidgetPlusieursInto + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + WidgetPlusieursIntoOrdonne + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + TextLabel + + + + + Remonte d'une ligne + + + + + Descend d'une ligne + + + + + Détruit une ligne + + + + + ajoute une ligne + + + + + visualise l'ensemble des valeurs + + + + + Détruit le mot-clef + + + + + permet de gérer la liste + + + + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + + + + + Détruit le mot-clef + + + + + WidgetPlusieursTuple + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Remonte la ligne + + + + + Descend la ligne + + + + + supprime une ligne + + + + + Ajoute une ligne + + + + + Montre l'ensemble des valeurs + + + + + Ouvre un fichier de sélection des valeurs + + + + + Détruit le mot-clef + + + + + TextLabel + + + + + WidgetRadioButton + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + RadioButton + + + + + Détruit le mot-clef + + + + + WidgetSDCOInto + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> + + + + + <html><head/><body><p>ou Nom du concept</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetSimpBase + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetSimpBool + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + True + + + + + False + + + + + Détruit le mot-clef + + + + + WidgetSimpComplexe + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Complexe : a+bj + + + + + <html><head/><body><p align="center">OU </p></body></html> + + + + + Réel/Imaginaire + + + + + Module/Phase + + + + + WidgetSimpFichier + + + Form + + + + + Affiche le rapport de validité du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + affiche l'explorateur de fichier + + + + + ouvre le fichier choisi + + + + + Détruit le mot-clef + + + + + WidgetSimpTxt + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetTuple2 + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetTuple3 + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> + + + + + Détruit le mot-clef + + + + + WidgetUniqueSDCO + + + Form + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + Attend un objet de type CO + + + + + Détruit le mot-clef + + + + + WidgetVide + + + Form + + + + + ... + + + + + <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> + + + + + Attend un objet de type XXXX. Il faut le créer + + + + + baseWidget + + + DMacro + + + + + dView + + + Dialog + + + + + Fermer + + + + + Sauver + + + + + desRecherche + + + Rechercher dans le JDC + + + + + Next + + + + + Suivant + + + + + desWidgetCreeParam + + + Gestion des Paramètres + + + + + <html><head/><body><p>Nom: </p></body></html> + + + + + <html><head/><body><p>Valeur: </p></body></html> + + + + + <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> + + + + + desWidgetMatrice + + + Dialog + + + + + Affiche le rapport de validation du mot-clef + + + + + ... + + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + self.appliEficas + + + Wrapper Files (*.xml);;All Files (*) + + + + + Noname + + + + + viewRegles + + + Dialog + + + + diff --git a/OldCodes/UiQT4/makefile b/OldCodes/UiQT4/makefile new file mode 100644 index 00000000..ae76eed3 --- /dev/null +++ b/OldCodes/UiQT4/makefile @@ -0,0 +1,34 @@ +PYUIC = pyuic4 +QTRELEASE = lrelease-qt4 +.PHONY : all +.SUFFIXES : .ui .py .ts .qm + + +PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixLangue.py desChoixCommandes.py \ + desRecherche.py desRechercheCatalogue.py \ + desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \ + desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py \ + desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \ + desWidgetFact.py desWidgetFactPlie.py desWidgetFormule.py desGroupeOptionnel.py \ + desWidgetHeure.py desWidgetInformation.py desWidgetInactif.py \ + desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \ + desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \ + desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \ + desWidgetSimpSalome.py \ + desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \ + desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py + + + +QM_FILES=eficas_en.qm eficas_fr.qm + +%.py:%.ui + ${PYUIC} -x -o $@ $< + +%.qm:%.ts + ${QTRELEASE} -qm $@ $< + +all : $(PY_FILES) $(QM_FILES) +clean : + -rm -rf $(PY_FILES) *.pyc + diff --git a/OldCodes/UiQT4/myMain.ui b/OldCodes/UiQT4/myMain.ui new file mode 100644 index 00000000..c5d95434 --- /dev/null +++ b/OldCodes/UiQT4/myMain.ui @@ -0,0 +1,471 @@ + + + Eficas + + + + 0 + 0 + 1676 + 811 + + + + + 0 + 0 + + + + MainWindow + + + /* QMenuBar { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgb(226,255,253), stop:1 rgb(191,237,255)); + }*/ + +QMenuBar { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgb(164,165,178), stop:1 rgb(55,66,126)); + } + QMenuBar::item { + spacing: 3px; /* spacing between menu bar items */ + color: white; + padding: 1px 4px; + background: transparent; + border-radius: 4px; + } + + QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: #a8a8a8; + } + + QMenuBar::item:pressed { + background: #888888; + } + + + + + + + + + + + + + QComboBox{combobox-popup:0;} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 61 + + + + + 16777215 + 61 + + + + /*background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgb(218,229,248), stop:1 rgb(9,86,109));*/ +/*background-color:rgb(208,225,238)*/ + + + QFrame::NoFrame + + + QFrame::Raised + + + 2 + + + + + + + background-color:rgb(224,223,222) + + + QTabWidget::North + + + 0 + + + true + + + + Tab 1 + + + + + + + + + + 0 + 0 + 1676 + 25 + + + + + &Fichier + + + + + + + + + + + + + + + + &Edition + + + + + + + + + + + + + &JeuDeDonnées + + + + + + + + + + + + &Aide + + + + + + + + + + + + + + toolBar + + + + 36 + 36 + + + + TopToolBarArea + + + false + + + + + + + + + + + + + + + + .. + + + &Nouveau + + + Ctrl+N + + + + + Nouvel Include + + + Shift+I + + + + + &bad + + + + + + .. + + + &Ouvrir + + + Ctrl+O + + + + + + .. + + + Enregistrer + + + Ctrl+S + + + + + Parametres Eficas + + + + + + .. + + + Enregistrer sous + + + Ctrl+Shift+S + + + + + Fermer + + + Ctrl+W + + + + + Fermer tout + + + + + + .. + + + Couper + + + Ctrl+X + + + Qt::ApplicationShortcut + + + + + + .. + + + Copier + + + Ctrl+C + + + Qt::ApplicationShortcut + + + + + + .. + + + Coller + + + Ctrl+V + + + Qt::ApplicationShortcut + + + + + Quitter + + + Ctrl+Q + + + + + Rapport de Validation + + + Shift+V + + + false + + + + + Fichier Source + + + + + Fichier Résultat + + + + + Lecteur documentation + + + + + Eficas + + + + + Version + + + + + + .. + + + Supprimer + + + + + Chercher Mot-Clef + + + Rechercher dans le catalogue + + + Shift+F + + + Qt::ApplicationShortcut + + + + + + .. + + + Rechercher + + + Rechercher dans l'arbre d'etude + + + Ctrl+F + + + Qt::ApplicationShortcut + + + + + Replier/Deplier + + + Shift+D + + + + + Commentaire + + + Shift+C + + + + + + ../Editeur/icons/parametres.png../Editeur/icons/parametres.png + + + Paramètres + + + Gestion des paramètres + + + Shift+P + + + + + Parametre Eficas + + + + + Régles du JdC + + + + + + diff --git a/OldCodes/ZCracks/CMakeLists.txt b/OldCodes/ZCracks/CMakeLists.txt new file mode 100644 index 00000000..62b62ebb --- /dev/null +++ b/OldCodes/ZCracks/CMakeLists.txt @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + + +install ( FILES configuration_ZCRACKS.py monCode_Cata.py prefs.py prefs_ZCRACKS.py properties.py qtEficas_ZCracks.py + DESTINATION ${CMAKE_INSTALL_PREFIX}/ZCracks + ) + + + +### Local Variables: +### mode: cmake +### End: diff --git a/OldCodes/ZCracks/configuration_ZCRACKS.py b/OldCodes/ZCracks/configuration_ZCRACKS.py new file mode 100644 index 00000000..4ab64b85 --- /dev/null +++ b/OldCodes/ZCracks/configuration_ZCRACKS.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +""" + Ce module sert pour charger les paramètres de configuration d'EFICAS +""" +# Modules Python +from InterfaceQT4 import configuration +import os + + +class CONFIG(configuration.CONFIG_BASE): + + #----------------------------------- + def __init__(self,appli,repIni): + #----------------------------------- + + self.labels_user=['catalogues','lang'] + self.labels_eficas=['lang','rep_cata','catalogues'] + + configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') + + +def make_config(appli,rep): + return CONFIG(appli,rep) + diff --git a/OldCodes/ZCracks/mesScripts_ZCRACKS.py b/OldCodes/ZCracks/mesScripts_ZCRACKS.py new file mode 100644 index 00000000..9756cd67 --- /dev/null +++ b/OldCodes/ZCracks/mesScripts_ZCRACKS.py @@ -0,0 +1,28 @@ + +def view_med(params,appli) : + mcSimp=params[0].object.get_child('cracked_name') + fileName=mcSimp.valeur + import os + if not os.path.isfile(fileName) : + from PyQt4.QtGui import QMessageBox + QMessageBox.warning( None, "Erreur","Le fichier n'existe pas") + return + result,message=appli.importMedFile(fileName) + if result==1 : return + from PyQt4.QtGui import QMessageBox + QMessageBox.warning( None, "Erreur a l import",message) + return + + +# le dictionnaire des commandes a la structure suivante : +# la clef est la commande qui va proposer l action +# puis un tuple qui contient +# - la fonction a appeler +# - le label dans le menu du clic droit +# - un tuple contenant les parametres attendus par la fonction +# - appelable depuis Salome uniquement -) +# - appelable depuis un item valide uniquement +# - toolTip +dict_commandes={ + 'MAILLAGE_RESULTAT':((view_med,"View Result",('item','editor'),False,False,"affiche dans Smesh le fichier med resultat"),), + } diff --git a/OldCodes/ZCracks/monCode_Cata.py b/OldCodes/ZCracks/monCode_Cata.py new file mode 100644 index 00000000..dc9bbe2e --- /dev/null +++ b/OldCodes/ZCracks/monCode_Cata.py @@ -0,0 +1,66 @@ +from Accas import * + +JdC = JDC_CATA (code = 'ZCrack', + execmodul = None, + ) + +class grma(GEOM): + pass + +class grno(GEOM): + pass + +ONGLET="oui" + +MAILLAGES = PROC(nom='MAILLAGES',op=None, + MAILLAGE_SAIN=FACT(statut='o', + sane_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)'),fr= "",ang= "Name of the initial uncracked mesh",statut= "o"), + if_quad=SIMP(typ="I",fr="",ang="1 for quadratic mesh",defaut=0,statut='o',into=[0,1]), + scale=SIMP(typ="R",fr="",ang="",statut='o',defaut=1), + ), + FISSURE=FACT(statut='o', + crack_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)',),fr= "",ang= "Name of the crack surface mesh",statut= "o"), + GENERE_FISSURE=FACT( + regles=(AU_MOINS_UN('ELLIPSE','DISQUE'),), + ELLIPSE=FACT( + center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), + normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), + ra=SIMP(typ="R",fr="",ang="",statut='o'), + rb=SIMP(typ="R",fr="",ang="",statut='o'), + dir=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), + ), + DISQUE=FACT( + center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), + normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), + rayon=SIMP(typ="R",fr="",ang="",statut='o'), + ), + ), + ), + MAILLAGE_RESULTAT=FACT(statut='o', + cracked_name=SIMP(typ=('Fichier', 'Med Files(med);;All Files (*)','Sauvegarde'),fr= "",ang= "Name of the final mesh",statut= "o"), + crack_id=SIMP(typ="I",fr="",val_min=0, defaut=1), + repertoire=SIMP(typ='Repertoire',fr= "Repertoire ",ang= " Directory",statut= "f",), + ), + GROUPES=FACT(statut='f', + regles=(AU_MOINS_UN('elset_names','faset_names','liset_names','nset_names'),), + elset_names=SIMP(typ=grma,fr="",ang="names of volume element groups to be kept",min=1,max="**",statut="f"), + faset_names=SIMP(typ=grma,fr="",ang="names of surface element groups to be kept",min=1,max="**",statut="f"), + liset_names=SIMP(typ=grma,fr="",ang="names of line element groups to be kept",min=1,max="**",statut="f"), + nset_names=SIMP(typ=grno,fr="" ,ang="names of node element groups to be kept",min=1,max="**",statut="f"), +) +) + +REMESHING=PROC(nom='REMESHING',op=None, + yams_options=SIMP(typ='TXM',fr="",ang="parameters for yams command line",statut="f"), + gradation=SIMP(typ="R",fr="",ang="gradation remeshing parameter",val_max=2.3,defaut=1.3,statut='o'), + min_size=SIMP(typ="R",fr="",ang="minimal element edges length",statut='o'), + max_size=SIMP(typ="R",fr="",ang="maximal element edges length",statut='o'), + nb_iter=SIMP(typ="I",fr="",ang="number of iterations for remeshing process",defaut=2,statut='o'), + ridge_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), + topo_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), + geom_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), + REMAILLAGE_LOCAL=FACT(statut='f', + elset_radius=SIMP(typ="R",fr="",ang="",statut='o'), + ), + filter_tol=SIMP(typ="R",fr="",ang="filtering tolerance for meshing operations",defaut=1.e-6,statut="f"), +) diff --git a/OldCodes/ZCracks/monCode_Cata.py.V0 b/OldCodes/ZCracks/monCode_Cata.py.V0 new file mode 100644 index 00000000..8ad40ea4 --- /dev/null +++ b/OldCodes/ZCracks/monCode_Cata.py.V0 @@ -0,0 +1,40 @@ +from Accas import * + +JdC = JDC_CATA (code = 'ZCrack', + execmodul = None, + ) + +class grma(GEOM): + pass + +class grno(GEOM): + pass + +FILES = PROC(nom='FILES',op=None, + crack_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)',),fr= "",ang= "Name of the crack surface mesh",statut= "o"), + sane_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)'),fr= "",ang= "Name of the initial uncracked mesh",statut= "o"), + cracked_name=SIMP(typ=('Fichier', 'Med Files(med);;All Files (*)','Sauvegarde'),fr= "",ang= "Name of the final mesh",statut= "o"), +) +PRESERVATION = PROC(nom='PRESERVATION',op=None, + elset_names=SIMP(typ=grma,fr="",ang="names of volume element groups to be kept",min=1,max="**",statut="f"), + faset_names=SIMP(typ=grma,fr="",ang="names of surface element groups to be kept",min=1,max="**",statut="f"), + liset_names=SIMP(typ=grma,fr="",ang="names of line element groups to be kept",min=1,max="**",statut="f"), + nset_names=SIMP(typ=grno,fr="" ,ang="names of node element groups to be kept",min=1,max="**",statut="f"), +) +REMESHING=PROC(nom='REMESHING',op=None, + gradation=SIMP(typ="R",fr="",ang="gradation remeshing parameter",val_max=2.3,defaut=1.3,statut='o'), + min_size=SIMP(typ="R",fr="",ang="minimal element edges length",statut='o'), + max_size=SIMP(typ="R",fr="",ang="maximal element edges length",statut='o'), + nb_iter=SIMP(typ="I",fr="",ang="number of iterations for remeshing process",defaut=2,statut='o'), + if_quad=SIMP(typ="I",fr="",ang="1 for quadratic mesh",defaut=0,statut='o',into=[0,1]), + + REMESHING_ADVANCED=FACT(statut="f", + yams_options=SIMP(typ='TXM',fr="",ang="parameters for yams command line",statut="f"), + filter_tol=SIMP(typ="R",fr="",ang="filtering tolerance for meshing operations",defaut=1.e-6,statut="f"), + grid_max=SIMP(typ="R",fr="",ang="truncation number for meshing operations",defaut=1.e11,statut="f"), + nb_velem=SIMP(typ="I",fr="",ang="number of element layers which size should be fixed to min_size",defaut=3,statut='f'), + if_barsoum=SIMP(typ="I",fr="",ang="element barsoum",defaut=1,statut='f',into=[0,1]), + +) +) + diff --git a/OldCodes/ZCracks/prefs.py b/OldCodes/ZCracks/prefs.py new file mode 100644 index 00000000..d7a65711 --- /dev/null +++ b/OldCodes/ZCracks/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="ZCRACKS" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/ZCracks/prefs_ZCRACKS.py b/OldCodes/ZCracks/prefs_ZCRACKS.py new file mode 100644 index 00000000..44c905cd --- /dev/null +++ b/OldCodes/ZCracks/prefs_ZCRACKS.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' +docPath=repIni +fileName="docMonCode.png" +image=1 + +# +catalogues=( + ('monCode','default',os.path.join(repIni,'monCode_Cata.py'),'ZCRACKS','python'), +) diff --git a/OldCodes/ZCracks/properties.py b/OldCodes/ZCracks/properties.py new file mode 100644 index 00000000..1d328a46 --- /dev/null +++ b/OldCodes/ZCracks/properties.py @@ -0,0 +1,24 @@ +#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "1.2" +date = "25/05/2010" +exploit = False diff --git a/OldCodes/ZCracks/qtEficas_ZCracks.py b/OldCodes/ZCracks/qtEficas_ZCracks.py new file mode 100755 index 00000000..b1254f2c --- /dev/null +++ b/OldCodes/ZCracks/qtEficas_ZCracks.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Code_Aster +""" +# Modules Python +# Modules Eficas + +import sys,os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) + +from PyQt4.QtCore import * +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/ts/Telemac_Cata.py b/OldCodes/ts/Telemac_Cata.py new file mode 100644 index 00000000..b3f63f6f --- /dev/null +++ b/OldCodes/ts/Telemac_Cata.py @@ -0,0 +1,2666 @@ +# coding: utf-8 + +from Accas import * +class DateJJMMAAAA: + def __init__(self): + self.ntuple=3 + + def __convert__(self,valeur): + if type(valeur) == types.StringType: return None + if len(valeur) != self.ntuple: return None + return valeur + + def info(self): + return "Date : jj/mm/aaaa " + + __repr__=info + __str__=info + +import types +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 + + + +JdC = JDC_CATA (code = 'TELEMAC', + execmodul = None, + ) +# ====================================================================== +# Catalog entry for the MAP function : c_pre_interfaceBody_mesh +# ====================================================================== + +# ----------------------------------------------------------------------- +INITIALIZATION = PROC(nom = "INITIALIZATION",op = None, +# ----------------------------------------------------------------------- + + fr = "Initialisation des fichiers d'entrée et de sortie", + ang = "Input and Output files initialization", + UIinfo = { "groupes" : ( "CACHE", )}, + #UIinfo = { "groupes" : ( "iiii", )}, + +# ------------------------------------ + Title = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.', + ang = 'Title of the case being considered. This title shall be marked on the drawings.'), + #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'), + +# ------------------------------------ + Input_Files = FACT(statut='o', +# ------------------------------------ + + # Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), + # defaut='telemac2d.dico', + # fr='Dictionnaire des mots cles.', ang='Key word dictionary.',), +# PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n +# est pas modifiable + +# ------------------------------------ + Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM', +# ------------------------------------ + into = ['Serafin', 'MED', 'SerafinD'], + defaut = 'Serafin', + fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \ + - SERAFIN : format standard simple precision pour Telemac; \n \ + - SERAFIND: format standard double precision pour Telemac; \n \ + - MED : format MED base sur HDF5', + ang = 'Results file format. Possible values are: \n\ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac;\n\ + - MED : MED format based on HDF5',) , + + b_geofile_med = BLOC (condition = "Geometry_File_Format == 'MED'", +# ------------------------------------ + Geometry_File = SIMP( statut = 'o', +# ------------------------------------ +# PNPNPN Question Soizic --> pourqoi Geo Files +# idem pour Bottom_Topography_File + typ = ('Fichier',' Med Files (*.med);;All Files (*)',), + fr = 'Nom du fichier contenant le maillage du calcul a realiser.', + ang = 'Name of the file containing the mesh. \n\ +This file may also contain the topography and the friction coefficients.'), + + ), + b_geofile_serafin = BLOC (condition = "Geometry_File_Format in ( 'Serafin','SerafinD')", +# ------------------------------------ + Geometry_File = SIMP( statut = 'o', +# ------------------------------------ +# PNPNPN Question Soizic --> pourqoi Geo Files +# idem pour Bottom_Topography_File + typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), + fr = 'Nom du fichier contenant le maillage du calcul a realiser.', + ang = 'Name of the file containing the mesh. \n\ +This file may also contain the topography and the friction coefficients.'), + + ), + #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),), + + +# ------------------------------------ + Fortran_File = SIMP(statut = 'f', +# ------------------------------------ + typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'), + fr = 'Nom du fichier a soumettre', + ang = 'Name of FORTRAN file to be submitted',), + +# ------------------------------------ + Bottom_Topography_File = SIMP( statut = 'f', +# ------------------------------------ + typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), + fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \ +Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.", + ang = 'Name of the possible file containing the bathymetric data.\ +Where this keyword is used, these bathymetric data shall be used in the computation.', + ), + +# ------------------------------------ + Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 , +# ------------------------------------ + fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\ +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. \n\ +to be used when interpolation of bathymetry on the mesh gives very rough results.',), + +# ------------------------------------ + Boundary_Conditions_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',), + fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\ +par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.', + ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\ +by the mesh generator through through colours that are assigned to the boundary nodes.',), + + +# ------------------------------------ + Validation = FACT( statut = 'f', +# ------------------------------------ +#PNPN--> creer le Mot_clef simple Validation si ce fact existe + +# ------------------------------------ + Reference_File_Format = SIMP( statut = 'o', +# ------------------------------------ + typ = 'TXM', + into = ['Serafin','MED','SerafinD'], + defaut = 'Serafin', + fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5' , + ang = 'Results file format. Possible values are:\n \ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5' ,), + +# ------------------------------------ + Reference_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), + fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.', + ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',), + + ), # Fin de Validation + +# ------------------------------------ + Formatted_And_Binary_Files = FACT( statut = 'f', +# ------------------------------------ + +# ------------------------------------ + Formatted_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), +# ------------------------------------ + fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 26.", + ang = 'Formatted data file made available to the user.\n\ +The data in this file shall be read on channel 26.',), + +# ------------------------------------ + Formatted_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), +# ------------------------------------ + fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 27.", + ang = "Formatted data file made available to the user.\n\ +The data in this file shall be read on channel 27.",), + +# ------------------------------------ + Binary_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), +# ------------------------------------ + fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 24.', + ang = 'Binary-coded data file made available to the user.\n\ +The data in this file shall be read on channel 24.',), + +# ------------------------------------ + Binary_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), +# ------------------------------------ + fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\ +Les donnees de ce fichier seront a lire sur le canal 25.', + ang = 'Binary-coded data file made available to the user. \n\ +The data in this file shall be read on channel 25.',), + + ), # fin Formatted_And_Binary_Files + + ), # Fin de InputFile + + # ----------------------------------------------------------------------- + Initial_State = FACT(statut='o', + # ----------------------------------------------------------------------- + +# ------------------------------------ + Initial_Conditions = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'], + defaut = 'Zero elevation', + fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\ + - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\ + - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\ + - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\ + - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\ + - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\ + - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\ + la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\ + BASE DE DONNEES DE MAREE." , + ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\ + - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom. \n\ + - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\ + - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\ + - ZERO DEPTH. Initializes the water depths to 0. \n\ + - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\ + - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\ + - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ), + +# ------------------------------------ + b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'", +# ------------------------------------ +# ------------------------------------ + Initial_Elevation = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE', + ang = 'Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION' ), + ) , # fin b_initial_elevation + +# ------------------------------------ + b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'", +# ------------------------------------ +# ------------------------------------ + Initial_Depth = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-', + ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ), + ),# fin b_initial_depth + +# ------------------------------------ + b_special = BLOC (condition = "Initial_Conditions == 'Special'", +# ------------------------------------ +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"), + ), # fin b_special + +#PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela +# ------------------------------------ + b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'", +# ------------------------------------ +# ------------------------------------ + Ascii_Database_For_Tide = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree', + ang = 'Tide data base of harmonic constituents extracted from the tidal model file',), + ), # fin b_initial_TPXO + + ), # fin Initial_State + + +# ------------------------------------ + Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False,position = "global_jdc"), +# ------------------------------------ + +# ------------------------------------ + b_comput_con = BLOC(condition = 'Computation_Continued == True', + Computation_Continued_Settings = FACT(statut = 'o', + +# ------------------------------------ + Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ['Serafin','MED','SerafinD'], + defaut = 'Serafin', + fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5', + ang = 'Previous computation results file format. Possible values are: \n\ + - SERAFIN : classical single precision format in Telemac; \n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5',), + +# ------------------------------------ + Previous_Computation_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'Computation File (*.res);;All Files (*)',), + fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\ + et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.", + ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\ + The last recorded time step will provid the initial conditions for the new computation.', + ), +# ------------------------------------ + Initial_Time_Set_To_Zero = SIMP(typ = bool, statut = 'o', +# ------------------------------------ + fr = 'Remet le temps a zero en cas de suite de calcul', + ang = 'Initial time set to zero in case of restart', + defaut = "False"), + +# ------------------------------------ + Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0, +# ------------------------------------ + fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", + ang = "record number to start from in the previous computation file, 0 for last record" ), + + ), + ),# fin BLOC b_comput_con + +# ------------------------------------ + Coupling = FACT( statut = 'o', +# ------------------------------------ +# PNPNPN Attention 1 seul choix possible + fr = 'Liste des codes avec lesquels on couple Telemac-2D', + ang = 'List of codes to be coupled with Telemac-2D', + +# ------------------------------------ + Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False , +# ------------------------------------ + fr = 'couplage interne avec Sisyphe', + ang = 'internal coupling with Sisyphe'), + +# ------------------------------------ + Tomawac = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'couplage interne avec Tomawac', + ang = 'internal coupling with Tomawac'), + +# ------------------------------------ + Delwacq = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'couplage interne avec Delwacq', + ang = 'internal coupling with Delwacq'), +# PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic +# On verra apres + + ), # fin Coupling + +# ------------------------------------ + Parallel_Computation = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ +# Ce mot clef n existe pas dans le dico + into = ['Sequentiel','Parallel'], + defaut = 'Sequentiel',), + +# ------------------------------------ + b_para = BLOC(condition = 'Parallel_Computation == "Parallel"', +# ------------------------------------ +# ------------------------------------ + Parallel_Processors = SIMP(statut = 'o',typ = 'I', +# ------------------------------------ + val_min = 0,defaut = 1, + fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\ +0 : 1 machine, compilation sans bibliotheque de parallelisme \n\ +1 : 1 machine, compilation avec bibliotheque de parallelisme \n\ +2 : 2 processeurs ou machines en parallele etc... ', + ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\ +0 : 1 machine, compiling without parallel library \n\ +1 : 1 machine, compiling with a parallel library \n\ +2 : 2 processors or machines in parallel'), + ), # fin b_para + +)# INITIALISATION + +# ----------------------------------------------------------------------- +TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None, +# ----------------------------------------------------------------------- +# ------------------------------------ + Inputs_Outputs_For_Tide = FACT( statut = 'o', +# ------------------------------------ + +# ------------------------------------ + Harmonic_Constants_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + 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 = ('Fichier', 'All Files (*)',), + fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques', + ang = 'Geometry file of the model from which harmonic constituents are extracted',), + + ), # Fin Inputs_Outputs_For_Tide + +# ------------------------------------ + Location = FACT( statut = 'o', +# ------------------------------------ +# ------------------------------------ + Geographic_System = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\ + "WGS84 southern UTM","Lambert", "Mercator",], + defaut = "Defined by user", + fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.', + ang = 'Geographic coordinates system in which the numerical model is built.',), + +# ------------------------------------ + b_geo_plan = BLOC(condition = "Geographic_System in ['WGS84 nothern UTM','WGS84 southern UTM','Lambert']", +# ------------------------------------ + +# ------------------------------------ + Zone_Number_In_Geographic_System = SIMP(statut = 'f',typ = 'TXM', +# ------------------------------------ + into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 south', \ + 'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'], + fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \ +Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE", + ang = 'Number of zone when using a plane projection. \n\ +Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'), + ), # Fin b_geo_plan + ), # Fin Location + +# ------------------------------------ + Physical_Parameters = FACT(statut = 'o', +# ------------------------------------ + +# ------------------------------------ + Tide_Generating_Force = SIMP(statut = 'o', +# ------------------------------------ + typ = bool, defaut = False), + +# ------------------------------------ + b_Tide = BLOC(condition = "Tide_Generating_Force == True", +# ------------------------------------ +# ------------------------------------ + Longitude_Of_Origin_Point = SIMP(typ = 'R', +# ------------------------------------ + statut = 'o', defaut = 48., + fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation 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.',), + +# ------------------------------------ + Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ +# Soizic . Il faudrait une consigne ? avec des blocs ? +# en suspens pour JMJ + into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",], + fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\ +et FICHIER DU MODELE DE MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\ +de constantes harmoniques sur internet', + ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\ +For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',), + +# ------------------------------------ + b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'", +# ------------------------------------ + +# ------------------------------------ + Minor_Constituents_Inference = SIMP( statut = 'o',typ = bool, +# ------------------------------------ + defaut = False , + fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\ +fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE', + ang = 'Inference of minor constituents from the one read in input files linked to \n\ +keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',), + + + +# ------------------------------------ + Binary_Database_1_For_Tide = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', '(All Files (*),)',), + fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\ +Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2', + ang = 'Binary database 1 extracted from the tidal model file.\n\ +In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',), + +# ------------------------------------ + Binary_Database_2_For_Tide = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', '(All Files (*),)',), + fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\ +Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2', + ang = 'Binary database 2 extracted from the tidal model file.\n\ +In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ), + + ),#fin du bloc b_tpxo + ), # Fin du Bloc b_Tide + +# ------------------------------------ + Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o', +# ------------------------------------ + typ = 'TXM', defaut = 'No tide', + into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \ + 'Mean spring tide', 'Mean tide', 'Mean neap tide', \ + 'Astronomical neap tide', 'Real tide (methodology before 2010)'],), + +# ------------------------------------ + b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"', +# ------------------------------------ +# ------------------------------------ + Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o', +# ------------------------------------ + typ = 'R', defaut = 1., + fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes', + ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'), + +# ------------------------------------ + Coefficient_To_Calibrate_Tidal_Velocities = SIMP(statut = 'o', +# ------------------------------------ + typ = 'R', defaut = 999999, + fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\ +La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise', + ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\ + Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'), + +# ------------------------------------ + Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + defaut = 0., + fr = 'Coefficient pour ajuster le niveau de mer', + ang = 'Coefficient to calibrate the sea level'), + ), # fin b_Option_B + + ), #fin Physical_Parameters +) # Fin TIDE_PARAMETERS + +# ----------------------------------------------------------------------- +BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None, +# ----------------------------------------------------------------------- + fr = 'On donne un ensemble de conditions par frontiere liquide', + ang = 'One condition set per liquid boundary is given', + UIinfo = { "groupes" : ( "CACHE", )}, + #UIinfo = { "groupes" : ( "iiii", )}, + # Dans l ideal il faut aller regarder selon les groupes dans le fichier med + # en sortie il faut aller chercher le .cli qui va bien + #Liquid_Boundaries = FACT(statut = 'f',max = '**', + # Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics']) + # Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'), + # Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'), + # Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'), + # ), + +# Il va falloir une "traduction dans le langage du dico" +# Il faut seulement l un des 3 + +# ------------------------------------ + Liquid_Boundaries = FACT(statut = 'o',max = '**', +# ------------------------------------ + +# ------------------------------------ + Options = SIMP(statut = 'f',typ = 'I', +# ------------------------------------ + into = ['Classical boundary conditions','Thompson method based on characteristics'], + fr = 'On donne 1 entier par frontiere liquide', + ang = 'One integer per liquid boundary is given',), + +# ------------------------------------ + Type_Condition = SIMP(statut = 'o',typ = 'TXM', +# On ajoute le type pour rendre l 'ihm plus lisible +# mais ce mot-cle n existe pas dans le dico +# ------------------------------------ + into = ['Prescribed Flowrates', 'Prescribed Elevations', 'Prescribed Velocity'],), + +# ------------------------------------ + b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'", +# ------------------------------------ +# ------------------------------------ + Prescribed_Flowrates = SIMP(statut = 'o', +# ------------------------------------ + typ = 'R', + fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\ +Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang = 'Values of prescribed flowrates at the inflow boundaries.\n\ +The section about boundary conditions is to be read in the manual'), + ), # fin b_Flowrates + +# ------------------------------------ + b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'", +# ------------------------------------ +# ------------------------------------ + Prescribed_Elevations = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\ +Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang = 'Values of prescribed elevations at the inflow boundaries.\n\ +The section about boundary conditions is to be read in the manual'), + ), # fin b_Elevations + +# ------------------------------------ + b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'", +# ------------------------------------ +# ------------------------------------ + Prescribed_Velocities = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\ +Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\ +Refer to the section dealing with the boundary conditions'), + ), # fin b_Velocity + + ), # fin des Liquid_Boundaries + +# ------------------------------------ + Liquid_Boundaries_File = SIMP( statut = 'f', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Fichier de variations en temps des conditions aux limites.\n\ +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.', + ), + + +#PNPN Attention dans le Dico STAGE-DISCHARGE CURVES +#PNPN regarder le document de reference pour changer non programme +# ------------------------------------ + Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM', +# ------------------------------------ + into = ["No one","Z(Q)","Q(Z)"], + fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere', + ang = 'Says if a discharge-elevation curve must be used for a given boundary',), + +# ------------------------------------ + b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'", +# ------------------------------------ +# ------------------------------------ + Stage_Discharge_Curves_File = SIMP( statut = 'f', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Nom du fichier contenant les courbes de tarage', + ang = 'Name of the file containing stage-discharge curves',), + ), # fin b_discharge_curve + +# ------------------------------------ + 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',), + +# ------------------------------------ + maskob = BLOC (condition = 'Elements_Masked_By_User == True', +# ------------------------------------ +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut = "Remplir le sous-programme maskob"), + ) # fin maskob + +) # fin Boundary_Conditions + +# ----------------------------------------------------------------------- +NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None, +# ----------------------------------------------------------------------- + + UIinfo = { "groupes" : ( "CACHE", )}, + #UIinfo = { "groupes" : ( "iiii", )}, + +# ------------------------------------ + Equations = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'], + defaut = 'Saint-Venant EF', + fr = 'Choix des equations a resoudre', + ang = 'Choice of equations to solve',), + +# ------------------------------------ + Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM', +# ------------------------------------ + into = ["Coupled", "Wave equation"], + defaut = "Coupled",), + +# ------------------------------------ + Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + 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",), + +# ------------------------------------ + Solver_Definition = FACT(statut = 'o', +# ------------------------------------ + +# ------------------------------------ + Solver = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\ + "Minimum error", "CGSTAB", "GMRES", "Direct",], + fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\ +Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\ + 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\ + 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\ + 7 : gmres (voir aussi option du solveur) 8 : direct', + ang = 'Makes it possible to select the solver used for solving the propagation step.\n\ +All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\ +1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\ +4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\ +7: gmres (see option for solver) 8: direct',), + +# ------------------------------------ + b_gmres = BLOC (condition = "Solver == 'GMRES'", +# ------------------------------------ +# ------------------------------------ + Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15, +# ------------------------------------ + fr = 'la dimension de l''espace de KRILOV', + ang = 'dimension of the KRYLOV space',), + ), # fin b_gmres + +# ------------------------------------ + Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4, +# ------------------------------------ + fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).', + ang = 'Required accuracy for solving the propagation step (refer to Principle note).',), + +# ------------------------------------ + Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 100, +# ------------------------------------ + fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\ +il est necessaire de limiter le nombre d''iterations autorisees.\n\ +Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.', + ang = 'Since the algorithms used for solving the propagation step are iterative, \ +the allowed number of iterations should be limited.\n\ +Note: a maximum number of 40 iterations per time step seems to be reasonable.',), + + ), # fin Solver + +# ------------------------------------ + Linearity = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + Continuity_Correction = SIMP(typ = bool, statut = 'o', +# ------------------------------------ + defaut = False, + fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue', + ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',), + + ), # Fin Linearity + +# ------------------------------------ + Precondionning_setting = FACT(statut = 'f', +# ------------------------------------ + +# ------------------------------------ + Preconditioning = SIMP(statut = 'o',typ = 'TXM',max="**", +# ------------------------------------ +# PNPN Soizic ? Est ce que c'est une liste +# Comment fait-on le into est faux : voir l aide +# PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie +# ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ? +# + into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", "Gauss-Seidel", ], + defaut=("Diagonal",), homo="SansOrdreNiDoublon", + fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\ +lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\ +Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\ +plusieurs on formera le produit des options correspondantes.', + ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\ +when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\ +Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\ +the product of relevant options shall be made.', + ), +# ------------------------------------ + C_U_Preconditioning = SIMP(typ = bool, statut = 'o', defaut=False, +# ------------------------------------ + 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' + ), + + ),# fin Preconditionnement + +# ------------------------------------ + Matrix_Informations = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + Matrix_Vector_Product = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Classic", "Frontal"], + defaut='Classic', + fr = 'attention, si frontal, il faut une numerotation speciale des points', + ang = 'beware, with option 2, a special numbering of points is required', + ), +# ------------------------------------ + Matrix_Storage = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Classical EBE","Edge-based storage",], + defaut='Edge-based storage', + ), + ),# fin Matrix_Informations + + +# ------------------------------------ + Advection = FACT(statut = 'o', +# ------------------------------------ + +# ------------------------------------ + Type_Of_Advection = FACT(statut = 'o', +# ------------------------------------ + +# PNPNPN recalcul +# Tres differents du dico liste de 4 +# PNPN eclaircir les choix SVP +# soizic. choix 3 et 4 et 13 et 14 +# Attention recalcul de Type_Of_Advection +# ------------------------------------ + 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.'), + +# ------------------------------------ + b_u_v = BLOC( condition = "Advection_Of_U_And_V == True", +# ------------------------------------ +# ------------------------------------ + Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global", +# ------------------------------------ + into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ + 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ + 'Edge-based N-scheme'], + defaut = "Characteristics", ), + +# ------------------------------------ + b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'", +# ------------------------------------ +# ------------------------------------ + Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ + into = ['No upwinding', 'Classical SUPG','Modified SUPG']), + +# ------------------------------------ + Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.) +# ------------------------------------ + ), # fin b_upwind + ),# fin b_u_v + +# ------------------------------------ + Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = True, +# ------------------------------------ + fr = 'Prise en compte ou non de la convection de H.', + ang = 'The advection of H is taken into account or ignored.'), + +# ------------------------------------ + b_h = BLOC( condition = "Advection_Of_H == True", +# ------------------------------------ +# ------------------------------------ + Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global", +# ------------------------------------ + into = ["characteristics", "SUPG", "conservative N-scheme", 'conservative N-scheme',\ + 'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\ + 'edge-based N-scheme'], + defaut = "conservative PSI-scheme",), +# ------------------------------------ + b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'", +# ------------------------------------ +# ------------------------------------ + Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ + into = ['No upwinding', 'Classical SUPG','Modified SUPG']), + +# ------------------------------------ + Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.) +# ------------------------------------ + ), # fin b_upwind_H + ),# fin b_h + +# ------------------------------------ + Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = True, +# ------------------------------------ + fr = 'Prise en compte ou non de la convection de Tracer.', + ang = 'The advection of Tracer is taken into account or ignored.'), + +# ------------------------------------ + b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True", +# ------------------------------------ +# ------------------------------------ + Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global", +# ------------------------------------ + into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ + 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ + 'Edge-based N-scheme'], + defaut = "Characteristics",), +# ------------------------------------ + b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'", +# ------------------------------------ +# ------------------------------------ + Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ + into = ['No upwinding', 'Classical SUPG','Modified SUPG']), + +# ------------------------------------ + Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.) +# ------------------------------------ + ),# fin b_upwind_k + ),# fin b_k + +# ------------------------------------ + Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = True, +# ------------------------------------ + fr = 'Prise en compte ou non de la convection de Tracer.', + ang = 'The advection of Tracer is taken into account or ignored.'), + +# ------------------------------------ + b_tracers = BLOC( condition = "Advection_Of_Tracers == True", +# ------------------------------------ +# ------------------------------------ + Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global", +# ------------------------------------ + into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ + 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ + 'Edge-based N-scheme'],), +# ------------------------------------ + b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'", +# ------------------------------------ +# ------------------------------------ + Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ + into = ['No upwinding', 'Classical SUPG','Modified SUPG']), + +# ------------------------------------ + Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.) +# ------------------------------------ + ), # fin b_upwind_Tracers + ), # fin b_Tracers + +# ------------------------------------ + b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')", +# ------------------------------------ +# ------------------------------------ + Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 , +# ------------------------------------ + fr = 'Seulement pour schemes Edge-based N-scheme', + ang = 'Only for Edge-based N-scheme',), + ), # fin b_max + +# ------------------------------------ + b_traitement = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or ( Advection_Of_H == True and Type_Of_Advection_H in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme'])", +# ------------------------------------ + +# ------------------------------------ + Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Priority to prescribed values","Priority to fluxes"], + fr = 'Utilise pour les schemas SUPG, PSI et N, \n\ +si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct', + ang = 'Used so far only with the SUPG, PSI and N schemes.\n\ +if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',), + + ), # fin b_traitement + ), # Fin Type_Of_Advection + + +#PNPNPN +# recalculer la liste de 4 +# Attention bloc selon le type de convection +# ------------------------------------ +# SUPG = FACT(statut = 'o', +# ------------------------------------ +# ------------------------------------ +# Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ +# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), +# ------------------------------------ +# Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ +# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), +# ------------------------------------ +# Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ +# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), +# ------------------------------------ +# Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', +# ------------------------------------ +# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), +# ), # Fin de SUPG + +# ------------------------------------ + Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0, +# ------------------------------------ + fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\ +Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\ +et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\ +importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\ +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. \n\ +This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\ +Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\ +more stable. The resulting solutions, however, become artificially smoothed. \n\ +This parameter sets the extent of mass-lumping that is performed on h.'), + +# ------------------------------------ + Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 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.'), + +# ------------------------------------ + Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'o',typ = 'R',defaut = 0, +# ------------------------------------ + fr = 'Applique a la matrice de masse', + ang = 'To be applied to the mass matrix',), +# ------------------------------------ + Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1., +# ------------------------------------ + fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites', + ang = 'Values less than 1 suppress spurious oscillations'), + +# ------------------------------------ + 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 \n\ +au cours de plusieurs sous-iterations.\n\ +A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\ +Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\ +Cette technique permet d''ameliorer la prise en compte des non linearites.', + ang = 'Used for updating, within one time step, the advection and propagation field.\n\ +upon the first sub-iteration, \n\ +these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\ +the results of the previous sub-iteration is used to update the advection and propagation field.\n\ +The non-linearities can be taken into account through this technique.',), + + + ), # fin Advection + +#PNPNPN Il faut recalculer le MCSIMP Propagation +# ------------------------------------ + Propagation = FACT(statut = 'o', +# ------------------------------------ +# ------------------------------------ + Initial_Guess_For_H = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ['Zero', 'Previous', 'Extrapolation'], + defaut = 'Previous', + fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ +accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ +aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', + ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of H, \n\ +upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ +Thus, the convergence can be speeded up when the system is being solved.',), + + +# ------------------------------------ + Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'Permet de lineariser l''etape de propagation; \n\ +par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.', + ang = 'Provided for linearizing the propagation step; \n\ +e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ), + +# ------------------------------------ + b_linear = BLOC(condition = "Linearized_Propagation == True ", +# ------------------------------------ +# ------------------------------------ + Mean_Depth_For_Linearization = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0, +# ------------------------------------ + fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.', + ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'), + +# ------------------------------------ + Initial_Guess_For_U = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ['Zero', 'Previous', 'Extrapolation'], + defaut = 'Previous', + fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ +accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ +aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', + ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, \n\ +upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ +Thus, the convergence can be speeded up when the system is being solved.',), + + ), # fin b_linear + + ), # fin Propagation + + +# ------------------------------------ + Diffusion = FACT(statut = 'o', +# ------------------------------------ + +# ------------------------------------ + Diffusion_Of_Velocity = SIMP( statut='o',typ=bool, +# ------------------------------------ + defaut=False , + 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.', + ), +# ------------------------------------ + b_Diffu = BLOC(condition = 'Diffusion_Of_Velocity == True', +# ------------------------------------ +# ------------------------------------ + Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0, +# ------------------------------------ + fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses', + ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',), + +# ------------------------------------ + Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='TXM', +# ------------------------------------ + defaut=1 , + into=['Diffusion in the form div( nu grad(U))','Diffusion in the form 1/h div ( h nu grad(U) )'], + 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) )',), + + ), # fin b_Diffu + ), # fin Diffusion +# ------------------------------------ + Discretization_Implicitation = FACT(statut = 'f', +# ------------------------------------ + +# ------------------------------------ + Discretizations_In_Space = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Linear", "Quasi-bubble", "Quadratic"], + defaut = "Linear",), + +# ------------------------------------ + Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55, +# ------------------------------------ + fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf. Note de principe).\n\ +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).\n\ +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 d''implicitation sur la vitesse dans l''etape de propagation (cf. Note de principe).\n\ +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).\n\ +Values below 0.5 result in an unstable condition.'), + + ), # fin Discretization_Implicitation + + +# ------------------------------------ + Tidal=FACT(statut='f', +# ------------------------------------ + Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True, +# ------------------------------------ + fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y 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'), + +# ------------------------------------ + b_tidal_flats = BLOC(condition = 'Tidal_Flats == True', +# ------------------------------------ +# ------------------------------------ + Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",], + defaut="Equations solved everywhere with correction on tidal flats",), + +# ------------------------------------ + b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"', +# ------------------------------------ +# ------------------------------------ + Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + into = [ 'No treatment', 'Smoothing', 'Flux control'], + defaut = 'Smoothing' ,), + ), # fin bloc b_option_tidal_flats + +# ------------------------------------ + 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',), + +# ------------------------------------ + Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 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 ',), + + +# ------------------------------------ + H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau 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)\n\ +This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',), + +# ------------------------------------ + b_clipping = BLOC(condition = 'H_Clipping == True', +# ------------------------------------ +# ------------------------------------ + 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.',), + ), # fin b_clipping + ), # fin bloc b_tidal_flats + ), # fin bloc tidal + +# ------------------------------------ + Various = FACT( +# ------------------------------------ + +# ------------------------------------ + Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + defaut = "Euler explicite", + into = ["Euler explicite","Order 2 in time"],), + +# ------------------------------------ + Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + defaut = "Strong" , + into = ['Strong','Weak',],), + + ),# fin Various + + +)# fin NUMERICAL_PARAMETERS + +# ----------------------------------------------------------------------- +PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None, +# ----------------------------------------------------------------------- + UIinfo = { "groupes" : ( "CACHE", )}, +# ------------------------------------ + Friction_Setting = FACT(statut = 'o', +# ------------------------------------ +# ------------------------------------ + Friction_Data_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', ';;All Files (*)'), + fr = 'fichier de donnees pour le frottement', + ang = 'friction data file',), + +# ------------------------------------ + Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + defaut = "Nodal" , + into = ("Nodal", "Average"),), + +# ------------------------------------ + Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + defaut = 'No friction' , + into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'), + fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.', + ang = 'Selects the type of formulation used for the bottom friction.',), + +# ------------------------------------ + b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'", +# ------------------------------------ +# ------------------------------------ + 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',), + ), # Fin b_Law_Friction + +# ------------------------------------ + b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'", +# ------------------------------------ +# ------------------------------------ + 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 ', + ang = 'Manning default value for the friction law of Colebrook-White ',), + ), # Fin b_Colebrooke_White + +# ------------------------------------ + 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',), + +# ------------------------------------ + b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True', +# ------------------------------------ +# ------------------------------------ + 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',), + ), # Fin b_Non_Sub + +# ------------------------------------ + Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + defaut = "No friction" , + into = ("No friction", "Haaland", "Chezy", "Strickler", "Manning", "Nikuradse", "Log law", "Colebrook-white"), + fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.', + ang = 'Selects the type of formulation used for the friction on lateral boundaries.',), + + +# ------------------------------------ + b_Fric = BLOC(condition = 'Law_Of_Friction_On_Lateral_Boundaries != "No friction"', +# ------------------------------------ + +# PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries +# ------------------------------------ + 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\n\ + sur les bords du domaine. meme convention que pour le coefficient de frottement', + ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',), + +# ------------------------------------ + 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',), + ), + +# ------------------------------------ + Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False, +# ------------------------------------ + fr = 'Declenche l''appel 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',), + +# ------------------------------------ + b_def_zone = BLOC (condition = 'Definition_Of_Zones == True', +# ------------------------------------ +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"), +# ------------------------------------ + ), # fin b_def_zone + + ), # Fin du bloc Friction +# ------------------------------------ + Meteorology = FACT(statut = 'f', +# ------------------------------------ + +# ------------------------------------ + Wind = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'Prise en compte ou non des effets du vent.', + ang = 'Determines whether the wind effects are to be taken into account or not.'), + +# ------------------------------------ + b_Wind = BLOC(condition = "Wind == True", +# ------------------------------------ +# ------------------------------------ + Wind_Velocity_Along_X = SIMP(statut = 'o',typ = 'R', defaut = 0., +# ------------------------------------ + fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).', + ang = 'Wind velocity, component along x axis (m/s).',), + +# ------------------------------------ + Wind_Velocity_Along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0., +# ------------------------------------ + fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).', + ang = 'Wind velocity, component along y axis (m/s).',), + +# ------------------------------------ + Threshold_Depth_For_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0., +# ------------------------------------ + fr = 'Retire la force due au vent dans les petites profondeurs', + ang = 'Wind is not taken into account for small depths' ), + +# ------------------------------------ + Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 , +# ------------------------------------ + fr = 'Fixe la valeur du coefficient d entrainement du vent (cf. Note de principe).', + ang = 'Sets the value of the wind driving coefficient. Refer to principle note.',), + +# ------------------------------------ + Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 , +# ------------------------------------ + into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"], + fr = 'donne les options pour introduire le vent', + ang = 'gives option for managing the wind'), + +# ------------------------------------ + file_For_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"', +# ------------------------------------ +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut = "give formated file 3"), + ), # fin bloc file_For_wind + +# ------------------------------------ + speed_For_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"', +# ------------------------------------ +# ------------------------------------ + Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) , +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent', + ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',), + ), # speed_For_wind + + ), # fin b_Wind + +# ------------------------------------ + Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False, +# ------------------------------------ + fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.', + ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'), + +# ------------------------------------ + b_air = BLOC(condition = "Air_Pressure == True", +# ------------------------------------ +# ------------------------------------ + 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',), + ), # fin b_air + +# ------------------------------------ + Rain_Or_Evaporation = SIMP(statut = 'o',typ = bool, +# ------------------------------------ + defaut = False, + fr = 'Pour ajouter un apport ou une perte d''eau en surface.', + ang = 'to add or remove water at the free surface. ',), + +# ----------------------------------- + b_Rain = BLOC(condition = "Rain_Or_Evaporation == True", +# ------------------------------------ +# ------------------------------------ + Rain_Or_Evaporation_In_Mm_Per_Day = SIMP(statut = 'o',typ = 'I',defaut = 0.), +# ------------------------------------ + ), # fin b_Rain + + ), # fin Meteorology + +# ------------------------------------ + Wave = FACT(statut = 'f', +# ------------------------------------ + +# ------------------------------------ + 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.'), + +# ------------------------------------ + b_Wave = BLOC(condition = "Wave_Driven_Currents == True", +# ------------------------------------ +# ------------------------------------ + 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'), + ), # fin b_Wave + ), # fin Wave + + + +# ------------------------------------ + Parameters_Estimation = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"], +# ------------------------------------ + fr = 'Liste des parametres a estimer', + ang = 'List of parameter to be estimated',), + +# ------------------------------------ + Identification_Method = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."], + defaut = 'GRadient simple',), + +# ------------------------------------ + 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', ), + +# ------------------------------------ + Cost_Function = SIMP(statut = "f",typ = 'TXM', +# ------------------------------------ + defaut = 'Computed with h, u , v', + into = ['Computed with h, u , v', 'Computed with c, u , v'],), + +# ------------------------------------ + Tolerances_For_Identification = FACT( statut = 'o', +# ------------------------------------ +# PNPNPN recalculer en liste de 4 reels +# ------------------------------------ + Tolerance_For_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, +# ------------------------------------ + fr = "precision absolue sur H", + ang = "absolute precision on H",), +# ------------------------------------ + Tolerance_For_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, +# ------------------------------------ + fr = "precision absolue sur U", + ang = "absolute precision on U",), +# ------------------------------------ + Tolerance_For_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, +# ------------------------------------ + fr = "precision absolue sur V", + ang = "absolute precision on V",), +# ------------------------------------ + Tolerance_For_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4, +# ------------------------------------ + fr = "precision relative sur la fonction cout", + ang = "relative precision on the cost function",), + ),# fin Tolerances_For_Identification + + ), # fin fact Parameters_Estimation + +# ------------------------------------ + Sources = FACT( statut = 'f', +# ------------------------------------ +# ------------------------------------ + Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,), +# ------------------------------------ +# Attention a la sortie a reformatter. voir page 68 du user manuel V7 + +# ------------------------------------ + sources_exists = BLOC(condition = "Number_Of_Sources!= 0", +# ------------------------------------ + +# ------------------------------------ + Sources_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Nom du fichier contenant les informations variables en temps des sources', + ang = 'Name of the file containing time-dependent information on sources',), + +#PNPNPNPN saisir autant de source que le nombre +# ------------------------------------ + Source = FACT(statut = 'o', +# ------------------------------------ + max = "**", +# ------------------------------------ + Abscissae_Of_Sources = SIMP( statut = 'o', +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + 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 = Tuple(2),validators = VerifTypeTuple(('R','R')), + 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 = Tuple(2),validators = VerifTypeTuple(('R','R')), + fr = 'Valeurs des debits des sources.', + ang = 'values of water discharge of sources',), + +# ------------------------------------ + Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f', +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + 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 = 'f', +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + fr = 'Vitesses du courant a chacune des sources', + ang = 'Velocities at the sources',), + + ), # Fin du Fact Source + +# ------------------------------------ + Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"], +# ------------------------------------ + fr = 'Source portee par une base elements finis Source portee par une fonction de Dirac', + ang = 'Source term multiplied by a finite element basis, Source term multiplied by a Dirac function',), + + ),#fin bloc source - exits + ),#fin MC source - exits + + +# ------------------------------------ + Coriolis_Settings = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + 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.',), + +# ------------------------------------------------------- + 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 \n\ +par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s \n\ +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,\n\ +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. \n\ +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',), + ), #fin Coriolis_Settings + + + +# ------------------------------------ + Various = FACT( statut = 'f', +# ------------------------------------ +# ------------------------------------ + Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000., +# ------------------------------------ + fr = 'Fixe la valeur de la masse volumique de l eau.', + ang = 'set the value of water density', + ), + +# ------------------------------------ + Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81, +# ------------------------------------ + fr = 'Fixe la valeur de l acceleration de la pesanteur.', + ang = 'Set the value of the acceleration due to gravity.', + ), + +# ------------------------------------ + Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'Prise en compte de la force de trainee de structures verticales', + ang = 'drag forces from vertical structures are taken into account',), + +# ------------------------------------ + maskob = BLOC (condition = 'Vertical_Structures == True', +# ------------------------------------ +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut = "subroutine DRAGFO must then be implemented"), + ), # fin maskob + ), + +# ----------------------------------------------------------------------- + Secondary_Currents_Settings = FACT( statut='f', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Secondary_Currents = SIMP( statut='o',typ=bool, +# ----------------------------------------------------------------------- + defaut=False , + fr = 'Pour prendre en compte les courants secondaires', + ang= 'Using the parametrisation for secondary currents', + ), + +# ----------------------------------------------------------------------- + b_currents_exists = BLOC(condition = "Secondary_Currents == True", +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Production_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + defaut=7.071 , + fr = 'Une constante dans les termes de creation de Omega', + ang= 'A constant in the production terms of Omega',), + +# ----------------------------------------------------------------------- + Dissipation_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + defaut=0.5 , + fr = 'Coefficient de dissipation de Omega', + ang= 'Coefficient of dissipation term of Omega',), + + ), # fin b_currents_exists + ), # fin Secondary_Currents_Settings + +# ------------------------------------ + Tsunami = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------------------------- + Option_For_Tsunami_Generation = SIMP( statut='o',typ='I', defaut=0 , +# ------------------------------------------------------- + fr = '', + ang= '',), + +# ------------------------------------------------------- + Physical_Characteristics_Of_The_Tsunami = SIMP( statut='o',typ='R', +# ------------------------------------------------------- + min=10,max=10, + defaut=(100.0, 210000.0, 75000.0, 13.6, 81.0, 41.0, 110.0, 0.0, 0.0, 3.0) , + fr = '', + ang= '',), + ), #fin Tsunami + +)# fin PHYSICAL_PARAMETERS + +# ----------------------------------------------------------------------- +OUTPUT_FILES = PROC(nom = "OUTPUT_FILES",op = None, +# ----------------------------------------------------------------------- + +# ------------------------------------ + Graphic_And_Listing_Printouts = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM', +# ------------------------------------ + into=[ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", + "Free surface elevation (m)", "Bottom elevation (m)", "Froude number ", "Scalar flowrate of fluid (m2/s)", + "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", + "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along X axis (m2/s)", "Flowrate along Y axis (m2/s)", + "Scalar velocity (m/s)", "Wind along X axis (m/s)", "Wind along Y axis (m/s)", "Air pressure (Pa)", + "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"), + +# ------------------------------------ + Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, +# ------------------------------------ + fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\ + dans le FICHIER DES RESULTATS.', + ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,), + +# ------------------------------------ + Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1, +# ------------------------------------ + fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.', + ang = 'Determines the number of time steps after which the results are first written into the listing.'), + + +# ------------------------------------ + Results_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee PERIODE POUR LES SORTIES GRAPHIQUES.', + ang = 'Name of the file into which the computation results shall be written, the periodicity being given by GRAPHIC PRINTOUT PERIOD.',), + +# ------------------------------------ + Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin', +# ------------------------------------ + fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5' , + ang = 'Results file format. Possible values are:\n \ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5' , + ), + +# ------------------------------------ + Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, +# ------------------------------------ + fr = 'Determine la periode en nombre de pas de temps d''impression des variables', + ang = 'Determines, in number of time steps, the printout period for the variables',), + +# ------------------------------------ + Listing_Printout = SIMP( statut='o',typ=bool, defaut=True , +# ------------------------------------ + fr = 'Sortie des resultats sur support papier. Si on met False, le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME : La Valeur False est 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. Value False Not recommended for use.', + ), + +# ------------------------------------ + Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM', +# ------------------------------------ + into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", + "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)", + "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", + "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)", + "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)", + "Friction coefficient", "Drift along x (m)", "Drift along y (m)", "Courant number", + "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"] +,homo="SansOrdreNiDoublon"), + + ),# fin Listing_Graphic_Printouts + +# ------------------------------------ + Formatted_Results_File = SIMP( statut = 'f', +# ------------------------------------ + typ = ('Fichier','All Files (*)',), + fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \ +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.',), + + +# ------------------------------------ + Binary_Results_File = SIMP( statut = 'f', +# ------------------------------------ + typ = ('Fichier', ';;All Files (*)',), + fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\ +Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.", + ang = "Additional binary-coded result file made available to the user. \n\ +The results to be entered into this file shall be written on channel 28.",), + + +# ------------------------------------ + Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o', +# ------------------------------------ + defaut = True, + fr = 'Si Vrai, impression des conditions initiales dans les resultats', + ang = 'If True, output of initial conditions in the results'), + +# ------------------------------------ + 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', + ), + + +# ------------------------------------ + Information_About_Solver = SIMP(typ = bool, statut = 'f', +# ------------------------------------ + defaut = False, + fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.", + ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",), + +# ------------------------------------ + Mass_Balance = SIMP( statut='o',typ=bool, +# ------------------------------------ + defaut=False , + fr = 'Determine si l on effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : \n\ +- les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) \n\ +- l erreur relative sur la masse pour ce pas de temps.\n\ +En fin de listing, on trouve l erreur relative sur la masse pour l ensemble du calcul.\n\ +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.\n\ +This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries,\n\ +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.', + ), + +# ------------------------------------ + Controls = FACT( statut='f', +# ------------------------------------ +# ------------------------------------ + Control_Sections = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')), +# ------------------------------------ + 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',), + +# ------------------------------------ + 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 l impermeabilite sous forme faible', + ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',), + +# ------------------------------------ + Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), +# ------------------------------------ + fr = 'sections input file, partitioned', + ang = 'sections input file, partitioned',), + +# ------------------------------------ + Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), +# ------------------------------------ + fr = 'sections output file, written by the master', + ang = 'sections output file, written by the master',), + + ),# fin controls +# ------------------------------------ + Fourier = FACT(statut = 'f', +# ------------------------------------ +# ------------------------------------ + Fourier_Analysis_Periods = SIMP( statut='o', +# ------------------------------------ + max='**', typ = 'R', + fr = 'Liste des periodes que lon veut analyser', + ang= 'List of periods to be analysed',), + +# ------------------------------------ + Time_Range_For_Fourier_Analysis = SIMP( statut='o', +# ------------------------------------ + typ = Tuple(2), validators = VerifTypeTuple(('R','R')), + defaut=(0.0, 0.0) , + fr = 'Pour le calcul du marnage et de la phase de la maree', + ang= 'For computing tidal range and phase of tide', + ), + +# ------------------------------------ + List_Of_Points = SIMP( statut='o', +# ------------------------------------ + typ = Tuple(2), validators = VerifTypeTuple(('I','I')), + fr = 'Liste de points remarquables pour les impressions', + ang= 'List of remarkable points for printouts',), + +# ------------------------------------ + Names_Of_Points = SIMP( statut='o',typ='TXM', +# ------------------------------------ + min=2,max=2 , + fr = 'Noms des points remarquables pour les impressions', + ang= 'Names of remarkable points for printouts', + ), + + ),# fin fourier +) # FIN OUTPUT_FILES + + +# ----------------------------------------------------------------------- +CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None, +# ----------------------------------------------------------------------- + +# Attention calculer le logique BREACH + +# ------------------------------------ + 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)',), +# ------------------------------------ + culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0", +# ------------------------------------ +# ------------------------------------ + Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), +# ------------------------------------ + fr = 'Fichier de description des siphons presents dans le modele', + ang = 'Description of culvert existing in the model',), + ), # fin bloc culvert_exists + +# ------------------------------------ + 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\n\ +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 \n\ +and their features are given in the tubes data file (see written documentation)',), +# ------------------------------------ + b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0", +# ------------------------------------ +# ------------------------------------ + Tubes_Data_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Fichier de description des buses/ponts presents dans le modele', + ang = 'Description of tubes/bridges existing in the model',), + ), # in bloc b_Tubes + +# ------------------------------------ + Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0, +# ------------------------------------ + fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\ +Ces seuils doivent etre decrits comme des frontieres du domaine de calcul', + ang = 'Number of weirs that will be treated by boundary conditions.', + ), +# ------------------------------------ + b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0", +# ------------------------------------ +# ------------------------------------ + Weirs_Data_File = SIMP( statut = 'o', +# ------------------------------------ + typ = ('Fichier', 'All Files (*)',), + fr = 'Fichier de description des seuils presents dans le modele', + ang = 'Description of weirs existing in the model',), + +# ------------------------------------ + Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", + "General (New solution with sources points)"], + defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", + fr = 'Méthode de traitement des seuils ', + ang = 'Method for treatment of weirs',), + ),# fin b_Weirs + +# ------------------------------------ + Breach = SIMP(statut = 'o',typ = bool,defaut = False, +# ------------------------------------ + fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.', + ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',), + +# ------------------------------------ + b_Breaches = BLOC (condition = 'Breach == True', +# ------------------------------------ +# ------------------------------------ + Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), +# ------------------------------------ + fr = 'Fichier de description des breches', + ang = 'Description of breaches',), + ), # fin b_Breaches + + +) # Fin CONSTRUCTION_WORKS_MODELLING + + +# ----------------------------------------------------------------------- +GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None, +# ----------------------------------------------------------------------- + UIinfo = { "groupes" : ( "CACHE", )}, +# ------------------------------------ + Location = FACT(statut = 'o', +# ------------------------------------ +# ------------------------------------ + Origin_Coordinates = SIMP( statut='o', +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('I','I')),defaut = (0,0), + fr = 'Valeur en metres, utilise pour eviter les trop grands nombres, transmis dans le format Selafin mais pas d autre traitement pour l instant', + ang= 'Value in metres, used to avoid large real numbers, added in Selafin format, but so far no other treatment',), + + +# ------------------------------------ + Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False, +# ------------------------------------ + fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).', + ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'), + +# ------------------------------------ + b_Spher = BLOC(condition = 'Spherical_Coordinates == True', +# ------------------------------------ +# ------------------------------------ + Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48., +# ------------------------------------ + fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.', + ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\ +is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'), + +# ------------------------------------ + Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Mercator","Latitude longitude"]), + ), # fin b_Spher + +# ------------------------------------ + b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False', +# ------------------------------------ +# ------------------------------------ + Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', +# ------------------------------------ + into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"], + defaut = "Cartesian, not georeferenced",), + ), # fin b_Spher_faux + + ), # Fin de Location +# ------------------------------------ + Time = FACT(statut = 'o', +# ------------------------------------ + regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'), + EXCLUS('Number_Of_Time_Steps','Duration'), + ), + +# ----------------------------------------------------------------------- + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ----------------------------------------------------------------------- + defaut = "Choose between Keywords 'Number_Of_Time_Steps' or 'Duration'"), + +# ------------------------------------ + Time_Step = SIMP(statut = 'o', +# ------------------------------------ + typ = 'R', defaut = 1, + fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', + ang = 'Specifies the number of time steps performed when running the code.'), + +# ------------------------------------ + Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I', +# ------------------------------------ + fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', + ang = 'Specifies the number of time steps performed when running the code.'), + +# ------------------------------------ + Duration = SIMP(statut = 'f',typ = 'R', +# ------------------------------------ + fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\ +On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\ +Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur', + ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\ +The nearest integer to (duration/time step) is taken. If NUMBER OF TIME STEPS is also given, the greater value is taken',), + +# PNPN +# Attention, on laisse la règle mais il est possible d avoir les 2 en entrées --> attention au convert +# ------------------------------------ + 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'), + +# ------------------------------------ + b_var_time = BLOC(condition = "Variable_Time_Step == True" , +# ------------------------------------ +# ------------------------------------ + Desired_Courant_Number = SIMP(statut = 'o',typ = 'R', +# ------------------------------------ + fr = 'Nombre de Courant souhaite ', + ang = 'Desired Courant number',), + ), + +# ------------------------------------ + Original_Date_Of_Time = FACT( statut = 'o', +# ------------------------------------ + fr = "Permet de fixer la date d'origine 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.', + Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900), + Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12, defaut = 1), + Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),), + +# ------------------------------------ + Original_Hour_Of_Time = FACT( statut = 'o', +# ------------------------------------ + fr = "Permet de fixer l'heure d'origine 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 the tide generating force.', + Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0), + Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), + Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), + ), + +# ------------------------------------ + Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o', +# ------------------------------------ + typ = bool,defaut = False), + +# ------------------------------------ + b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" , +# ------------------------------------ +# ------------------------------------ + Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')), +# ------------------------------------ + fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\ + 1- U et V 2- H 3- T ", + ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\ + 1- U and V 2- H 3- T ',), + ), # fin b_stop + +# ------------------------------------ + Control_Of_Limits = SIMP(statut = 'o', +# ------------------------------------ + typ = bool, defaut = False, + fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees', + ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',), + +# ------------------------------------ + b_limit = BLOC(condition = "Control_Of_Limit == True" , + Limit_Values = FACT(statut = 'o', +# Attention : 1 seul MC ds Telemac +# ------------------------------------ + fr = 'valeurs mini et maxi acceptables min puis max', + ang = 'min and max acceptable values ', + +# ------------------------------------ + Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2), +# ------------------------------------ + validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)), +# ------------------------------------ + Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2), +# ------------------------------------ + validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), +# ------------------------------------ + Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2), +# ------------------------------------ + validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), +# ------------------------------------ + Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2), +# ------------------------------------ + validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), + ),), # fin Fact et b_limit + ), # Fin de Time + +# Attention il faut recalculer en sortie : il faut 0 ou 1 et non un boolean +# ------------------------------------ + Debugger = SIMP(typ = bool , statut = 'o', +# ------------------------------------ + defaut = False, + fr= 'Pour imprimer la sequence des appels, mettre 1', + ang = 'If 1, calls of subroutines will be printed in the listing',), + +) # Fin GENERAL_PARAMETERS + + +# ----------------------------------------------------------------------- +TURBULENCE = PROC(nom = "TURBULENCE",op = None, +# ----------------------------------------------------------------------- + +# ----------------------------------------------------------------------- + Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity", +# ----------------------------------------------------------------------- + into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"), + fr = 'Pour Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\ +Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence', + ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\ +When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',), + +# ------------------------------------ + b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"', +# ------------------------------------ +# ------------------------------------ + Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R', +# ------------------------------------ + defaut = 1.E-6, + fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\ +Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.', + ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\ +this value may have a significant effect both on the shapes and sizes of recirculation zones.',), + ), # fin b_turbu_const + +# ------------------------------------ + b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"', +# ------------------------------------ +# ------------------------------------ + Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o', +# ------------------------------------ + typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6), + fr = 'coefficients longitudinal et transversal dans la formule de Elder.', + ang = 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2',), + ), # fin bloc b_turbu_elder + +# ----------------------------------------------------------------------- + Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 , +# ----------------------------------------------------------------------- + fr = 'Fixe la precision demandee sur k pour le test d arret 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.',), + +# ----------------------------------------------------------------------- + Time_Step_Reduction_For_K_Epsilon_Model = SIMP( statut = 'f',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).\n\ +Utilisation deconseillee', + ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\ +Not recommended for use.',), + +# ----------------------------------------------------------------------- + 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.',), + +# ----------------------------------------------------------------------- + Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM', +# ----------------------------------------------------------------------- + defaut = 'Rough' , + into = ('Smooth', 'Rough'), + fr = 'Permet de choisir le regime de turbulence aux parois ', + ang = 'Provided for selecting the type of friction on the walls',), + +# ----------------------------------------------------------------------- + Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', +# ----------------------------------------------------------------------- + defaut = "Conjugate gradient" , + into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation", + "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)", + "GMRES", "Direct"), + fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon', + ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',), + +# ----------------------------------------------------------------------- + b_gmres = BLOC(condition = 'Solver_For_K_Epsilon_Model == "GMRES"', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Option_For_The_Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'I', +# ----------------------------------------------------------------------- + defaut = 2 ,val_min = 2,val_max = 15, + fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)', + ang = 'dimension of the krylov space try values between 2 and 7',), + ), # fin bloc b_gmres + +# ----------------------------------------------------------------------- + Preconditioning_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', +# ----------------------------------------------------------------------- + defaut = 'Diagonal' , + into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"), + fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon', + ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.', + ), +# ----------------------------------------------------------------------- + Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True, +# ----------------------------------------------------------------------- + fr = 'Donne le nombre d iterations du solveur de l etape 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.', + ), +)# fin TURBULENCE + + + + +# ----------------------------------------------------------------------- +PARTICLE_TRANSPORT = PROC(nom = "PARTICLE_TRANSPORT",op = None, +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0, +# ----------------------------------------------------------------------- + fr = 'Permet d''effectuer un suivi de flotteurs', + ang = 'Number of drogues in the computation.',), + +# ----------------------------------------------------------------------- + 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',), + +# ----------------------------------------------------------------------- + algae_exists = BLOC(condition = "Algae_Transport_Model == True", +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Algae_Type = SIMP( statut = 'o',typ = 'TXM', +# ----------------------------------------------------------------------- + into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"], + defaut = "Sphere", + fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)', + ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',), + +# ----------------------------------------------------------------------- + Diameter_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',), + ), # fin algae + + +# ----------------------------------------------------------------------- + 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',), + +# ----------------------------------------------------------------------- + oil_exists = BLOC(condition = "Oil_Spill_Model == True", +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), +# ----------------------------------------------------------------------- + fr = 'Contient les donnees pour le modele de derive de nappes', + ang = 'Contains data for the oil spill model',), + ), # fin oil_exists + +# ----------------------------------------------------------------------- + drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True", +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), +# ----------------------------------------------------------------------- + fr = 'Fichier de resultat avec les positions des flotteurs', + ang = 'Results file with positions of drogues',), + +# ----------------------------------------------------------------------- + Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1, +# ----------------------------------------------------------------------- + fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\ +N affecte pas la qualite du calcul de la trajectoire', + ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',), + ),#fin drogues ou algae + + +# ----------------------------------------------------------------------- + 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_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 , +# ----------------------------------------------------------------------- + fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents', + ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',), + +# ----------------------------------------------------------------------- + b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0", +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ----------------------------------------------------------------------- + defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"), + ), # fin b_cons + +)# fin PARTICULE +# ----------------------------------------------------------------------- +TRACERS = PROC(nom = "TRACERS",op = None, +# ----------------------------------------------------------------------- + +# ----------------------------------------------------------------------- + Tracers_Setting = FACT(statut = 'o', +# ----------------------------------------------------------------------- + +# ----------------------------------------------------------------------- + Number_Of_Tracers = SIMP( statut='o',typ='I', +# ----------------------------------------------------------------------- + defaut=0 , + fr = 'Definit le nombre de traceurs.', + ang= 'Defines the number of tracers',), +#PNPNPN Recalculer Names_Of_Tracers et Initial_Values_Of_Tracers comme des listes +# pour Names_Of_Tracers = Names_Of_Tracers+Names_Of_Unit +# il faut faire un validateur (la chaine doit faire 16 caracteres evtuellement complete par des blancs) + +# ------------------------------------ + Tracer = FACT(statut = 'o', max="**", +# ------------------------------------ +# ----------------------------------------------------------------------- + Name_Of_Tracer = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + fr = 'Noms des traceurs en 16 caracteres', + ang= 'Name of tracers in 32 characters',), + +# ----------------------------------------------------------------------- + Name_Of_Unit = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + fr = 'Noms de l unité en 16 caracteres', + ang= 'Name of unit in 16 characters',), + + b_Computation_Continued = BLOC(condition = 'Computation_Continued == True', +#PNPNPN Attention: global_jdc ne fonctionne pas bien : pas de propagation si chgt de valeur de Computation_Continued +# ----------------------------------------------------------------------- + Initial_Values_Of_Tracers = SIMP( statut='o', +# ----------------------------------------------------------------------- + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + defaut=(0.0, 0.0) , + fr = 'Fixe la valeur initiale du traceur.', + ang= 'Sets the initial value of the tracer.',), + + ), # fin b_Computation_Continued +# ------------------------------------ + Boundary_Conditions = FACT( statut = 'f', +# ------------------------------------ +# ----------------------------------------------------------------------- + Prescribed_Tracers_Values = SIMP( statut='o', +# ----------------------------------------------------------------------- + typ = Tuple(2),validators = VerifTypeTuple(('R','R')), + fr = 'Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la partie du manuel consacree aux conditions aux limites', + ang= 'Tracer values prescribed at the inflow boundaries. Read the manual section dealing with the boundary conditions',), + ), # fin Boundary_Conditions + ), # fin tracer + +# ----------------------------------------------------------------------- + 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',), + +# ----------------------------------------------------------------------- + b_Density_Effects = BLOC(condition = 'Density_Effects == True', +# ----------------------------------------------------------------------- +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut='the first Tracer must be the salinity expressed in kg/m3'), + +# ----------------------------------------------------------------------- + Mean_Temperature = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + defaut=20.0 , + fr = 'temperature de reference pour le calcul des effets de densite ', + ang= 'reference temperature for density effects',), + + ), # fin b_Density_Effects + + ), # fin b_Tracers_Settings +# ----------------------------------------------------------------------- + Solving = FACT( statut='o', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + defaut='1="conjugate gradient"' , + into =('1="conjugate gradient"', '2="conjugate residual"', '3="conjugate gradient on a normal equation"', + '4="minimum error"', '5="squared conjugate gradient"', '6="cgstab"', '7="gmres "', '8="direct"'),), + +# ----------------------------------------------------------------------- + Solver_Option_For_Tracers_Diffusion = 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',), + +# ----------------------------------------------------------------------- + Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + defaut='2="diagonal"' , + 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 traceur. Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT.', + ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING', + ), + ), # fin_Solving + +# ----------------------------------------------------------------------- + Accuracy = FACT( statut='o', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Accuracy_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', defaut=1e-06 , +# ----------------------------------------------------------------------- + fr = 'Fixe la precision demandee pour le calcul de la diffusion du traceur.', + ang= 'Sets the required accuracy for computing the tracer diffusion.',), + +# ----------------------------------------------------------------------- + Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', defaut=60 , +# ----------------------------------------------------------------------- + fr = 'Limite le nombre diterations du solveur a chaque pas de temps pour le calcul de la diffusion du traceur.', + ang= 'Limits the number of solver iterations at each time step for the diffusion of tracer.',), + + ), # fin Accuracy +# ----------------------------------------------------------------------- + Sources = FACT( statut='o', +# ----------------------------------------------------------------------- +# ------------------------------------ + Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", +# ------------------------------------ + defaut = "La longueur de la liste doit etre nb de source * nb de tracers"), +# ----------------------------------------------------------------------- + Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', max='**' , +# ----------------------------------------------------------------------- + fr = 'Valeurs des traceurs a chacune des sources', + ang= 'Values of the tracers at the sources',), + ), # fin Sources +# ----------------------------------------------------------------------- + Metereology = FACT( statut='o', +# ----------------------------------------------------------------------- +# en fait, c'est une liste de Tuple de 2. Il faudrait caluler la taille en fonction du Nombre de sources +# ----------------------------------------------------------------------- + Values_Of_Tracers_In_The_Rain = SIMP( +# ----------------------------------------------------------------------- + statut='o',typ='R',defaut=0, max=2 , fr = '', ang= '',), + ), # fin Metereology + +# ----------------------------------------------------------------------- + Numerical = FACT( statut='o', +# ----------------------------------------------------------------------- + +# ----------------------------------------------------------------------- + Implicitation_Coefficient_Of_Tracers = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + defaut=0.6 , + fr = 'Fixe la valeur du coefficient dimplicitation du traceur', + ang= 'Sets the value of the implicitation coefficient for the tracer',), + +# ----------------------------------------------------------------------- + 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.',), + +# ------------------------------------ + b_Diffusion_Of_Tracers = BLOC(condition = 'Diffusion_Of_Tracers == True', +# ------------------------------------ +# ------------------------------------ + Coefficient_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', +# ------------------------------------ + defaut=1e-06 , + fr = 'Fixe la valeur du coefficient de diffusion du traceur. Linfluence de ce parametre sur levolution du traceur dans le temps est importante.', + ang= 'Sets the value of the tracer diffusivity.',), + +# ------------------------------------ + Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', +# ------------------------------------ + defaut='Diffusion in the form div( nu grad(T))' , + into=[ 'Diffusion in the form div( nu grad(T))', 'Diffusion in the form 1/h div ( h nu grad(T))',],), + ), # fin b_Diffusion_Of_Tracers + +# ------------------------------------ + Scheme_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', +# ------------------------------------ + defaut="CHARACTERISTICS" , + into =("NO ADVECTION", "CHARACTERISTICS", "EXPLICIT + SUPG", "EXPLICIT LEO POSTMA", "EXPLICIT + MURD SCHEME N", + "EXPLICIT + MURD SCHEME PSI", "LEO POSTMA FOR TIDAL FLATS", "N-SCHEME FOR TIDAL FLATS"), + fr = 'Choix du schema de convection pour les traceurs, remplace FORME DE LA CONVECTION', + ang= 'Choice of the advection scheme for the tracers, replaces TYPE OF ADVECTION',), + +# ------------------------------------ + Scheme_Option_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', +# ------------------------------------ + defaut='explicit' , + into=['explicit','predictor-corrector for tracers'], + fr = 'Si present remplace et a priorite sur : OPTION POUR LES CARACTERISTIQUES OPTION DE SUPG Si schema PSI : 1=explicite 2=predicteur-correcteur pour les traceurs', + ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for tracers',), + +# ------------------------------------ + Mass_Lumping_On_Tracers = SIMP ( statut='o',typ='R', +# ------------------------------------ + defaut=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.',), + + ), # fin Numerical +# ----------------------------------------------------------------------- + Degradation = FACT( statut='o', +# ----------------------------------------------------------------------- + +# PN Attention, il faut recalculer Law_Of_Tracers_Degradation +# et les coefficients. +# Question : pourquoi 2 et pas selon le nb de tracer +# Est ce que ce $ va sous tracer ? +# ----------------------------------------------------------------------- + Law1_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + into=["NO DEGRADATION","F(T90) LAW"], + defaut="NO DEGRADATION", + fr = 'Prise en compte dune loi de decroissance des traceurs', + ang= 'Take in account a law for tracers decrease',), + +# ----------------------------------------------------------------------- + b_Law1 = BLOC(condition = 'Law1_Of_Tracers_Degradation == "F(T90) LAW"', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + fr = 'Coefficient 1 de la loi de decroissance des traceurs', + ang= 'Coefficient 1 of law for tracers decrease',), + ),# fin b_Law1 + +# ----------------------------------------------------------------------- + Law2_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', +# ----------------------------------------------------------------------- + into=["NO DEGRADATION","F(T90) LAW"], + defaut="NO DEGRADATION", + fr = 'Prise en compte dune loi de decroissance des traceurs', + ang= 'Take in account a law for tracers decrease',), + +# ----------------------------------------------------------------------- + b_Law2 = BLOC(condition = 'Law2_Of_Tracers_Degradation == "F(T90) LAW"', +# ----------------------------------------------------------------------- +# ----------------------------------------------------------------------- + Coefficient_2_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', +# ----------------------------------------------------------------------- + fr = 'Coefficient 2 de la loi de decroissance des traceurs', + ang= 'Coefficient 2 of law for tracers decrease',), + ),# fin b_Law2 + ), # fin Degradation + +)# fin TRACERS + + +Ordre_Des_Commandes = ( 'INITIALIZATION', 'BOUNDARY_CONDITIONS','GENERAL_PARAMETERS', 'PHYSICAL_PARAMETERS', 'NUMERICAL_PARAMETERS', +'TURBULENCE', 'TRACERS', 'PARTICLE_TRANSPORT', 'CONSTRUCTION_WORKS_MODELLING', 'TIDE_PARAMETERS', 'OUTPUT_FILES') diff --git a/OldCodes/ts/a.py b/OldCodes/ts/a.py new file mode 100644 index 00000000..3e93a25c --- /dev/null +++ b/OldCodes/ts/a.py @@ -0,0 +1,8 @@ +liste=l.split() +if len(liste) > 1 : + txt="" + for e in liste: + txt+='_'+e + txt=txt[1:] +else : + txt=l diff --git a/OldCodes/ts/dicoparser.py b/OldCodes/ts/dicoparser.py new file mode 100644 index 00000000..751673ed --- /dev/null +++ b/OldCodes/ts/dicoparser.py @@ -0,0 +1,160 @@ + +import shlex + +DICO_EXT = '.dico' + +class DicoParser: + def __init__( self, theFileName, theStartAttr, theIndexAttr ): + if theFileName=='': + return + if not theFileName.endswith( DICO_EXT ): + theFileName += DICO_EXT + aFile = open( theFileName ) + self.data = self.parse( aFile.read(), theStartAttr, theIndexAttr ) + aFile.close() + + def parse( self, theText, theStartAttr, theIndexAttr ): + aTokenList = self.parse_tokens( theText ) + self.expand_values( aTokenList ) + aList = self.convert_to_tuples( aTokenList ) + return self.convert_to_blocks( aList, theStartAttr, theIndexAttr ) + + def parse_tokens( self, theText ): + theText = theText.replace( "''", "`" ) + aLexer = shlex.shlex( theText ) + aLexer.commenters = '/' + aLexer.quotes = '\'"' + aLexer.wordchars = aLexer.wordchars + '-.' + aTokenList = [] + for aToken in aLexer: + #print aToken + if aToken[0]=="'" and aToken[-1]=="'": + aToken = aToken[1:-1] + elif aToken[0]=='"' and aToken[-1]=='"': + aToken = aToken[1:-1] + if aToken=='`': + aToken = '' + aToken = aToken.replace( "`", "'" ) + aToken = aToken.replace( "\n", "" ) + aToken = self.simplify_spaces( aToken ) + #print aToken + aTokenList.append( aToken ) + return aTokenList + + def simplify_spaces( self, theToken ): + return ' '.join( theToken.split() ) + + def expand_values( self, theList ): + for i in xrange( 0, len( theList ) ): + if '=' in theList[i] and theList[i]!='=': + aTokenList = self.parse_tokens( theList[i] ) + aSubItemsList = self.convert_to_tuples( aTokenList ) + if( len( aSubItemsList ) == 0 ): + print theList[i] + theList[i] = aSubItemsList[0] # we assume that only one '=' in the subitem + + def convert_to_tuples( self, theList ): + aPairsList = [] + aKey = '' + i = 0 + n = len( theList ) + while i 0 and i0: + aData[aBlockKey] = aBlock + aBlockKey = '' + aBlock = {} + elif aKey==theIndexAttr: + #print "__index__" + aBlockKey = aValue + #print aBlockKey + aBlock[aKey] = aValue + #print aData + if len(aBlock)>0: + aData[aBlockKey] = aBlock + return aData + + def are_equal( self, theStrDico, theStrCata ): + return theStrDico == self.to_dico_str( theStrCata ) + + def to_dico_str( self, theStrCata ): + aCata = theStrCata.replace( '_', ' ' ) + aCata = aCata.upper() + return aCata + + def to_cata_str( self, theStrDico ): + aWordsList = theStrDico.split() + aCata = [] + for aWord in aWordsList: + aWord = aWord.lower() + aWord = aWord[0].upper() + aWord[1:] + aCata.append( aWord ) + return ' '.join( aCata ) + + def search_in_block( self, theBlock, theAttrTr ): + #print 'search_in_block:', theAttrTr + return theBlock[theAttrTr] + + def search( self, theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ): + anIndexText = self.to_dico_str( theIndexText ) + if not anIndexText in self.data: + return '' + + if theAttrCh=='': + return self.search_in_block( self.data[anIndexText], theAttrTr ) + + aDataCh = self.search_in_block( self.data[anIndexText], theAttrCh ) + aDataChTr = self.search_in_block( self.data[anIndexText], theAttrChTr ) + if isinstance( theChoiceText, basestring ): + aChoiceText = self.to_dico_str( theChoiceText ) + else: + aChoiceText = theChoiceText + #print 'Choice text:', aChoiceText + #print 'Choice data:', aDataCh + #print 'Choice tr data:', aDataChTr + if isinstance( aDataCh, basestring ) and aDataCh==aChoiceText: + return aDataChTr + + for i in xrange( 0, len(aDataCh) ): + if isinstance( aDataCh[i], tuple ): + aKey, aValue = aDataCh[i] + elif isinstance( aDataCh[i], basestring ): + aKey = '' + aValue = aDataCh[i] + #print aKey, aValue + if aValue==aChoiceText: + if isinstance( aDataChTr[i], tuple ): + aKeyTr, aValueTr = aDataChTr[i] + elif isinstance( aDataChTr[i], basestring ): + aKeyTr = '' + aValueTr = aDataChTr[i] + return aValueTr + return '' + + def translate( self, theIndexText, theAttrTr, theChoiceText='', theAttrCh='', theAttrChTr='' ): + aTrText = self.search( theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ) + #print aTrText + return self.to_cata_str( aTrText ) diff --git a/OldCodes/ts/main.ts b/OldCodes/ts/main.ts new file mode 100644 index 00000000..f192f4e8 --- /dev/null +++ b/OldCodes/ts/main.ts @@ -0,0 +1,1614 @@ + + + + + + + Values_Of_Tracers_In_The_Rain + + + Valeurs_Des_Traceurs_Dans_La_Pluie + + + + + Threshold_Depth_For_Receding_Procedure + + + Profondeur_Limite_Pour_Procedure_De_Ressuyage + + + + + Title + + + Titre + + + + + Spatial_Projection_Type + + + Type_De_Projection_Spatiale + + + + + Stochastic_Diffusion_Model + + + Modele_De_Diffusion_Stochastique + + + + + Drogues_File + + + Fichier_Des_Flotteurs + + + + + Origin_Coordinates + + + Coordonnees_De_L'origine + + + + + Velocities_Of_The_Sources_Along_X + + + Vitesses_Des_Sources_Selon_X + + + + + Velocities_Of_The_Sources_Along_Y + + + Vitesses_Des_Sources_Selon_Y + + + + + Finite_Volume_Scheme + + + Schema_En_Volumes_Finis + + + + + Density_Of_Algae + + + Masse_Volumique_Des_Algues + + + + + Geometry_File + + + Fichier_De_Geometrie + + + + + Turbulence_Model + + + Modele_De_Turbulence + + + + + Oil_Spill_Model + + + Modele_De_Nappes_D'hydrocarbures + + + + + Definition_Of_Zones + + + Definition_De_Zones + + + + + Rain_Or_Evaporation + + + Pluie_Ou_Evaporation + + + + + Water_Density + + + Masse_Volumique_De_L'eau + + + + + Sources_File + + + Fichier_Des_Sources + + + + + Friction_Coefficient + + + Coefficient_De_Frottement + + + + + Roughness_Coefficient_Of_Boundaries + + + Coefficient_De_Rugosite_Des_Bords + + + + + Option_For_Tidal_Boundary_Conditions + + + Option_Pour_Les_Conditions_Aux_Limites_De_Maree + + + + + Coefficient_To_Calibrate_Tidal_Velocities + + + Coefficient_De_Calage_Des_Vitesses_De_Courant + + + + + Initial_Time_Set_To_Zero + + + Remise_A_Zero_Du_Temps + + + + + Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers + + + Maximum_D'iterations_Pour_La_Diffusion_Des_Traceurs + + + + + Binary_Results_File + + + Fichier_De_Resultats_Binaire + + + + + Number_Of_Drogues + + + Nombre_De_Flotteurs + + + + + Air_Pressure + + + Pression_Atmospherique + + + + + Mean_Depth_For_Linearization + + + Profondeur_Moyenne_Pour_La_Linearisation + + + + + Control_Of_Limits + + + Controle_Des_Limites + + + + + Free_Surface_Gradient_Compatibility + + + Compatibilite_Du_Gradient_De_Surface_Libre + + + + + Prescribed_Tracers_Values + + + Valeurs_Imposees_Des_Traceurs + + + + + defaut + + + Saint-venant_Ef + + + + + Velocity_Diffusivity + + + Coefficient_De_Diffusion_Des_Vitesses + + + + + Time_Step + + + Pas_De_Temps + + + + + Validation + + + Validation + + + + + Wind + + + Vent + + + + + Density_Effects + + + Effets_De_Densite + + + + + Implicitation_Coefficient_Of_Tracers + + + Coefficient_D'implicitation_Des_Traceurs + + + + + Formatted_Results_File + + + Fichier_De_Resultats_Formate + + + + + Debugger + + + Debugger + + + + + Equations + + + Equations + + + + + Original_Date_Of_Time + + + Date_De_L'origine_Des_Temps + + + + + Number_Of_Private_Arrays + + + Nombre_De_Tableaux_Prives + + + + + Prescribed_Elevations + + + Cotes_Imposees + + + + + Number_Of_Time_Steps + + + Nombre_De_Pas_De_Temps + + + + + Wind_Velocity_Along_X + + + Vitesse_Du_Vent_Suivant_X + + + + + Variables_To_Be_Printed + + + Variables_A_Imprimer + + + + + Preconditioning + + + Preconditionnement + + + + + Reference_File_Format + + + Format_Du_Fichier_De_Reference + + + + + Type_Of_Sources + + + Type_Des_Sources + + + + + Tidal_Flats + + + Bancs_Decouvrants + + + + + Ascii_Database_For_Tide + + + Base_Ascii_De_Donnees_De_Maree + + + + + Sections_Output_File + + + Fichier_De_Sortie_Des_Sections_De_Controle + + + + + Mean_Temperature + + + Temperature_Moyenne + + + + + Initial_Elevation + + + Cote_Initiale + + + + + Tubes_Data_File + + + Fichier_De_Donnees_Des_Buses + + + + + Boundary_Conditions_File + + + Fichier_Des_Conditions_Aux_Limites + + + + + Breach + + + Breche + + + + + Treatment_Of_The_Linear_System + + + Traitement_Du_Systeme_Lineaire + + + + + Coefficient_Of_Wind_Influence + + + Coefficient_D'influence_Du_Vent + + + + + List_Of_Points + + + Liste_De_Points + + + + + Listing_Printout_Period + + + Periode_Pour_Les_Sorties_Listing + + + + + Initial_Guess_For_H + + + Ordre_Du_Tir_Initial_Pour_H + + + + + Geometry_File_Format + + + Format_Du_Fichier_De_Geometrie + + + + + Coefficient_1_For_Law_Of_Tracers_Degradation + + + Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs + + + + + Number_Of_Lagrangian_Drifts + + + Nombre_De_Derives_Lagrangiennes + + + + + Weirs_Data_File + + + Fichier_De_Donnees_Des_Seuils + + + + + Rain_Or_Evaporation_In_Mm_Per_Day + + + Pluie_Ou_Evaporation_En_Mm_Par_Jour + + + + + Solver + + + Solveur + + + + + Maximum_Number_Of_Friction_Domains + + + Nombre_Maximum_De_Domaines_De_Frottement + + + + + Elements_Masked_By_User + + + Elements_Masques_Par_L'utilisateur + + + + + Control_Sections + + + Sections_De_Controle + + + + + Depth_In_Friction_Terms + + + Hauteur_Dans_Les_Termes_De_Frottement + + + + + Solver_Accuracy + + + Precision_Du_Solveur + + + + + Wave_Driven_Currents + + + Courants_De_Houle + + + + + Number_Of_Culverts + + + Nombre_De_Siphons + + + + + Liquid_Boundaries_File + + + Fichier_Des_Frontieres_Liquides + + + + + Maximum_Number_Of_Iterations_For_Identification + + + Maximum_D'iterations_Pour_L'identification + + + + + Coefficient_For_Diffusion_Of_Tracers + + + Coefficient_De_Diffusion_Des_Traceurs + + + + + Option_For_The_Diffusion_Of_Velocities + + + Option_Pour_La_Diffusion_Des_Vitesses + + + + + Coefficient_To_Calibrate_Tidal_Range + + + Coefficient_De_Calage_Du_Marnage + + + + + Binary_Data_File_1 + + + Fichier_De_Donnees_Binaire_1 + + + + + Binary_Data_File_2 + + + Fichier_De_Donnees_Binaire_2 + + + + + Minor_Constituents_Inference + + + Interpolation_De_Composantes_Mineures + + + + + Implicitation_For_Velocity + + + Implicitation_Pour_La_Vitesse + + + + + Continuity_Correction + + + Correction_De_Continuite + + + + + Original_Hour_Of_Time + + + Heure_De_L'origine_Des_Temps + + + + + Law_Of_Friction_On_Lateral_Boundaries + + + Loi_De_Frottement_Sur_Les_Parois_Laterales + + + + + Propagation + + + Propagation + + + + + Solver_For_Diffusion_Of_Tracers + + + Solveur_Pour_La_Diffusion_Des_Traceurs + + + + + Discretizations_In_Space + + + Discretisations_En_Espace + + + + + Solver_Option + + + Option_Du_Solveur + + + + + Advection_Of_H + + + Convection_De_H + + + + + Output_Of_Initial_Conditions + + + Sortie_Des_Conditions_Initiales + + + + + Record_Number_For_Restart + + + Enregistrement_Pour_Suite_De_Calcul + + + + + Accuracy_For_Diffusion_Of_Tracers + + + Precision_Pour_La_Diffusion_Des_Traceurs + + + + + Initial_Guess_For_U + + + Ordre_Du_Tir_Initial_Pour_U + + + + + Advection_Of_K_And_Epsilon + + + Convection_De_K_Et_Epsilon + + + + + Identification_Method + + + Methode_D'identification + + + + + Names_Of_Points + + + Noms_Des_Points + + + + + Zone_Number_In_Geographic_System + + + Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique + + + + + Matrix_Storage + + + Stockage_Des_Matrices + + + + + Algae_Type + + + Type_Des_Algues + + + + + Thickness_Of_Algae + + + Epaisseur_Des_Algues + + + + + Newmark_Time_Integration_Coefficient + + + Coefficient_D'integration_En_Temps_De_Newmark + + + + + Friction_Data_File + + + Fichier_De_Donnees_Pour_Le_Frottement + + + + + Implicitation_For_Diffusion_Of_Velocity + + + Implicitation_Pour_La_Diffusion_Des_Vitesses + + + + + Limit_Values + + + Valeurs_Limites + + + + + Advection + + + Convection + + + + + Binary_Database_1_For_Tide + + + Base_Binaire_1_De_Donnees_De_Maree + + + + + Results_File + + + Fichier_Des_Resultats + + + + + Algae_Transport_Model + + + Modele_De_Transport_Des_Algues + + + + + Treatment_Of_Negative_Depths + + + Traitement_Des_Hauteurs_Negatives + + + + + Option_For_The_Diffusion_Of_Tracers + + + Option_Pour_La_Diffusion_Des_Traceurs + + + + + Ordinates_Of_Sources + + + Ordonnees_Des_Sources + + + + + Coriolis_Coefficient + + + Coefficient_De_Coriolis + + + + + Water_Discharge_Of_Sources + + + Debits_Des_Sources + + + + + Advection_Of_U_And_V + + + Convection_De_U_Et_V + + + + + Variables_For_Graphic_Printouts + + + Variables_Pour_Les_Sorties_Graphiques + + + + + Geographic_System + + + Systeme_Geographique + + + + + Coriolis + + + Coriolis + + + + + Desired_Courant_Number + + + Nombre_De_Courant_Souhaite + + + + + Latitude_Of_Origin_Point + + + Latitude_Du_Point_Origine + + + + + Time_Range_For_Fourier_Analysis + + + Bornes_En_Temps_Pour_L'analyse_De_Fourier + + + + + Graphic_Printout_Period + + + Periode_Pour_Les_Sorties_Graphiques + + + + + Tide_Generating_Force + + + Force_Generatrice_De_La_Maree + + + + + Preconditioning_For_Diffusion_Of_Tracers + + + Preconditionnement_Pour_La_Diffusion_Des_Traceurs + + + + + Number_Of_Tubes + + + Nombre_De_Buses + + + + + Vertical_Structures + + + Structures_Verticales + + + + + Stop_If_A_Steady_State_Is_Reached + + + Arret_Si_Un_Etat_Permanent_Est_Atteint + + + + + Number_Of_Weirs + + + Nombre_De_Seuils + + + + + Listing_Printout + + + Sortie_Listing + + + + + Previous_Computation_File + + + Fichier_Du_Calcul_Precedent + + + + + Fortran_File + + + Fichier_Fortran + + + + + Sections_Input_File + + + Fichier_Des_Sections_De_Controle + + + + + Binary_Database_2_For_Tide + + + Base_Binaire_2_De_Donnees_De_Maree + + + + + Results_File_Format + + + Format_Du_Fichier_Des_Resultats + + + + + Accuracy_Of_K + + + Precision_Sur_K + + + + + Tidal_Model_File + + + Fichier_Du_Modele_De_Maree + + + + + Fourier_Analysis_Periods + + + Periodes_D'analyse_De_Fourier + + + + + H_Clipping + + + Clipping_De_H + + + + + Tolerances_For_Identification + + + Precisions_Pour_L'identification + + + + + Previous_Computation_File_Format + + + Format_Du_Fichier_Du_Calcul_Precedent + + + + + Prescribed_Flowrates + + + Debits_Imposes + + + + + Bottom_Topography_File + + + Fichier_Des_Fonds + + + + + Implicitation_For_Depth + + + Implicitation_Pour_La_Hauteur + + + + + Cost_Function + + + Fonction_Cout + + + + + Diffusion_Of_Tracers + + + Diffusion_Des_Traceurs + + + + + Formatted_Data_File_1 + + + Fichier_De_Donnees_Formate_1 + + + + + Formatted_Data_File_2 + + + Fichier_De_Donnees_Formate_2 + + + + + Computation_Continued + + + Suite_De_Calcul + + + + + Breaches_Data_File + + + Fichier_De_Donnees_Des_Breches + + + + + Diffusion_Of_Velocity + + + Diffusion_Des_Vitesses + + + + + Type_Of_Advection + + + Forme_De_La_Convection + + + + + Solver_Option_For_Tracers_Diffusion + + + Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs + + + + + Advection_Of_Tracers + + + Convection_Des_Traceurs + + + + + Printout_Period_For_Drogues + + + Periode_Pour_Les_Sorties_De_Flotteurs + + + + + Option_For_The_Treatment_Of_Tidal_Flats + + + Option_De_Traitement_Des_Bancs_Decouvrants + + + + + Physical_Characteristics_Of_The_Tsunami + + + Parametres_Physiques_Du_Tsunami + + + + + Maximum_Number_Of_Iterations_For_K_And_Epsilon + + + Maximum_D'iterations_Pour_K_Et_Epsilon + + + + + Tidal_Data_Base + + + Base_De_Donnees_De_Maree + + + + + Maximum_Number_Of_Iterations_For_Solver + + + Maximum_D'iterations_Pour_Le_Solveur + + + + + Number_Of_Tracers + + + Nombre_De_Traceurs + + + + + Threshold_Depth_For_Wind + + + Profondeur_Limite_Pour_Le_Vent + + + + + Gravity_Acceleration + + + Acceleration_De_La_Pesanteur + + + + + Option_For_Characteristics + + + Option_Pour_Les_Caracteristiques + + + + + Spacing_Of_Roughness_Elements + + + Espacement_Des_Elements_De_Frottement + + + + + Parallel_Processors + + + Processeurs_Paralleles + + + + + Harmonic_Constants_File + + + Fichier_Des_Constantes_Harmoniques + + + + + Spherical_Coordinates + + + Coordonnees_Spheriques + + + + + Parameter_Estimation + + + Estimation_De_Parametre + + + + + Linearized_Propagation + + + Propagation_Linearisee + + + + + Accuracy_Of_Epsilon + + + Precision_Sur_Epsilon + + + + + Diameter_Of_Roughness_Elements + + + Diametre_Des_Elements_De_Frottement + + + + + Number_Of_First_Time_Step_For_Graphic_Printouts + + + Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques + + + + + Threshold_For_Negative_Depths + + + Seuil_Pour_Les_Profondeurs_Negatives + + + + + Coefficient_To_Calibrate_Sea_Level + + + Coefficient_De_Calage_Du_Niveau_De_Mer + + + + + Wind_Velocity_Along_Y + + + Vitesse_Du_Vent_Suivant_Y + + + + + Information_About_Solver + + + Informations_Sur_Le_Solveur + + + + + Initial_Conditions + + + Conditions_Initiales + + + + + Culvert_Data_File + + + Fichier_De_Donnees_Des_Siphons + + + + + Maximum_Number_Of_Iterations_For_Advection_Schemes + + + Maximum_D'iterations_Pour_Les_Schemas_De_Convection + + + + + Longitude_Of_Origin_Point + + + Longitude_Du_Point_Origine + + + + + Law_Of_Bottom_Friction + + + Loi_De_Frottement_Sur_Le_Fond + + + + + Option_For_Tsunami_Generation + + + Option_Pour_La_Generation_De_Tsunami + + + + + Type_Of_Weirs + + + Type_Des_Seuils + + + + + Record_Number_In_Wave_File + + + Numero_De_L'enregistrement_Dans_Le_Fichier_De_Houle + + + + + Abscissae_Of_Sources + + + Abscisses_Des_Sources + + + + + Values_Of_The_Tracers_At_The_Sources + + + Valeurs_Des_Traceurs_Des_Sources + + + + + Treatment_Of_Fluxes_At_The_Boundaries + + + Traitement_Des_Flux_Aux_Frontieres + + + + + Printing_Cumulated_Flowrates + + + Impression_Du_Cumul_Des_Flux + + + + + Bottom_Smoothings + + + Lissages_Du_Fond + + + + + Initial_Depth + + + Hauteur_Initiale + + + + + Minimum_Value_Of_Depth + + + Valeur_Minimum_De_H + + + + + Reference_File + + + Fichier_De_Reference + + + + + Turbulence_Model_For_Solid_Boundaries + + + Regime_De_Turbulence_Pour_Les_Parois + + + + + Duration + + + Duree_Du_Calcul + + + + + Stop_Criteria + + + Criteres_D'arret + + + + + Prescribed_Velocities + + + Vitesses_Imposees + + + + + Initial_Values_Of_Tracers + + + Valeurs_Initiales_Des_Traceurs + + + + + Compatible_Computation_Of_Fluxes + + + Calcul_Compatible_Des_Flux + + + + diff --git a/OldCodes/ts/prefs.py b/OldCodes/ts/prefs.py new file mode 100644 index 00000000..87710926 --- /dev/null +++ b/OldCodes/ts/prefs.py @@ -0,0 +1,24 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="TELEMAC" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) +if os.path.join(os.path.dirname(os.path.abspath(__file__)),'..') not in sys.path: + sys.path.insert(0,os.path.join(os.path.dirname(os.path.abspath(__file__)),'..')) diff --git a/OldCodes/ts/telemac2dv6p3.dico b/OldCodes/ts/telemac2dv6p3.dico new file mode 100644 index 00000000..578f26b7 --- /dev/null +++ b/OldCodes/ts/telemac2dv6p3.dico @@ -0,0 +1,5687 @@ +&DYN +/ +/!RUBRIQUE 'ENTREES-SORTIES, FICHIERS' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'ENTREES-SORTIES, GENERALITES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'PARAMETRES NUMERIQUES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'PARAMETRES NUMERIQUES, SOLVEUR' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'EQUATIONS' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'EQUATIONS, CONDITIONS LIMITES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'EQUATIONS, CONDITIONS INITIALES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'EQUATIONS, SOURCES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/!RUBRIQUE 'CONSTANTES PHYSIQUES' +/!BACKGROUND 'LightGray' +/!FOREGROUND 'Brown' +/---SYSTEME-TELEMAC-V6P3------------------------------TELEMAC-2D------------- +/ +/Signification des differents mode d'acquisition/restitution +/des fichiers vis a vis du parallelisme : +/ +/ - "SCAL" : +/ Meme fichier pour tous les processeurs lu par tous. +/ Seule la version du maitre est consideree apres calcul. +/ +/ - "SELAFIN" : +/ Le fichier est "decompose/regroupe en sous-domaines" avec les outils +/ "partel/gretel" (dans le mode par defaut "parallelisme automatique") +/ Chaque processeur dispose d'un fichier prive. +/ - "SELAFIN-GEOM" : +/ idem SELAFIN mais pour le fichier de geometrie ='FICHIER DE GEOMETRIE' +/ (usage par le regroupeur GRETEL en parallelisme) +/ +/ - "PARAL" : +/ Le fichier est duplique avant calcul ("LIT") pour chaque processeur +/ (avec une extension numerique), sauf s'il pre-existe avec cette +/ extension numerique : il est alors utilise (copie). +/ En mode "non automatique" : les fichiers lus doivent pre-exister avec +/ leur extension numerique. +/ S'il s'agit d'un fichier resultat ("ECR"), le fichier est restitue +/ avec son extension numerique (fichier specifique a chaque processeur). +/ +/ - "CONLIM" : +/ Cette valeur designe le fichier des "conditions aux limites" +/ (utilise par le decoupeur "partel"). +/ +/ - "SECTION" : +/ Sections input file, to be treated in parallel by partel in +/ a similar way as CONLIM !jaj #### +/ +/---SYSTEME-TELEMAC-V6P3------------------------DeltaCAD-/-Septembre-2003---- + +NOM = 'FICHIER DE GEOMETRIE' +NOM1 = 'GEOMETRY FILE' +TYPE = CARACTERE +INDEX = 6 +MNEMO = 'T2D_FILES(T2DGEO)%NAME' +TAILLE = 0 +SUBMIT = 'T2DGEO-READ-01;T2DGEO;OBLIG;BIN;LIT;SELAFIN-GEOM' +/DEFAUT = ' ' +/DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +COMPORT = +'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") +IS VALEUR (red)' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +AIDE = 'Nom du fichier contenant le maillage du calcul a realiser.' +AIDE1 = 'Name of the file containing the mesh. This file may also +contain the topography and the friction coefficients.' + +NOM = 'CONTROLE DES LIMITES' +NOM1 = 'CONTROL OF LIMITS' +TYPE = LOGIQUE +INDEX = 23 +MNEMO = 'VERLIM' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' +COMPORT = 'Affichage ("VALEURS LIMITES") IS VALEUR ()' +NIVEAU = 2 +AIDE = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME +S''ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' +AIDE1 = 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF +THE LIMITS ON U,V,H, OR T ARE TRESPASSED' + +NOM = 'VALEURS LIMITES' +NOM1 = 'LIMIT VALUES' +TYPE = REEL +INDEX = 15 +MNEMO = '' +TAILLE = 8 +DEFAUT = -1000.;9000.;-1000.;1000.;-1000.;1000.;-1000.;1000. +DEFAUT1 = -1000.;9000.;-1000.;1000.;-1000.;1000.;-1000.;1000. +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' +COMPORT = +'Foreground ("ENTREES-SORTIES, GENERALITES*CONTROLE") +IS VALEUR (red)' +NIVEAU = 2 +AIDE = 'Utilise avec le mot-cle CONTROLE DES LIMITES + valeurs mini et maxi acceptables pour H,U,V et T dans l''ordre + suivant : min(H) max(H) min(U) max(U) + min(V) max(V) min(T) max(T)' +AIDE1 = 'To be used with the key-word CONTROL OF LIMITS + min and max acceptable values for H,U,V et T in the following + order : min(H) max(H) min(U) max(U) + min(V) max(V) min(T) max(T)' + +NOM = 'PERIODE POUR LES SORTIES GRAPHIQUES' +NOM1 = 'GRAPHIC PRINTOUT PERIOD' +TYPE = ENTIER +INDEX = 1 +MNEMO = 'LEOPRD' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +COMPORT = +'Foreground ("ENTREES-SORTIES, GRAPHIQUES ET LISTING") +IS VALEUR (red)' +NIVEAU = 1 +AIDE = 'Determine la periode en nombre de pas de temps d''impression +des ''VARIABLES POUR LES SORTIES GRAPHIQUES'' (voir ce mot-cle) +dans le FICHIER DES RESULTATS.' +AIDE1 = 'Determines, in number of time steps, the printout period for +the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' + +NOM = 'PERIODE DE SORTIE LISTING' +NOM1 = 'LISTING PRINTOUT PERIOD' +TYPE = ENTIER +INDEX = 2 +MNEMO = 'LISPRD' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'Determine la periode en nombre de pas de temps d''impression +des ''VARIABLES A IMPRIMER'' (voir ce mot-cle) Pour la mise au point, +il faut savoir que la sortie des resultats est effectuee +systematiquement sur le fichier de retour d''execution du code +(actuellement accessible par le menu 3.f de SPF sur IBM, et dans +le fichier !CAS.SORTIE sur station de travail)' +AIDE1 = 'Determines, in number of time steps, the printout period of +the VARIABLES TO BE PRINTED +The results are systematically printed out on the listing file +(file CAS.SORTIE at the workstation).' + +NOM = 'NOMBRE DE PAS DE TEMPS' +NOM1 = 'NUMBER OF TIME STEPS' +TYPE = ENTIER +INDEX = 3 +MNEMO = 'NIT' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES*DUREE DU CALCUL") +IS VALEUR (blue)' +NIVEAU = 1 +AIDE = 'Definit le nombre de pas de temps effectues lors de +l''execution du code.' +AIDE1 = 'Specifies the number of time steps performed when running +the code.' + +NOM = 'ENTIER LIBRE 1' +NOM1 = 'FREE INTEGER 1' +TYPE = ENTIER +INDEX = 4 +MNEMO = 'ICONV' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = -13 +AIDE = 'Non active pour l''instant' +AIDE1 = 'So far not implemented' + +NOM = 'FORME DE LA CONVECTION' +NOM1 = 'TYPE OF ADVECTION' +TYPE = ENTIER +INDEX = 5 +MNEMO = 'ICONVF' +TAILLE = 4 +DEFAUT = 1;5;1;1 +DEFAUT1 = 1;5;1;1 +CHOIX = +'1="CARACTERISTIQUES"'; +'2="SUPG"'; +'3="SCHEMA N CONSERVATIF"' ; +'4="SCHEMA N CONSERVATIF"' ; +'5="SCHEMA PSI CONSERVATIF"'; +'6="SCHEMA PSI NON CONSERVATIF"'; +'7="SCHEMA N IMPLICITE NON CONSERVATIF"'; +'13="SCHEMA N PAR SEGMENTS"'; +'14="SCHEMA N PAR SEGMENTS"' +CHOIX1 = +'1="CHARACTERISTICS"'; +'2="SUPG"'; +'3="CONSERVATIVE N-SCHEME"'; +'4="CONSERVATIVE N-SCHEME"'; +'5="CONSERVATIVE PSI-SCHEME"'; +'6="NON CONSERVATIVE PSI SCHEME"'; +'7="IMPLICIT NON CONSERVATIVE N SCHEME"'; +'13="EDGE-BASED N-SCHEME"'; +'14="EDGE-BASED N-SCHEME"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'FORME DE LA CONVECTION' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'TYPE OF ADVECTION' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES*FORME DE LA CONVECTION") +IS VALEUR (blue)' +NIVEAU = 1 +AIDE = 'Choix du schema de convection pour chaque variable +ces coefficients sont respectivement appliques a +1) U et V 2) H 3) T 4) K ET EPSILON +1 : caracteristiques sur h +2 : SUPG +3 : Schema N conservatif +4 : Schema N conservatif +5 : Schema PSI conservatif +6 : Schema PSI non conservatif +7 : schema N implicite non conservatif +13 : Schema N par segment +14 : Schema N par segment +Second integer must be 5' +AIDE1 = 'Choice of advection schemes for every variable +These coefficients are applied respectively to +1) U et V 2) H 3) T 4) K and EPSILON +1: characteristics +2: SUPG +3: Conservative N-scheme +4: Conservative N-scheme +5: Conservative PSI-scheme +6 : Non conservative PSI scheme +7 : Implicit non conservative N scheme +13 : Edge-based N-scheme +14 : Edge-based N-scheme +Second integer must be 5' + +NOM = 'PRECONDITIONNEMENT' +NOM1 = 'PRECONDITIONING' +TYPE = ENTIER +INDEX = 14 +MNEMO = 'IPRECO' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +CHOIX = '2="diagonal"'; '0="aucun"'; +'3="diagonal condensee"'; '7="crout"';'11="gauss-seidel"'; +'14="diagonal et crout"'; '21="diagonal condense et crout"' +CHOIX1 = '2="diagonal"'; '0="no preconditioning"'; +'3="diagonal condensee"'; '7="crout"';'11="gauss-seidel"'; +'14="diagonal and crout"'; '21="diagonal condensed and crout"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES*GENERAL") +IS VALEUR (blue)' +NIVEAU = 2 +AIDE = 'Permet de preconditionner le systeme de l''etape de propagation +afin d''accelerer la convergence lors de sa resolution. + - 0 : pas de preconditionnement; + - 2 : preconditionnement diagonal. + - 3 : preconditionnement diagonal-bloc + - 7 : preconditionnement de Crout par element ou segment + -11 : preconditionnement de Gauss-Seidel par element ou segment +Certains preconditionnements sont cumulables +(les diagonaux 2 ou 3 avec les autres) +Pour cette raison on ne retient que les nombres premiers pour +designer les preconditionnements. Si l''on souhaite en cumuler +plusieurs on formera le produit des options correspondantes.' +AIDE1 = 'Choice of the preconditioning in the propagation step linear +system that the convergence is speeded up when it is being solved. + 0: no preconditioning + 2: diagonal preconditioning + 3: diagonal preconditioning with the condensed matrix + 7: Crout''s preconditioning per element or segment +11: Gauss-Seidel''s preconditioning per element or segment +Some operations (either 2 or 3 diagonal preconditioning) can be +performed concurrently with the others. +Only prime numbers are therefore kept to denote the preconditioning +operations. When several of them are to be performed concurrently, +the product of relevant options shall be made.' + +NOM = 'MAXIMUM D''ITERATIONS POUR LE SOLVEUR' +NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER' +TYPE = ENTIER +INDEX = 10 +MNEMO = 'NITMAX' +TAILLE = 0 +DEFAUT = 100 +DEFAUT1 = 100 +RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES, SOLVEUR") +IS VALEUR (blue)' +NIVEAU = 2 +AIDE = 'Les algorithmes utilises pour la resolution de l''etape de +propagation etant iteratifs; il est necessaire de limiter le nombre +d''iterations autorisees. +Remarque : un maximum de 40 iterations par pas de temps semble +raisonnable.' +AIDE1 = '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.' + +NOM = 'ORDRE DU TIR INITIAL POUR H' +NOM1 = 'INITIAL GUESS FOR H' +TYPE = ENTIER +INDEX = 15 +MNEMO = 'IORDRH' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1=precedent'; +'0=zero'; +'2=extrapolation' +CHOIX1 = '1=previous'; +'0=zero'; +'2=extrapolation' +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR") +IS VALEUR (blue)' +NIVEAU = 2 +AIDE = 'Tir initial du solveur de l''etape de propagation. +Offre la possibilite de modifier la valeur i +nitiale de DH, +accroissement de H, a chaque iteration, +dans l''etape de propagation en utilisant les valeurs +finales de cette variable aux pas de temps precedents. Ceci peut +permettre d''accelerer 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).' +AIDE1 = '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)' + +NOM = 'MAXIMUM D''ITERATIONS POUR K ET EPSILON' +NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR K AND EPSILON' +TYPE = ENTIER +INDEX = 13 +MNEMO = 'NKEMAX' +TAILLE = 0 +DEFAUT = 50 +DEFAUT1 = 50 +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +COMPORT = +'Foreground ("PARAMETRES NUMERIQUES, MODELE K-EPSILON") +IS VALEUR (blue)' +NIVEAU = 2 +AIDE = 'Fixe le nombre maximum d''iterations accepte lors de la +resolution du systeme diffusion-termes sources du modele k-epsilon.' +AIDE1 = 'Sets the maximum number of iterations that are acceptable when +solving the diffusion source-terms step of the k-epsilon model.' + +NOM = 'LOI DE FROTTEMENT SUR LE FOND' +NOM1 = 'LAW OF BOTTOM FRICTION' +TYPE = ENTIER +INDEX = 8 +MNEMO = 'KFROT' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +CHOIX = '0="PAS DE FROTTEMENT"'; +'1="HAALAND"'; +'2="CHEZY"'; +'3="STRICKLER"'; +'4="MANNING"'; +'5="NIKURADSE"' +CHOIX1 = '0="NO FRICTION"'; +'1="HAALAND"'; +'2="CHEZY"'; +'3="STRICKLER"'; +'4="MANNING"'; +'5="NIKURADSE"' +RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' +RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' +COMPORT = +'Foreground ("EQUATIONS*FROTTEMENT ET LISSAGE") +IS VALEUR (brown)' +NIVEAU = 1 +AIDE = '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 ' +AIDE1 = '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: Haaland''s formula +2: CHEZY''s formula +3: STRICKLER''s formula +4: MANNING''s formula +5: NIKURADSE''s formula ' + +NOM = 'MAXIMUM D''ITERATIONS POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF TRACERS' +TYPE = ENTIER +INDEX = 9 +MNEMO = 'NITDIF' +TAILLE = 0 +DEFAUT = 60 +DEFAUT1 = 60 +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +COMPORT = +'Foreground ("EQUATIONS*TRACEUR*OPTIONS TRACEUR") IS VALEUR (brown)' +NIVEAU = 2 +AIDE = 'Limite le nombre d''iterations du solveur a chaque pas +de temps pour le calcul de la diffusion du traceur.' +AIDE1 = 'Limits the number of solver iterations at each time step for +the diffusion of tracer.' + +NOM = 'SOLVEUR POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'SOLVER FOR DIFFUSION OF TRACERS' +TYPE = ENTIER +INDEX = 11 +MNEMO = 'SLVTRA%SLV' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="gradient conjuge"'; +'2="residu conjuge"'; +'3="gradient conjuge sur equation normale"'; +'4="erreur minimale"'; +'5="gradient conjuge carre"'; +'6="cgstab"'; +'7="gmres (voir ausi option du solveur)"'; +'8="direct"' +CHOIX1 = '1="conjugate gradient"'; +'2="conjugate residual"'; +'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"' +RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' +NIVEAU = 2 +AIDE = '1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue +sur equation normale 4 : erreur minimale 5 : gradient conjugue carre' +AIDE1 = '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' + +NOM = 'OPTION DE PROPAGATION' +NOM1 = 'PROPAGATION OPTION' +TYPE = ENTIER +INDEX = 12 +MNEMO = 'OPTPRO' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +RUBRIQUE = 'EQUATIONS';'PROPAGATION' +RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' +COMPORT = +'Foreground ("EQUATIONS*PROPAGATION") IS VALEUR (brown)' +NIVEAU = -13 +AIDE = 'Non active pour l''instant.' +AIDE1 = 'Not yet implemented.' + +NOM = 'ENTIER LIBRE 17' +NOM1 = 'FREE INTEGER 17' +TYPE = ENTIER +INDEX = 17 +MNEMO = 'STDGEO' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +NIVEAU = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +AIDE = ' ' +AIDE1 = ' ' + +NOM = 'ENTIER LIBRE 18' +NOM1 = 'FREE INTEGER 18' +TYPE = ENTIER +INDEX = 18 +MNEMO = 'STDRES' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +NIVEAU = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +AIDE = ' ' +AIDE1 = ' ' + +NOM = 'SOLVEUR' +NOM1 = 'SOLVER' +TYPE = ENTIER +INDEX = 19 +MNEMO = 'ISOLVE' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +CHOIX = '3="equation normale"'; +'1="gradient conjuge"'; +'2="residu conjuge"'; +'4="erreur minimale"'; +'6="cgstab"'; +'7="gmres"'; +'8="direct"' +CHOIX1 = '3="conjugate gradient on a normal equation"'; +'1="conjugate gradient"'; +'2="conjugate residual"'; +'4="minimum error"'; +'6="cgstab"'; +'7="gmres"'; +'8="direct"' +RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' +NIVEAU = 2 +AIDE = 'Permet de choisir le solveur utilise pour la resolution de +l''etape de propagation. Toutes les methodes proposees actuellement +s''apparentent au Gradient Conjugue. Ce sont : + 1 : gradient conjugue + 2 : residu conjugue + 3 : gradient conjugue sur equation normale + 4 : erreur minimale + 5 : gradient conjugue carre (non programme) + 6 : gradient conjugue carre stabilise (cgstab) + 7 : gmres (voir aussi option du solveur) + 8 : direct' +AIDE1 = 'Makes it possible to select the solver used for solving the +propagation step. All the currently available methods are variations +of the Conjugate Gradient method. They are as follows: +1: conjugate gradient +2: conjugate residual +3: conjugate gradient on a normal equation +4: minimum error +5: conjugate gradient squared (not implemented) +6: conjugate gradient squared stabilised (cgstab) +7: gmres (see option for solver) +8: direct' + +NOM = 'ENTIER LIBRE 20' +NOM1 = 'FREE INTEGER 20' +TYPE = ENTIER +INDEX = 20 +MNEMO = 'STDPRE' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +NIVEAU = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +AIDE = ' ' +AIDE1 = ' ' + +NOM = 'NOMBRE DE SOUS-ITERATIONS POUR LES NON-LINEARITES' +NOM1 = 'NUMBER OF SUB-ITERATIONS FOR NON-LINEARITIES' +TYPE = ENTIER +INDEX = 21 +MNEMO = 'NSOUSI' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '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 d''ameliorer la prise en compte des +non linearites.' +AIDE1 = '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.' + +NOM = 'NUMERO DU PREMIER PAS DE TEMPS POUR LES SORTIES GRAPHIQUES' +NOM1 = 'NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS' +TYPE = ENTIER +INDEX = 22 +MNEMO = 'PTINIG' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 2 +AIDE = 'Determine le nombre de pas de temps a partir duquel debute +l''ecriture des resultats dans le ''FICHIER DES RESULTATS''.' +AIDE1 = 'Determines the number of time steps after which the results +are first written into the RESULTS FILE.' + +NOM = 'NUMERO DU PREMIER PAS DE TEMPS POUR LES SORTIES LISTING' +NOM1 = 'NUMBER OF FIRST TIME STEP FOR LISTING PRINTOUTS' +TYPE = ENTIER +INDEX = 23 +MNEMO = 'PTINIL' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 2 +AIDE = 'Determine le nombre de pas de temps a partir duquel debute +l''ecriture des resultats dans le listing.' +AIDE1 = 'Determines the number of time steps after which the results +are first written into the listing.' + +NOM = 'PRECONDITIONNEMENT POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'PRECONDITIONING FOR DIFFUSION OF TRACERS' +TYPE = ENTIER +INDEX = 24 +MNEMO = 'IPREDI' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +CHOIX = '2="diagonal"'; '0="aucun"'; +'3="diagonal condensee"'; '7="crout"'; +'14="diagonal et crout"'; '21="diagonal condense et crout"' +CHOIX1 = '2="diagonal"'; '0="no preconditioning "'; +'3="diagonal condensed"'; '7="crout"'; +'14="diagonal and crout"'; '21="diagonal condensed and crout"' +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 2 +AIDE = 'Permet de preconditionner le systeme relatif au traceur. +Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT. + 0 : pas de preconditionnement; + 2 : preconditionnement diagonal. + 3 : preconditionnement diagonal avec la matrice conde' +AIDE1 = '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: Crout''s preconditioning per element.' + +NOM = 'SOLVEUR POUR LE MODELE K-EPSILON' +NOM1 = 'SOLVER FOR K-EPSILON MODEL' +TYPE = ENTIER +INDEX = 25 +MNEMO = 'ISOLKE' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="gradient conjugue"'; +'2="residu conjuge"'; +'3="gradient conjugue sur equation normal"'; +'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"' +CHOIX1 = '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"' +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' +COMPORT = +'Foreground ("EQUATIONS*MODELE DE TURBULENCE*MODELE K-EPSILON") +IS VALEUR (brown)' +NIVEAU = 2 +AIDE = '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' +AIDE1 = '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' + +NOM = 'PRECONDITIONNEMENT POUR LE MODELE K-EPSILON' +NOM1 = 'PRECONDITIONING FOR K-EPSILON MODEL' +TYPE = ENTIER +INDEX = 26 +MNEMO = 'IPREKE' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +CHOIX = '2="diagonal"'; '0="aucun"'; +'3="diagonal condensee"'; '7="crout"'; +'14="diagonal et crout"'; '21="diagonal condense et crout"' +CHOIX1 = '2="diagonal"'; '0="no preconditioning"'; +'3="diagonal condensed"'; '7="crout"'; +'14="diagonal and crout"'; '21="diagonal condensed and crout"' +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +NIVEAU = 2 +AIDE = '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.' +AIDE1 = '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: Crout''s preconditioning per element' + +NOM = 'REGIME DE TURBULENCE POUR LES PAROIS' +NOM1 = 'TURBULENCE MODEL FOR SOLID BOUNDARIES' +TYPE = ENTIER +INDEX = 27 +MNEMO = 'LISRUG' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +CHOIX = '1=lisse'; '2=rugueux' +CHOIX1 = '1=smooth'; '2=rough' +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL' +NIVEAU = 1 +AIDE = 'Permet de choisir le regime de turbulence aux parois + 1 : regime turbulent lisse. + 2 : regime turbulent rugueux.' +AIDE1 = 'Provided for selecting the type of friction on the walls + 1: smooth + 2: rough' + +NOM = 'NOMBRE DE FLOTTEURS' +NOM1 = 'NUMBER OF DROGUES' +TYPE = ENTIER +INDEX = 28 +MNEMO = 'NFLOT' +CONTROLE = 0 ; 10 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 2 +AIDE = 'Permet d''effectuer un suivi de flotteurs' +AIDE1 = 'Number of drogues in the computation. +The user must then fill the subroutine FLOT specifying +the coordinates of the starting points, their departure +and arrival times. +The trajectory of drogues is recorded in the BINARY RESULTS +FILE that must be given in the steering file' + +NOM = 'PERIODE POUR LES SORTIES DE FLOTTEURS' +NOM1 = 'PRINTOUT PERIOD FOR DROGUES' +TYPE = ENTIER +INDEX = 29 +MNEMO = 'FLOPRD' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 2 +AIDE = 'Nombre de pas de temps entre 2 sorties de positions de +flotteurs dans le fichier des resultats binaire supplementaire +N affecte pas la qualite du calcul de la trajectoire' +AIDE1 = 'Number of time steps between 2 outputs of drogues +positions in the binary file' + +NOM = 'NOMBRE DE DERIVES LAGRANGIENNES' +NOM1 = 'NUMBER OF LAGRANGIAN DRIFTS' +TYPE = ENTIER +INDEX = 30 +MNEMO = 'NFLAG' +CONTROLE = 0; 10 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Permet d''effectuer simultanement plusieurs calculs de derives +lagrangiennes initiees a des pas differents' +AIDE1 = 'Provided for performing several computations of lagrangian +drifts starting at different times. +Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word' + +NOM = 'LISSAGES DU FOND' +NOM1 = 'BOTTOM SMOOTHINGS' +TYPE = ENTIER +INDEX = 31 +MNEMO = 'LISFOND' +TAILLE = 0 +CONTROLE = 0 ; 10 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' +RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' +NIVEAU = 2 +AIDE = 'Nombre de lissages effectues sur la topographie. +chaque lissage, effectue a l''aide d''une matrice de masse, +est conservatif. +Utilise lorsque les donnees de bathymetrie donnent des resultats +trop irreguliers apres interpolation.' +AIDE1 ='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.' + +NOM = 'OPTION DU SOLVEUR POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'SOLVER OPTION FOR TRACERS DIFFUSION' +TYPE = ENTIER +INDEX = 32 +MNEMO = 'ISOLDI' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 2 +AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de +l''espace de KRILOV (valeurs conseillees entre 2 et 15)' +AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE +TRY VALUES BETWEEN 2 AND 15' + +NOM = 'OPTION DU SOLVEUR' +NOM1 = 'SOLVER OPTION' +TYPE = ENTIER +INDEX = 33 +MNEMO = 'ISOLVE' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' +NIVEAU = 2 +AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de +l''espace de KRILOV (valeurs conseillees entre 2 et 15)' +AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE +TRY VALUES BETWEEN 2 AND 15' + +NOM = 'OPTION DU SOLVEUR POUR LE MODELE K-EPSILON' +NOM1 = 'OPTION FOR THE SOLVER FOR K-EPSILON MODEL' +TYPE = ENTIER +INDEX = 34 +MNEMO = 'ISOLKE' +TAILLE = 0 +DEFAUT = 2 +DEFAUT1 = 2 +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' +NIVEAU = 2 +AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de +l''espace de KRILOV (valeurs conseillees entre 2 et 15)' +AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE +TRY VALUES BETWEEN 2 AND 15' + +NOM = 'PAS DE TEMPS' +NOM1 = 'TIME STEP' +TYPE = REEL +INDEX = 1 +MNEMO = 'DT' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1 = 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 1 +AIDE = 'Definit le pas de temps en secondes. +Remarque : Pour une bonne precision; il est souhaitable de choisir +le pas de temps de telle sorte que le nombre de Courant de propagation +soit inferieur a 2 ; voir 3. +Ceci peut etre realisable en hydraulique fluviale ; mais ne l''est +pratiquement jamais en hydraulique maritime ou l''on peut atteindre +des valeurs de 50.' +AIDE1 = 'Specifies the time step in seconds.' + +NOM = 'ZERO' +NOM1 = 'ZERO' +TYPE = REEL +INDEX = 3 +MNEMO = 'ZERO' +TAILLE = 0 +DEFAUT = 1.E-12 +DEFAUT1 = 1.E-12 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = -13 +AIDE = 'Non active pour l''instant.' +AIDE1 = 'Not yet implemented' + +NOM = 'COEFFICIENT DE FROTTEMENT' +NOM1 = 'FRICTION COEFFICIENT' +TYPE = REEL +INDEX = 4 +MNEMO = 'FFON' +TAILLE = 0 +DEFAUT = 50. +DEFAUT1 = 50. +RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' +RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' +NIVEAU = 1 +AIDE = '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' +AIDE1 = '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' + +NOM = 'COEFFICIENT D''INFLUENCE DU VENT' +NOM1 = 'COEFFICIENT OF WIND INFLUENCE' +TYPE = REEL +INDEX = 6 +MNEMO = 'FAIR' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' +RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' +COMPORT = +'Foreground ("EQUATIONS*VENT*VALEURS NUMERIQUES") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Fixe la valeur du coefficient d''entrainement du vent (cf. +Note de principe).' +AIDE1 = 'Sets the value of the wind driving coefficient. +Refer to principle note.' + +NOM = 'VITESSE DU VENT SUIVANT X' +NOM1 = 'WIND VELOCITY ALONG X' +TYPE = REEL +INDEX = 7 +MNEMO = 'FUAIR' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' +RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' +NIVEAU = 1 +AIDE = 'Composante de la vitesse du vent suivant l''axe des x (m/s).' +AIDE1 = 'Wind velocity, component along x axis (m/s).' + +NOM = 'VITESSE DU VENT SUIVANT Y' +NOM1 = 'WIND VELOCITY ALONG Y' +TYPE = REEL +INDEX = 8 +MNEMO = 'FVAIR' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' +RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' +NIVEAU = 1 +AIDE = 'Composante de la vitesse du vent suivant l''axe des y (m/s).' +AIDE1 = 'Wind velocity, component along y axis (m/s).' + +NOM = 'VENT' +NOM1 = 'WIND' +TYPE = LOGIQUE +INDEX = 14 +MNEMO = 'VENT' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'EQUATIONS';'VENT' +RUBRIQUE1 = 'EQUATIONS';'WIND' +COMPORT = +'Affichage ("EQUATIONS*VENT*VALEURS NUMERIQUES") IS VALEUR ()'; +'Foreground ("EQUATIONS*VENT") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Prise en compte ou non des effets du vent.' +AIDE1 = 'Determines whether the wind effects are to be taken into +account or not.' + +NOM = 'VALEURS INITIALES DES TRACEURS' +NOM1 = 'INITIAL VALUES OF TRACERS' +TYPE = REEL +INDEX = 9 +MNEMO = 'TRAC0' +TAILLE = 2 +DEFAUT = 0.;0. +DEFAUT1 = 0.;0. +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 1 +AIDE = 'Fixe la valeur initiale du traceur.' +AIDE1 = 'Sets the initial value of the tracer.' + +NOM = 'COEFFICIENT DE DIFFUSION DES TRACEURS' +NOM1 = 'COEFFICIENT FOR DIFFUSION OF TRACERS' +TYPE = REEL +INDEX = 10 +MNEMO = 'DIFNU' +TAILLE = 0 +DEFAUT = 1.E-6 +DEFAUT1 = 1.E-6 +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 1 +AIDE = 'Fixe la valeur du coefficient de diffusion du traceur. +L''influence de ce parametre sur l''evolution du traceur dans +le temps est importante.' +AIDE1 = 'Sets the value of the tracer diffusivity.' + +NOM = 'PRECISION POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'ACCURACY FOR DIFFUSION OF TRACERS' +TYPE = REEL +INDEX = 11 +MNEMO = 'EPSDIF' +TAILLE = 0 +DEFAUT = 1.E-6 +DEFAUT1 = 1.E-6 +RUBRIQUE = 'EQUATIONS';'SOLVEUR' +RUBRIQUE1 = 'EQUATIONS';'SOLVER' +COMPORT = +'Foreground ("EQUATIONS*SOLVEUR") IS VALEUR (brown)' +NIVEAU = 2 +AIDE = 'Fixe la precision demandee pour le calcul de la diffusion +du traceur.' +AIDE1 = 'Sets the required accuracy for computing the tracer +diffusion.' + +NOM = 'COEFFICIENT D''IMPLICITATION DES TRACEURS' +NOM1 = 'IMPLICITATION COEFFICIENT OF TRACERS' +TYPE = REEL +INDEX = 12 +MNEMO = 'TETADF' +TAILLE = 0 +DEFAUT = 0.6 +DEFAUT1 = 0.6 +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 2 +AIDE = 'Fixe la valeur du coefficient d''implicitation du traceur' +AIDE1 = 'Sets the value of the implicitation coefficient for the tracer' + +NOM = 'COEFFICIENT DE DIFFUSION DES VITESSES' +NOM1 = 'VELOCITY DIFFUSIVITY' +TYPE = REEL +INDEX = 13 +MNEMO = 'PROPNU' +TAILLE = 0 +DEFAUT = 1.E-6 +DEFAUT1 = 1.E-6 +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'VISCOSITE CONSTANTE' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'CONSTANT VISCOSITY' +COMPORT = +'Foreground ("EQUATIONS*MODELE DE TURBULENCE*VISCOSITE CONSTANTE") +IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Fixe de facon uniforme pour l''ensemble du domaine; +la valeur du coefficient de diffusion de viscosite globale (dynamique + +turbulente). Cette valeur peut avoir une influence non negligeable sur +la forme et la taille des recirculations.' +AIDE1 = '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.' + +NOM = 'MODELE DE TURBULENCE' +NOM1 = 'TURBULENCE MODEL' +TYPE = ENTIER +INDEX = 7 +MNEMO = 'ITURB' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="VISCOSITE CONSTANTE"';'2="ELDER"';'3="MODELE K-EPSILON"' +;'4="SMAGORINSKI"' +CHOIX1 = '1="CONSTANT VISCOSITY"';'2="ELDER"';'3="K-EPSILON MODEL"' +;'4="SMAGORINSKI"' +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL' +COMPORT = 'Affichage +("COEFFICIENT DE DIFFUSION DES VITESSES") +IS VALEUR (#"MODELE DE TURBULENCE" - 3)'; +'Affichage +("EQUATIONS*MODELE DE TURBULENCE*MODELE K-EPSILON") IS VALEUR +(#"MODELE DE TURBULENCE" - 1)'; +'Foreground ("EQUATIONS*MODELE DE TURBULENCE") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = '3 choix sont possibles actuellement : viscosite constante (1) +modele de Elder (2) ou modele k-epsilon (3). +Attention : si on choisit l''option 1 +il ne faut pas oublier d''ajuster la valeur du mot-cle COEFFICIENT DE +DIFFUSION DES VITESSES. +si on choisit l''option 2 +il ne faut pas oublier d''ajuster les deux valeurs du mot-cle : +COEFFICIENTS ADIMENSIONNELS DE DISPERSION +Si on choisit l''option 3; +ce meme parametre doit retrouver sa vraie valeur physique car elle est +utilisee comme telle dans le modele de turbulence' +AIDE1 = 'The current alternatives are as follows: constant viscosity (1) +elder''s 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.' + +NOM = 'PRECISION DU SOLVEUR' +NOM1 = 'SOLVER ACCURACY' +TYPE = REEL +INDEX = 14 +MNEMO = 'EPSI1' +TAILLE = 0 +DEFAUT = 1.E-4 +DEFAUT1 = 1.E-4 +RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' +NIVEAU = 2 +AIDE = 'Precision demandee pour la resolution de l''etape de propagation + (cf. Note de principe).' +AIDE1 = 'Required accuracy for solving the propagation step +(refer to Principle note).' + +NOM = 'PROFONDEUR LIMITE POUR PROCEDURE DE RESSUYAGE' +NOM1 = 'THRESHOLD DEPTH FOR RECEDING PROCEDURE' +TYPE = REEL +INDEX = 16 +MNEMO = 'HREC' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Si > 0., declenche la procedure de ressuyage qui evite +le franchissement parasite des digues mal discretisees' +AIDE1 = 'If > 0., will trigger the receding procedure that +avoids overwhelming of dykes which are too loosely +discretised ' + +NOM = 'IMPLICITATION POUR LA HAUTEUR' +NOM1 = 'IMPLICITATION FOR DEPTH' +TYPE = REEL +INDEX = 17 +MNEMO = 'TETAC' +TAILLE = 0 +DEFAUT = 0.55 +DEFAUT1 = 0.55 +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +CONTROLE = 0.5 +AIDE = 'Fixe la valeur du coefficient d''implicitation sur C dans +l''etape de propagation (cf. Note de principe). +Les valeurs inferieures a 0.5 donnent un schema instable.' +AIDE1 = '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.' + +NOM = 'IMPLICITATION POUR LA VITESSE' +NOM1 = 'IMPLICITATION FOR VELOCITY' +TYPE = REEL +INDEX = 18 +MNEMO = 'TETAU' +TAILLE = 0 +DEFAUT = 0.55 +DEFAUT1 = 0.55 +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'Fixe la valeur du coefficient d''implicitation sur la vitesse +dans l''etape de propagation (cf. Note de principe). +Les valeurs inferieures a 0.5 donnent un schema instable.' +AIDE1 = '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.' + +NOM = 'IMPLICITATION POUR LA DIFFUSION DES VITESSES' +NOM1 = 'IMPLICITATION FOR DIFFUSION OF VELOCITY' +TYPE = REEL +INDEX = 19 +MNEMO = 'TETAD' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1 = 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'Fixe la valeur du coefficient d''implicitation sur les termes de +diffusion des vitesses' +AIDE1 = 'Sets the value of the implicitation coefficient for +the diffusion of velocity' + +NOM = 'MASS-LUMPING SUR H' +NOM1 = 'MASS-LUMPING ON H' +TYPE = REEL +INDEX = 20 +MNEMO = 'AGGLOC' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'TELEMAC offre la possibilite d''effectuer 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 d''accelerer 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.' +AIDE1 = '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.' + +NOM = 'MASS-LUMPING SUR LA VITESSE' +NOM1 = 'MASS-LUMPING ON VELOCITY' +TYPE = REEL +INDEX = 21 +MNEMO = 'AGGLOU' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'Fixe le taux de mass-lumping effectue sur la vitesse.' +AIDE1 = 'Sets the amount of mass-lumping that is performed on +the velocity.' + +NOM = 'VALEUR MINIMUM DE H' +NOM1 = 'MINIMUM VALUE OF DEPTH' +TYPE = REEL +INDEX = 22 +MNEMO = 'HMIN' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 3 +AIDE = 'Fixe la valeur minimale de a lorsque l''option CLIPPING +DE H est activee.' +AIDE1 = 'Sets the minimum H value when option H CLIPPING is +implemented. Not fully implemented.' + +NOM = 'REDUCTION DU PAS DE TEMPS POUR LE MODELE K-EPSILON' +NOM1 = 'TIME STEP REDUCTION FOR K-EPSILON MODEL' +TYPE = REEL +INDEX = 23 +MNEMO = 'REDUC' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1 = 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +NIVEAU = 3 +AIDE = 'Coefficient reducteur du pas de temps pour le modele k-epsilon +(qui est normalement identique a celui du systeme hydrodynamique). +Utilisation deconseillee' +AIDE1 = 'Time step reduction coefficient for k-epsilon model +(which is normally same the same as that of the hydrodynamic system) +Not recommended for use.' + +NOM = 'PRECISION SUR K' +NOM1 = 'ACCURACY OF K' +TYPE = REEL +INDEX = 24 +MNEMO = 'EPSIK' +TAILLE = 0 +DEFAUT = 1.E-9 +DEFAUT1 = 1.E-9 +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +NIVEAU = 2 +AIDE = 'Fixe la precision demandee sur k pour le test d''arret dans +l''etape de diffusion et termes sources du modele k-epsilon.' +AIDE1 = 'Sets the required accuracy for computing k in the diffusion +and source terms step of the k-epsilon model.' + +NOM = 'PRECISION SUR EPSILON' +NOM1 = 'ACCURACY OF EPSILON' +TYPE = REEL +INDEX = 25 +MNEMO = 'EPSIE' +TAILLE = 0 +DEFAUT = 1.E-9 +DEFAUT1 = 1.E-9 +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +NIVEAU = 2 +AIDE = 'Fixe la precision demandee sur epsilon pour le test d''arret dan +s l''etape de diffusion et termes sources de k et epsilon.' +AIDE1 = 'Sets the required accuracy for computing epsilon in +the diffusion and source-terms step of the k-epsilon model.' + +NOM = 'PROFONDEUR MOYENNE POUR LA LINEARISATION' +NOM1 = 'MEAN DEPTH FOR LINEARIZATION' +TYPE = REEL +INDEX = 26 +MNEMO = 'HAULIN' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS';'HAUTEUR' +RUBRIQUE1 = 'EQUATIONS';'HIGHT' +COMPORT = +'Foreground ("EQUATIONS*HAUTEUR") IS VALEUR (brown)' +NIVEAU = 2 +AIDE = 'Fixe la hauteur d''eau autour de laquelle s''effectue la +linearisation lorsque l''option PROPAGATION LINEARISEE est choisie.' +AIDE1 = 'Sets the water depth about which the linearization is made when +the LINEARIZED PROPAGATION OPTION is selected.' + +NOM = 'COEFFICIENT DE RUGOSITE DES BORDS' +NOM1 = 'ROUGHNESS COEFFICIENT OF BOUNDARIES' +TYPE = REEL +INDEX = 29 +MNEMO = 'SB' +TAILLE = 0 +DEFAUT = 100. +DEFAUT1 = 100. +RUBRIQUE = 'EQUATIONS' +RUBRIQUE1 = 'EQUATIONS' +NIVEAU = 1 +AIDE = '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' +AIDE1 = 'Sets the value of the friction coefficient of the solid boundary +with the bed roughness option. Same meaning than friction coefficient' + +NOM = 'DEBITS IMPOSES' +NOM1 = 'PRESCRIBED FLOWRATES' +TYPE = REEL +INDEX = 30 +MNEMO = 'DEBIT' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +COMPORT = +'Foreground ("EQUATIONS, CONDITIONS LIMITES") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = ' Valeurs des debits imposes aux frontieres liquides entrantes. +Lire la partie du mode d''emploi consacree aux conditions aux limites' +AIDE1 = 'Values of prescribed flowrates at the inflow boundaries. +The section about boundary conditions is to be read in the manual' + +NOM = 'COTES IMPOSEES' +NOM1 = 'PRESCRIBED ELEVATIONS' +TYPE = REEL +INDEX = 31 +MNEMO = 'COTES' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +NIVEAU = 1 +AIDE = 'Valeurs des cotes imposees aux frontieres liquides entrantes. +Lire la partie du mode d''emploi consacree aux conditions aux limites' +AIDE1 = 'Values of prescribed elevations at the inflow boundaries. +The section about boundary conditions is to be read in the manual' + +NOM = 'VITESSES IMPOSEES' +NOM1 = 'PRESCRIBED VELOCITIES' +TYPE = REEL +INDEX = 32 +MNEMO = 'VITES' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +COMPORT = +'Foreground ("EQUATIONS, CONDITIONS LIMITES") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Valeurs des vitesses imposees aux frontieres liquides entrantes. +Lire la partie du mode d''emploi consacree aux conditions aux limites' +AIDE1 ='Values of prescribed velocities at the liquid inflow boundaries. +Refer to the section dealing with the boundary conditions' + +NOM = 'COTE INITIALE' +NOM1 = 'INITIAL ELEVATION' +TYPE = REEL +INDEX = 33 +MNEMO = 'COTINI' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' +RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' +COMPORT = +'Foreground ("EQUATIONS, CONDITIONS INITIALES") IS VALEUR (brown)' +NIVEAU = 1 +CONTROLE = -427.; 8848. +AIDE = 'Valeur utilisee avec l''option : + CONDITIONS INITIALES - COTE CONSTANTE' +AIDE1 ='Value to be used with the option : +INITIAL CONDITIONS -CONSTANT ELEVATION' + +NOM = 'HAUTEUR INITIALE' +NOM1 = 'INITIAL DEPTH' +TYPE = REEL +INDEX = 34 +MNEMO = 'HAUTINI' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' +RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' +NIVEAU = 1 +CONTROLE = 0; 20 +AIDE = 'Valeur utilisee avec l''option : +CONDITIONS INITIALES :-HAUTEUR CONSTANTE-' +AIDE1 = 'Value to be used along with the option: + INITIAL CONDITIONS -CONSTANT DEPTH-' + +NOM = 'VALEURS IMPOSEES DES TRACEURS' +NOM1 = 'PRESCRIBED TRACERS VALUES' +TYPE = REEL +INDEX = 35 +MNEMO = 'TRACER' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +NIVEAU = 1 +AIDE = 'Valeurs du traceur imposees aux frontieres liquides entrantes. +Lire la partie du mode d''emploi consacree aux conditions aux limites' +AIDE1 = 'Tracer values prescribed at the inflow boundaries. +Read the usermanual section dealing with the boundary conditions' + +NOM = 'ABSCISSES DES SOURCES' +NOM1 = 'ABSCISSAE OF SOURCES' +TYPE = REEL +INDEX = 36 +MNEMO = 'XSCE' +CONTROLE = -10000 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Valeurs des abscisses des sources de debit et de traceur.' +AIDE1 = 'abscissae of sources of flowrate and/or tracer' + +NOM = 'ORDONNEES DES SOURCES' +NOM1 = 'ORDINATES OF SOURCES' +TYPE = REEL +INDEX = 37 +MNEMO = 'YSCE' +CONTROLE = -10000 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Valeurs des ordonnees des sources de debit et de traceur.' +AIDE1 = 'ordinates of sources of flowrate and/or tracer' + +NOM = 'DEBITS DES SOURCES' +NOM1 = 'WATER DISCHARGE OF SOURCES' +TYPE = REEL +INDEX = 38 +MNEMO = 'DSCE' +CONTROLE = 0 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Valeurs des debits des sources.' +AIDE1 = 'values of water discharge of sources' + +NOM = 'VALEURS DES TRACEURS DES SOURCES' +NOM1 = 'VALUES OF THE TRACERS AT THE SOURCES' +TYPE = REEL +INDEX = 39 +MNEMO = 'TSCE' +CONTROLE = 0 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Valeurs des traceurs a chacune des sources' +AIDE1 = 'Values of the tracers at the sources' + +NOM = 'VITESSES DES SOURCES SELON X' +NOM1 = 'VELOCITIES OF THE SOURCES ALONG X' +TYPE = REEL +INDEX = 43 +MNEMO = 'USCE' +CONTROLE = 0 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Vitesses du courant a chacune des sources. Si elles ne sont pas +donnees, on considere que la vitesse est celle du courant' +AIDE1 = 'Velocities at the sources. If they are not given, the velocity +of the flow at this location is taken' + +NOM = 'VITESSES DES SOURCES SELON Y' +NOM1 = 'VELOCITIES OF THE SOURCES ALONG Y' +TYPE = REEL +INDEX = 44 +MNEMO = 'VSCE' +CONTROLE = 0 ; 10000 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Vitesses du courant a chacune des sources' +AIDE1 = 'Velocities at the sources' + +NOM = 'COEFFICIENTS DE DECENTREMENT' +NOM1 = 'UPWIND COEFFICIENTS' +TYPE = REEL +INDEX = 40 +MNEMO = 'COSUPG' +CONTROLE = 0 ; 10 +TAILLE = 4 +DEFAUT = 1.;1.;1.;1 +DEFAUT1 = 1.;1.;1.;1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 3 +AIDE = 'Coefficients utilises par la methode S.U.P.G. +ces coefficients sont respectivement appliques a + 1) U et V + 2) H ou C + 3) T + 4) K ET EPSILON ' +AIDE1 = '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 ' + +NOM = 'CRITERES D''ARRET' +NOM1 = 'STOP CRITERIA' +TYPE = REEL +INDEX = 41 +MNEMO = 'CRIPER' +CONTROLE = 0 ; 10 +TAILLE = 3 +DEFAUT = 1.E-4;1.E-4;1.E-4 +DEFAUT1= 1.E-4;1.E-4;1.E-4 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Criteres d''arret pour un ecoulement permanent +ces coefficients sont respectivement appliques a + 1) U et V + 2) H + 3) T +A utiliser avec le mot-cle : ARRET SI UN ETAT PERMANENT EST ATTEINT' +AIDE1 = 'Stop criteria for a steady state +These coefficients are applied respectively to + 1) U and V + 2) H + 3) T +To be used with the key-word: STOP IF A STEADY STATE IS REACHED' + + +NOM = 'DUREE DU CALCUL' +NOM1 = 'DURATION' +TYPE = REEL +INDEX = 45 +MNEMO = 'DUREE' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1= 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 1 +AIDE = 'duree de la simulation. alternative au parametre nombre de pas +de temps. On en deduit le nombre de pas de temps en prenant l''entier le +plus proche de (duree du calcul/pas de temps). Si le nombre de pas de +temps est aussi donne, on prend la plus grande valeur' +AIDE1 = 'duration of simulation. May be used instead of the parameter +NUMBER OF TIME STEPS. The nearest integer to (duration/time step) is +taken. +If NUMBER OF TIME STEPS is also given, the greater value is taken' + +NOM = 'NORD' +NOM1 = 'NORTH' +TYPE = REEL +INDEX = 46 +MNEMO = 'NORD' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1= 0. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 2 +AIDE = 'Direction du nord en degres, par rapport a l''axe des y +dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres +et trente minutes.' +AIDE1 = 'Angle of the North with the y axis, in degrees. 10.5 means +10 degrees and 30 minutes.' + +NOM = 'TITRE' +NOM1 = 'TITLE' +TYPE = CARACTERE +INDEX = 1 +MNEMO = 'TITCAS' +TAILLE = 0 +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +COMPORT = +'Foreground ("ENTREES-SORTIES, GENERALITES*CALCUL") +IS VALEUR (red)' +NIVEAU = 1 +AIDE = 'Titre du cas etudie. Ce titre figurera sur les dessins.' +AIDE1 = 'Title of the case being considered. This title shall be marked +on the drawings.' + +NOM = 'VARIABLES POUR LES SORTIES GRAPHIQUES' +NOM1 = 'VARIABLES FOR GRAPHIC PRINTOUTS' +TYPE = CARACTERE +INDEX = 2 +MNEMO = 'SORTIE' +TAILLE = 0 +DEFAUT = 'U,V,H,B' +DEFAUT1 = 'U,V,H,B' +CHOIX = 'U="vitesse suivant l''axe des x (m/s)"'; +'V="vitesse suivant l''axe des y (m/s)"'; +'C="celerite des onde (m/s)"'; +'H="hauteur d''eau (m)"'; +'S="cote de surface libre (m)"'; +'B="cote du fond (m)"'; +'F="nombre de Froude "'; +'Q="debit scalaire du fluide (m2/s)"'; +'T1="traceur 1, etc. "'; +'K="energie turbulente du modele k-epsilon (J/kg)"'; +'E="dissipation de l''energie turbulente (W/kg)"'; +'D="viscosite turbulente du modele k-epsilon (m2/s)"'; +'I="debit suivant l''axe des x (m2/s)"'; +'J="debit suivant l''axe des y (m2/s)"'; +'M="vitesse scalaire (m/s)"'; +'X="vent suivant l''axe des x (m/s)"'; +'Y="vent suivant l''axe des y (m/s)"'; +'P="pression atmospherique (Pa)"'; +'W="coefficient de frottement sur le fond "'; +'A="derive en x (m)"'; +'G="derive en y (m)"'; +'L="nombre de Courant "'; +'N="variable supplementaire N "'; +'O="variable supplementaire O "'; +'R="variable supplementaire R "'; +'Z="variable supplementaire Z "'; +'MAXZ="cote maximum "'; +'TMXZ="temps de la cote maximum "'; +'MAXV="vitesse maximum "'; +'TMXV="temps de la vitesse maximum "'; +'US="vitesse de frottement "' +CHOIX1= 'U="velocity along x axis (m/s)"'; +'V="velocity along y axis (m/s)"'; +'C="wave celerity (m/s)"'; +'H="water depth (m)"'; +'S="free surface elevation (m)"'; +'B="bottom elevation (m)"'; +'F="Froude number "'; +'Q="scalar flowrate of fluid (m2/s)"'; +'T1="tracer 1 etc. "'; +'K="turbulent kinetic energy in k-epsilon model (J/kg)"'; +'E="dissipation of turbulent energy (W/kg)"'; +'D="turbulent viscosity of k-epsilon model (m2/s)"'; +'I="flowrate along x axis (m2/s)"'; +'J="flowrate along y axis (m2/s)"'; +'M="scalar velocity (m/s)"'; +'X="wind along x axis (m/s)"'; +'Y="wind along y axis (m/s)"'; +'P="air pressure (Pa)"'; +'W="friction coefficient"'; +'A="drift along x (m)"'; +'G="drift along y (m)"'; +'L="Courant number "'; +'N="supplementary variable N "'; +'O="supplementary variable O "'; +'R="supplementary variable R "'; +'Z="supplementary variable Z "'; +'MAXZ="maximum elevation"'; +'TMXZ="time of maximum elevation "'; +'MAXV="maximum velocity"'; +'TMXV="time of maximum velocity"'; +'US="friction velocity "' +COMPOSE=',' +APPARENCE = 'packing IS XmPACK_COLUMN' ; + 'numColumns IS 26';'LISTE IS EDITABLE' +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'Noms des variables que l''utilisateur veut ecrire dans +le fichier des resultats. +Chaque variable est representee par une lettre. +Le choix des separateurs est libre. +Les possibilites offertes sont les suivantes : + - U : vitesse suivant l''axe des x (m/s), + - V : vitesse suivant l''axe des y (m/s), + - C : celerite des ondes (m/s), + - H : hauteur d''eau (m), + - S : cote de surface libre (m), + - B : cote du fond (m), + - F : nombre de Froude, + - Q : debit scalaire du fluide (m2/s), + - T : traceur, + - K : energie turbulente du modele k-epsilon (J/kg), + - E : dissipation de l''energie turbulente (W/kg), + - D : viscosite turbulente du modele k-epsilon (m2/s), + - I : debit suivant l''axe des x (m2/s), + - J : debit suivant l''axe des y (m2/s), + - M : vitesse scalaire (m/s), + - X : vent suivant l''axe des x (m/s), + - Y : vent suivant l''axe des y (m/s), + - P : pression atmospherique (Pa), + - W : coefficient de frottement sur le fond, + - A : derive en x (m), + - G : derive en y (m), + - L : coefficient de frottement sur le fond. +L''utilisateur dispose egalement de 4 champs libres, qu''il peut +utiliser pour ecrire dans le fichier des resultats des variables +qu''il cree lui-meme. Ces variables propres a l''utlisateur doivent +etre calculees dans le sous-programme PRERES et le nom que l''on +desire leur donner doit etre ecrit dans le sous-programme NOMVAR. +Ces 7 champs sont : + - N, O, R, Z qui correspondent aux tableaux PRIVE(1,1), PRIVE(1,2), +PRIVE(1,3), PRIVE(1,4). A la difference des variables +precedentes, celles-ci sont conservees dans tout le programme, et +peuvent donc etre reutilisees. +Dans ce dernier cas ne pas oublier de donner une taille +suffisante au tableau PRIVE (dans le programme principal). +Il est ainsi possible de limiter, par exemple, la taille des fichiers +de resultats pour de tres gros calculs. Cependant, il faut etre +conscient du fait que, dans l''eventualite d''une reprise de calcul, +le code doit disposer, dans le fichier des resultats, des informations +necessaires a sa poursuite, a savoir : + - les vitesses U et V, + - les hauteurs d''eau H, + - les cotes du fond B. +Toutefois, TELEMAC peut recalculer certaines de ces variables a partir +d''autres qui lui seront fournies (par exemple, il recalculera H a +partir de S et B).' +AIDE1 = 'Names of variables the user wants to write into the results +file. Each variable is represented by a letter. The separators can be +freely selected. +The available capabilities are as follows: + U : velocity along x axis (m/s), + V : velocity along y axis (m/s), + C : wave celerity (m/s), + H : water depth (m), + S : free surface elevation (m), + B : bottom elevation (m), + F : Froude number, + Q : scalar flowrate of fluid (m2/s), + T : tracer + K : turbulent kinetic energy in k-epsilon model (J/kg), + E : dissipation of turbulent energy (W/kg), + D : turbulent viscosity of k-epsilon model (m2/s), + I : flowrate along x axis (m2/s), + J : flowrate along y axis (m2/s), + M : scalar velocity (m/s), + X : wind along x axis (m/s) + Y : wind along y axis (m/s), + P : air pressure (Pa), + W : friction coefficient , + A : drift along x, + G : drift along y, + L : nombre de courant. + +four other variables are also made available to the user who may use +them for writing into the file the results of variables he creates +himself. These user-specific variables should be computed in the +subroutine PRERES and their desired name should be written +into the subroutine NOMVAR. +These seven variables are as follows: + -N, O, R, Z which correspond to arrays PRIVE(1,1) up to PRIVE(1, +Unlike the preceding variables, they are preserved throughout the +program, so that they can be used again. +In the latter case, do not forget to provide the array PRIVE with +sufficiently large dimensions (in FORTRAN file). +With this key-word, one can limit the size of the RESULTS FILE. +It should be kept in mind, however, that if a computation has to be +continued, the RESULTS FILE should contain the appropriate information +for running the code,i.e.: + - velocities U and V, + - water depths H, + - bottom elevations B. +TELEMAC, however, can compute some of these variables from others +for example, it will compute H from S and B.' + +NOM = 'VARIABLES A IMPRIMER' +NOM1 = 'VARIABLES TO BE PRINTED' +TYPE = CARACTERE +INDEX = 3 +MNEMO = 'VARIMP' +TAILLE = 0 +DEFAUT = ' ' +DEFAUT1 = ' ' +/CHOIX = '" "="pas de variables"'; +CHOIX = 'U="vitesse suivant l''axe des x (m/s)"'; +'V="vitesse suivant l''axe des y (m/s)"'; +'C="celerite des ondes (m/s)"'; +'H="hauteur d''eau (m)"'; +'S="cote de surface libre (m)"'; +'B="cote du fond (m)"'; +'F="nombre de Froude"'; +'Q="debit scalaire du fluide (m2/s)"'; +'T="traceur"'; +'K="energie turbulente du modele k-epsilon (J/kg)"'; +'E="dissipation de l''energie turbulente (W/kg)"'; +'D="viscosite turbulente du modele k-epsilon (m2/s)"'; +'I="debit suivant l''axe des x (m2/s)"'; +'J="debit suivant l''axe des y (m2/s)"'; +'M="vitesse scalaire (m/s)"'; +'X="vent suivant l''axe des x (m/s)"'; +'Y="vent suivant l''axe des y (m/s)"'; +'P="pression atmospherique (Pa)"'; +'W="coefficient de frottement sur le fond"'; +'A="derive en x (m)"'; +'G="derive en y (m)"'; +'L="nombre de courants "'; +'N="variable supplementaire N"'; +'O="variable supplementaire O"'; +'R="variable supplementaire R"'; +'Z="variable supplementaire Z"' +CHOIX1 = 'U="velocity along x axis (m/s)"'; +'V="velocity along y axis (m/s)"'; +'C="wave celerity (m/s)"'; +'H="water depth (m)"'; +'S="free surface elevation (m)"'; +'B="bottom elevation (m)"'; +'F="Froude number"'; +'Q="scalar flowrate of fluid (m2/s)"'; +'T="tracer"'; +'K="turbulent kinetic energy in k-epsilon model (J/kg)"'; +'E="dissipation of turbulent energy (W/kg)"'; +'D="turbulent viscosity of k-epsilon model (m2/s)"'; +'I="flowrate along x axis (m2/s)"'; +'J="flowrate along y axis (m2/s)"'; +'M="scalar velocity (m/s)"'; +'X="wind along x axis (m/s)"'; +'Y="wind along y axis (m/s)"'; +'P="air pressure (Pa)"'; +'W="friction coefficient"'; +'A="drift along x (m)"'; +'G="drift along y (m)"'; +'L="nombre de courants "'; +'N="supplementary variable N"'; +'O="supplementary variable O"'; +'R="supplementary variable R"'; +'Z="supplementary variable Z"' +COMPOSE=',' +APPARENCE = 'packing IS XmPACK_COLUMN' ; 'numColumns IS 26' ; +'LISTE IS EDITABLE' + +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'Nom des variables que l''utilisateur desire ecrire a l''ecran. +Meme possibilites que pour les sorties graphiques.' +AIDE1 = '' + +NOM = 'USER CRAY' +NOM1 = 'USER CRAY' +TYPE = CARACTERE +INDEX = 4 +MNEMO = '' +TAILLE = 0 +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +COMPORT = +'Foreground ("ENTREES-SORTIES, GENERALITES*ENVIRONNEMENT") +IS VALEUR (red)' +NIVEAU = 2 +AIDE = 'Userid CRAY de l''utilisateur.' +AIDE1 = 'User''s identity on CRAY.' + +NOM = 'MOT DE PASSE CRAY' +NOM1 = 'PASSWORD' +TYPE = CARACTERE +INDEX = 5 +MNEMO = '' +TAILLE = 0 +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Mot de passe associe a l''USER CRAY.' +AIDE1 = 'Password related to USER CRAY.' + +NOM = 'FICHIER FORTRAN' +NOM1 = 'FORTRAN FILE' +TYPE = CARACTERE +INDEX = 7 +MNEMO = 'NOMFOR' +SUBMIT = 'INUTILE;t2dfort.f;FACUL;ASC;LIT;FORTRAN' +DEFAUT = 'DEFAUT' +DEFAUT1 = 'DEFAUT' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +AIDE = 'Nom du fichier FORTRAN a soumettre.' +AIDE1 = 'Name of FORTRAN file to be submitted.' + +NOM = 'FICHIER DES PARAMETRES' +NOM1 = 'STEERING FILE' +TYPE = CARACTERE +INDEX = 8 +MNEMO = 'NOMCAS' +SUBMIT = 'INUTILE;T2DCAS;OBLIG;ASC;LIT;CAS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Nom du fichier contenant les parametres du calcul a realiser.' +AIDE1 = 'Name of the file containing the parameters of the computation +Written by the user.' + +NOM = 'FICHIER DES CONDITIONS AUX LIMITES' +NOM1 = 'BOUNDARY CONDITIONS FILE' +TYPE = CARACTERE +INDEX = 9 +MNEMO = 'T2D_FILES(T2DLIM)%NAME' +SUBMIT = 'T2DLIM-READ-07;T2DCLI;OBLIG;ASC;LIT;CONLIM' +/DEFAUT = ' ' +/DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +APPARENCE = 'LISTE IS FICHIER' +NIVEAU = 1 +AIDE = 'Nom du fichier contenant les types de conditions aux limites. +Ce fichier est rempli de facon automatique par le mailleur au moyen de +couleurs affectees aux noeuds des frontieres du domaine de calcul.' +AIDE1 = 'Name of the file containing the types of boundary conditions. +This file is filled automatically by the mesh generator through +through colours that are assigned to the boundary nodes.' + +NOM = 'FICHIER DU CALCUL PRECEDENT' +NOM1 = 'PREVIOUS COMPUTATION FILE' +TYPE = CARACTERE +INDEX = 10 +MNEMO = 'T2D_FILES(T2DPRE)%NAME' +SUBMIT = 'T2DPRE-READ-04;T2DPRE;FACUL;BIN;LIT;SELAFIN' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Nom d''un fichier contenant les resultats d''un calcul precedent +realise sur le meme maillage et dont le dernier pas de temps enregistre +va fournir les conditions initiales pour une suite de de calcul.' +AIDE1 = 'Name of a file containing the results of an earlier computation +which was made on the same mesh. The last recorded time step will provid +the initial conditions for the new computation.' + +NOM = 'FICHIER DES RESULTATS' +NOM1 = 'RESULTS FILE' +TYPE = CARACTERE +INDEX = 11 +MNEMO = 'T2D_FILES(T2DRES)%NAME' +/ READWRITE CAR RELU EN CAS DE VALIDATION +SUBMIT = 'T2DRES-READWRITE-08;T2DRES;OBLIG;BIN;ECR;SELAFIN' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Nom du fichier dans lequel seront ecrits les resultats du calcul +avec la periodicite donnee par le mot cle ''PERIODE POUR LES SORTIES +GRAPHIQUES''.' +AIDE1 = 'Name of the file into which the computation results shall be +written, +the periodicity being given by the key-word: +GRAPHIC PRINTOUT PERIOD.' + +NOM = 'NUMERO DE VERSION' +NOM1 = 'RELEASE' +TYPE = CARACTERE +INDEX = 12 +MNEMO = '' +TAILLE = 0 +DEFAUT = 'V6P3' +DEFAUT1 = 'V6P3' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = -3 +AIDE = 'Numero de version des bibliotheques utilisees par TELEMAC. +SUR UNE STATION DE TRAVAIL +5 versions sont donnees correspondant a : +TELEMAC,DAMO,UTILE,BIEF,HP' +AIDE1 = 'version number of the libraries used by TELEMAC. +ON A WORKSTATION +5 numbers are given, corresponding to the libraries called: +TELEMAC,DAMO,UTILE,BIEF,HP' + +NOM = 'TEMPS MACHINE CRAY' +NOM1 = 'CPU TIME' +TYPE = CARACTERE +INDEX = 13 +MNEMO = '' +DEFAUT = '10' +DEFAUT1 = '10' +NIVEAU = 2 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +AIDE = 'Temps CPU (en secondes) alloue pour la realisation du calcul. +Attention; il s''agit bien d''une chaine de caracteres.' +AIDE1 = 'C.P.U. time (in seconds) allowed for making the computation. +Please note that this keyword is a string of characters.' + +NOM = 'PLACE MEMOIRE CRAY' +NOM1 = 'MEMORY SPACE' +TYPE = CARACTERE +INDEX = 14 +MNEMO = '' +TAILLE = 0 +DEFAUT = '1500000W' +DEFAUT1 = '1500000W' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Place memoire (en mots de 8 octets) reservee en machine pour la +realisation du calcul.' +AIDE1 = 'Storage capacity (in words of 8 bytes) reserved in machine for +making the computation.' + +NOM = 'FICHIER DES FONDS' +NOM1 = 'BOTTOM TOPOGRAPHY FILE' +TYPE = CARACTERE +INDEX = 15 +MNEMO = 'T2D_FILES(T2DFON)%NAME' +SUBMIT = 'T2DFON-READ-23;T2DFON;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Nom du fichier eventuel contenant la bathymetrie associee au +maillage. +Si ce mot-cle est utilise; c''est cette bathymetrie qui sera utilisee +pour le calcul.' +AIDE1 = 'Name of the possible file containing the bathymetric data. +Where this keyword is used, these bathymetric data shall be used in +the computation.' + +NOM = 'NUMERO DE COMPTE' +NOM1 = 'ACCOUNT NUMBER' +TYPE = CARACTERE +INDEX = 16 +MNEMO = ' ' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 2 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +AIDE = 'Numero du compte calcul sur lequel sera impute le cout +du calcul.' +AIDE1 = 'Account number to which the cost of computation shall be +charged.' + +NOM = 'FICHIER DE DONNEES BINAIRE 1' +NOM1 = 'BINARY DATA FILE 1' +TYPE = CARACTERE +INDEX = 17 +MNEMO = 'T2D_FILES(T2DBI1)%NAME' +/WITH WAVE FORCING, IS A SELAFIN FILE +SUBMIT = 'T2DBI1-READ-24;T2DBI1;FACUL;BIN;LIT;SELAFIN' +/SUBMIT = 'NBI1-READ-24;T2DBI1;FACUL;BIN;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de donnees code en binaire mis a la disposition +de l''utilisateur. +Les donnees de ce fichier seront a lire sur le canal 24.' +AIDE1 = 'Binary-coded data file made available to the user. +The data in this file shall be read on channel 24.' + +NOM = 'FICHIER DE DONNEES BINAIRE 2' +NOM1 = 'BINARY DATA FILE 2' +TYPE = CARACTERE +INDEX = 18 +MNEMO = 'T2D_FILES(T2DBI2)%NAME' +TAILLE = 0 +SUBMIT = 'T2DBI2-READ-25;T2DBI2;FACUL;BIN;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de donnees code en binaire mis a la disposition +de l''utilisateur. +Les donnees de ce fichier seront a lire sur le canal 25.' +AIDE1 = 'Binary-coded data file made available to the user. +The data in this file shall be read on channel 25.' + +NOM = 'FICHIER DE DONNEES FORMATE 1' +NOM1 = 'FORMATTED DATA FILE 1' +TYPE = CARACTERE +INDEX = 19 +MNEMO = 'T2D_FILES(T2DFO1)%NAME' +SUBMIT = 'T2DFO1-READ-26;T2DFO1;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de donnees formate mis a la disposition de +l''utilisateur. +Les donnees de ce fichier seront a lire sur le canal 26.' +AIDE1 = 'Formatted data file made available to the user. +The data in this file shall be read on channel 26.' + +NOM = 'FICHIER DE DONNEES FORMATE 2' +NOM1 = 'FORMATTED DATA FILE 2' +TYPE = CARACTERE +INDEX = 20 +MNEMO = 'T2D_FILES(T2DFO2)%NAME' +SUBMIT = 'T2DFO2-READ-27;T2DFO2;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de donnees formate mis a la disposition de +l''utilisateur. +Les donnees de ce fichier seront a lire sur le canal 27.' +AIDE1 = 'Formatted data file made available to the user. +The data in this file shall be read on channel 27.' + +NOM = 'DESTINATION' +NOM1 = 'DESTINATION' +TYPE = CARACTERE +INDEX = 21 +MNEMO = '' +DEFAUT = 'CHE43A' +DEFAUT1 = 'CHE43A' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Nom eventuel d''une station de travail sur laquelle +l''utilisateur desire rediriger le fichier des resultats du calcul.' +AIDE1 = 'Possible name of a workstation to which the user wants +to reroute the result file.' + +NOM = 'USER SUR LA DESTINATION' +NOM1 = 'USER ON DESTINATION' +TYPE = CARACTERE +INDEX = 22 +MNEMO = '' +TAILLE = 0 +DEFAUT = 'JMH' +DEFAUT1 = 'JMH' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Nom de l''USER de l''utilisateur sur la station de travail +ou l''on desire rediriger le fichier de resultts.' +AIDE1 = 'User''s name of USER at the workstation onto which the +results file shall desirebly be rerouted.' + +NOM = 'NOMS DES VARIABLES CLANDESTINES' +NOM1 = 'NAMES OF CLANDESTINE VARIABLES' +TYPE = CARACTERE +INDEX = 23 +MNEMO = 'VARCLA' +TAILLE = 2 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Noms de variables qui ne sont pas utilisees par TELEMAC; +mais qui doivent etre conservees lors de son execution. +Ceci peut etre utilise entre autres lors du couplage de TELEMAC +avec un autre code. +Les variables clandestines sont alors des variables propres a l''autre +code et sont rendues dans le fichier de resultats.' +AIDE1 = '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.' + + +NOM = 'FICHIER DE RESULTATS BINAIRE' +NOM1 = 'BINARY RESULTS FILE' +TYPE = CARACTERE +INDEX = 24 +MNEMO = 'T2D_FILES(T2DRBI)%NAME' +SUBMIT = 'T2DRBI-WRITE-28;T2DRBI;FACUL;BIN;ECR;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de resultats code en binaire mis a la disposition +de l''utilisateur. Les resultats a placer dans ce fichier seront a +ecrire sur le canal 28.' +AIDE1 = 'Additional binary-coded result file made available +to the user. The results to be entered into this file shall be written +on channel 28.' + +NOM = 'FICHIER DE RESULTATS FORMATE' +NOM1 = 'FORMATTED RESULTS FILE' +TYPE = CARACTERE +INDEX = 25 +MNEMO = 'T2D_FILES(T2DRFO)%NAME' +SUBMIT = 'T2DRFO-WRITE-29;T2DRFO;FACUL;ASC;ECR;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats formate mis a la disposition de +l''utilisateur. +Les resultats a placer dans ce fichier seront a ecrire sur +le canal 29.' +AIDE1 = 'Formatted file of results made available to the user. +The results to be entered into this file shall be written +on channel 29.' + +NOM = 'CONDITIONS INITIALES' +NOM1 = 'INITIAL CONDITIONS' +TYPE = CARACTERE +INDEX = 26 +MNEMO = 'CDTINI' +DEFAUT = 'COTE NULLE' +DEFAUT1 = 'ZERO ELEVATION' +NIVEAU = 1 +CHOIX = '"COTE NULLE"'; '"COTE CONSTANTE"'; +'"HAUTEUR NULLE"'; '"HAUTEUR CONSTANTE"'; '"PARTICULIERES"' ; +'"ALTIMETRIE SATELLITE TPXO"' +CHOIX1 = '"ZERO ELEVATION"'; '"CONSTANT ELEVATION"'; +'"ZERO DEPTH"'; '"CONSTANT DEPTH"'; '"SPECIAL"' ; +'"TPXO SATELLITE ALTIMETRY"' +RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' +RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' +AIDE = 'Permet de definir les conditions initiales sur +les hauteurs d''eau. +Les valeurs possibles sont : + - COTE NULLE. Initialise la cote de surface libre a 0. + Les hauteurs d''eau initiales sont alors retrouvees en + faisant la difference entre les cotes de surface libre + et du fond. + - COTE CONSTANTE .Initialise la cote de surface libre a la + valeur donnee par le mot-cle COTE INITIALE. Les hauteurs + d''eau initiales sont calculees comme precedemment. + - HAUTEUR NULLE .Initialise les hauteurs d''eau a 0. + - HAUTEUR CONSTANTE. Initialise les hauteurs d''eau a la valeur + donnee par le mot-cle HAUTEUR INITIALE. + - PARTICULIERES. Les conditions initiales sur la hauteur d''eau + doivent etre precisees dans le sous-programme CONDIN. + - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur + d''eau et les vitesses sont etiblies sur la base des donnees + satellite TPXO dont les 8 premiers constistuents ont ete extrait + et sauves dans le fichier BASE DE DONNEES DE MAREE.' +AIDE1 = 'Makes it possible to define the initial conditions with +the water depth. +The possible values are as follows: + - ZERO ELEVATION-. Initializes the free surface elevation to 0. +The initial water depths are then found by computing the difference +between the free surface and the bottom. + - CONSTANT ELEVATION-. Initializes the water elevation to the value +given by the keyword -INITIAL ELEVATION-. The initial water depths +are computed as in the previous case. + - ZERO DEPTH-. Initializes the water depths to 0. + - CONSTANT DEPTH-. Initializes the water depths to the value given +by the key-word -INITIAL DEPTH-. + - SPECIAL-. The initial conditions with the water depth should be +stated in the CONDIN subroutine. + - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and +velocities are established from the TPXO satellite program data, the harmonic +constituents of which are stored in the TIDE DATA BASE file.' + +NOM = 'FORMAT DU FICHIER DE GEOMETRIE' +NOM1 = 'GEOMETRY FILE FORMAT' +TYPE = CARACTERE +INDEX = 27 +MNEMO = '????' +DEFAUT = 'SERAFIN ' +DEFAUT1 = 'SERAFIN ' +NIVEAU = 2 +CHOIX = 'SERAFIN ';'SERAFIND';'MED ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES' +AIDE = 'Format du fichier de geometrie. +Les valeurs possibles sont : +- SERAFIN : format standard simple precision pour Telemac; +- SERAFIND: format standard double precision pour Telemac; +- MED : format MED base sur HDF5' +AIDE1 = 'Geometry file format. +Possible values are: +- SERAFIN : classical single precision format in Telemac; +- SERAFIND: classical double precision format in Telemac; +- MED : MED format based on HDF5' + +NOM = 'FORMAT DU FICHIER DES RESULTATS' +NOM1 = 'RESULTS FILE FORMAT' +TYPE = CARACTERE +INDEX = 28 +MNEMO = '?????' +DEFAUT = 'SERAFIN ' +DEFAUT1 = 'SERAFIN ' +CHOIX = 'SERAFIN ';'SERAFIND';'MED ' +NIVEAU = 2 +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES' +AIDE = 'Format du fichier de resultats. +Les valeurs possibles sont : +- SERAFIN : format standard simple precision pour Telemac; +- SERAFIND: format standard double precision pour Telemac; +- MED : format MED base sur HDF5' +AIDE1 = 'Results file format. Possible values are: +- SERAFIN : classical single precision format in Telemac; +- SERAFIND: classical double precision format in Telemac; +- MED : MED format based on HDF5' + +NOM = 'FORMAT DU FICHIER DU CALCUL PRECEDENT' +NOM1 = 'PREVIOUS COMPUTATION FILE FORMAT' +TYPE = CARACTERE +INDEX = 29 +MNEMO = '?????' +DEFAUT = 'SERAFIN ' +DEFAUT1 = 'SERAFIN ' +CHOIX = 'SERAFIN ';'SERAFIND';'MED ' +NIVEAU = 2 +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES' +AIDE = 'Format du fichier de resultats du calcul precedent. +Les valeurs possibles sont : +- SERAFIN : format standard simple precision pour Telemac; +- SERAFIND: format standard double precision pour Telemac; +- MED : format MED base sur HDF5' +AIDE1 = 'Previous computation results file format. +Possible values are: +- SERAFIN : classical single precision format in Telemac; +- SERAFIND: classical double precision format in Telemac; +- MED : MED format based on HDF5' + +NOM = 'BIBLIOTHEQUES' +NOM1 = 'LIBRARIES' +TYPE = CARACTERE +INDEX = 30 +MNEMO = '' +TAILLE = 0 +DEFAUT =' ' +DEFAUT1 =' ' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Obsolete' +AIDE1 = 'Obsolete' + +NOM = 'PRIORITE' +NOM1 = 'PRIORITY' +TYPE = CARACTERE +INDEX = 31 +MNEMO = '' +TAILLE = 0 +CHOIX = 'JOUR';'NUIT';'WEEK-END' +DEFAUT = 'JOUR' +DEFAUT1 = 'JOUR' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Utilise par la procedure de lancement sur station de travail' +AIDE1 = 'Utilise par la procedure de lancement sur station de travail' + + +NOM = 'SUITE DE CALCUL' +NOM1 = 'COMPUTATION CONTINUED' +TYPE = LOGIQUE +INDEX = 1 +MNEMO = 'DEBU' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Determine si le calcul en cours est independant de tout autre +resultat ou est une reprise effectuee a partir du resultat d''un calcul +precedent. +NON : Il s''agit du premier passage pour ce calcul et il est necessaire +de definir un jeu complet de conditions initiales +OUI : Il s''agit d''une 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, l''ensemble 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, d''ajouter 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.' +AIDE1 = '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.' + +NOM = 'DIFFUSION DES TRACEURS' +NOM1 = 'DIFFUSION OF TRACERS' +TYPE = LOGIQUE +INDEX = 11 +MNEMO = 'DIFT' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la diffusion du traceur passif.' +AIDE1 = 'The diffusion of the passive tracer is taken into account +or ignored.' + +NOM = 'SORTIE LISTING' +NOM1 = 'LISTING PRINTOUT' +TYPE = LOGIQUE +INDEX = 3 +MNEMO = 'LISTIN' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'Sortie des resultats sur support papier. +Si l''on met NON le listing ne contient que l''entete et la mention +FIN NORMALE DU PROGRAMME +Commande a eviter' +AIDE1 = '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.' + +NOM = 'DIFFUSION DES VITESSES' +NOM1 = 'DIFFUSION OF VELOCITY' +TYPE = LOGIQUE +INDEX = 4 +MNEMO = 'DIFVIT' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'DIFFUSION DES VITESSES' +RUBRIQUE1 = 'EQUATIONS';'DIFFUSION OF VELOCITY' +COMPORT = +'Foreground ("EQUATIONS*DIFFUSION DES VITESSES") IS VALEUR (brown)' +NIVEAU = 2 +AIDE = 'Permet de decider si l''on prend ou non en compte la diffusion +des vitesses.' +AIDE1 = 'Makes it possible to decide whether the diffusion of velocity +(i.e. viscosity) is taken into account or not.' + +NOM = 'PRESSION ATMOSPHERIQUE' +NOM1 = 'AIR PRESSURE' +TYPE = LOGIQUE +INDEX = 5 +MNEMO = 'ATMOS' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'EQUATIONS';'PRESSION ATMOSPHERIQUE' +RUBRIQUE1 = 'EQUATIONS';'AIR PRESSURE' +COMPORT = +'Foreground ("EQUATIONS*PRESSION ATMOSPHERIQUE") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Permet de decider si l''on prend ou non en compte l''influence +d''un champ de pression.' +AIDE1 = 'Provided to decide whether the influence of an atmosphere field +is taken into account or not.' + +NOM = 'CONVECTION' +NOM1 = 'ADVECTION' +TYPE = LOGIQUE +INDEX = 6 +MNEMO = 'CONV' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'CONVECTION' +RUBRIQUE1 = 'EQUATIONS';'ADVECTION' +COMPORT = +'Foreground ("EQUATIONS*CONVECTION") IS VALEUR (brown)' +NIVEAU = 2 +AIDE = '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 ...' +AIDE1 = 'Are the advection terms taken into account or not? +If YES, some advection terms can still be deleted using the keywords +-ADVECTION OF ..-' + +NOM = 'CONVECTION DE U ET V' +NOM1 = 'ADVECTION OF U AND V' +TYPE = LOGIQUE +INDEX = 7 +MNEMO = 'CONVV(1)' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'CONVECTION' +RUBRIQUE1 = 'EQUATIONS';'ADVECTION' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la convection de U et V.' +AIDE1= 'The advection of U and V is taken into account or ignored.' + +NOM = 'CONVECTION DE H' +NOM1 = 'ADVECTION OF H' +TYPE = LOGIQUE +INDEX = 8 +MNEMO = 'CONVV(2)' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'CONVECTION' +RUBRIQUE1 = 'EQUATIONS';'ADVECTION' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la convection de H. +Il s''agit en fait dans la version 2.0 de la convection de C' +AIDE1 = 'The advection of H is taken into account or ignored. +Actually, in version 2.0, the matter is about C advection.' + +NOM = 'CONVECTION DES TRACEURS' +NOM1 = 'ADVECTION OF TRACERS' +TYPE = LOGIQUE +INDEX = 9 +MNEMO = 'CONVV(3)' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'CONVECTION' +RUBRIQUE1 = 'EQUATIONS';'ADVECTION' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la convection du traceur passif.' +AIDE1 = 'The advection of the passive tracer is taken into account +or ignored.' + +NOM = 'CONVECTION DE K ET EPSILON' +NOM1 = 'ADVECTION OF K AND EPSILON' +TYPE = LOGIQUE +INDEX = 10 +MNEMO = 'CONVV(4)' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' +RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la convection de k et epsilon.' +AIDE1 ='The k and epsilon advection is taken into account or ignored.' + +NOM = 'PROPAGATION' +NOM1 = 'PROPAGATION' +TYPE = LOGIQUE +INDEX = 12 +MNEMO = 'PROPA' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'EQUATIONS';'PROPAGATION' +RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' +NIVEAU = 2 +AIDE = 'Prise en compte ou non de la propagation de la vitesse et de la +hauteur d''eau. +La diffusion etant contenue dans cette etape sera supprimee aussi.' +AIDE1 = 'Determines whether the propagation step is taken into account +or not. +The diffusion being included in that step will be deleted as well.' + +NOM = 'CORIOLIS' +NOM1 = CORIOLIS +TYPE = LOGIQUE +INDEX = 13 +MNEMO = 'CORIOL' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'EQUATIONS';'CORIOLIS' +RUBRIQUE1 = 'EQUATIONS';'CORIOLIS' +COMPORT = +'Foreground ("EQUATIONS*CORIOLIS") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = 'Prise en compte ou non de la force de Coriolis.' +AIDE1 = 'The Coriolis force is taken into account or ignored.' + +NOM = 'INFORMATIONS SUR LE SOLVEUR' +NOM1 = 'INFORMATION ABOUT SOLVER' +TYPE = LOGIQUE +INDEX = 15 +MNEMO = 'INFOGR' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 2 +AIDE = 'Donne a chaque pas de temps le nombre d''iterations necessaires +a la convergence du solveur de l''etape de propagation.' +AIDE1 = 'if YES, prints the number of iterations that have been necessar +to get the solution of the linear system.' + +NOM = 'BILAN DE MASSE' +NOM1 = 'MASS-BALANCE' +TYPE = LOGIQUE +INDEX = 16 +MNEMO = 'BILMAS' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'Determine si l''on 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 l''ensemble des parois du domaine (liquides +ou solides) +- l''erreur relative sur la masse pour ce pas de temps. +En fin de listing, on trouve l''erreur relative sur la masse pour +l''ensemble du calcul. +Il ne s''agit que d''un calcul indicatif car il n''existe pas +d''expression compatible du debit en formulation c,u,v.' +AIDE1 = '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.' + +NOM = 'CLIPPING DE H' +NOM1 = 'H CLIPPING' +TYPE = LOGIQUE +INDEX = 17 +MNEMO = 'CLIPH' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'Determine si l''on desire ou non limiter par valeur inferieure +la hauteur d''eau H (dans le cas des bancs decouvrants par exemple).' +AIDE1 = '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.' + +NOM = 'COORDONNEES SPHERIQUES' +NOM1 = 'SPHERICAL COORDINATES' +TYPE = LOGIQUE +INDEX = 18 +MNEMO = 'SPHERI' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'EQUATIONS';'COORDONNEES SPHERIQUES' +RUBRIQUE1 = 'EQUATIONS';'SPHERICAL COORDINATES' +COMPORT = +'Foreground ("EQUATIONS*COORDONNEES SPHERIQUES") IS VALEUR (brown)' +NIVEAU = 1 +AIDE = '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 l''ordonnee y = 0.' +AIDE1 = '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.' + +NOM = 'PROPAGATION LINEARISEE' +NOM1 = 'LINEARIZED PROPAGATION' +TYPE = LOGIQUE +INDEX = 20 +MNEMO = 'PROLIN' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'EQUATIONS';'PROPAGATION' +RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' +NIVEAU = 3 +AIDE = 'Permet de lineariser l''etape de propagation; +par exemple lors de la realisation de cas tests pour lesquels on dispose +d''une solution analytique dans le cas linearise.' +AIDE1 = 'Provided for linearizing the propagation step, e.g. when +performing test-cases for which an analytical solution in the linearized +case is available.' + +NOM = 'VALIDATION' +NOM1 = 'VALIDATION' +TYPE = LOGIQUE +INDEX = 21 +MNEMO = 'VALID' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = '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.' +AIDE1 = '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.' + +NOM = 'INFORMATIONS SUR LE MODELE K-EPSILON' +NOM1 = 'INFORMATION ABOUT K-EPSILON MODEL' +TYPE = LOGIQUE +INDEX = 22 +MNEMO = 'INFOKE' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' +NIVEAU = 2 +AIDE = 'Donne le nombre d''iterations du solveur de l''etape de +diffusion et termes sources du modele k-epsilon.' +AIDE1 = 'Gives the number of iterations of the solver in the diffusion +and source terms step of the k-epsilon model.' + +NOM = 'BANCS DECOUVRANTS' +NOM1 = 'TIDAL FLATS' +TYPE = LOGIQUE +INDEX = 24 +MNEMO = 'BANDEC' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'permet de supprimer les tests sur les bancs decouvrants, dans +les cas ou l''on est certain qu''il n''y en aura pas. +En cas de doute : oui' +AIDE1 = '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' + +NOM = 'ARRET SI UN ETAT PERMANENT EST ATTEINT' +NOM1 = 'STOP IF A STEADY STATE IS REACHED' +TYPE = LOGIQUE +INDEX = 25 +MNEMO = 'STOPER' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'A UTILISER AVEC LE MOT-CLE : CRITERES D''ARRET' +AIDE1 = 'TO BE USED WITH THE KEY-WORD: STOP CRITERIA' + +NOM = 'ELEMENTS MASQUES PAR L''UTILISATEUR' +NOM1 = 'ELEMENTS MASKED BY USER' +TYPE = LOGIQUE +INDEX = 26 +MNEMO = 'MSKUSE' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB' +AIDE1 = 'IF YES REWRITE SUBROUTINE MASKOB' + +NOM = 'EFFETS DE DENSITE' +NOM1 = 'DENSITY EFFECTS' +TYPE = LOGIQUE +INDEX = 27 +MNEMO = 'ROVAR' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE + LE TRACEUR EST ALORS LA SALINITE' +AIDE1 = 'THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT + THE TRACER IS THEN THE SALINITY' + +NOM = 'OPTION DE TRAITEMENT DES BANCS DECOUVRANTS' +NOM1 = 'OPTION FOR THE TREATMENT OF TIDAL FLATS' +TYPE = INTEGER +INDEX = 35 +MNEMO = 'OPTBAN' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '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)' +AIDE1 = '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)' + +NOM = 'LONGUEUR DU VECTEUR' +NOM1 = 'VECTOR LENGTH' +TYPE = INTEGER +INDEX = 36 +MNEMO = 'LVMAC' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 3 +AIDE = 'LONGUEUR DU VECTEUR POUR LES MACHINES VECTORIELLES' +AIDE1 = 'VECTOR LENGTH ON VECTOR MACHINES' + +NOM = 'OPTION DE SUPG' +NOM1 = 'SUPG OPTION' +TYPE = INTEGER +INDEX = 37 +MNEMO = 'OPTSUP' +TAILLE = 4 +DEFAUT = 2;2;2;2 +DEFAUT1 = 2;2;2;2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '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 ' +AIDE1 ='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 ' + +NOM = 'ORDRE DU TIR INITIAL POUR U' +NOM1 = 'INITIAL GUESS FOR U' +TYPE = INTEGER +INDEX = 38 +MNEMO = 'IORDRU' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '0=zero' ; '1=precedent'; '2=extrapolation' +CHOIX1 = '0=zero' ; '1=previous'; '2=extrapolation' +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 2 +AIDE = 'Tir initial du solveur de l''etape de propagation. +Offre la possibilite de modifier la valeur initiale de U, a chaque +iteration, dans l''etape de propagation en utilisant les valeurs +finales de cette variable aux pas de temps precedents. Ceci peut +permettre d''accelerer 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)' +AIDE1 = '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)' + +NOM = 'ENREGISTREMENT POUR SUITE DE CALCUL' +NOM1 = 'RECORD NUMBER FOR RESTART' +TYPE = ENTIER +INDEX = 39 +MNEMO = 'START_RECORD' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'En cas de suite de calcul, numero de l''enregistrement +de depart dans le fichier du calcul precedent. 0 signifie +qu''on prend le dernier enregistrement' +AIDE1 ='In case of COMPUTATION CONTINUED, record number to +start from in the PREVIOUS COMPUTATION FILE' + +NOM = 'MASSE VOLUMIQUE DE L''EAU' +NOM1 = 'WATER DENSITY' +TYPE = REEL +INDEX = 27 +MNEMO = 'ROEAU' +TAILLE = 0 +DEFAUT = 1000. +DEFAUT1 = 1000. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'Fixe la valeur de la masse volumique de l''eau.' +AIDE1 = 'set the value of water density' + +NOM = 'LATITUDE DU POINT ORIGINE' +NOM1 = 'LATITUDE OF ORIGIN POINT' +TYPE = REEL +INDEX = 28 +MNEMO = 'LAMBD0' +TAILLE = 0 +DEFAUT = 48. +DEFAUT1 = 48. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'Determine l''origine utilisee pour le calcul de latitudes +lorsque l''on effectue un calcul en coordonnees spheriques.' +AIDE1 = '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.' + +NOM = 'TEMPERATURE MOYENNE' +NOM1 = 'MEAN TEMPERATURE' +TYPE = REEL +INDEX = 42 +MNEMO = 'TREF' +CONTROLE = 0.; 100. +TAILLE = 0 +DEFAUT = 20. +DEFAUT1= 20. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE + A UTILISER AVEC LE MOT-CLE "EFFETS DE DENSITE"' +AIDE1 = 'REFERENCE TEMPERATURE FOR DENSITY EFFECTS + TO BE USED WITH THE KEY-WORD "DENSITY EFFECTS"' + +NOM = 'ACCELERATION DE LA PESANTEUR' +NOM1 = 'GRAVITY ACCELERATION' +TYPE = REEL +INDEX = 2 +MNEMO = 'GRAV' +TAILLE = 0 +DEFAUT = 9.81 +DEFAUT1 = 9.81 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +COMPORT = +'Foreground ("CONSTANTES PHYSIQUES") IS VALEUR (yellow)' +NIVEAU = 1 +AIDE = 'Fixe la valeur de l''acceleration de la pesanteur.' +AIDE1 = 'Set the value of the acceleration due to gravity.' + +NOM = 'COEFFICIENT DE CORIOLIS' +NOM1 = 'CORIOLIS COEFFICIENT' +TYPE = REEL +INDEX = 5 +MNEMO = 'FCOR' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = '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' +AIDE1 = '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' +/ +/ +/ +/ +/ NOUVEAUTES 3.1 +/ +/ +/ +/ +NOM = 'DISCRETISATIONS EN ESPACE' +NOM1 = 'DISCRETIZATIONS IN SPACE' +TYPE = ENTIER +INDEX = 16 +MNEMO = 'DISCRE' +TAILLE = 4 +DEFAUT = 11;11;11;11 +DEFAUT1 = 11;11;11;11 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 13 +AIDE = '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' +AIDE1 = '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' + +NOM = 'STOCKAGE DES MATRICES' +NOM1 = 'MATRIX STORAGE' +TYPE = ENTIER +INDEX = 40 +MNEMO = 'OPTASS' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +CHOIX = '1="EBE classique"'; +'3="Stockage par segments"' +CHOIX1 = '1="classical EBE"'; +'3="Edge-based storage"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '1 : EBE classique 3 : Stockage par segments' +AIDE1 = '1 : classical EBE 3 : Edge-based storage' + +NOM = 'COEFFICIENTS ADIMENSIONNELS DE DISPERSION' +NOM1 = 'NON-DIMENSIONAL DISPERSION COEFFICIENTS' +TYPE = REEL +INDEX = 47 +MNEMO = 'ELDER' +CONTROLE = 0 ; 10 +TAILLE = 2 +DEFAUT = 6. ; 0.6 +DEFAUT1= 6. ; 0.6 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'coefficients longitudinal et transversal dans la formule de +Elder. Utilises uniquement avec le modele de turbulence 2' +AIDE1 = 'Longitudinal and transversal coefficients in elder s formula. + Used only with turbulence model number 2' + +NOM = 'DICTIONNAIRE' +NOM1 = 'DICTIONARY' +TYPE = CARACTERE +INDEX = 100 +MNEMO = '' +SUBMIT = 'INUTILE;T2DDICO;OBLIG;ASC;LIT;DICO' +DEFAUT = 'telemac2d.dico' +DEFAUT1 = 'telemac2d.dico' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = -3 +AIDE ='Dictionnaire des mots cles.' +AIDE1 ='Key word dictionary.' + +NOM = 'DATE DE L''ORIGINE DES TEMPS' +NOM1 = 'ORIGINAL DATE OF TIME' +TYPE = INTEGER +INDEX = 41 +MNEMO = 'MARDAT' +TAILLE = 3 +DEFAUT = 1900;1;1 +DEFAUT1 = 1900;1;1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Permet de fixer la date d''origine des temps du modele lors +de la prise en compte de la force generatrice de la maree.' +AIDE1 ='Give the date of the time origin of the model when taking into +account the tide generating force.' + +NOM = 'HEURE DE L''ORIGINE DES TEMPS' +NOM1 = 'ORIGINAL HOUR OF TIME' +TYPE = INTEGER +INDEX = 42 +MNEMO = 'MARTIM' +TAILLE = 3 +DEFAUT = 0;0;0 +DEFAUT1 = 0;0;0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Permet de fixer l''heure d''origine des temps du modele lors +de la prise en compte de la force generatrice de la maree.' +AIDE1 ='Give the time of the time origin of the model when taking into +account of the tide generator force.' + +NOM = 'LONGITUDE DU POINT ORIGINE' +NOM1 = 'LONGITUDE OF ORIGIN POINT' +TYPE = REEL +INDEX = 48 +MNEMO = 'PHI0' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1= 0. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 2 +AIDE = 'Fixe la valeur de la longitude du point origine du modele, +lors de l''utilisation de la force generatrice de la maree.' +AIDE1 = 'Give the value of the longitude of the origin point +of the model, when taking into account of the tide generator force.' + +NOM = 'FORCE GENERATRICE DE LA MAREE' +NOM1 = 'TIDE GENERATING FORCE' +TYPE = LOGIQUE +INDEX = 28 +MNEMO = 'MAREE' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Active la prise en compte de la force generatrice de la maree' +AIDE1 = 'The tide generating force is taken into account. ' + +NOM = 'MASS-LUMPING SUR LES TRACEURS' +NOM1 = 'MASS-LUMPING ON TRACERS' +TYPE = REEL +INDEX = 49 +MNEMO = 'AGGLOT' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 2 +AIDE = 'Fixe le taux de mass-lumping effectue sur le traceur.' +AIDE1 = 'Sets the amount of mass-lumping that is performed on + the tracer.' + +NOM = 'CORRECTION DE CONTINUITE' +NOM1 = 'CONTINUITY CORRECTION' +TYPE = LOGIQUE +INDEX = 29 +MNEMO = 'CORCON' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Corrige les vitesses sur les points avec hauteur imposee ou +l''equation de continuite n''a pas ete resolue' +AIDE1 = 'Correction of the velocities on points with a prescribed +elevation, where the continuity equation has not been solved' + +/ NOUVEAUTES 3.2 + +NOM = 'REMISE A ZERO DU TEMPS' +NOM1 = 'INITIAL TIME SET TO ZERO' +TYPE = LOGIQUE +INDEX = 30 +MNEMO = 'RAZTIM' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Remet le temps a zero en cas de suite de calcul' +AIDE1 = 'Initial time set to zero in case of restart' + +NOM = 'PRODUIT MATRICE-VECTEUR' +NOM1 = 'MATRIX-VECTOR PRODUCT' +TYPE = ENTIER +INDEX = 43 +MNEMO = 'PRODUC' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '1 : classique 2 : frontal +attention, avec 2, il faut une numerotation speciale des points' +AIDE1 = '1 : classic 2 : frontal +beware, with option 2, a special numbering of points is required' + +NOM = 'SECTIONS DE CONTROLE' +NOM1 = 'CONTROL SECTIONS' +TYPE = INTEGER +INDEX = 44 +MNEMO = 'CTRLSC' +TAILLE = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Couples de points (numeros globaux dans le maillage) entre +lesquels les debits instantanes et cumules seront donnes.' +AIDE1 ='Couples of points (global numbers in the mesh) defining sections + where the instantaneous and cumulated discharges will be given' + + + +NOM = 'NOMBRE DE SEUILS' +NOM1 = 'NUMBER OF WEIRS' +TYPE = ENTIER +INDEX = 45 +MNEMO = 'NWEIRS' +CONTROLE = 0; 100 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = '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)' +AIDE1 = '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)' + +NOM = 'NOMBRE DE SIPHONS' +NOM1 = 'NUMBER OF CULVERTS' +TYPE = ENTIER +INDEX = 46 +MNEMO = 'NSIPH' +CONTROLE = 0; 100 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = '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)' +AIDE1 = '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)' + +NOM = 'OPTION POUR LES FRONTIERES LIQUIDES' +NOM1 = 'OPTION FOR LIQUID BOUNDARIES' +TYPE = ENTIER +INDEX = 47 +MNEMO = 'FRTYPE' +CONTROLE = 1;2 +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +NIVEAU = 1 +AIDE = 'On donne 1 entier par frontiere liquide + 1 : conditions aux limites classiques + 2 : methode de Thompson avec calcul de caracteristiques' +AIDE1 = 'One integer per liquid boundary is given + 1 : classical boundary conditions + 2 : Thompson method based on characteristics' + +NOM = 'BIBLIOTHEQUE PVM1' +NOM1 = 'PVM1 LIBRARY' +TYPE = CARACTERE +INDEX = 32 +MNEMO = '' +TAILLE = 0 +/CHOIX= '1="conditions aux limites classiques"'; +/ '2="methode de Thompson avec calcul de caracteristiques"' +/CHOIX1 = '1="classical boundary conditions"'; +/ '2="Thompson method based on characteristics"' +DEFAUT = ' ' +DEFAUT1 = ' ' +CHOIX = '" "="pas de biliotheque"'; +'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' +CHOIX1 = '" "="no library"'; +'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="PVM1 library"' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Utilise par la procedure de lancement sur station de travail' +AIDE1 = 'Utilise par la procedure de lancement sur station de travail' + + +NOM = 'BIBLIOTHEQUE PVM2' +NOM1 = 'PVM2 LIBRARY' +TYPE = CARACTERE +INDEX = 33 +MNEMO = '' +TAILLE = 0 +DEFAUT = ' ' +DEFAUT1 = ' ' +CHOIX = '" "="pas de biliotheque"'; +'"$PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a"="bibliotheque PVM2"' +CHOIX1 = '" "="no library"'; +'"$PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a"="PVM2 library"' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +NIVEAU = 2 +AIDE = 'Utilise par la procedure de lancement sur station de travail' +AIDE1 = 'Utilise par la procedure de lancement sur station de travail' + + +NOM = 'NOM DU CRAY' +NOM1 = 'CRAY NAME' +TYPE = CARACTERE +INDEX = 35 +DEFAUT = 'clcraya' +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' +AIDE = '' +AIDE1 = '' + +/ NOUVEAUTES 4.0 + +NOM = 'PRECONDITIONNEMENT C-U' +NOM1 = 'C-U PRECONDITIONING' +TYPE = LOGIQUE +INDEX = 31 +MNEMO = 'PRECCU' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Changement de variable de H en C dans le systeme lineaire final' +AIDE1 = 'Change of variable from H to C in the final linear system' + +NOM = 'PAS DE TEMPS VARIABLE' +NOM1 = 'VARIABLE TIME-STEP' +TYPE = LOGIQUE +INDEX = 32 +MNEMO = 'DTVARI' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = 'Pas de temps variable pour avoir un nombre de courant souhaite' +AIDE1 = 'Variable time-step to get a given Courant number' + +NOM = 'TRAITEMENT DU SYSTEME LINEAIRE' +NOM1 = 'TREATMENT OF THE LINEAR SYSTEM' +TYPE = ENTIER +INDEX = 48 +MNEMO = 'SOLSYS' +CONTROLE = 1;2 +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 =1 +CHOIX = '1="traitement couple"';'2="Equation d''onde"' +CHOIX1 = '1="coupled"';'2="Wave equation"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = '1 : Traitement couple 2 : equation d onde' +AIDE1 = '1 : Coupled 2 : wave equation' + +NOM = 'NOMBRE DE COURANT SOUHAITE' +NOM1 = 'DESIRED COURANT NUMBER' +TYPE = REEL +INDEX = 50 +MNEMO = 'CFLWTD' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1 = 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 2 +AIDE = 'Nombre de Courant souhaite en cas de pas de temps variable' +AIDE1 = 'Desired Courant number when VARIABLE TIME-STEP is set to YES' + +NOM = 'PROCESSEURS PARALLELES' +NOM1 = 'PARALLEL PROCESSORS' +TYPE = ENTIER +INDEX = 49 +MNEMO = 'NCSIZE' +CONTROLE = 0;256 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = '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... ' +AIDE1 = '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....' + +NOM = 'EQUATIONS' +NOM1 = 'EQUATIONS' +TYPE = CARACTERE +INDEX = 36 +MNEMO = 'EQUA' +DEFAUT = 'SAINT-VENANT EF' +DEFAUT1 = 'SAINT-VENANT EF' +CHOIX = '"SAINT-VENANT EF"';'"SAINT-VENANT VF"';'"BOUSSINESQ"' +CHOIX1 = '"SAINT-VENANT EF"';'"SAINT-VENANT VF"';'"BOUSSINESQ"' +NIVEAU = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +AIDE = 'CHOIX DES EQUATIONS A RESOUDRE : SAINT-VENANT ELEMENTS FINIS, +SAINT-VENANT VOLUMES FINIS OU BOUSSINESQ 20 CARACTERES' +AIDE1 = 'CHOICE OF EQUATIONS TO SOLVE : SAINT-VENANT FINITE ELEMENTS, +SAINT-VENANT FINITE VOLUMES OR BOUSSINESQ 20 CHARACTERS' + +NOM = 'PROFILS DE VITESSE' +NOM1 = 'VELOCITY PROFILES' +TYPE = INTEGER +INDEX = 50 +MNEMO = 'PROVEL' +TAILLE = 2 +CHOIX='1="Profil normal constant"';'2="u et v dans le fichier + conlim"';'3="Vitesse normale donnee dans ubor dans le fichier + conlim"';'4="vitesse en racine carree de h"'; +'5="vitesse en racine carree de h, variante"' +CHOIX1='1="constant normal profile"';'2="u and v given in the + conlim file"';'3="normal velocity given in ubor in the conlim + file"';'4="velocity proportional to square root of depth"'; +'5="velocity proportional to square root of depth, variant"' +RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' +RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' +NIVEAU = 1 +AIDE = '1:profil normal constant + 2:u et v donnes dans le fichier conditions aux limites + 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' +AIDE1= '1:constant normal profile + 2:u and v given in the boudary conditions file + 3:normal velocity given in ubor in the conlim file + 4:sqrt(depth) profile + 5:sqrt(depth) profile, variant' + +NOM = 'OPTION POUR LA DIFFUSION DES TRACEURS' +NOM1 = 'OPTION FOR THE DIFFUSION OF TRACERS' +TYPE = INTEGER +INDEX = 51 +MNEMO = 'OPDTRA' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="div( nu grad(T) )"'; +'2="1/h div ( h nu grad(T)"' +CHOIX1= '1="div( nu grad(T) )"'; +'2="1/h div ( h nu grad(T)"' +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 1 +AIDE = '1: Diffusion de la forme div( nu grad(T) ) + 2: Diffusion de la forme 1/h div ( h nu grad(T) )' +AIDE1= '1: Diffusion in the form div( nu grad(T) ) + 2: Diffusion in the form 1/h div ( h nu grad(T) )' + +NOM = 'OPTION POUR LA DIFFUSION DES VITESSES' +NOM1 = 'OPTION FOR THE DIFFUSION OF VELOCITIES' +TYPE = INTEGER +INDEX = 52 +MNEMO = 'OPDVIT' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="div( nu grad(U) )"'; +'2="1/h div ( h nu grad(U)"' +CHOIX1= '1="div( nu grad(U) )"'; +'2="1/h div ( h nu grad(U)"' +RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' +RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' +NIVEAU = 1 +AIDE = '1: Diffusion de la forme div( nu grad(U) ) + 2: Diffusion de la forme 1/h div ( h nu grad(U) )' +AIDE1= '1: Diffusion in the form div( nu grad(U) ) + 2: Diffusion in the form 1/h div ( h nu grad(U) )' + +NOM = 'TYPE DES SOURCES' +NOM1 = 'TYPE OF SOURCES' +TYPE = ENTIER +INDEX = 53 +MNEMO = 'OPTSOU' +CONTROLE = 1;2 +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 =1 +CHOIX = '1="Normal"';'2="Dirac"' +CHOIX1= '1="Normal"';'2="Dirac"' +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 2 +AIDE = '1: Source portee par une base elements finis + 2: Source portee par une fonction de Dirac' +AIDE1= '1: Source term multiplied by a finite element basis + 2: Source term multiplied by a Dirac function' + +/ NOUVEAUTES 5.0 + +NOM = 'NOMBRE DE TABLEAUX PRIVES' +NOM1 = 'NUMBER OF PRIVATE ARRAYS' +TYPE = ENTIER +INDEX = 54 +MNEMO = 'NPRIV' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Nombre de tableaux mis a disposition de l utilisateur' +AIDE1 = 'Number of arrays for own user programming' + +NOM = 'LANGUE' +NOM1 = 'LANGUAGE' +TYPE = ENTIER +INDEX = 55 +MNEMO = 'LNG' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 2 +CHOIX = '1="FRANCAIS"';'2="ANGLAIS"' +CHOIX1 = '1="FRANCAIS"';'2="ANGLAIS"' +RUBRIQUE = 'GENERAL' +RUBRIQUE1 = 'GENERAL' +NIVEAU = 1 +AIDE = '1 : FRANCAIS 2 : ANGLAIS' +AIDE1 = '1: FRENCH 2: ENGLISH' + +NOM = 'FICHIER DE REFERENCE' +NOM1 = 'REFERENCE FILE' +TYPE = CARACTERE +INDEX = 37 +MNEMO = 'T2D_FILES(T2DREF)%NAME' +SUBMIT = 'T2DREF-READ-22;T2DREF;FACUL;BIN;LIT;SELAFIN' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a +ecrire sur le canal 22.' +AIDE1 = 'Binary-coded result file for validation. The results to be entered into this file shall be written +on channel 22.' + +NOM = 'FICHIER DES FRONTIERES LIQUIDES' +NOM1 = 'LIQUID BOUNDARIES FILE' +TYPE = CARACTERE +INDEX = 38 +MNEMO = 'T2D_FILES(T2DIMP)%NAME' +SUBMIT = 'T2DIMP-READ-12;T2DIMP;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de variations en temps des conditions aux limites. +Les donnees de ce fichier seront a lire sur le canal 12.' +AIDE1 = 'Variations in time of boundary conditions. Data of this file are read +on channel 12.' + +NOM = 'COURANTS DE HOULE' +NOM1 = 'WAVE DRIVEN CURRENTS' +TYPE = LOGIQUE +INDEX = 33 +MNEMO = 'COUROU' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Active la prise en compte des courants de houle' +AIDE1 = 'Wave driven currents are taken into account. ' + +NOM = 'NUMERO DE L''ENREGISTREMENT DANS LE FICHIER DE HOULE' +NOM1 = 'RECORD NUMBER IN WAVE FILE' +TYPE = ENTIER +INDEX = 56 +MNEMO = 'NPTH' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Numero d enregistrement dans le fichier des courants de houle' +AIDE1 = 'Record number to read in the wave driven currents file' + +/ NOUVEAUTES 5.1 + +NOM = 'STRUCTURES VERTICALES' +NOM1 = 'VERTICAL STRUCTURES' +TYPE = LOGIQUE +INDEX = 34 +MNEMO = 'VERTIC' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Prise en compte de la force de trainee de structures verticales +(il faut alors remplir la subroutine DRAGFO)' +AIDE1 = 'drag forces from vertical structures are taken into account. +(subroutine DRAGFO must then be implemented) ' + +NOM = 'SORTIE DES CONDITIONS INITIALES' +NOM1 = 'OUTPUT OF INITIAL CONDITIONS' +TYPE = LOGIQUE +INDEX = 35 +MNEMO = 'OUTINI' +TAILLE = 0 +DEFAUT = OUI +DEFAUT1 = YES +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Si OUI, impression des conditions initiales dans les resultats' +AIDE1 = 'If YES, output of initial conditions in the results' + +/ NOUVEAUTES 5.2 + +NOM = 'DOSSIER DE COUPLAGE' +NOM1 = 'COUPLING DIRECTORY' +TYPE = CARACTERE +INDEX = 39 +MNEMO = 'DOSSIER_COUPLAGE' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Nom complet du dossier d echange des fichiers + pour couplage de codes' +AIDE1 = 'Name with full path of the directory where the files will + be exchanged for coupling' + +NOM = 'COUPLAGE AVEC' +NOM1 = 'COUPLING WITH' +TYPE = CARACTERE +INDEX = 40 +MNEMO = 'COUPLING, IN BIEF' +DEFAUT = ' ' +DEFAUT1 = ' ' +CHOIX = '"SISYPHE"';'"TOMAWAC"';'"DELWAQ"' +CHOIX1 = '"SISYPHE"';'"TOMAWAC"';'"DELWAQ"' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = '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' +AIDE1 = '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' + +NOM = 'ESTIMATION DE PARAMETRE' +NOM1 = 'PARAMETER ESTIMATION' +TYPE = CARACTERE +INDEX = 60 +MNEMO = 'ESTIME' +DEFAUT = ' ' +DEFAUT1 = ' ' +CHOIX = '"FROTTEMENT"';'"FROTTEMENT, PERMANENT"' +CHOIX1 = '"FRICTION"';'"FROTTEMENT, STEADY"' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Liste des parametres a estimer, choix : FROTTEMENT + ou FROTTEMENT, PERMANENT' +AIDE1 = 'List of parameter to be estimated, choice : FRICTION + or FRICTION, STEADY' + +NOM = 'DEFINITION DE ZONES' +NOM1 = 'DEFINITION OF ZONES' +TYPE = LOGIQUE +INDEX = 36 +MNEMO = 'DEFZON' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Declenche l''appel a def_zones, pour donner + un numero de zone a chaque point' +AIDE1 = 'Triggers the call to def_zones + to give a zone number to every point' + +NOM = 'METHODE D''IDENTIFICATION' +NOM1 = 'IDENTIFICATION METHOD' +TYPE = ENTIER +INDEX = 57 +MNEMO = 'OPTID' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '0="plan d''experience"'; +'1="gradient simple"'; +'2="gradient conj"'; +'3="interp. de Lagrange"' +CHOIX1 = '0="list of tests"'; +'1="gradient simple"'; +'2="conj gradient"'; +'3="Lagrange interp."' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '0 : plan d''experience 1 : gradient simple + 2 : gradient conj. 3 : interp. de Lagrange' +AIDE1 = '0 : list of tests 1: gradient + 2 : conj. gradient 3 : lagrange interp.' + +NOM = 'PERIODES D''ANALYSE DE FOURIER' +NOM1 = 'FOURIER ANALYSIS PERIODS' +TYPE = REEL +INDEX = 51 +MNEMO = 'PERIAF' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS, SOURCES' +RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' +NIVEAU = 1 +AIDE = 'Liste des periodes que l''on veut analyser' +AIDE1 = 'List of periods to be analysed' + +NOM = 'LISTE DE POINTS' +NOM1 = 'LIST OF POINTS' +TYPE = INTEGER +INDEX = 58 +MNEMO = 'LIST_PTS' +TAILLE = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Liste de points remarquables pour les impressions' +AIDE1= 'List of remarkable points for printouts' + +NOM = 'NOMS DES POINTS' +NOM1 = 'NAMES OF POINTS' +TYPE = CARACTERE +INDEX = 61 +MNEMO = 'NAME_PTS' +TAILLE = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Noms des points remarquables pour les impressions' +AIDE1= 'Names of remarkable points for printouts' + +NOM = 'FONCTION COUT' +NOM1 = 'COST FUNCTION' +TYPE = ENTIER +INDEX = 59 +MNEMO = 'OPTCOST' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '1 : calculee sur h, u , v 2 : calculee avec c, u , v' +AIDE1 = '1: computed with h, u , v 2: computed with c, u , v' + +NOM = 'MAXIMUM D''ITERATIONS POUR L''IDENTIFICATION' +NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR IDENTIFICATION' +TYPE = ENTIER +INDEX = 60 +MNEMO = 'MAXEST' +TAILLE = 0 +DEFAUT = 20 +DEFAUT1 = 20 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'chaque iteration comprend au moins un + calcul direct et un calcul adjoint' +AIDE1 = 'every iteration implies at least a direct and + an adjoint computation' + +NOM = 'PERIODE DE COUPLAGE POUR SISYPHE' +NOM1 = 'COUPLING PERIOD FOR SISYPHE' +TYPE = ENTIER +INDEX = 61 +MNEMO = 'PERCOU' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'pour eviter de faire le couplage a chaque pas de temps' +AIDE1 = 'to avoid coupling at every time-step' + +NOM = 'PRECISIONS POUR L''IDENTIFICATION' +NOM1 = 'TOLERANCES FOR IDENTIFICATION' +TYPE = REEL +INDEX = 52 +MNEMO = 'TOLEST' +TAILLE = 4 +DEFAUT = 1.E-3;1.E-3;1.E-3;1.E-4 +DEFAUT1 = 1.E-3;1.E-3;1.E-3;1.E-4 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '4 nombres : precision absolue sur H, U, V, + et precision relative sur la fonction cout' +AIDE1 = '4 numbers: absolute precision on H, U V, + and relative precision on the cost function' +/ +/ NOUVEAUTES 5.3 +/ +NOM = 'SCHEMA EN VOLUMES FINIS' +NOM1 = 'FINITE VOLUME SCHEME' +TYPE = ENTIER +INDEX = 62 +MNEMO = 'OPTVF' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '0="schema de Roe"'; +'1="schéma cinetique ordre 1"'; +'2="schéma cinetique ordre 2"' ; +'3="schéma Zokagoa ordre 1"'; +'4="schéma Tchamen ordre 1"'; +'5="schéma HLLC ordre 1"'; +'6="schéma WAF ordre 2"' +CHOIX1 = '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"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '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' +AIDE1 = '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' +/ +/ NOUVEAUTES 5.4 +/ +NOM = 'FICHIER DES PARAMETRES DE SISYPHE' +NOM1 = 'SISYPHE STEERING FILE' +TYPE = CARACTERE +INDEX = 62 +MNEMO = 'PAS DE MNEMO' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier des parametres de Sisyphe en cas de couplage interne' +AIDE1 = 'Sisyphe parameter file in case of internal coupling' +/ +/ NOUVEAUTES 5.5 +/ +NOM = 'DONNEES POUR LE FROTTEMENT' +NOM1 = 'FRICTION DATA' +TYPE = LOGIQUE +INDEX = 37 +MNEMO = 'FRICTB' +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'Lois de frottements definies par zone' +AIDE1 = 'Friction law defined by area' + +NOM = 'NOMBRE MAXIMUM DE DOMAINES DE FROTTEMENT' +NOM1 = 'MAXIMUM NUMBER OF FRICTION DOMAINS' +TYPE = INTEGER +INDEX = 63 +MNEMO = 'NZONMX' +DEFAUT = 10 +DEFAUT1 = 10 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'nombre maximal de zones pouvant etre definies pour le +frottement. Peut etre augmente si necessaire' +AIDE1 = 'maximal number of zones defined for the friction. +Could be increased if needed' + +NOM = 'FICHIER DE DONNEES POUR LE FROTTEMENT' +NOM1 = 'FRICTION DATA FILE' +TYPE = CARACTERE +INDEX = 63 +MNEMO = 'T2D_FILES(T2DCOF)%NAME' +SUBMIT = 'T2DCOF-READ-35;T2DCOF;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'fichier de donnees pour le frottement' +AIDE1 = 'friction data file' + +NOM = 'VALEUR PAR DEFAUT DU MANNING POUR LA LOI DE COLEBROOK-WHITE' +NOM1 = 'MANNING DEFAULT VALUE FOR COLEBROOK-WHITE LAW' +TYPE = REEL +INDEX = 53 +MNEMO = 'NDEF' +DEFAUT = 0.02 +DEFAUT1 = 0.02 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'valeur par defaut du manning pour la loi de frottement de +Colebrook-White (loi numero 7)' +AIDE1 = 'Manning default value for the friction law of Colebrook-White +(law number 7)' + +NOM = 'FROTTEMENT POUR LA VEGETATION NON SUBMERGEE' +NOM1 = 'NON-SUBMERGED VEGETATION FRICTION' +TYPE = LOGIQUE +INDEX = 38 +MNEMO = 'LINDNER' +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'calcul du frottement du a la vegetation non submergee' +AIDE1 = 'friction calculation of the non-submerged vegetation' + +NOM = 'DIAMETRE DES ELEMENTS DE FROTTEMENT' +NOM1 = 'DIAMETER OF ROUGHNESS ELEMENTS' +TYPE = REEL +INDEX = 54 +MNEMO = 'DP' +DEFAUT = 0.006 +DEFAUT1 = 0.006 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'diametre des elements de frottements' +AIDE1 = 'diameter of roughness element' + +NOM = 'ESPACEMENT DES ELEMENTS DE FROTTEMENT' +NOM1 = 'SPACING OF ROUGHNESS ELEMENTS' +TYPE = REEL +INDEX = 55 +MNEMO = 'SP' +DEFAUT = 0.14 +DEFAUT1 = 0.14 +NIVEAU = 1 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +AIDE = 'espacement des elements de frottement' +AIDE1 = 'spacing of rouhness element' + +NOM = 'IMPRESSION DU CUMUL DES FLUX' +NOM1 = 'PRINTING CUMULATED FLOWRATES' +TYPE = LOGIQUE +INDEX = 39 +MNEMO = 'CUMFLO' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +NIVEAU = 1 +AIDE = 'IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE' +AIDE1 = 'PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS' + +NOM = 'CALCUL COMPATIBLE DES FLUX' +NOM1 = 'COMPATIBLE COMPUTATION OF FLUXES' +TYPE = LOGIQUE +INDEX = 40 +MNEMO = 'COMFLU' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE +AVEC L''IMPERMEABILITE SOUS FORME FAIBLE' +AIDE1 = 'FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE +WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION' +/ +/ NOUVEAUTES 5.6 +/ +NOM = 'PROFONDEUR LIMITE POUR LE VENT' +NOM1 = 'THRESHOLD DEPTH FOR WIND' +TYPE = REEL +INDEX = 56 +MNEMO = 'HWIND' +DEFAUT = 1. +DEFAUT1 = 1. +NIVEAU = 1 +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +AIDE = 'Retire la force due au vent dans les petites profondeurs' +AIDE1 = 'Wind is not taken into account for small depths' +/ +NOM = 'SEUIL POUR LES PROFONDEURS NEGATIVES' +NOM1 = 'THRESHOLD FOR NEGATIVE DEPTHS' +TYPE = REEL +INDEX = 57 +MNEMO = 'HNEG' +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'CONSTANTES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL CONSTANTS' +NIVEAU = 1 +AIDE = 'En dessous du seuil, les hauteurs negatives sont lissees' +AIDE1 = 'Below the threshold the negative depths are smoothed' +/ +/ FOR COMPATIBILITY WITH TELEMAC-3D +/ SEE TREATMENT IN LECDON_TELEMAC2D +/ +NOM = 'PERIODE POUR LES SORTIES LISTING' +NOM1 = 'LISTING PRINTOUT PERIOD' +TYPE = INTEGER +INDEX = 64 +MNEMO = 'LISPRD' +DEFAUT = 1 +DEFAUT1 = 1 +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +AIDE = 'Determine la periode en nombre de pas de temps d''impression +des ''VARIABLES A IMPRIMER'' (voir ce mot-cle) Pour la mise au point, +il faut savoir que la sortie des resultats est effectuee +systematiquement sur le fichier de retour d''execution du code +(actuellement accessible par le menu 3.f de SPF sur IBM, et dans +le fichier !CAS.SORTIE sur station de travail)' +AIDE1 = 'Determines, in number of time steps, the printout period of +the VARIABLES TO BE PRINTED +The results are systematically printed out on the listing file +(file CAS.SORTIE at the workstation).' +/ +/ +NOM = 'COORDONNEES DE L''ORIGINE' +NOM1 = 'ORIGIN COORDINATES' +TYPE = ENTIER +INDEX = 65 +MNEMO = 'I_ORIG,J_ORIG' +TAILLE = 2 +DEFAUT = 0;0 +DEFAUT1 = 0;0 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' +NIVEAU = 2 +AIDE = 'Valeur en metres, utilise pour eviter les trops grands nombres, transmis +dans le format Selafin mais pas d''autre traitement pour l''instant' +AIDE1 = 'Value in metres, used to avoid large real numbers, +added in Selafin format, but so far no other treatment' +/ +/ NOUVEAUTES 5.7 +/ +NOM = 'PERIODE DE SORTIE POUR DELWAQ' +NOM1 = 'DELWAQ PRINTOUT PERIOD' +TYPE = ENTIER +INDEX = 66 +MNEMO = 'WAQPRD' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' +NIVEAU = 2 +AIDE = 'Periode de sortie des resultats pour Delwaq' +AIDE1 = 'Printout period for Delwaq file' +/ +NOM = 'FICHIER DELWAQ DES VOLUMES' +NOM1 = 'VOLUMES DELWAQ FILE' +TYPE = CARACTERE +INDEX = 64 +MNEMO = 'T2D_FILES(T2DSOU)%NAME' +SUBMIT = 'T2DDL1-WRITE-36;T2DDL1;FACUL;BIN;ECR;DELWAQPTS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DES SURFACES DE FLUX' +NOM1 = 'EXCHANGE AREAS DELWAQ FILE' +TYPE = CARACTERE +INDEX = 65 +MNEMO = 'T2D_FILES(T2DDL2)%NAME' +SUBMIT = 'T2DDL2-WRITE-37;T2DDL2;FACUL;BIN;ECR;DELWAQSEG' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DES FLUX VERTICAUX' +NOM1 = 'VERTICAL FLUXES DELWAQ FILE' +TYPE = CARACTERE +INDEX = 66 +MNEMO = 'T2D_FILES(T2DDL3)%NAME' +SUBMIT = 'T2DDL3-WRITE-38;T2DDL3;FACUL;BIN;ECR;DELWAQSEG' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DE LA SALINITE' +NOM1 = 'SALINITY DELWAQ FILE' +TYPE = CARACTERE +INDEX = 67 +MNEMO = 'T2D_FILES(T2DDL4)%NAME' +SUBMIT = 'T2DDL4-WRITE-39;T2DDL4;FACUL;BIN;ECR;DELWAQPTS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DES SURFACES DU FOND' +NOM1 = 'BOTTOM SURFACES DELWAQ FILE' +TYPE = CARACTERE +INDEX = 68 +MNEMO = 'T2D_FILES(T2DDL5)%NAME' +SUBMIT = 'T2DDL5-WRITE-40;T2DDL5;FACUL;BIN;ECR;DELWAQMET' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DES ECHANGES ENTRE NOEUDS' +NOM1 = 'EXCHANGES BETWEEN NODES DELWAQ FILE' +TYPE = CARACTERE +INDEX = 69 +MNEMO = 'T2D_FILES(T2DDL6)%NAME' +SUBMIT = 'T2DDL6-WRITE-41;T2DDL6;FACUL;BIN;ECR;DELWAQMET' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DES DISTANCES ENTRE NOEUDS' +NOM1 = 'NODES DISTANCES DELWAQ FILE' +TYPE = CARACTERE +INDEX = 70 +MNEMO = 'T2D_FILES(T2DDL7)%NAME' +SUBMIT = 'T2DDL7-WRITE-42;T2DDL7;FACUL;BIN;ECR;DELWAQMET' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DE LA TEMPERATURE' +NOM1 = 'TEMPERATURE DELWAQ FILE' +TYPE = CARACTERE +INDEX = 72 +MNEMO = 'T2D_FILES(T2DDL8)%NAME' +SUBMIT = 'T2DDL8-WRITE-43;T2DDL8;FACUL;BIN;ECR;DELWAQPTS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DE LA VITESSE' +NOM1 = 'VELOCITY DELWAQ FILE' +TYPE = CARACTERE +INDEX = 76 +MNEMO = 'T2D_FILES(T2DDL9)%NAME' +SUBMIT = 'T2DDL9-WRITE-33;T2DDL9;FACUL;BIN;ECR;DELWAQPTS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DELWAQ DE LA DIFFUSION' +NOM1 = 'DIFFUSIVITY DELWAQ FILE' +TYPE = CARACTERE +INDEX = 77 +MNEMO = 'T2D_FILES(T2DL10)%NAME' +SUBMIT = 'T2DL10-WRITE-34;T2DL10;FACUL;BIN;ECR;DELWAQPTS' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'FICHIER DE COMMANDE DELWAQ' +NOM1 = 'DELWAQ STEERING FILE' +TYPE = CARACTERE +INDEX = 71 +MNEMO = 'T2D_FILES(T2DL11)%NAME' +SUBMIT = 'T2DL11-WRITE-44;T2DL11;FACUL;ASC;ECR;DELWAQHYD' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier de resultats pour le couplage avec Delwaq' +AIDE1 = 'Results file for coupling with Delwaq' +/ +NOM = 'COMPATIBILITE DU GRADIENT DE SURFACE LIBRE' +NOM1 = 'FREE SURFACE GRADIENT COMPATIBILITY' +TYPE = REEL +INDEX = 58 +MNEMO = 'TETAZCOMP' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1= 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 1 +AIDE = 'Des valeurs inferieures a 1 suppriment les oscillations +parasites' +AIDE1 = 'Values less than 1 suppress spurious oscillations' +/ +NOM = 'BORNES EN TEMPS POUR L''ANALYSE DE FOURIER' +NOM1 = 'TIME RANGE FOR FOURIER ANALYSIS' +TYPE = REEL +INDEX = 59 +MNEMO = 'TAFBGN,TAFEND' +TAILLE = 2 +DEFAUT = 0.;0. +DEFAUT1= 0.;0. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 1 +AIDE = 'Pour le calcul du marnage et de la phase de la maree' +AIDE1 = 'For computing tidal range and phase of tide' +/ +/ NOUVEAUTES 5.8 (SAUF DEUX FICHIERS POUR DELWAQ MIS CI-DESSUS) +/ +NOM = 'NOMBRE DE TRACEURS' +NOM1 = 'NUMBER OF TRACERS' +TYPE = ENTIER +INDEX = 67 +MNEMO = 'NTRAC' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'EQUATIONS, TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER' +NIVEAU = 1 +/COMPORT = 'Affichage ("EQUATIONS*TRACEUR*OPTIONS TRACEUR") +/IS VALEUR ()'; +/'Foreground ("EQUATIONS*TRACEUR") IS VALEUR (brown)' +AIDE = 'Definit le nombre de traceurs.' +AIDE1 = 'Defines the number of tracers' +/ +NOM = 'NOMS DES TRACEURS' +NOM1 = 'NAMES OF TRACERS' +TYPE = CARACTERE +INDEX = 74 +MNEMO = 'NAMETRAC' +TAILLE = 2 +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +COMPORT = +'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") +IS BRUT (red)' +AIDE = 'Noms des traceurs en 32 caracteres, 16 pour le nom + 16 pour l''unite' +AIDE1 = 'Name of tracers in 32 characters, 16 for the name, + 16 for the unit.' +/ +NOM = 'SALINITE POUR DELWAQ' +NOM1 = 'SALINITY FOR DELWAQ' +TYPE = LOGIQUE +INDEX = 41 +MNEMO = 'SALI_DEL' +DEFAUT = NON +DEFAUT1 = NO +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +AIDE = 'Decide de la sortie de la salinite pour Delwaq' +AIDE1 = 'Triggers output of salinity for Delwaq' +/ +NOM = 'TEMPERATURE POUR DELWAQ' +NOM1 = 'TEMPERATURE FOR DELWAQ' +TYPE = LOGIQUE +INDEX = 42 +MNEMO = 'TEMP_DEL' +DEFAUT = NON +DEFAUT1 = NO +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +AIDE = 'Decide de la sortie de la temperature pour Delwaq' +AIDE1 = 'Triggers output of temperature for Delwaq' +/ +NOM = 'VITESSE POUR DELWAQ' +NOM1 = 'VELOCITY FOR DELWAQ' +TYPE = LOGIQUE +INDEX = 43 +MNEMO = 'VELO_DEL' +DEFAUT = NON +DEFAUT1 = NO +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +AIDE = 'Decide de la sortie de la vitesse pour Delwaq' +AIDE1 = 'Triggers output of velocity for Delwaq' +/ +NOM = 'DIFFUSION POUR DELWAQ' +NOM1 = 'DIFFUSIVITY FOR DELWAQ' +TYPE = LOGIQUE +INDEX = 44 +MNEMO = 'DIFF_DEL' +DEFAUT = NON +DEFAUT1 = NO +NIVEAU = 1 +RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' +RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' +AIDE = 'Decide de la sortie du coefficient de diffusion pour Delwaq' +AIDE1 = 'Triggers output of diffusion for Delwaq' +/ +/ NOUVEAUTES 5.9 +/ +NOM = 'COURBES DE TARAGE' +NOM1 = 'STAGE-DISCHARGE CURVES' +TYPE = ENTIER +INDEX = 68 +MNEMO = 'STA_DIS_CURVES' +TAILLE = 2 +CHOIX = '0="non"';'1="Z(Q)"';'non programme 2="Q(Z)"' +CHOIX1 = '0="no"';'1="Z(Q)"';'not programmed 2="Q(Z)"' +RUBRIQUE = 'CONDITIONS LIMITES' +RUBRIQUE1 = 'BOUNDARY CONDITIONS' +NIVEAU = 1 +AIDE = 'Indique si une courbe de tarage doit etre utilisee +pour une frontiere 0:non 1:Z(Q) 2: Q(Z) (2 non programme)' +AIDE1 = 'Says if a discharge-elevation curve must be used +for a given boundary :NO 1:Z(Q) 2: Q(Z) (2 not programmed)' +/ +NOM = 'FICHIER DES COURBES DE TARAGE' +NOM1 = 'STAGE-DISCHARGE CURVES FILE' +TYPE = CARACTERE +INDEX = 73 +MNEMO = 'T2D_FILES(T2DMAB)%NAME' +TAILLE = 0 +SUBMIT = 'T2DMAB-READ-11;T2DMAB;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +COMPORT = +'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") +IS VALEUR (red)' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +AIDE = 'Nom du fichier contenant les courbes de tarage' +AIDE1 = 'Name of the file containing stage-discharge curves' +/ +NOM = 'FICHIER DES SOURCES' +NOM1 = 'SOURCES FILE' +TYPE = CARACTERE +INDEX = 75 +MNEMO = 'T2D_FILES(T2DVEF)%NAME' +TAILLE = 0 +SUBMIT = 'T2DVEF-READ-10;T2DVEF;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +COMPORT = +'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") +IS VALEUR (red)' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +AIDE = 'Nom du fichier contenant les informations variables +en temps des sources' +AIDE1 = 'Name of the file containing time-dependent +information on sources' +/ +NOM = 'DEBUGGER' +NOM1 = 'DEBUGGER' +TYPE = INTEGER +INDEX = 69 +MNEMO = 'DEBUG' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE= 'Pour imprimer la sequence des appels, mettre 1' +AIDE1 = 'If 1, calls of subroutines will be printed in the listing' +/ +NOM = 'TRAITEMENT DES HAUTEURS NEGATIVES' +NOM1 = 'TREATMENT OF NEGATIVE DEPTHS' +TYPE = INTEGER +INDEX = 70 +MNEMO = 'OPT_HNEG' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE= 'Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1 + 0 : pas de traitement 1 : lissage 2 : limitation des flux' +AIDE1 = 'Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1 + 0: no treatment 1:smoothing 2:flux control' +/ +NOM = 'FORMAT DU FICHIER DE REFERENCE' +NOM1 = 'REFERENCE FILE FORMAT' +TYPE = CARACTERE +INDEX = 78 +MNEMO = '?????' +DEFAUT = 'SERAFIN ' +DEFAUT1 = 'SERAFIN ' +CHOIX = 'SERAFIN ';'SERAFIND';'MED ' +CHOIX1 = 'SERAFIN ';'SERAFIND';'MED ' +NIVEAU = 2 +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES' +AIDE = 'Format du fichier de resultats du calcul precedent. +Les valeurs possibles sont : +- SERAFIN : format standard simple precision pour Telemac; +- SERAFIND: format standard double precision pour Telemac; +- MED : format MED base sur HDF5' +AIDE1 = 'Previous computation results file format. +Possible values are: +- SERAFIN : classical single precision format in Telemac; +- SERAFIND: classical double precision format in Telemac; +- MED : MED format based on HDF5' +/ +/ NOUVEAUTES 6.0 +/ +NOM = 'HAUTEUR DANS LES TERMES DE FROTTEMENT' +NOM1 = 'DEPTH IN FRICTION TERMS' +TYPE = ENTIER +INDEX = 71 +MNEMO = 'HFROT' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="nodale"';'2="moyenne"' +CHOIX1 = '1="nodal"';'2="average"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = '1 : nodale 2 : moyenne' +AIDE1 = '1: nodal 2: average' +/ +// jaj #### added +/ +NOM = 'FICHIER DES SECTIONS DE CONTROLE' +NOM1 = 'SECTIONS INPUT FILE' +TYPE = CARACTERE +INDEX = 79 +MNEMO = 'T2D_FILES%ADR(T2DSEC)' +SUBMIT = 'NSCS-READ-45;T2DSEC;FACUL;ASC;LIT;SECTION' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +AIDE = 'sections input file, partitioned' +AIDE1 = 'sections input file, partitioned' + +NOM = 'FICHIER DE SORTIE DES SECTIONS DE CONTROLE' +NOM1 = 'SECTIONS OUTPUT FILE' +TYPE = CARACTERE +INDEX = 80 +MNEMO = 'T2D_FILES%ADR(T2DSEO)' +SUBMIT = 'NSEO-WRITE-46;T2DSEO;FACUL;ASC;ECR;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'sections output file, written by the master' +AIDE1 = 'sections output file, written by the master' +/ +// end of jaj #### added +/ +NOM = 'FICHIER DE COMMANDES HYDROCARBURES' +NOM1 = 'OILSPILL STEERING FILE' +TYPE = CARACTERE +INDEX = 81 +MNEMO = 'T2D_FILES(T2DMIG)' +SUBMIT = 'NMIG-READ-47;T2DMIG;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Contient les donnees pour le modele de derive de nappes' +AIDE1 = 'Contains data for the oil spill model' + +NOM = 'MODELE DE NAPPES D''HYDROCARBURES' +NOM1 = 'OIL SPILL MODEL' +TYPE = LOGIQUE +INDEX = 45 +MNEMO = 'SPILL_MODEL' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' +NIVEAU = 1 +AIDE = 'POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS +CE CAS LE FICHIER DE COMMANDES MIGRHYCAR EST NECESSAIRE' +AIDE1 = 'WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE +THE MIGRHYCAR STEERING FILE IS NEEDED' +/ +/ VERSION 6.1 +/ +NOM = 'LOI DE FROTTEMENT SUR LES PAROIS LATERALES' +NOM1 = 'LAW OF FRICTION ON LATERAL BOUNDARIES' +TYPE = ENTIER +INDEX = 72 +MNEMO = 'KFROTL' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +CHOIX = '0="PAS DE FROTTEMENT"'; +'1="HAALAND"'; +'2="CHEZY"'; +'3="STRICKLER"'; +'4="MANNING"'; +'5="NIKURADSE"'; +'6="LOG LAW"'; +'7="COLEBROOK-WHITE"' +CHOIX1 = '0="NO FRICTION"'; +'1="HAALAND"'; +'2="CHEZY"'; +'3="STRICKLER"'; +'4="MANNING"'; +'5="NIKURADSE"'; +'6="LOG LAW"'; +'7="COLEBROOK-WHITE"' +RUBRIQUE = 'EQUATIONS';'FROTTEMENT' +RUBRIQUE1 = 'EQUATIONS';'FRICTION' +NIVEAU = 1 +AIDE = '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' +AIDE1 = '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: NIKURADSE''s formula +6 : law log +7 : Colebrook-White' + +NOM = 'FICHIER DES PARAMETRES DE TOMAWAC' +NOM1 = 'TOMAWAC STEERING FILE' +TYPE = CARACTERE +INDEX = 82 +MNEMO = 'PAS DE MNEMO' +DEFAUT = ' ' +DEFAUT1 = ' ' +NIVEAU = 1 +APPARENCE = 'LISTE IS FICHIER' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +AIDE = 'Fichier des parametres de Tomawac en cas de couplage interne' +AIDE1 = 'Tomawac parameter file in case of internal coupling' + +NOM = 'PERIODE DE COUPLAGE POUR TOMAWAC' +NOM1 = 'COUPLING PERIOD FOR TOMAWAC' +TYPE = ENTIER +INDEX = 73 +MNEMO = 'PERCOU_WAC' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'pour eviter de faire le couplage a chaque pas de temps' +AIDE1 = 'to avoid coupling at every time-step' + +NOM = 'COEFFICIENT D''INTEGRATION EN TEMPS DE NEWMARK' +NOM1 = 'NEWMARK TIME INTEGRATION COEFFICIENT' +TYPE = REEL +INDEX = 60 +MNEMO = 'GAMMA' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1= 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' +NIVEAU = 1 +AIDE = '1. : Euler explicite 0.5 : ordre 2 en temps' +AIDE1 = '1. : Euler explicit 0.5 : order 2 in time' + +NOM = 'TRAITEMENT DES FLUX AUX FRONTIERES' +NOM1 = 'TREATMENT OF FLUXES AT THE BOUNDARIES' +TYPE = INTEGER +INDEX = 74 +MNEMO = 'DIRFLU' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1= 1 +CHOIX='1="Priorite aux valeurs imposees"';'2="Priorite aux flux"' +CHOIX1='1="Priority to prescribed values"';'2="Priority to fluxes"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouve +pas exactement les valeurs imposees des traceurs, +mais le flux est correct' +AIDE1= 'Used so far only with the SUPG, PSI and N schemes. +With option 2, Dirichlet prescribed values are not obeyed, +but the fluxes are correct' + +NOM = 'OPTION POUR LES CONDITIONS AUX LIMITES DE MAREE' +NOM1 = 'OPTION FOR TIDAL BOUNDARY CONDITIONS' +TYPE = INTEGER +INDEX = 75 +MNEMO = 'TIDALTYPE' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1= 0 +CHOIX= +'0="Pas de maree"'; +'1="Maree reelle (methodologie recommandee)"'; +'2="Maree de vive-eau exceptionnelle (coef. presque 120)"'; +'3="Maree de vive-eau moyenne (coef. presque 95)"'; +'4="Maree moyenne (coef. presque 70)"'; +'5="Maree de morte-eau moyenne (coef. presque 45)"'; +'6="Maree de morte-eau exceptionnelle (coef. presque 20)"'; +'7="Maree reelle (methodologie d avant 2010)"' +CHOIX1= +'0="No tide"'; +'1="Real tide (recommended methodology)"'; +'2="Astronomical tide"'; +'3="Mean spring tide"'; +'4="Mean tide"'; +'5="Mean neap tide"'; +'6="Astronomical neap tide"'; +'7="Real tide (methodology before 2010)"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Option pour les conditions aux limites de maree. +Pour des marees reelles, l option 1 est recommandee. +Calage possible par les mots-cles COEFFICIENT POUR CALAGE EN MARNAGE +et COEFFICIENT POUR CALAGE EN NIVEAU.' +AIDE1= 'Option for tidal boundary conditions. +For real tides, option 1 is recommended. +Possible calibration with keywords COEFFICIENT TO ADJUST TIDAL RANGE +and COEFFICIENT TO ADJUST SEA LEVEL.' + +NOM = 'FICHIER DES CONSTANTES HARMONIQUES' +NOM1 = 'HARMONIC CONSTANTS FILE' +TYPE = CARACTERE +INDEX = 83 +MNEMO = 'T2D_FILES(T2DHAR)' +SUBMIT = 'NHAR-READWRITE-13;T2DHAR;FACUL;ASC;ECRLIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Constantes harmoniques extraites du fichier du modele de maree' +AIDE1 = 'Harmonic constants extracted from the tidalmodel file' + +NOM = 'FICHIER DU MODELE DE MAREE' +NOM1 = 'TIDAL MODEL FILE' +TYPE = CARACTERE +INDEX = 84 +MNEMO = 'T2D_FILES(T2DTID)' +SUBMIT = 'NTID-READ-14;T2DTID;FACUL;BIN;LIT;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de geometrie du modele dont sont extraites +les constantes harmoniques' +AIDE1 = 'Geometry file of the model from which harmonic constituents +are extracted' + +NOM = 'BASE ASCII DE DONNEES DE MAREE' +NOM1 = 'ASCII DATABASE FOR TIDE' +TYPE = CARACTERE +INDEX = 85 +MNEMO = 'T2D_FILES(T2DBDD)' +SUBMIT = 'NBDD-READ-15;T2DBDD;FACUL;ASC;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Base de donnees de constantes harmoniques +tirees du fichier du modele de maree. +Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE' +AIDE1 = 'Tide data base of harmonic constituents +extracted from the tidal model file. +Old name in 6.1 version: TIDE DATA BASE' +/ +/ VERSION 6.2 +/ +NOM = 'PLUIE OU EVAPORATION' +NOM1 = 'RAIN OR EVAPORATION' +TYPE = LOGIQUE +INDEX = 19 +MNEMO = 'RAIN' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Pour ajouter un apport ou une perte d''eau en surface. +Voir le mot-cle PLUIE OU EVAPORATION EN MM PAR JOUR' +AIDE1 = 'to add or remove water at the free surface. See the key-word +RAIN OR EVAPORATION IN MM PER DAY' +/ +NOM = 'PLUIE OU EVAPORATION EN MM PAR JOUR' +NOM1 = 'RAIN OR EVAPORATION IN MM PER DAY' +TYPE = REAL +INDEX = 61 +MNEMO = 'RAIN_MMPD' +TAILLE = 0 +DEFAUT = 0.D0 +DEFAUT1 = 0.D0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Pour ajouter un apport ou une perte d''eau en surface' +AIDE1 = 'to add or remove water at the free surface' +/ +NOM = 'BASE BINAIRE 1 DE DONNEES DE MAREE' +NOM1 = 'BINARY DATABASE 1 FOR TIDE' +TYPE = CARACTERE +INDEX = 86 +MNEMO = 'T2D_FILES(T2DBB1)' +SUBMIT = 'NBB1-READ-16;T2DBB1;FACUL;BIN;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Base de donnees binaire 1 tiree du fichier du modele de maree. + Dans le cas des donnees satellitaires de TPXO, ce fichier correspond + aux donnees de niveau d''eau, par exemple h_tpxo7.2' +AIDE1 = 'Binary database 1 extracted from the tidal model file. + In the case of the TPXO satellite altimetry model, this file should + be for free surface level, for instance h_tpxo7.2' + +NOM = 'BASE BINAIRE 2 DE DONNEES DE MAREE' +NOM1 = 'BINARY DATABASE 2 FOR TIDE' +TYPE = CARACTERE +INDEX = 87 +MNEMO = 'T2D_FILES(T2DBB2)' +SUBMIT = 'NBB2-READ-17;T2DBB2;FACUL;BIN;LIT;PARAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Base de donnees binaire 2 tiree du fichier du modele de maree. + Dans le cas des donnees satellitaires de TPXO, ce fichier correspond + aux donnees de vitesse de marrees, par exemple u_tpxo7.2' +AIDE1 = 'Binary database 2 extracted from the tidal model file. + In the case of the TPXO satellite altimetry model, this file should + be for tidal velocities, for instance u_tpxo7.2' + +NOM = 'OPTION POUR LA GENERATION DE TSUNAMI' +NOM1 = 'OPTION FOR TSUNAMI GENERATION' +TYPE = INTEGER +INDEX = 76 +MNEMO = 'OPTTSUNAMI' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1= 0 +CHOIX= +'0="Pas de Tsunami"'; +'1="Generation d''un Tsunami sur la base du modele de Okada 1992"' +CHOIX1= +'0="No Tsunami"'; +'1="Tsunami generated on the basis of the Okada model 1992"' +RUBRIQUE = 'PARAMETRES PHYSIQUES, CONDITIONS INITIALES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS, INITIAL CONDITIONS' +NIVEAU = 1 +AIDE = '' +/'Option pour la generation de Tsunami. +/Pour l''instant, seul de modele de Okada est programme. +/Les parametres physiques du modele chosit sont definis avec +/PARAMETRES PHYSIQUES DU TSUNAMI.' +AIDE1= '' +/'Option for the generation of Tsunami. +/Only the Okada model 1992 is programmed. +/The physical characteristics of the chosen Tsunami are set in +/PHYSICAL CHARACTERISTICS OF THE TSUNAMI.' + +NOM = 'PARAMETRES PHYSIQUES DU TSUNAMI' +NOM1 = 'PHYSICAL CHARACTERISTICS OF THE TSUNAMI' +TYPE = REEL +INDEX = 62 +MNEMO = 'COETSUNAMI' +TAILLE = 10 +DEFAUT = 100.;210000.;75000.;13.6;81.;41.;110.;0.;0.;3. +DEFAUT1= 100.;210000.;75000.;13.6;81.;41.;110.;0.;0.;3. +RUBRIQUE = 'PARAMETRES PHYSIQUES, CONDITIONS INITIALES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS, INITIAL CONDITIONS' +NIVEAU = 1 +AIDE = '' +/'Parametres physiques du modele de generation de tsunami' +AIDE1 = '' +/'Physical characteristics of the chosen Tsunami model: +/ - the focal depth (HH), +/ - the fault length (L), +/ - the fault width (W) +/ - the dislocation (D), +/ - the strike direction (TH), +/ - the dip angle (DL), +/ - the slip (RD), +/ - the epicentre latitude (Y0) and +/ - the epicentre longitude (X0) +/ - the ellipse ( WxL ) area of influence' + +NOM = 'VALEURS DES TRACEURS DANS LA PLUIE' +NOM1 = 'VALUES OF TRACERS IN THE RAIN' +TYPE = REEL +INDEX = 63 +MNEMO = 'TRAIN' +TAILLE = 2 +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = '' +AIDE1 = '' + +NOM = 'NOMBRE DE BUSES' +NOM1 = 'NUMBER OF TUBES' +TYPE = ENTIER +INDEX = 6 +MNEMO = 'NBUSE' +CONTROLE = 0; 100 +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 2 +AIDE = '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)' +AIDE1 = '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)' + +NOM = 'FICHIER DE DONNEES DES SEUILS' +NOM1 = 'WEIRS DATA FILE' +TYPE = CARACTERE +INDEX = 88 +MNEMO = 'T2D_FILES(T2DSEU)%NAME' +SUBMIT = 'T2DSEU-READ-18;T2DSEU;FACUL;ASC;LIT;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de description des seuils presents dans le modele' +AIDE1 = 'Description of weirs existing in the model' + +NOM = 'FICHIER DE DONNEES DES SIPHONS' +NOM1 = 'CULVERT DATA FILE' +TYPE = CARACTERE +INDEX = 89 +MNEMO = 'T2D_FILES(T2DSIP)%NAME' +SUBMIT = 'T2DSIP-READ-19;T2DSIP;FACUL;ASC;LIT;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de description des siphons presents dans le modele' +AIDE1 = 'Description of culvert existing in the model' + +NOM = 'FICHIER DE DONNEES DES BUSES' +NOM1 = 'TUBES DATA FILE' +TYPE = CARACTERE +INDEX = 90 +MNEMO = 'T2D_FILES(T2DBUS)%NAME' +SUBMIT = 'T2DBUS-READ-20;T2DBUS;FACUL;ASC;LIT;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de description des buses/ponts presents dans le modele' +AIDE1 = 'Description of tubes/bridges existing in the model' + +NOM = 'COEFFICIENT DE CALAGE DU MARNAGE' +NOM1 = 'COEFFICIENT TO CALIBRATE TIDAL RANGE' +TYPE = REEL +INDEX = 64 +MNEMO = 'CTIDE' +TAILLE = 0 +DEFAUT = 1. +DEFAUT1 = 1. +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Coefficient pour ajuster le marnage de l''onde de maree +aux frontieres maritimes' +AIDE1 = 'Coefficient to calibrate the tidal range of tidal wave +at tidal open boundary conditions' + +NOM = 'COEFFICIENT DE CALAGE DES VITESSES DE COURANT' +NOM1 = 'COEFFICIENT TO CALIBRATE TIDAL VELOCITIES' +TYPE = REEL +INDEX = 65 +MNEMO = 'CTIDEV' +TAILLE = 0 +DEFAUT = 999999. +DEFAUT1 = 999999. +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Coefficient pour ajuster les composantes de vitesse +de l''onde de maree aux frontieres maritimes. +La valeur par defaut 999999. signifie que c''est la racine carree +du COEFFICIENT DE CALAGE DU MARNAGE qui est prise' +AIDE1 = 'Coefficient to calibrate the tidal velocities of tidal wave +at tidal open boundary conditions. +Default value 999999. means that the square root of +COEFFICIENT TO CALIBRATE TIDAL RANGE is taken' + +NOM = 'COEFFICIENT DE CALAGE DU NIVEAU DE MER' +NOM1 = 'COEFFICIENT TO CALIBRATE SEA LEVEL' +TYPE = REEL +INDEX = 66 +MNEMO = 'MSL' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Coefficient pour ajuster le niveau de mer' +AIDE1 = 'Coefficient to calibrate the sea level' + +NOM = 'BASE DE DONNEES DE MAREE' +NOM1 = 'TIDAL DATA BASE' +TYPE = ENTIER +INDEX = 77 +MNEMO = 'TIDALDB' +TAILLE = 0 +DEFAUT = -1 +DEFAUT1 = -1 +CHOIX= +'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LA BASE PARMI LES CHOIX POSSIBLES"'; +'1="JMJ"'; +'2="TPXO"'; +'3="LEGOS-NEA"'; +'4="FES2004"' +CHOIX1= +'-1="NO DEFAULT VALUE. CHOOSE THE BASE AMONG THE POSSIBLE CHOICES"'; +'1="JMJ"'; +'2="TPXO"'; +'3="LEGOS-NEA"'; +'4="FES2004"' +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin +dans les mots-cles BASE DE DONNEES DE MAREE et FICHIER DU MODELE DE MAREE. +Pour TPXO et LEGOS-NEA, l''utilisateur doit telecharger +les fichiers de constantes harmoniques sur internet. +Pour FES2004 : pas encore disponible' +AIDE1 = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords +TIDE DATA BASE and TIDAL MODEL FILE. +For TPXO and LEGOS-NEA, the user have to download +files of harmonic constituents on the internet. +For FES2004: not yet available' + +NOM = 'SYSTEME GEOGRAPHIQUE' +NOM1 = 'GEOGRAPHIC SYSTEM' +TYPE = ENTIER +INDEX = 78 +MNEMO = 'GEOSYST' +TAILLE = 0 +DEFAUT = -1 +DEFAUT1 = -1 +CHOIX= +'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LE SYSTEME PARMI LES CHOIX POSSIBLES"'; +'0="DEFINI PAR L''UTILISATEUR"'; +'1="WGS84 LONGITUDE/LATITUDE EN DEGRES REELS"'; +'2="WGS84 NORD UTM"'; +'3="WGS84 SUD UTM"'; +'4="LAMBERT"'; +'5="MERCATOR POUR TELEMAC"' +CHOIX1= +'-1="NO DEFAULT VALUE. CHOOSE THE SYSTEM AMONG THE POSSIBLE CHOICES"'; +'0="DEFINED BY USER"'; +'1="WGS84 LONGITUDE/LATITUDE IN REAL DEGREES"'; +'2="WGS84 NORTHERN UTM"'; +'3="WGS84 SOUTHERN UTM"'; +'4="LAMBERT"'; +'5="MERCATOR FOR TELEMAC"' +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Systeme de coordonnees geographiques dans lequel est construit +le modele numerique. +Indiquer la zone correspondante avec le mot-cle ' +AIDE1 = 'Geographic coordinates system in which the numerical model is built. +Indicate the corresponding zone with the keyword ' + +NOM = 'NUMERO DE FUSEAU OU PROJECTION DANS LE SYSTEME GEOGRAPHIQUE' +NOM1 = 'ZONE NUMBER IN GEOGRAPHIC SYSTEM' +TYPE = ENTIER +INDEX = 79 +MNEMO = 'NUMZONE' +TAILLE = 0 +DEFAUT = -1 +DEFAUT1 = -1 +CHOIX= +'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LE NUMERO PARMI LES CHOIX POSSIBLES"'; +'1="LAMBERT 1 NORD"'; +'2="LAMBERT 2 CENTRE"'; +'3="LAMBERT 3 SUD"'; +'4="LAMBERT 4 CORSE"'; +'22="LAMBERT 2 ETENDU"'; +'30="ZONE UTM, PAR EXEMPLE"' +CHOIX1= +'-1="NO DEFAULT VALUE. CHOOSE THE NUMBER AMONG THE POSSIBLE CHOICES"'; +'1="LAMBERT 1 NORTH"'; +'2="LAMBERT 2 CENTER"'; +'3="LAMBERT 3 SOUTH"'; +'4="LAMBERT 4 CORSICA"'; +'22="LAMBERT 2 EXTENDED"'; +'30="UTM ZONE, E.G."' +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Numero de zone (fuseau ou type de projection) +lors de l''utilisation d''une projection plane. +Indiquer le systeme geographique dans lequel est construit le modele numerique +avec le mot-cle SYSTEME GEOGRAPHIQUE' +AIDE1 = 'Number of zone when using a plane projection. +Indicate the geographic system in which the numerical model is built +with the keyword GEOGRAPHIC SYSTEM' + +NOM = 'INTERPOLATION DE COMPOSANTES MINEURES' +NOM1 = 'MINOR CONSTITUENTS INFERENCE' +TYPE = LOGIQUE +INDEX = 46 +MNEMO = 'INTMICON' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 1 +AIDE = 'Pour la base de donnees TPXO uniquement. +Interpolation de composantes harmoniques mineures +a partir de celles lues dans les fichiers d''entree +lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE +et BASE BINAIRE 2 DE DONNEES DE MAREE' +AIDE1 = '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' + +NOM = 'LOI DE DEGRADATION DES TRACEURS' +NOM1 = 'LAW OF TRACERS DEGRADATION' +TYPE = ENTIER +INDEX = 80 +MNEMO = 'LOITRAC' +TAILLE = 2 +DEFAUT = 0;0 +DEFAUT1 = 0;0 +CHOIX= +'0="PAS DE DEGRADATION"'; +'1="LOI EN F(T90)"' +CHOIX1= +'0="NO DEGRADATION"'; +'1="F(T90) LAW"' +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 1 +AIDE = 'Prise en compte d''une loi de decroissance des traceurs' +AIDE1 = 'Take in account a law for tracers decrease' + +NOM = 'COEFFICIENT 1 DE LA LOI DE DEGRADATION DES TRACEURS' +NOM1 = 'COEFFICIENT 1 FOR LAW OF TRACERS DEGRADATION' +TYPE = REAL +INDEX = 67 +MNEMO = 'COEF1TRAC' +TAILLE = 2 +RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' +RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' +NIVEAU = 1 +AIDE = 'Coefficient 1 de la loi de decroissance des traceurs' +AIDE1 = 'Coefficient 1 of law for tracers decrease' + +NOM = 'BRECHE' +NOM1 = 'BREACH' +TYPE = LOGIQUE +INDEX = 2 +MNEMO = 'BRECHE' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 1 +AIDE = '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.' +AIDE1 = '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.' + +NOM = 'FICHIER DE DONNEES DES BRECHES' +NOM1 = 'BREACHES DATA FILE' +TYPE = CARACTERE +INDEX = 91 +MNEMO = 'T2D_FILES(T2DBRC)%NAME' +SUBMIT = 'T2DBUS-READ-21;T2DBRC;FACUL;ASC;LIT;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de description des breches' +AIDE1 = 'Description of breaches' +/ +/ VERSION 6.3 +/ +NOM = 'FICHIER DES FLOTTEURS' +NOM1 = 'DROGUES FILE' +TYPE = CARACTERE +INDEX = 92 +MNEMO = 'T2D_FILES(T2DFLO)%NAME' +SUBMIT = 'T2DFLO-WRITE-09;T2DFLO;FACUL;ASC;ECR;SCAL' +DEFAUT = ' ' +DEFAUT1 = ' ' +RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' +RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' +NIVEAU = 1 +AIDE = 'Fichier de resultat avec les positions des flotteurs' +AIDE1 = 'Results file with positions of drogues' + +NOM = 'TYPE DE PROJECTION SPATIALE' +NOM1 = 'SPATIAL PROJECTION TYPE' +TYPE = ENTIER +INDEX = 81 +MNEMO = 'PROTYP' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="CARTESIEN, NON GEOREFERENCE"'; + '2="MERCATOR"'; + '3="LATITUDE LONGITUDE"' +CHOIX1 = '1="CARTESIAN, NOT GEOREFERENCED"'; + '2="MERCATOR"'; + '3="LATITUDE LONGITUDE"' +CONTROLE = 1 ; 3 +RUBRIQUE = 'EQUATIONS';'GENERAL' +RUBRIQUE1 = 'EQUATIONS';'GENERAL' +NIVEAU = 1 +AIDE = 'Option 2 ou 3 obligatoire pour les coordonnees spheriques' +AIDE1 = 'Option 2 or 3 mandatory for spherical coordinates' + +NOM = 'MODELE DE TRANSPORT DES ALGUES' +NOM1 = 'ALGAE TRANSPORT MODEL' +TYPE = LOGIQUE +INDEX = 47 +MNEMO = 'ALGAE' +TAILLE = 0 +DEFAUT = NON +DEFAUT1 = NO +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Si oui, les flotteurs seront des algues' +AIDE1 = 'If yes, the floats or particles will be algae' + +NOM = 'DIAMETRE DES ALGUES' +NOM1 = 'DIAMETRE OF ALGAE' +TYPE = REAL +INDEX = 68 +MNEMO = 'DALGAE' +TAILLE = 0 +DEFAUT = 0.1 +DEFAUT1 = 0.1 +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Diametre des algues en m' +AIDE1 = 'Diametre of algae in m' + +NOM = 'MASSE VOLUMIQUE DES ALGUES' +NOM1 = 'DENSITY OF ALGAE' +TYPE = REAL +INDEX = 69 +MNEMO = 'RALGAE' +TAILLE = 0 +DEFAUT = 1050. +DEFAUT1 = 1050. +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Masse volumique des algues en kg/m3' +AIDE1 = 'Density of algae in kg/m3' + +NOM = 'EPAISSEUR DES ALGUES' +NOM1 = 'THICKNESS OF ALGAE' +TYPE = REAL +INDEX = 70 +MNEMO = 'EALGAE' +TAILLE = 0 +DEFAUT = 0.01 +DEFAUT1 = 0.01 +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Epaisseur des algues en m' +AIDE1 = 'Thickness of algae in m' + +NOM = 'TYPE DES ALGUES' +NOM1 = 'ALGAE TYPE' +TYPE = ENTIER +INDEX = 82 +MNEMO = 'ALGTYP' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX = '1="SPHERE"'; + '2="IRIDAEA FLACCIDA (PROCHE DES ULVES)"'; + '3="PELVETIOPSIS LIMITATA"'; + '4="GIGARTINA LEPTORHYNCHOS"' +CHOIX1= '1="SPHERE"'; + '2="IRIDAEA FLACCIDA (CLOSE TO ULVA)"'; + '3="PELVETIOPSIS LIMITATA"'; + '4="GIGARTINA LEPTORHYNCHOS"' +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Type des algues. Pour le choix 1 les algues seront +modelisees comme des spheres, pour les autres choix voir Gaylord +et al. (1994).' +AIDE1 = 'Algae type. For choice 1 the algae particles will be +modeled as spheres, and for the other choices see Gaylord et +al. (1994)' + +NOM = 'OPTION POUR LES CARACTERISTIQUES' +NOM1 = 'OPTION FOR CHARACTERISTICS' +TYPE = ENTIER +INDEX = 83 +MNEMO = 'OPTCHA' +TAILLE = 0 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX='1="fortes"';'2="faibles"' +CHOIX1='1="strong"';'2="weak"' +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = '1: forme forte 2: forme faible' +AIDE1 = '1: strong form 2: weak form' + +NOM = 'MAXIMUM D''ITERATIONS POUR LES SCHEMAS DE CONVECTION' +NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES' +TYPE = ENTIER +INDEX = 84 +MNEMO = 'MAXADV' +TAILLE = 0 +DEFAUT = 10 +DEFAUT1 = 10 +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Seulement pour schemes 13 et 14' +AIDE1 = 'Only for schemes 13 and 14' + +NOM = 'MODELE DE DIFFUSION STOCHASTIQUE' +NOM1 = 'STOCHASTIC DIFFUSION MODEL' +TYPE = ENTIER +INDEX = 85 +MNEMO = 'STOCHA' +TAILLE = 0 +DEFAUT = 0 +DEFAUT1 = 0 +CHOIX='0="Pas de modele"';'1="??"';'2="??"' +CHOIX1='0="No model"';'1="??"';'2="??"' +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Pour les particules : flotteurs, algues, hydrocarbures' +AIDE1 = 'Meant for particles: drogues, algae, oil spills' + +NOM = 'NOMBRE DE POINTS DE GAUSS POUR LES CARACTERISTIQUES FAIBLES' +NOM1 = 'NUMBER OF GAUSS POINTS FOR WEAK CHARACTERISTICS' +TYPE = ENTIER +INDEX = 86 +MNEMO = 'NGAUSS' +TAILLE = 0 +DEFAUT = 3 +DEFAUT1 = 3 +CHOIX='1="1 point"';'3="3 points"';'6="6 points"' +CHOIX1='1="1 point"';'3="3 points"';'6="6 points"' +RUBRIQUE = 'PARAMETRES NUMERIQUES' +RUBRIQUE1 = 'NUMERICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Voir les release notes 6.3' +AIDE1 = 'See release notes 6.3' + +NOM = 'MASS-LUMPING POUR LES CARACTERISTIQUES FAIBLES' +NOM1 = 'MASS-LUMPING FOR WEAK CHARACTERISTICS' +TYPE = REAL +INDEX = 71 +MNEMO = 'AGGLOW' +TAILLE = 0 +DEFAUT = 0. +DEFAUT1 = 0. +RUBRIQUE = 'PARAMETRES PHYSIQUES' +RUBRIQUE1 = 'PHYSICAL PARAMETERS' +NIVEAU = 2 +AIDE = 'Applique a la matrice de masse' +AIDE1 = 'To be applied to the mass matrix' + +NOM = 'TYPE DES SEUILS' +NOM1 = 'TYPE OF WEIRS' +TYPE = ENTIER +INDEX = 87 +MNEMO = 'TYPSEUIL' +TAILLE = 1 +DEFAUT = 1 +DEFAUT1 = 1 +CHOIX= +'1="HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique avec bord)"'; +'2="GENERALE (Nouvelle solution avec pts sources)"' +CHOIX1= +'1="HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM (Historical solution with bord)"'; +'2="GENERAL (New solution with sources points)"' +RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' +RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' +NIVEAU = 1 +AIDE = 'Méthode de traitement des seuils' +AIDE1 = 'Method for treatment of weirs' + +/ +/ POUR LES LANCEURS PERL : +/ + +NOM = 'LISTE DES FICHIERS' +NOM1 = 'LIST OF FILES' +TYPE = CARACTERE +INDEX = 99 +MNEMO = '' +TAILLE = 43 +DEFAUT = 'FICHIER DES PARAMETRES'; + 'DICTIONNAIRE'; + 'FICHIER FORTRAN'; + 'FICHIER DE GEOMETRIE'; + 'FICHIER DES CONDITIONS AUX LIMITES'; + 'FICHIER DES RESULTATS'; + 'FICHIER DU CALCUL PRECEDENT'; + 'FICHIER DES FONDS'; + 'FICHIER DE DONNEES BINAIRE 1'; + 'FICHIER DE DONNEES BINAIRE 2'; + 'FICHIER DE DONNEES FORMATE 1'; + 'FICHIER DE DONNEES FORMATE 2'; + 'FICHIER DE RESULTATS BINAIRE'; + 'FICHIER DE RESULTATS FORMATE'; + 'FICHIER DE REFERENCE'; + 'FICHIER DES FRONTIERES LIQUIDES'; + 'FICHIER DE DONNEES POUR LE FROTTEMENT'; + 'FICHIER DELWAQ DES VOLUMES'; + 'FICHIER DELWAQ DES SURFACES DE FLUX'; + 'FICHIER DELWAQ DES FLUX VERTICAUX'; + 'FICHIER DELWAQ DE LA SALINITE'; + 'FICHIER DELWAQ DES SURFACES DU FOND'; + 'FICHIER DELWAQ DES ECHANGES ENTRE NOEUDS'; + 'FICHIER DELWAQ DES DISTANCES ENTRE NOEUDS'; + 'FICHIER DELWAQ DE LA TEMPERATURE'; + 'FICHIER DELWAQ DE LA VITESSE'; + 'FICHIER DELWAQ DE LA DIFFUSION'; + 'FICHIER DE COMMANDE DELWAQ'; + 'FICHIER DES COURBES DE TARAGE'; + 'FICHIER DES SOURCES'; + 'FICHIER DES SECTIONS DE CONTROLE'; + 'FICHIER DE SORTIE DES SECTIONS DE CONTROLE'; + 'FICHIER DE COMMANDES HYDROCARBURES'; + 'FICHIER DES CONSTANTES HARMONIQUES'; + 'FICHIER DU MODELE DE MAREE'; + 'BASE ASCII DE DONNEES DE MAREE'; + 'BASE BINAIRE 1 DE DONNEES DE MAREE'; + 'BASE BINAIRE 2 DE DONNEES DE MAREE'; + 'FICHIER DE DONNEES DES SEUILS'; + 'FICHIER DE DONNEES DES SIPHONS'; + 'FICHIER DE DONNEES DES BUSES'; + 'FICHIER DE DONNEES DES BRECHES'; + 'FICHIER DES FLOTTEURS' +DEFAUT1 ='STEERING FILE'; + 'DICTIONARY'; + 'FORTRAN FILE'; + 'GEOMETRY FILE'; + 'BOUNDARY CONDITIONS FILE'; + 'RESULTS FILE'; + 'PREVIOUS COMPUTATION FILE'; + 'BOTTOM TOPOGRAPHY FILE'; + 'BINARY DATA FILE 1'; + 'BINARY DATA FILE 2'; + 'FORMATTED DATA FILE 1'; + 'FORMATTED DATA FILE 2'; + 'BINARY RESULTS FILE'; + 'FORMATTED RESULTS FILE'; + 'REFERENCE FILE'; + 'LIQUID BOUNDARIES FILE'; + 'FRICTION DATA FILE'; + 'VOLUMES DELWAQ FILE'; + 'EXCHANGE AREAS DELWAQ FILE'; + 'VERTICAL FLUXES DELWAQ FILE'; + 'SALINITY DELWAQ FILE'; + 'VELOCITY DELWAQ FILE'; + 'DIFFUSIVITY DELWAQ FILE'; + 'BOTTOM SURFACES DELWAQ FILE'; + 'EXCHANGES BETWEEN NODES DELWAQ FILE'; + 'NODES DISTANCES DELWAQ FILE'; + 'TEMPERATURE DELWAQ FILE'; + 'DELWAQ STEERING FILE'; + 'STAGE-DISCHARGE CURVES FILE'; + 'SOURCES FILE'; + 'SECTIONS INPUT FILE'; + 'SECTIONS OUTPUT FILE'; + 'OILSPILL STEERING FILE'; + 'HARMONIC CONSTANTS FILE'; + 'TIDAL MODEL FILE'; + 'ASCII DATABASE FOR TIDE'; + 'BINARY DATABASE 1 FOR TIDE'; + 'BINARY DATABASE 2 FOR TIDE'; + 'WEIRS DATA FILE'; + 'CULVERT DATA FILE'; + 'TUBES DATA FILE'; + 'BREACHES DATA FILE'; + 'DROGUES FILE' +RUBRIQUE = 'FICHIERS' +RUBRIQUE1 = 'FILES' +NIVEAU = 1 +AIDE = 'Noms des fichiers exploites par le code' +AIDE1= 'File names of the used files' +// +//----Librairies du code------------------------------------------- +// +//Conventions de notation : +// VVV = version +// MMM = mode (debug ou non) +// PPP = plateforme +// LLL = extension d'une librairie ("a" ou "lib") +// | = separateur dans un path (/ sous Unix, \ sous NT) +// +// ex : "telemac2d|tel2d_VVV|PPP|telemac2dMMMVVV.LLL" + +NOM = 'DESCRIPTION DES LIBRAIRIES' +NOM1 = 'DESCRIPTION OF LIBRARIES' +TYPE = CARACTERE +INDEX = 54 +MNEMO = 'LINKLIBS' +TAILLE = 8 +DEFAUT = 'builds|PPP|lib|telemac2dMMMVVV.LLL'; +'builds|PPP|lib|sisypheMMMVVV.LLL'; +'builds|PPP|lib|tomawacMMMVVV.LLL'; +'builds|PPP|lib|dredgesimMMMVVV.LLL'; +'builds|PPP|lib|biefMMMVVV.LLL'; +'builds|PPP|lib|damoMMMVVV.LLL'; +'builds|PPP|lib|parallelMMMVVV.LLL'; +'builds|PPP|lib|specialMMMVVV.LLL' + +DEFAUT1 = 'builds|PPP|lib|telemac2dMMMVVV.LLL'; +'builds|PPP|lib|sisypheMMMVVV.LLL'; +'builds|PPP|lib|tomawacMMMVVV.LLL'; +'builds|PPP|lib|dredgesimMMMVVV.LLL'; +'builds|PPP|lib|biefMMMVVV.LLL'; +'builds|PPP|lib|damoMMMVVV.LLL'; +'builds|PPP|lib|parallelMMMVVV.LLL'; +'builds|PPP|lib|specialMMMVVV.LLL' + +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Description des librairies de T2D' +AIDE1 = 'LIBRARIES description' + +//----Executable par defaut du code--------------------------------- +// +//Conventions de notation : +// VVV = version +// MMM = mode (debug ou non) +// PPP = plateforme +// | = separateur dans un path (/ sous Unix, \ sous NT) +// +// ex : "telemac2d|tel2d_VVV|PPP|telemac2dMMMVVV.LLL" + +NOM = 'EXECUTABLE PAR DEFAUT' +NOM1 = 'DEFAULT EXECUTABLE' +TYPE = CARACTERE +INDEX = 57 +MNEMO = 'EXEDEF' +TAILLE = 1 +DEFAUT = 'builds|PPP|bin|telemac2dMMMVVV.exe' +DEFAUT1 = 'builds|PPP|bin|telemac2dMMMVVV.exe' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Executable par defaut de T2D' +AIDE1 = 'Default executable for T2D' + +NOM = 'EXECUTABLE PARALLELE PAR DEFAUT' +NOM1 = 'DEFAULT PARALLEL EXECUTABLE' +TYPE = CARACTERE +INDEX = 58 +MNEMO = 'EXEDEFPARA' +TAILLE = 1 +DEFAUT = 'builds|PPP|bin|telemac2dMMMVVV.exe' +DEFAUT1 = 'builds|PPP|bin|telemac2dMMMVVV.exe' +RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' +RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' +NIVEAU = 1 +AIDE = 'Executable parallele par defaut de T2D' +AIDE1 = 'Default parallel executable for T2D' + diff --git a/OldCodes/ts/test_cata.py b/OldCodes/ts/test_cata.py new file mode 100644 index 00000000..748fd68d --- /dev/null +++ b/OldCodes/ts/test_cata.py @@ -0,0 +1,22 @@ +from Accas import * +import types + +JdC = JDC_CATA (code = 'MAP', + execmodul = None, + ) +# ====================================================================== +# Catalog entry for the MAP function : c_pre_interfaceBody_mesh +# ====================================================================== +INITIALIZATION=PROC(nom="INITIALIZATION",op=None, +Control_Of_Limits = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME SARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES', + ang= 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF THE LIMITS ON U,V,H, OR T ARE TRESPASSED', + ), + +Limit_Values = SIMP( statut='o',typ='R', + defaut=(-1000.0, 9000.0, -1000.0, 1000.0, -1000.0, 1000.0, -1000.0, 1000.0) , + max=8 , + fr = 'Utilise avec le mot-cle CONTROLE DES LIMITES valeurs mini et maxi acceptables pour H,U,V et T dans lordre suivant : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', + ang= 'To be used with the key-word CONTROL OF LIMITS min and max acceptable values for H,U,V et T in the following order : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', + ) ) diff --git a/OldCodes/ts/test_dicoparser.py b/OldCodes/ts/test_dicoparser.py new file mode 100644 index 00000000..c3ac9dfb --- /dev/null +++ b/OldCodes/ts/test_dicoparser.py @@ -0,0 +1,140 @@ + +import dicoparser +import unittest + +class Test1( unittest.TestCase ): + def runTest(self): + d = dicoparser.DicoParser( '', '', '' ) + t = d.parse_tokens( """ + / comment + TYPE = LOGIQUE + INDEX = 23 + MNEMO = 'VERLIM' + MNEMO1 = '' + NOM = 'CONTROLE DES LIMITES' + RUBRIQUE1 = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' + CHOIX1 = '0="list of tests"'; + '1="gradient simple"'; + '2="conj gradient"'; + '3="Lagrange interp."' + AIDE = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME + S''ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' + DEFAUT = -1000.;9000.;-1000. +""" ) + self.assertEqual( len(t), 39 ) + self.assertEqual( t[0], 'TYPE' ) + self.assertEqual( t[1], '=' ) + self.assertEqual( t[2], 'LOGIQUE' ) + self.assertEqual( t[3], 'INDEX' ) + self.assertEqual( t[4], '=' ) + self.assertEqual( t[5], '23' ) + self.assertEqual( t[6], 'MNEMO' ) + self.assertEqual( t[7], '=' ) + self.assertEqual( t[8], 'VERLIM' ) + self.assertEqual( t[9], 'MNEMO1' ) + self.assertEqual( t[10], '=' ) + self.assertEqual( t[11], '' ) + self.assertEqual( t[12], 'NOM' ) + self.assertEqual( t[13], '=' ) + self.assertEqual( t[14], 'CONTROLE DES LIMITES' ) + self.assertEqual( t[15], 'RUBRIQUE1' ) + self.assertEqual( t[16], '=' ) + self.assertEqual( t[17], 'ENTREES-SORTIES, GENERALITES' ) + self.assertEqual( t[18], ';' ) + self.assertEqual( t[19], 'CONTROLE' ) + self.assertEqual( t[20], 'CHOIX1' ) + self.assertEqual( t[21], '=' ) + self.assertEqual( t[22], '0="list of tests"' ) + self.assertEqual( t[23], ';' ) + self.assertEqual( t[24], '1="gradient simple"' ) + self.assertEqual( t[25], ';' ) + self.assertEqual( t[26], '2="conj gradient"' ) + self.assertEqual( t[27], ';' ) + self.assertEqual( t[28], '3="Lagrange interp."' ) + self.assertEqual( t[29], 'AIDE' ) + self.assertEqual( t[30], '=' ) + self.assertEqual( t[31], 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) + self.assertEqual( t[32], 'DEFAUT' ) + self.assertEqual( t[33], '=' ) + self.assertEqual( t[34], '-1000.' ) + self.assertEqual( t[35], ';' ) + self.assertEqual( t[36], '9000.' ) + self.assertEqual( t[37], ';' ) + self.assertEqual( t[38], '-1000.' ) + + d.expand_values( t ) + self.assertEqual( t[24], ( '1', 'gradient simple' ) ) + self.assertEqual( t[26], ( '2', 'conj gradient' ) ) + self.assertEqual( t[28], ( '3', 'Lagrange interp.' ) ) + + lst = d.convert_to_tuples( t ) + self.assertEqual( len(lst), 9 ) + self.assertEqual( lst[0], ( 'TYPE', 'LOGIQUE' ) ) + self.assertEqual( lst[1], ( 'INDEX', '23' ) ) + self.assertEqual( lst[2], ( 'MNEMO', 'VERLIM' ) ) + self.assertEqual( lst[3], ( 'MNEMO1', '' ) ) + self.assertEqual( lst[4], ( 'NOM', 'CONTROLE DES LIMITES' ) ) + self.assertEqual( lst[5], ( 'RUBRIQUE1', ['ENTREES-SORTIES, GENERALITES', 'CONTROLE'] ) ) + self.assertEqual( lst[6], ( 'CHOIX1', [('0','list of tests'), ('1','gradient simple'), ('2','conj gradient'), ('3','Lagrange interp.') ] ) ) + self.assertEqual( lst[7], ( 'AIDE', 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) ) + self.assertEqual( lst[8], ( 'DEFAUT', ['-1000.', '9000.', '-1000.' ] ) ) + +class Test2( unittest.TestCase ): + def runTest(self): + d = dicoparser.DicoParser( '', '', '' ) + self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind_In_Summer' ), True ) + self.assertEqual( d.are_equal( 'HELLO', 'Bonjour' ), False ) + self.assertEqual( d.are_equal( 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER', 'Maximum_Number_Of_Iterations_For_Solver' ), True ) + #self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind' ), True ) #TODO: check the specification about this issue + +class Test3( unittest.TestCase ): + def runTest(self): + d = dicoparser.DicoParser( 'test', 'NOM', 'NOM1' ) + #print d.data.keys() + #for aKey, aValue in d.data['TYPE OF ADVECTION'].iteritems(): + # print aKey, aValue + + self.assertEqual( d.data['TYPE OF ADVECTION'].keys(), ['AIDE', 'NOM', 'DEFAUT1', 'INDEX', 'NIVEAU', 'TAILLE', 'CHOIX1', 'RUBRIQUE1', 'MNEMO', 'NOM1', 'AIDE1', 'COMPORT', 'DEFAUT', 'CHOIX', 'RUBRIQUE', 'TYPE' ] ) + self.assertEqual( d.translate( 'Control_Of_Limits', 'NOM' ), 'Controle Des Limites' ) + self.assertEqual( d.translate( 'Type_Of_Advection', 'NOM' ), 'Forme De La Convection' ) + self.assertEqual( d.translate( 'Type_Of_Advection', '', 'Characteristics', 'CHOIX1', 'CHOIX' ), 'Caracteristiques' ) + +class Test4( unittest.TestCase ): + def runTest(self): + d = dicoparser.DicoParser( 'telemac2dv6p3.dico', 'NOM', 'NOM1' ) + self.assertEqual( d.translate( 'Reference_File_Format', 'NOM' ), 'Format Du Fichier De Reference' ) + self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'CHOIX1', 'CHOIX' ), 'Serafin' ) + self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'DEFAUT1', 'DEFAUT' ), 'Serafin' ) + self.assertEqual( d.translate( 'Destination', '', 'CHE43A', 'DEFAUT1', 'DEFAUT' ), 'Che43a' ) + self.assertEqual( d.translate( 'Destination', '', 0.0, 'DEFAUT1', 'DEFAUT' ), '' ) + self.assertEqual( d.translate( 'Destination', '', (1,2,3), 'DEFAUT1', 'DEFAUT' ), '' ) + +class Test5( unittest.TestCase ): + def runTest(self): + d = dicoparser.DicoParser( '', '', '' ) + t = d.parse_tokens( """ +CHOIX = '" "="pas de biliotheque"'; +'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' +""" ) + self.assertEqual( len(t), 5 ) + self.assertEqual( t[0], 'CHOIX' ) + self.assertEqual( t[1], '=' ) + self.assertEqual( t[2], '" "="pas de biliotheque"' ) + self.assertEqual( t[3], ';' ) + self.assertEqual( t[4], '"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' ) + + +t1 = Test1() +t1.runTest() + +t2 = Test2() +t2.runTest() + +t3 = Test3() +t3.runTest() + +t4 = Test4() +t4.runTest() + +t5 = Test5() +t5.runTest() diff --git a/OldCodes/ts/test_translator.py b/OldCodes/ts/test_translator.py new file mode 100644 index 00000000..186d89b2 --- /dev/null +++ b/OldCodes/ts/test_translator.py @@ -0,0 +1,19 @@ +#! /usr/bin/env python +import prefs + +from translator import * +import unittest + +class Test1( unittest.TestCase ): + def runTest(self): + self.assertEqual( normalize( 'a_b' ), 'a__b' ) + self.assertEqual( normalize( 'a b' ), 'a_b' ) + self.assertEqual( normalize( 'a b' ), 'a__b' ) + self.assertEqual( normalize( 'a__b' ), 'a____b' ) + +t1 = Test1() +t1.runTest() + +#translate( 'telemac2dv6p3', 'test_cata', 'test' ) +#translate( 'telemac2dv6p3', 'Telemac_Cata_nouveau', 'test' ) +translate( 'telemac2dv6p3', 'Telemac_Cata', 'main', 'not_translated.txt' ) diff --git a/OldCodes/ts/translator.py b/OldCodes/ts/translator.py new file mode 100755 index 00000000..77793423 --- /dev/null +++ b/OldCodes/ts/translator.py @@ -0,0 +1,89 @@ + +import copy +from tsparser import * +from Accas import * +from Noyau import * +from dicoparser import * + +def normalize( theTranslation ): + aTranslation = theTranslation + if '_' in aTranslation: + aTranslation = '__'.join( aTranslation.split( '_' ) ) + + aTranslation = aTranslation.replace( ' ', '_' ) + return aTranslation + +def translate( theDicoFile, theCataFile, theTSFile, theNotTranslatedFile = '' ): + + SPECIAL = ['into', 'defaut'] + DICO = DicoParser( theDicoFile, 'NOM', 'NOM1' ) + PARSER = TSParser() + + def is_ok( theName, theObject ): + ok = isinstance( theObject, N_ENTITE.ENTITE ) or theName in SPECIAL + return ok + + def name_to_attr( theName ): + if theName=='into': + return 'CHOIX' + else: + return theName.upper() + + def dico_tr( theObject, theName, theParentObj, theParentName ): + #print "dicotr:", theObject, theName, theParentObj, theParentName + aTrans = '' + if theName in SPECIAL: + if theObject!=None: + #print theName, theObject + anAttrTr = name_to_attr( theName ) + anAttr = anAttrTr + '1' + if isinstance( theObject, basestring ): + #print theParentName, theName, theObject, '=>', + aTrans = DICO.translate( theParentName, '', theObject, anAttr, anAttrTr ) + #print aTrans + elif isinstance( theObject, tuple ): + #print theParentName, theName + for anItem in theObject: + #print anItem + if isinstance( anItem, basestring ) and '=' in anItem: + aList = DICO.convert_to_tuples( DICO.parse_tokens( anItem ) ) + #print " ", aList + for aListItem in aList: + if isinstance( aListItem, tuple ): + aKey, aValue = aListItem + #print " ", aValue, '=>', + aTrans = DICO.translate( theParentName, '', aValue, anAttr, anAttrTr ) + #print aTrans + #print + pass + + else: + #print theName, '=>', + aTrans = DICO.translate( theName, 'NOM' ) + #print aTrans + + aTrans = normalize( aTrans ) + return '', aTrans + + def sub( theObject ): + aDict = {} + if hasattr( theObject, 'entites' ): + aDict = copy.copy( theObject.entites ); + for s in SPECIAL: + if hasattr( theObject, s ): + aDict[s] = getattr( theObject, s ) + return aDict + + PARSER.check_object = is_ok + PARSER.translation = dico_tr + PARSER.sub_objects = sub + PARSER.parse( theCataFile, theTSFile ) + + if len( theNotTranslatedFile ) > 0: + PARSER.saveNotTranslated( theNotTranslatedFile ) + + #print + #print "Translations:" + #for key, value in p.data[''].iteritems(): + # print key, "=>", value + diff --git a/OldCodes/ts/tsparser.py b/OldCodes/ts/tsparser.py new file mode 100644 index 00000000..afdeeae8 --- /dev/null +++ b/OldCodes/ts/tsparser.py @@ -0,0 +1,127 @@ + +import os.path +from xml.etree import ElementTree as ET +from xml.etree.ElementTree import * +from xml.dom import minidom +import re + +def get_file_name( theScript, theFileName, theExtension ): + anExt = '.'+theExtension + if theFileName=='': + return theScript+anExt + if theFileName.lower().endswith( anExt ): + return theFileName + else: + return theFileName + anExt + +class TSParser: + def __init__( self ): + self.data = {} + self.check_object = None # the function to check if the object is suitable for translation + self.translation = None # the function to translate the object's name + self.sub_objects = None # the function to get sub-objects of the given object + self.not_translated = {} + + def add( self, theContext, theSource, theTranslation ): + if len(theSource)==0 or len(theTranslation)==0: + return + if not theContext in self.data: + self.data[theContext] = {} + self.data[theContext][theSource] = theTranslation + + def saveXML( self, theFileName, theEncoding, theDocType, theRootElem ): + aRoughRepr = ET.tostring( theRootElem, theEncoding ) + aDoc = minidom.parseString( aRoughRepr ) + aDocType = minidom.getDOMImplementation( '' ).createDocumentType( theDocType, '', '' ) + aDoc.insertBefore( aDocType, aDoc.documentElement ) + anXmlRepr = aDoc.toprettyxml( indent=' ' ) + anXmlLines = anXmlRepr.split( '\n' )[1:] + anXmlRepr = '\n'.join( anXmlLines ) + anExpr = re.compile( '>\n\s+([^<>\s].*?)\n\s+\g<1> 0: + self.add( aContext, aName, aTranslation ) + elif self.isOK( '', anObject ) and len( aName ) > 0: + #print anObject, aName + self.not_translated[aName] = '' + + aSubObjects = {} + if self.sub_objects: + aSubObjects = self.sub_objects( anObject ) + self.parseObjects( aSubObjects, anObject, aName ) + + def saveNotTranslated( self, theFileName ): + aFile = open( theFileName, 'w' ) + aNotTranslated = self.not_translated.keys() + aNotTranslated.sort() + for aKey in aNotTranslated: + aFile.write( aKey + '\n' ) + aFile.close() diff --git a/Openturns_Study/CMakeLists.txt b/Openturns_Study/CMakeLists.txt deleted file mode 100644 index 4c0c9ab9..00000000 --- a/Openturns_Study/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -# Question : Que faire des fichiers sdistOTqt.py et style.py - -install ( FILES qtEficas_openturns_study.py - ${CMAKE_CURRENT_SOURCE_DIR}/prefs_OPENTURNS_STUDY.py - prefs.py - configuration_OPENTURNS_STUDY.py - opsOT.py - #catalogues_openturns.ini - OpenTURNS_Cata_Study_V8.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/Openturns_Study - ) - - -### Local Variables: -### mode: cmake -### End: diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V1.py b/Openturns_Study/OpenTURNS_Cata_Study_V1.py deleted file mode 100644 index 2ce3bf41..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V1.py +++ /dev/null @@ -1,1436 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - into = ( "FORM", "SORM" ), - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "Cobyla", "AbdoRackwitz" ), - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - RelativeAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORM - - - SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SORM - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - -#=============================== -# 5. Definition des parametres -#=============================== -VARI = OPER ( nom = "VARI", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) - ) - -AAA=PROC(nom="AAA", - op=None, - fr="Essai", - ang = "Test", - - MALOI = SIMP(statut='o',typ=(loi,),), - MAVARIABLE = SIMP(statut='o',typ=(variable,),), -) ; - - - -import ops -FICXML=MACRO(nom="FICXML", - op=None, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1, - FICHIER = SIMP(statut='o',typ='TXM',), -); - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V10.py b/Openturns_Study/OpenTURNS_Cata_Study_V10.py deleted file mode 100644 index f53ee908..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V10.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- -#=============================== -# 5. Definition des parametres -#=============================== -VARI = OPER ( nom = "VARI", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) - ) - -VARI1 = OPER ( nom = "VARI1", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - POUTRE = FACT(statut= 'f',max= '**', - MAILLE = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GROUP_MA = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - ), - POUTRE2 = FACT(statut= 'f',max= '**', - MAILLE2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GROUP_MA2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - ), - FINAL =FACT(statut= 'f',max= '**', - type=SIMP(statut='f',min=1,max= '**', into=("POUTRE","POUTRE2"), - validators=[VerifExiste(2),NoRepeat()], typ="TXM",), - ), - ) - - -FICXML=MACRO(nom="FICXML", - op=None, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=loi, - FICHIER = SIMP(statut='o',typ='TXM',), -); - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V2.py b/Openturns_Study/OpenTURNS_Cata_Study_V2.py deleted file mode 100644 index 58128f14..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V2.py +++ /dev/null @@ -1,1486 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - -MODEL = PROC ( nom = "MODEL", - op = None, - docu = "", - - Name = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL - - - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - into = ( "FORM", "SORM" ), - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "Cobyla", "AbdoRackwitz" ), - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - RelativeAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORM - - - SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SORM - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V3.py b/Openturns_Study/OpenTURNS_Cata_Study_V3.py deleted file mode 100644 index 80dbe832..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V3.py +++ /dev/null @@ -1,1598 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE - - - -import ops -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = ops.INCLUDE, - op_init = ops.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FirstOrder - - - SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V4.py b/Openturns_Study/OpenTURNS_Cata_Study_V4.py deleted file mode 100644 index 05fdd221..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V4.py +++ /dev/null @@ -1,1630 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -# Les commentaires du style # Ordre Catalogue MOTCLEF sont utilises pour -# retrouver l ordre du catalogue - - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), - A_CLASSER(('LOG','DETERMINISTICVARIABLE'),'VARIABLE'),) - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Premier point de la distribution", - ang = "First point", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples (point,probabilite)", - ang = "(point,probabiblity) couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Mu = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FirstOrder - - - SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V5.py b/Openturns_Study/OpenTURNS_Cata_Study_V5.py deleted file mode 100644 index 89ce0150..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V5.py +++ /dev/null @@ -1,1528 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', ) 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - -TOTO = PROC( nom='toto', op = None, docu = "", - fr = "toto", ang = "toto", - - TITI=SIMP(statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), -) -# Ordre Catalogue TOTO - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = "TXM", - into = ( "Independent", ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - -#================================ -# 1. Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "Poisson", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Premier point de la distribution", - ang = "First point", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples (point,probabilite)", - ang = "(point,probabiblity) couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Mu = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1., - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V6.py b/Openturns_Study/OpenTURNS_Cata_Study_V6.py deleted file mode 100644 index 80730558..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V6.py +++ /dev/null @@ -1,1726 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples : largeur de classe, probabilité associée", - ang = "Class bandwidth, associated probability couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Independent', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V7.py b/Openturns_Study/OpenTURNS_Cata_Study_V7.py deleted file mode 100644 index b8ac5d33..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V7.py +++ /dev/null @@ -1,1726 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - 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(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Independent', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig b/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig deleted file mode 100644 index 9a239a09..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V7.py.orig +++ /dev/null @@ -1,1719 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Premier point de la distribution", - ang = "First point", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples (point,probabilite)", - ang = "(point,probabiblity) couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Mu = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi", - ang = "Nu parameter", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi", - ang = "Delta parameter", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > 2", - ang = "Nu parameter | V > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Independent', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V8.py b/Openturns_Study/OpenTURNS_Cata_Study_V8.py deleted file mode 100644 index 9e43e543..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V8.py +++ /dev/null @@ -1,1748 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), -# AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -SIMULATION = PROC ( nom = "SIMULATION", - op = None, - docu = "", - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), - fr = "Nom du modele physique", - ), - SAMPLE = SIMP ( statut = "o", - typ = "R", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC SIMULATION -# Ordre Catalogue SIMULATION - - - - - -#================================ -# Definition des LOIS -#================================ - -# 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", - -#DISTRIBUTION = OPER ( nom = "DISTRIBUTION", -VARIABLE2=OPER(nom="VARIABLE2", - sd_prod = variable, - #sd_prod = None, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - #VARIABLE = FACT (statut='f',max='**', - # NOM=SIMP(statut = "o", typ = "TXM",), - -#DISTRIBUTION= FACT(statut = "o", -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - defaut="Beta", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - defaut=1, - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - defaut=2, - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - 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(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -#), # Fin OPER DISTRIBUTION -#), # Fin OPER DISTRIBUTION -) # Fin OPER DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - UIinfo = {"groupes": ("CACHE")}, - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V9.py b/Openturns_Study/OpenTURNS_Cata_Study_V9.py deleted file mode 100644 index 6a43ee35..00000000 --- a/Openturns_Study/OpenTURNS_Cata_Study_V9.py +++ /dev/null @@ -1,1718 +0,0 @@ -# -*- coding: iso-8859-1 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -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 - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# 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) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - 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(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/Openturns_Study/configuration_OPENTURNS_STUDY.py b/Openturns_Study/configuration_OPENTURNS_STUDY.py deleted file mode 100644 index 64d0b05e..00000000 --- a/Openturns_Study/configuration_OPENTURNS_STUDY.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - - self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] - self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] - self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - #--------------------------------------- - def lecture_fichier_ini_standard(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) - if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path - - #--------------------------------------- - def lecture_fichier_ini_integrateur(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) - if hasattr(self,'OpenTURNS_path') : - if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): - import sys - sys.path.remove(self.oldOTPath) - sys.path[:0]=[self.OpenTURNS_path] - self.oldOTPath=self.OpenTURNS_path - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/Openturns_Study/opsOT.py b/Openturns_Study/opsOT.py deleted file mode 100644 index ed023cdb..00000000 --- a/Openturns_Study/opsOT.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -def INCLUDE(self,FileName,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - if hasattr(self,'change_fichier'): - delattr(self,'change_fichier') - delattr(self,'fichier_ini') - - self.make_include2(fichier=FileName) - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - diff --git a/Openturns_Study/prefs.py b/Openturns_Study/prefs.py deleted file mode 100644 index f83b0a29..00000000 --- a/Openturns_Study/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code='OPENTURNS_STUDY' -import sys, os -if os.path.abspath(__file__) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/Openturns_Study/prefs_OPENTURNS_STUDY.py b/Openturns_Study/prefs_OPENTURNS_STUDY.py deleted file mode 100644 index f686f516..00000000 --- a/Openturns_Study/prefs_OPENTURNS_STUDY.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2015 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -import os, sys -# Les variables pouvant positionnees sont : -print "import des prefs de OPENTURNS" - -# repIni sert a localiser le fichier -# initialdir sert comme directory initial des QFileDialog -# positionnee a repin au debut mise a jour dans configuration -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' -encoding='iso-8859-1' - -# Acces a la documentation -path_doc = os.path.join(INSTALLDIR,'Doc') -exec_acrobat = "/usr/bin/xpdf" -savedir = os.environ['HOME'] - - -# OpenTURNS Python module -OpenTURNS_path="" -if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] - -# Choix des catalogues -from Editeur.catadesc import CatalogDescription - -catalogues = ( - CatalogDescription(identifier = "OPENTURNS_STUDY_V8", - cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Study_V8.py'), - file_format = "openturns_study"), -) - diff --git a/Openturns_Study/properties.py b/Openturns_Study/properties.py deleted file mode 100644 index 8ba0ed7e..00000000 --- a/Openturns_Study/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "7.1.0" -date = "23/04/2003" diff --git a/Openturns_Study/qtEficas_openturns_study.py b/Openturns_Study/qtEficas_openturns_study.py deleted file mode 100755 index abf2d5ab..00000000 --- a/Openturns_Study/qtEficas_openturns_study.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert à lancer EFICAS configuré pour Openturns -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -import sys -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/Openturns_Study/sdistOTqt.py b/Openturns_Study/sdistOTqt.py deleted file mode 100644 index acf75c26..00000000 --- a/Openturns_Study/sdistOTqt.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour Openturns - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasOpenturns_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) - copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) - copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/Openturns_Study/style.py b/Openturns_Study/style.py deleted file mode 100644 index 7da9d534..00000000 --- a/Openturns_Study/style.py +++ /dev/null @@ -1 +0,0 @@ -# Necessaire pour compatibilite avec Aster diff --git a/Openturns_Study/test/MinMax_ExpPlane.comm b/Openturns_Study/test/MinMax_ExpPlane.comm deleted file mode 100644 index 6f671ab3..00000000 --- a/Openturns_Study/test/MinMax_ExpPlane.comm +++ /dev/null @@ -1,17 +0,0 @@ - -LOG(DebugMessages='no', - WrapperMessages='no', - UserMessages='no', - InfoMessages='yes', - WarningMessages='yes', - ErrorMessages='yes',); - -MODEL(Name='poutre',); - -CRITERIA(Type='Min/Max', - Method='Experiment Plane', - ExperimentPlane='Axial', - Levels=(1.0,2.0,5.0,), - UnitsPerDimension=(100.0,5.0,0.5,1e-07,), - Center=(3000000000.0,300.0,2.5,4e-06,), - Result='Min/Max',); diff --git a/Openturns_Study/test/MinMax_ExpPlane.py b/Openturns_Study/test/MinMax_ExpPlane.py deleted file mode 100644 index 098c853e..00000000 --- a/Openturns_Study/test/MinMax_ExpPlane.py +++ /dev/null @@ -1,68 +0,0 @@ -#! /usr/bin/env python - -# Chargement du module systeme -import sys -sys.path.append( '/local00/home/dutka/OpenTURNS/trunk/build/install/lib/python2.4/site-packages/openturns' ) - -# Chargement du module Open TURNS -from openturns import * - -# Definit le niveau d'affichage de la log -flags = Log.NONE -flags = flags + Log.WARN -flags = flags + Log.ERROR -flags = flags - Log.WRAPPER -flags = flags + Log.INFO -flags = flags - Log.USER -flags = flags - Log.DBG -Log.Show( flags ) - -# Etude 'Min/Max' -# Charge le modele physique -model = NumericalMathFunction( 'poutre' ) -n = model.getInputNumericalPointDimension() - -# Etude par plan d'experience -# Definit les niveaux de la structure de grille -levels = NumericalPoint( 3 ) -levels[0] = 1 -levels[1] = 2 -levels[2] = 5 - -# Cree le plan d'experience centre reduit -myCenteredReductedGrid = Axial(n, levels) -myExperimentPlane = myCenteredReductedGrid.generate() - -# Definit les facteurs d'echelle dans chaque direction -scaledVector = NumericalPoint( n ) -scaledVector[0] = 100 -scaledVector[1] = 5 -scaledVector[2] = 0.5 -scaledVector[3] = 1e-07 -myExperimentPlane.scale( scaledVector ) - -# Definit le vecteur de translation -translationVector = NumericalPoint( n ) -translationVector[0] = 3e+09 -translationVector[1] = 300 -translationVector[2] = 2.5 -translationVector[3] = 4e-06 -myExperimentPlane.translate( translationVector ) - - -inputSample = myExperimentPlane - -# Calcul -outputSample = model( inputSample ) - -# Resultats -minValue = outputSample.getMin() -maxValue = outputSample.getMax() - -print 'minValue = ', minValue -print 'maxValue = ', maxValue - - - -# Terminaison du fichier -sys.exit( 0 ) diff --git a/Openturns_Study/test/MinMax_RandomSampling.comm b/Openturns_Study/test/MinMax_RandomSampling.comm deleted file mode 100644 index e9ed474b..00000000 --- a/Openturns_Study/test/MinMax_RandomSampling.comm +++ /dev/null @@ -1,30 +0,0 @@ - -LOG(DebugMessages='no', - WrapperMessages='no', - UserMessages='no', - InfoMessages='yes', - WarningMessages='yes', - ErrorMessages='yes',); - -MODEL(Name='poutre',); - -L_E=DISTRIBUTION(Kind='Normal', - Mu=0.1, - Sigma=0.1,); - -L_F=DISTRIBUTION(Kind='Exponential', - Lambda=1.0, - Gamma=2.0,); - -L_L=DISTRIBUTION(Kind='MultiNomial', - N=1, - Values=1.0,); - -L_I=DISTRIBUTION(Kind='Uniform', - A=10.0, - B=20.0,); - -CRITERIA(Type='Min/Max', - Method='Random Sampling', - PointsNumber=1000, - Result='Min/Max',); diff --git a/Openturns_Wrapper/CMakeLists.txt b/Openturns_Wrapper/CMakeLists.txt deleted file mode 100644 index 570b3ca9..00000000 --- a/Openturns_Wrapper/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -# Question : Que faire des fichiers sdistOTqt.py et style.py - -install ( FILES qtEficas_openturns_wrapper.py - ${CMAKE_CURRENT_SOURCE_DIR}/prefs_OPENTURNS_WRAPPER.py - prefs.py - configuration_OPENTURNS_WRAPPER.py - #catalogues_openturns.ini - OpenTURNS_Cata_Wrapper_V4.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/Openturns_Wrapper - ) - - -### Local Variables: -### mode: cmake -### End: diff --git a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py b/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py deleted file mode 100644 index 7bad7c17..00000000 --- a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py +++ /dev/null @@ -1,216 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - -VARIABLEPOOL = PROC ( nom = "VARIABLEPOOL", - op = None, - docu = "", - fr = "L'ensemble des variables probabilistes", - ang = "The pool of probabilistic variables", - - - Variables = FACT ( statut = "o", - min = 1, - max = "**", - - - - Name = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la variable, identique au nom dans le solver.", - ang = "Name of the variable, identical to the name in solver." - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ), # Fin FACT Variables - -) # Fin PROC VARIABLEPOOL - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py b/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py deleted file mode 100644 index a3895d3f..00000000 --- a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py +++ /dev/null @@ -1,206 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py b/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py deleted file mode 100644 index f99f40b3..00000000 --- a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py +++ /dev/null @@ -1,301 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - Framework = SIMP ( statut = "o", - typ = "TXM", - into = ( "Salome", "Stand-alone", ), - max = 1, - fr = "Dans quel environnement le wrapper doit-il etre utilise ?", - ang = "Which framework is this wrapper designed for ?", - ), - - StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC StandAlone - - - Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", - - SolverComponentName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - defaut = "UNDEFINED", - fr = "Nom du composant solver", - ang = "Solver component name", - ), - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - into = ( "GenericWrapper4Salome.so", ), - defaut = "GenericWrapper4Salome.so", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", ), - defaut = "static-link", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC Salome - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py b/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py deleted file mode 100644 index 651d5b82..00000000 --- a/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py +++ /dev/null @@ -1,326 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - Framework = SIMP ( statut = "o", - typ = "TXM", - into = ( "Salome", "Stand-alone", ), - max = 1, - fr = "Dans quel environnement le wrapper doit-il etre utilise ?", - ang = "Which framework is this wrapper designed for ?", - ), - - StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "Solver path", - ), - - UserPrefix = SIMP ( statut = "f", - max = 1, - typ = "TXM", - fr = "Prefixe pour retrouver les repertories temporaires de calcul", - ang = "Prefix to help finding compute directories", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC StandAlone - - - Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", - - SolverComponentName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - defaut = "UNDEFINED", - fr = "Nom du composant solver", - ang = "Solver component name", - ), - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - into = ( "GenericWrapper4Salome.so", ), - defaut = "GenericWrapper4Salome.so", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", ), - defaut = "static-link", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC Salome - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py b/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py deleted file mode 100644 index 64d0b05e..00000000 --- a/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - - self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] - self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] - self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - #--------------------------------------- - def lecture_fichier_ini_standard(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) - if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path - - #--------------------------------------- - def lecture_fichier_ini_integrateur(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) - if hasattr(self,'OpenTURNS_path') : - if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): - import sys - sys.path.remove(self.oldOTPath) - sys.path[:0]=[self.OpenTURNS_path] - self.oldOTPath=self.OpenTURNS_path - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/Openturns_Wrapper/prefs.py b/Openturns_Wrapper/prefs.py deleted file mode 100644 index 10b557d2..00000000 --- a/Openturns_Wrapper/prefs.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code = "OPENTURNS_WRAPPER" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py b/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py deleted file mode 100644 index b60be596..00000000 --- a/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2015 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -import os, sys -# Les variables pouvant positionnees sont : -print "import des prefs de OPENTURNS" - -# repIni sert a localiser le fichier -# initialdir sert comme directory initial des QFileDialog -# positionnee a repin au debut mise a jour dans configuration -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' -encoding='iso-8859-1' - -# Acces a la documentation -path_doc = os.path.join(INSTALLDIR,'Doc') -exec_acrobat = "/usr/bin/xpdf" -savedir = os.environ['HOME'] - - -# OpenTURNS Python module -OpenTURNS_path="" -if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] - -# Choix des catalogues -from Editeur.catadesc import CatalogDescription - -catalogues = ( - CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4", - cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Wrapper_V4.py'), - file_format = "openturns_wrapper"), -) - diff --git a/Openturns_Wrapper/properties.py b/Openturns_Wrapper/properties.py deleted file mode 100644 index 8ba0ed7e..00000000 --- a/Openturns_Wrapper/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "7.1.0" -date = "23/04/2003" diff --git a/Openturns_Wrapper/qtEficas_openturns_wrapper.py b/Openturns_Wrapper/qtEficas_openturns_wrapper.py deleted file mode 100755 index 705dc165..00000000 --- a/Openturns_Wrapper/qtEficas_openturns_wrapper.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert à lancer EFICAS configuré pour Openturns -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -import sys -from InterfaceQT4 import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/Openturns_Wrapper/sdistOTqt.py b/Openturns_Wrapper/sdistOTqt.py deleted file mode 100644 index acf75c26..00000000 --- a/Openturns_Wrapper/sdistOTqt.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour Openturns - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasOpenturns_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) - copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) - copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/Openturns_Wrapper/style.py b/Openturns_Wrapper/style.py deleted file mode 100644 index 7da9d534..00000000 --- a/Openturns_Wrapper/style.py +++ /dev/null @@ -1 +0,0 @@ -# Necessaire pour compatibilite avec Aster diff --git a/PSEN_N1/PSEN_Cata_N1.py b/PSEN_N1/PSEN_Cata_N1.py deleted file mode 100644 index 6d926367..00000000 --- a/PSEN_N1/PSEN_Cata_N1.py +++ /dev/null @@ -1,199 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * -import opsPSEN_N1 -# -#class loi ( ASSD ) : pass -#class variable ( ASSD ) : pass -class sd_charge ( ASSD ) : pass -class sd_generateur ( ASSD ) : pass -class sd_ligne ( ASSD ) : pass -class sd_transfo ( ASSD ) : pass -class sd_moteur ( ASSD ) : pass -# - -# import types -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 - - __repr__=info - __str__=info - -# class Matrice: -# def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): -# self.nbLigs=nbLigs -# self.nbCols=nbCols -# self.methodeCalculTaille=methodeCalculTaille -# self.formatSortie=formatSortie -# self.valSup=valSup -# self.valMin=valMin -# self.structure=structure -# -# def __convert__(self,valeur): -# # Attention ne verifie pas grand chose -# if type(valeur) != types.ListType : -# return None -# return valeur -# -# def info(self): -# return "Matrice %s x %s" % (self.nbLigs, self.nbCols) -# -# __repr__=info -# __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'PSEN', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CASE_SELECTION' ), - # AU_MOINS_UN ( 'DIRECTORY' ), - # AU_MOINS_UN ( 'DISTRIBUTION' ), - # AU_MOINS_UN ( 'SIMULATION' ), - # AU_PLUS_UN ( 'PSSE_PARAMETERS' ), - # AU_PLUS_UN ( 'DIRECTORY' ), - # AU_PLUS_UN ( 'SIMULATION' ), - # AU_PLUS_UN ( 'CORRELATION' ), - # AU_PLUS_UN ( 'N_1_GENERATORS' ), - # AU_PLUS_UN ( 'N_1_LINES' ), - # AU_PLUS_UN ( 'N_1_LOADS' ), - # AU_PLUS_UN ( 'N_1_TRANSFORMERS' ), - - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- -## TODO : RUN -CASE_SELECTION = MACRO ( nom = "CASE_SELECTION", - sd_prod = opsPSEN_N1.INCLUDE, - op_init = opsPSEN_N1.INCLUDE_context, - regles = (UN_PARMI('FromFile', 'AllCases', 'WorstCases'),), - fichier_ini = 1, - op = None, - fr = "Sélectionnez les cas à analyser", - ang = 'Select the cases to analyze', - PSSE_path = SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files (x86)\PTI\PSSE33\PSSBIN'), - output_folder = SIMP(statut="o", typ="Repertoire"), - - FromFile = FACT( - statut = 'f', - input_path = SIMP(statut="f",typ='Repertoire'), - branch_cases = SIMP(statut='o', typ='TXM'), - transfo_cases = SIMP(statut='o', typ='TXM'), - high_cases = SIMP(statut='o', typ='TXM'), - low_cases = SIMP(statut='o', typ='TXM'), - ), - - AllCases = FACT( - statut='f', - all_cases = SIMP(statut='o', typ=bool, defaut = True), - ), - - WorstCases = FACT( - regles = (UN_PARMI('AvgBranchLoad', 'AvgBranchLoadPercent'), UN_PARMI('AvgTransfoLoad', 'AvgTransfoLoadPercent'), UN_PARMI('AvgHighVoltage', 'AvgHighVoltagePercent'), UN_PARMI('AvgLowVoltage', 'AvgLowVoltagePercent'),), - statut = 'f', - AvgBranchLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgBranchLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgTransfoLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgTransfoLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgHighVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgHighVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgLowVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgLowVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - ), - - MaxDepth = SIMP(statut = 'o', typ = 'I', defaut = 5), - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete CASE SELECTION"), - - BusesList = SIMP(statut = 'f', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), - - optionsLF = FACT ( - statut = 'o', - AdjTaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Lock', '1 - Stepping', '2 - Direct'], defaut = '1 - Stepping'), - AdjDCtaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable'], defaut = '1 - Enable'), - SolutionMethod = SIMP(statut = 'o', typ = 'TXM', into = ['0 - FDNS', '1 - FNSL', '2 - Optimized FDNS'], defaut = '1 - FNSL'), - AdjSwitchedShunts = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable', '2 - Enable continuous mode'], defaut = '1 - Enable'), - DispatchMode = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Reserve', '2 - Pmax', '3 - Inertia', '4 - Droop'], defaut = '1 - Reserve'), - FlatStart = SIMP(statut = 'o', typ = bool, defaut = False), - VarLimits = SIMP(statut = 'o', typ = 'I', defaut = 99), - ), - ) - -CONTINGENCY_OPTIONS = PROC ( nom = 'CONTINGENCY_OPTIONS', - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - ang = 'Nyu', - Vmin = SIMP(statut = 'o', typ = 'R', defaut = 0.9, val_min = 0), - Vmax = SIMP(statut = 'o', typ = 'R', defaut = 1.1, val_min = 0), - ContRate = SIMP(statut = 'o', typ = 'TXM', defaut = 'a', into=['a', 'b']), - FlowLimitLines = SIMP(statut = 'o', typ = 'I', defaut = 110, val_min = 0), - FloLimitTransfos = SIMP(statut = 'o', typ = 'I', defaut = 100, val_min = 0), - Tolance = SIMP(statut = 'o', typ = 'I', defaut = 10, val_min = 0), - RadialLinesOnly = SIMP(statut = 'o', typ = bool, defaut = False), - TripTransfos = SIMP(statut = 'o', typ = bool, defaut = True), - TripGenerators = SIMP(statut = 'o', typ = bool, defaut = True), - TripN_2 = SIMP(statut = 'o', typ = bool, defaut = False), - IsolatedGen = SIMP(statut = 'o', typ = bool, defaut = True), - ) - -OUTPUT_OPTIONS = PROC ( nom = 'OUTPUT_OPTIONS', - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - ang = 'Nyu', - TrNoGSUorGNDOutput = SIMP(statut = 'o', typ = bool, defaut = True), - TestBusName = SIMP(statut = 'o', typ = bool, defaut = True), - ReportSpaces = SIMP(statut = 'o', typ = bool, defaut = True), - RepeatComponentAllLines = SIMP(statut = 'o', typ = bool, defaut = True), - MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True), - WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True), - WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True), - ) - -DATA_PROCESSING = MACRO ( nom = 'DATA_PROCESSING', - sd_prod = opsPSEN_N1.PROCESS, - op_init = opsPSEN_N1.PROCESS_context, - fichier_ini = 1, - op = None, - fr = "Sélectionnez les cas à analyser", - ang = 'Select the cases to analyze', - XLS_file = SIMP(statut="o", typ = ('Fichier', 'XLS file (*.xls);;All Files (*)',),), - Onglets = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - BusList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - ContList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - ) diff --git a/PSEN_N1/configuration_PSEN_N1.py b/PSEN_N1/configuration_PSEN_N1.py deleted file mode 100644 index 4ab64b85..00000000 --- a/PSEN_N1/configuration_PSEN_N1.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/PSEN_N1/mesScripts_PSEN_N1.py b/PSEN_N1/mesScripts_PSEN_N1.py deleted file mode 100644 index 7ffd8d0a..00000000 --- a/PSEN_N1/mesScripts_PSEN_N1.py +++ /dev/null @@ -1,56 +0,0 @@ -def processXLS(listeparam) : - print "dans processXLS" - item=listeparam[0] - fileNameObj=item.object.get_child('XLS_file') - if fileNameObj : fileName=fileNameObj.get_valeur() - else : fileName = "" - if fileName == "" : return 0, 'Nom de fichier invalide' - - ongletListObj=item.object.get_child('Onglets') - if ongletListObj : ongletList= ongletListObj.get_valeur() - else : ongletList = [] - if ongletList == [] : return 0, 'ongletList invalide' - - busListObj=item.object.get_child('BusList') - if busListObj : busList= busListObj.get_valeur() - else : busList = [] - if busList == [] : return 0, 'BusList invalide' - - contListObj=item.object.get_child('ContList') - if contListObj : contList=contListObj.get_valeur() - else : contList = [] - if contList == [] : return 0, 'ContList invalide' - - dicoBus={} - dicoCont={} - for onglet in ongletList: - recherche=str(" ("+ str(onglet) +" )") - listeBusPourOnglet=[] - listeContPourOnglet=[] - for bus in busList : - nomBusSplit=str(bus).split(recherche) - if len(nomBusSplit) == 2 : listeBusPourOnglet.append(nomBusSplit[0]) - for cont in contList : - nomContSplit=str(cont).split(recherche) - if len(nomContSplit) == 2 : listeContPourOnglet.append(nomContSplit[0]) - if listeBusPourOnglet != [] : dicoBus[onglet]=listeBusPourOnglet - if listeContPourOnglet != [] : dicoCont[onglet]=listeContPourOnglet - - from Processor import processXLS - processXLS(fileName,dicoBus,dicoCont) - #if nouvelleVal != [] : prob.set_valeur(nouvelleVal) - -# le dictionnaire des commandes a la structure suivante : -# la clef est la commande qui va proposer l action -# puis un tuple qui contient -# - la fonction a appeler -# - le label dans le menu du clic droit -# - un tuple contenant les parametres attendus par la fonction -# - appelable depuis Salome uniquement -) -# - appelable depuis un item valide uniquement -# - toolTip -dict_commandes={ - 'DATA_PROCESSING': ( - (processXLS,"process",('item',),False,True,"process values "), - ), - } diff --git a/PSEN_N1/opsPSEN_N1.py b/PSEN_N1/opsPSEN_N1.py deleted file mode 100644 index 9ea600a6..00000000 --- a/PSEN_N1/opsPSEN_N1.py +++ /dev/null @@ -1,112 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -#from ExtractGeneratorLoadLineandTransfoDico import * -#from ExtractGeneratorLoadLineandTransfoDico import ExtractGeneratorLoadLineandTransfoDico2 - -def INCLUDE(self,PSSE_path,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - #print('in INCLUDE') - #print args - CaseFolder = args['output_folder'] - if CaseFolder==None: return - reevalue=0 - if hasattr(self,'fichier_ini'): - reevalue=1 - if self.fichier_ini == CaseFolder : return - if hasattr(self,'old_context_fichier_init' ): - for concept in self.old_context_fichier_init.values(): - self.jdc.delete_concept(concept) - self.jdc_aux=None - self.contexte_fichier_init={} - self.reevalue_sd_jdc() - self.jdc.reset_context() - - self.fichier_ini=CaseFolder - self.contexte_fichier_init = {} - self.fichier_unite = 999 - self.fichier_err = None - self.fichier_text="" - - unite = 999 - - BusList = [138, 77, 69] - self.jdc.appli.changeIntoMC(self,'BusesList',BusList) - - - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - -def PROCESS_context(self,d): - print "dans le init du Process" - -def PROCESS(self,XLS_file,**args): - if XLS_file == "" or XLS_file == None: return - if not (hasattr(self,'dico')) : - from Processor import getXLS - self.dico=getXLS(XLS_file) - self.jdc.appli.changeIntoMC(self,'Onglets',self.dico.keys()) - self.OngletsValeurs=[] - else : - # On teste si on a modifie la liste des onglets - OngletsValeurs= self.get_child('Onglets').getval() - - - if not (hasattr(self,'OngletsValeurs')) : self.OngletsValeurs=OngletsValeurs - elif self.OngletsValeurs == OngletsValeurs : print 'return' ;return - else : self.OngletsValeurs=OngletsValeurs - - if OngletsValeurs==() or OngletsValeurs == []: - self.jdc.appli.deleteMC(self,'BusList') - self.jdc.appli.deleteMC(self,'ContList') - self.OngletsValeurs=[] - return - - OldBusValeurs= self.get_child('BusList').getval() - OldContValeurs= self.get_child('ContList').getval() - if OldBusValeurs == None : OldBusValeurs=[] - if OldContValeurs == None : OldContValeurs=[] - - listeBus=[] - listeCont=[] - listeBusCoches=[] - listeContCoches=[] - for o in OngletsValeurs : - for b in self.dico[o][0]: - texte=b+" ("+ str(o) +" )" - listeBus.append(str(texte)) - if texte in OldBusValeurs : listeBusCoches.append(str(texte)) - for c in self.dico[o][1]: - texte=c+" ("+ str(o) +" )" - listeCont.append(str(texte)) - if texte in OldContValeurs : listeContCoches.append(str(texte)) - - self.jdc.appli.changeIntoMCandSet(self,'BusList',listeBus,listeBusCoches) - self.jdc.appli.changeIntoMCandSet(self,'ContList',listeCont,listeContCoches) - - diff --git a/PSEN_N1/prefs.py b/PSEN_N1/prefs.py deleted file mode 100644 index 647d0ae9..00000000 --- a/PSEN_N1/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="PSEN_N1" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/PSEN_N1/prefs_PSEN_N1.py b/PSEN_N1/prefs_PSEN_N1.py deleted file mode 100644 index 00992868..00000000 --- a/PSEN_N1/prefs_PSEN_N1.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='en' #'fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni - - -# -catalogues=( - ('PSEN_N1','default',os.path.join(repIni,'PSEN_Cata_N1.py'),'python','python'), -) diff --git a/PSEN_N1/properties.py b/PSEN_N1/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/PSEN_N1/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/PSEN_N1/qtEficas_PSEN_N1.py b/PSEN_N1/qtEficas_PSEN_N1.py deleted file mode 100755 index 6863fe03..00000000 --- a/PSEN_N1/qtEficas_PSEN_N1.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -#sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -import prefs -name='prefs_'+prefs.code -__import__(name) - -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/PSEN_N1/run.py b/PSEN_N1/run.py deleted file mode 100644 index 4a660891..00000000 --- a/PSEN_N1/run.py +++ /dev/null @@ -1,15 +0,0 @@ -import sys - -def runPSEN_N1(dico) : - try : - for k in dico.keys() : - print k - except : - pass - print dico - return 1,'hhhh' - -if __name__ == "__main__": - if dico == None : dico={} - runPSEN_N1(dico) - diff --git a/ProcessOutputs_Eficas/PSEN_Cata_N1.py b/ProcessOutputs_Eficas/PSEN_Cata_N1.py index f2598161..92d795f4 100644 --- a/ProcessOutputs_Eficas/PSEN_Cata_N1.py +++ b/ProcessOutputs_Eficas/PSEN_Cata_N1.py @@ -25,7 +25,15 @@ #from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR from Accas import * import opsPSEN_N1 +import pn # +#class loi ( ASSD ) : pass +#class variable ( ASSD ) : pass +class sd_charge ( ASSD ) : pass +class sd_generateur ( ASSD ) : pass +class sd_ligne ( ASSD ) : pass +class sd_transfo ( ASSD ) : pass +class sd_moteur ( ASSD ) : pass # # import types @@ -34,6 +42,7 @@ class Tuple: self.ntuple=ntuple def __convert__(self,valeur): + import types if type(valeur) == types.StringType: return None if len(valeur) != self.ntuple: @@ -72,15 +81,17 @@ class Tuple: #CONTEXT.debug = 1 JdC = JDC_CATA ( code = 'PSEN', execmodul = None, - regles = ( AU_MOINS_UN ( 'CASE_SELECTION' ), - # AU_MOINS_UN ( 'DIRECTORY' ), - # AU_MOINS_UN ( 'DISTRIBUTION' ), - # AU_MOINS_UN ( 'SIMULATION' ), + regles = ( AU_MOINS_UN ( 'CASE_SELECTION', 'CONTINGENCY_PROCESSING' ), + AU_MOINS_UN ( 'CONTINGENCY_SELECTION','N_PROCESSING_OPTIONS','CONTINGENCY_PROCESSING' ), + PRESENT_PRESENT ( 'CONTINGENCY_SELECTION','CONTINGENCY_OPTIONS' ), + PRESENT_PRESENT ( 'CONTINGENCY_PROCESSING','CONTINGENCY_OPTIONS' ), + AU_MOINS_UN ( 'SIMULATION' ), # AU_PLUS_UN ( 'PSSE_PARAMETERS' ), - # AU_PLUS_UN ( 'DIRECTORY' ), - # AU_PLUS_UN ( 'SIMULATION' ), - # AU_PLUS_UN ( 'CORRELATION' ), - # AU_PLUS_UN ( 'N_1_GENERATORS' ), + AU_PLUS_UN ( 'CASE_SELECTION' ), + AU_PLUS_UN ( 'CONTINGENCY_OPTIONS' ), + AU_PLUS_UN ( 'CONTINGENCY_SELECTION' ), + AU_PLUS_UN ( 'CONTINGENCY_PROCESSING' ), + AU_PLUS_UN ( 'N_PROCESSING_OPTIONS' ), # AU_PLUS_UN ( 'N_1_LINES' ), # AU_PLUS_UN ( 'N_1_LOADS' ), # AU_PLUS_UN ( 'N_1_TRANSFORMERS' ), @@ -88,6 +99,18 @@ JdC = JDC_CATA ( code = 'PSEN', ), ) # Fin JDC_CATA +MODIFICATION_CATALOGUE = MACRO ( nom = "MODIFICATION_CATALOGUE", + sd_prod = pn.modification_catalogue, + op_init= pn.modification_catalogue2, + op=None, + UIinfo={"groupes":("CACHE")}, + Fonction=SIMP(statut='o', typ='TXM', into=['ajoutDefinitionMC']), + Etape=SIMP(statut='o', typ='TXM',), + Genea=SIMP(statut='o', typ='TXM', min=0, max='**'), + NomSIMP=SIMP(statut='o', typ='TXM',), + TypeSIMP=SIMP(statut='o', typ='TXM',), + PhraseArguments=SIMP(statut='o', typ='TXM',),) + # -------------------------------------------------- # fin entete @@ -98,7 +121,7 @@ CASE_SELECTION = MACRO ( nom = "CASE_SELECTION", op_init = opsPSEN_N1.INCLUDE_context, fichier_ini = 1, op = None, - fr = "Sélectionnez les cas à analyser", + fr = "Selectionnez les cas a analyser", ang = 'Select the cases to analyze', PSSE_path = SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files (x86)\PTI\PSSE33\PSSBIN'), output_folder = SIMP(statut="o", typ="Repertoire"), @@ -112,7 +135,7 @@ CASE_SELECTION = MACRO ( nom = "CASE_SELECTION", ) N_PROCESSING_OPTIONS = PROC ( nom = 'N_PROCESSING_OPTIONS', op = None, - ang = "Select whether the program should be displaying data ablout the different categories. The values displayed will be the min, max, and mean of each item, plus a chart.", + ang = "Select whether the program should be displaying data about the different categories.\nThe values displayed will be the min, max, and mean of each item, plus a chart.", Output_bus_values = SIMP(statut = 'o', typ = bool, defaut = True), Output_lines_values = SIMP(statut = 'o', typ = bool, defaut = True), Output_transformer_values = SIMP(statut = 'o', typ = bool, defaut = True), @@ -128,7 +151,7 @@ N_PROCESSING_OPTIONS = PROC ( nom = 'N_PROCESSING_OPTIONS', CONTINGENCY_OPTIONS = PROC (nom = 'CONTINGENCY_OPTIONS', op = None, - + GeneralOptions = FACT(statut='o', Vmin = SIMP(statut = 'o', typ = 'R', defaut = 0.9, val_min = 0), Vmax = SIMP(statut = 'o', typ = 'R', defaut = 1.1, val_min = 0), @@ -139,7 +162,8 @@ CONTINGENCY_OPTIONS = PROC (nom = 'CONTINGENCY_OPTIONS', TripLines = SIMP(statut = 'o', typ = bool, defaut = True), TripTransfos = SIMP(statut = 'o', typ = bool, defaut = True), TripGenerators = SIMP(statut = 'o', typ = bool, defaut = True), - ), + TripBuses = SIMP(statut = 'o', typ = bool, defaut = False), + ), LoadFlowOptions = FACT(statut='o', AdjustTaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Lock', '1 - Stepping', '2 - Direct'], defaut = '1 - Stepping'), @@ -150,15 +174,15 @@ CONTINGENCY_OPTIONS = PROC (nom = 'CONTINGENCY_OPTIONS', FlatStart = SIMP(statut = 'o', typ = bool, defaut = False), VarLimits = SIMP(statut = 'o', typ = 'I', defaut = 99,ang = 'if set to -1, var limits will not be applied'), ), - - OutputOptions = FACT(statut='o', - consigne1 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Output PSSE multiple contingency report to Shell?'), - MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True, ang = 'Output PSSE multiple contingency report to Shell?'), - consigne2 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Write an Excel file for the results of each case file?'), - WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True), - consigne3 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Add a tab in Excel results file for the differences between the max flow rate (MVAR) and the actual flow rate in lines and transformers?'), - WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True), - ), + +# OutputOptions = FACT(statut='o', +# consigne1 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Output PSSE multiple contingency report to Shell?'), +# MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True, ang = 'Output PSSE multiple contingency report to Shell?'), +# consigne2 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Write an Excel file for the results of each case file?'), +# WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True), +# consigne3 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Add a tab in Excel results file for the differences between the max flow rate (MVAR) and the actual flow rate in lines and transformers?'), +# WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True), +# ), ) @@ -167,17 +191,20 @@ CONTINGENCY_OPTIONS = PROC (nom = 'CONTINGENCY_OPTIONS', CONTINGENCY_SELECTION = PROC(nom='CONTINGENCY_SELECTION',op = None, SelectionMethod = SIMP(statut='o',typ='TXM',into=['CaseSelectionFromFile','SelectAllCases','SelectWorstCases'], ), - + b_file = BLOC(condition="SelectionMethod=='CaseSelectionFromFile'", CaseSelectionFromFiles = FACT( statut = 'o', - regles=(AU_MOINS_UN('branch_cases','transformer_cases','high_voltage_cases','low_voltage_cases',),), - branch_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), - transformer_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde',),), - high_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), - low_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), + case = FACT(statut='o',max='**', + case_name=SIMP(statut='o',typ='TXM'), + csv_file= SIMP(statut='o', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)',),),), +# regles=(AU_MOINS_UN('branch_cases','transformer_cases','high_voltage_cases','low_voltage_cases',),), +# branch_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), +# transformer_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde',),), +# high_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), +# low_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),), ), - + # CaseSelectionFromFile = FACT( # statut = 'o', # input_path = SIMP(statut="o",typ='Repertoire'), @@ -186,23 +213,24 @@ CONTINGENCY_SELECTION = PROC(nom='CONTINGENCY_SELECTION',op = None, # high_cases = SIMP(statut='o', typ='TXM'), # low_cases = SIMP(statut='o', typ='TXM'), # ), - + ), - + # b_all = BLOC(condition="SelectionMethod=='SelectAllCases'", # SelectAllCases = FACT( # statut='o', # all_cases = SIMP(statut='o', typ=bool, defaut = True), # ), # ), - + b_worst = BLOC(condition="SelectionMethod=='SelectWorstCases'", SelectWorstCases = FACT( - regles = (UN_PARMI('AvgBranchLoad', 'AvgBranchLoadPercent'), UN_PARMI('AvgTransformerLoad', 'AvgTransformerLoadPercent'), UN_PARMI('AvgHighVoltage', 'AvgHighVoltagePercent'), UN_PARMI('AvgLowVoltage', 'AvgLowVoltagePercent'),), + regles = (AU_MOINS_UN('AvgLineLoad', 'AvgLineLoadPercent','AvgTransformerLoad','AvgTransformerLoadPercent','AvgHighVoltage', 'AvgHighVoltagePercent','AvgLowVoltage', 'AvgLowVoltagePercent'), + EXCLUS('AvgLineLoad', 'AvgLineLoadPercent'),EXCLUS('AvgTransformerLoad','AvgTransformerLoadPercent'),EXCLUS('AvgHighVoltage', 'AvgHighVoltagePercent'),EXCLUS('AvgLowVoltage', 'AvgLowVoltagePercent'),), statut = 'o', consigne = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Choose at least one of the potential selection criteria from the SelectWorstCases list on the right.'), - AvgBranchLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgBranchLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), + AvgLineLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), + AvgLineLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), AvgTransformerLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), AvgTransformerLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), AvgHighVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), @@ -214,10 +242,10 @@ CONTINGENCY_SELECTION = PROC(nom='CONTINGENCY_SELECTION',op = None, Automatic_N_2_Selection = FACT(statut='f', - + BusesList = SIMP(statut = 'o', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), LinesList = SIMP(statut = 'o', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), - TransformersList = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), + TransformersList = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), ), MultipleContingencyList = FACT (statut='f', @@ -230,7 +258,7 @@ CONTINGENCY_SELECTION = PROC(nom='CONTINGENCY_SELECTION',op = None, CONTINGENCY_PROCESSING = MACRO ( nom = 'CONTINGENCY_PROCESSING', sd_prod = opsPSEN_N1.PROCESS, op_init = opsPSEN_N1.PROCESS_context, - + #sd_prod=None, op = None, @@ -238,13 +266,15 @@ CONTINGENCY_PROCESSING = MACRO ( nom = 'CONTINGENCY_PROCESSING', fr = "", ang="", XLS_file = SIMP(statut="o", typ = ('Fichier', 'XLS file (*.xls);;All Files (*)',),), - TabList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon'), - + b_TabList = BLOC(condition="XLS_file != None and XLS_file != ''", + TabList = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), ), + # b_highVoltage = BLOC(condition="'High Voltage 0' in TabList", # HighVoltageBuses = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), # HighVoltageContingencies = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), # ), - + ) -Ordre_Des_Commandes = ('CASE_SELECTION' , 'N_PROCESSING_OPTIONS' , 'CONTINGENCY_OPTIONS' , 'CONTINGENCY_SELECTION',) +Ordre_Des_Commandes = ('CASE_SELECTION' , 'N_PROCESSING_OPTIONS' , 'CONTINGENCY_SELECTION', 'CONTINGENCY_OPTIONS' ,'CONTINGENCY_PROCESSING',) +Classement_Commandes_Ds_Arbre = ('CASE_SELECTION' , 'N_PROCESSING_OPTIONS' , 'CONTINGENCY_SELECTION', 'CONTINGENCY_OPTIONS' ,'CONTINGENCY_PROCESSING',) diff --git a/ProcessOutputs_Eficas/configuration_PSEN_N1.py b/ProcessOutputs_Eficas/configuration_PSEN_N1.py index 4ab64b85..9ed5eb53 100644 --- a/ProcessOutputs_Eficas/configuration_PSEN_N1.py +++ b/ProcessOutputs_Eficas/configuration_PSEN_N1.py @@ -33,7 +33,7 @@ class CONFIG(configuration.CONFIG_BASE): #----------------------------------- self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] + self.labels_eficas=['lang','rep_cata','catalogues','affiche'] configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') diff --git a/ProcessOutputs_Eficas/mesScripts_PSEN_N1.py b/ProcessOutputs_Eficas/mesScripts_PSEN_N1.py index f3c14732..12bf5db9 100644 --- a/ProcessOutputs_Eficas/mesScripts_PSEN_N1.py +++ b/ProcessOutputs_Eficas/mesScripts_PSEN_N1.py @@ -1,45 +1,13 @@ def EficasProcessXLS(listeparam) : print "dans processXLS" item=listeparam[0] - fileNameObj=item.object.get_child('XLS_file') - if fileNameObj : fileName=fileNameObj.get_valeur() - else : fileName = "" - if fileName == "" : return 0, 'Nom de fichier invalide' + dico=item.process_N1() + print dico - ongletListObj=item.object.get_child('Onglets') - if ongletListObj : ongletList= ongletListObj.get_valeur() - else : ongletList = [] - if ongletList == [] : return 0, 'ongletList invalide' - - busListObj=item.object.get_child('BusList') - if busListObj : busList= busListObj.get_valeur() - else : busList = [] - if busList == [] : return 0, 'BusList invalide' - - contListObj=item.object.get_child('ContList') - if contListObj : contList=contListObj.get_valeur() - else : contList = [] - if contList == [] : return 0, 'ContList invalide' - - dicoBus={} - dicoCont={} - for onglet in ongletList: - recherche=str(" ("+ str(onglet) +" )") - listeBusPourOnglet=[] - listeContPourOnglet=[] - for bus in busList : - nomBusSplit=str(bus).split(recherche) - if len(nomBusSplit) == 2 : listeBusPourOnglet.append(nomBusSplit[0]) - for cont in contList : - nomContSplit=str(cont).split(recherche) - if len(nomContSplit) == 2 : listeContPourOnglet.append(nomContSplit[0]) - if listeBusPourOnglet != [] : dicoBus[onglet]=listeBusPourOnglet - if listeContPourOnglet != [] : dicoCont[onglet]=listeContPourOnglet - - from Processor import processXLS - processXLS(fileName,dicoBus,dicoCont) + print "version pour Pascale --> decommenter les 2 lignes suivantes pour Laura" + #from Processor import processXLS + #processXLS(dico) - #if nouvelleVal != [] : prob.set_valeur(nouvelleVal) # le dictionnaire des commandes a la structure suivante : # la clef est la commande qui va proposer l action @@ -51,7 +19,5 @@ def EficasProcessXLS(listeparam) : # - appelable depuis un item valide uniquement # - toolTip dict_commandes={ - 'CONTINGENCY_PROCESSING': ( - (EficasProcessXLS,"process",('item',),False,True,"process values "), - ), - } + 'CONTINGENCY_PROCESSING': ( (EficasProcessXLS,"process",('editor','item',),False,True,"process values "),), + } diff --git a/ProcessOutputs_Eficas/opsPSEN_N1.py b/ProcessOutputs_Eficas/opsPSEN_N1.py index 55de6fdc..9554556b 100644 --- a/ProcessOutputs_Eficas/opsPSEN_N1.py +++ b/ProcessOutputs_Eficas/opsPSEN_N1.py @@ -19,21 +19,21 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -print "version en dur" -from ExtractGeneratorLoadLineandTransfoDico import * -#from ExtractGeneratorLoadLineandTransfoDico import ExtractGeneratorLoadLineandTransfoDico2 +from ExtractGeneratorLoadLineandTransfoDicoProcess import * +import os -#import Storage +path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','TreatOutputs')) +sys.path.append(path1) +import Options def INCLUDE(self,PSSE_path,**args): """ Fonction sd_prod pour la macro INCLUDE """ CaseFolder = args['output_folder'] - #Storage.MaximumDepth = args['MaxDepth'] - #print('casefolder loaded') - if CaseFolder==None: return - + Options.RecursiveDepth = args['MaxDepth'] + if CaseFolder==None: + return reevalue=0 if hasattr(self,'fichier_ini'): reevalue=1 @@ -57,7 +57,7 @@ def INCLUDE(self,PSSE_path,**args): CaseFile = '' FolderList = os.listdir(CaseFolder) for folder in FolderList: - if folder[0:7] == 'package': + if folder[0:7] == 'package' or folder[0:4]== 'core': # Get BaseCase.sav inside the first package folder we find FolderContents = os.listdir(os.path.join(CaseFolder, folder)) for file in FolderContents: @@ -65,44 +65,42 @@ def INCLUDE(self,PSSE_path,**args): CaseFile = os.path.join(os.path.join(CaseFolder, folder), file) break break - print "ops before try" - try: - #MachineDico,LoadDico,LineDico,TransfoDico,MotorDico,BusDico,BranchesDico,BusNominal = ExtractGeneratorLoadLineandTransfoDico(CaseFile, PSSE_path) - # BusList = getBusNominalkV(CaseFile) + #try: + if 1 : BusList, LinesList, TransfosList = getNominalkV(CaseFile) + #print "version en dur : decommenter la ligne suivante" #getTrueLines(CaseFile) - except Exception, e: - exc_type, exc_obj, exc_tb = sys.exec_info() - print(e) - print(exc_type, exc_tb.tb_lineno) + #except Exception, e: + # exc_type, exc_obj, exc_tb = sys.exec_info() + # print(e) + # print(exc_type, exc_tb.tb_lineno) + for e in self.jdc.etapes: if e.nom == 'CASE_SELECTION' : etape=e break - self.jdc.appli.changeIntoMC(e, 'BusesList', BusList) - self.jdc.appli.changeIntoMC(e, 'LinesList', LinesList) - self.jdc.appli.changeIntoMC(e, 'TransformersList', TransfosList) + self.jdc.editor.changeIntoMC(e, 'BusesList', BusList) + self.jdc.editor.changeIntoMC(e, 'LinesList', LinesList) + self.jdc.editor.changeIntoMC(e, 'TransformersList', TransfosList) - self.jdc.appli.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'BusesList'), BusList) - self.jdc.appli.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'LinesList'), LinesList) - self.jdc.appli.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'TransformersList'), TransfosList) + self.jdc.editor.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'BusesList'), BusList) + self.jdc.editor.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'LinesList'), LinesList) + self.jdc.editor.changeIntoDefMC('CONTINGENCY_SELECTION', ('Automatic_N_2_Selection', 'TransformersList'), TransfosList) try: - #updateConts() - #self.jdc.appli.changeIntoDefMC('CONTINGENCY_SELECTION', ('MultipleContingencyList', 'ComponentList'), Storage.ContFullList) - ContFullList=('AAAA','ZER','t__uuu','nkop','iop') - self.jdc.appli.changeIntoDefMC('CONTINGENCY_SELECTION', ('MultipleContingencyList', 'ComponentList'), ContFullList) - except Exception, e: + print "version en dur : decommenter la ligne suivante" + #a = updateConts() + self.jdc.editor.changeIntoDefMC('CONTINGENCY_SELECTION', ('MultipleContingencyList', 'ComponentList'), Options.ContFullList) + except Exception as e: exc_type, exc_obj, exc_tb = sys.exec_info() print(e) print(exc_type, exc_tb.tb_lineno) - #self.jdc.ajoutMC(e,'TransfosList',listeTuple) @@ -113,29 +111,24 @@ def INCLUDE_context(self,d): for k,v in self.g_context.items(): d[k]=v -def getXLS(fileName) : - dico={} - dico['onglet1']=(('bus1','bus2','bus3'),('contin1','contin2','contin3')) - dico['onglet2']=(('bus4','bus5'),('contin4','contin5','contin6')) - dico['onglet3']=(('bus6','bus7'),('contin8',)) - print dico - return dico - def PROCESS_context(self,d): print "dans le init du Process" + if self.get_child('XLS_file').valeur == "" or self.get_child('XLS_file').valeur== None : return + self.OngletsSelectionnes= self.get_child('b_TabList').get_child('TabList').valeur + print "fin de PROCESS_context" def PROCESS(self,XLS_file,**args): - - - print "dans PROCESS" + # self = Accas.A_MACRO_ETAPE.MACRO_ETAPE + self.sauve_args=args if XLS_file == "" or XLS_file == None: return + #print XLS_file #Storage.csvFileName = XLS_file - # c est la premier fois + # c est la premiere fois if not (hasattr(self,'sheets')) : - print "dans if" + #print 'attention en dur' #from Processor_Storage import * #print getSheets #getSheets() @@ -144,20 +137,14 @@ def PROCESS(self,XLS_file,**args): #print ContingencyList #Storage.selectedDoubleRow[Storage.sheets[0]]=['PV MATIMBA'] #Storage.selectedDoubleCol[Storage.sheets[0]]=['MAZENOD_MHDAM_LI1_'] - #self.jdc.appli.changeIntoMC(self,'TabList',Storage.sheets) + #self.jdc.editor.changeIntoMC(self,'TabList',Storage.sheets) #self.sheets=Storage.sheets #self.OngletsValeurs=[] - self.sheets=getXLS(XLS_file) - self.jdc.appli.changeIntoMC(self,'TabList',self.sheets.keys()) - - for k in self.sheets.keys(): - nom='Component_List_For_'+k - monInto=self.sheets[k][0] - self.jdc.appli.ajoutDefinitionMC('CONTINGENCY_PROCESSING',nom,'TXM',min=0, max='**', into=monInto, homo= 'SansOrdreNiDoublon') - nom='Contingency_List_For_'+k - monInto=self.sheets[k][1] - self.jdc.appli.ajoutDefinitionMC('CONTINGENCY_PROCESSING',nom,'TXM',min=0, max='**', into=monInto, homo= 'SansOrdreNiDoublon') + from Processor import getXLSinfo + self.sheets = getXLSinfo(XLS_file) + self.jdc.editor.changeIntoMC(self,'TabList',self.sheets.keys(),('b_TabList',)) + self.MCAjoutes=[] self.OngletsSelectionnes=[] @@ -165,23 +152,28 @@ def PROCESS(self,XLS_file,**args): # On a selectionne un onglet # On teste si on a modifie la liste des onglets - nouveauxOngletsSelectionnes= self.get_child('TabList').getval() + nouveauxOngletsSelectionnes= self.get_child('b_TabList').get_child('TabList').valeur if nouveauxOngletsSelectionnes==self.OngletsSelectionnes : return if nouveauxOngletsSelectionnes==() or nouveauxOngletsSelectionnes == [] : - for MC in self.MCAjoutes : - self.jdc.appli.deleteMC(self,MC) + for MC in self.MCAjoutes : self.jdc.editor.deleteMC(self,MC,('b_TabList',)) self.MCAjoutes=[] self.OngletsSelectionnes=[] + self.jdc.editor.fenetreCentraleAffichee.reaffiche() return for Onglet in nouveauxOngletsSelectionnes: if Onglet in self.OngletsSelectionnes : continue - MCFils='Contingency_List_For_'+Onglet - self.jdc.appli.ajoutMC(self,MCFils,[]) - self.MCAjoutes.append(MCFils) MCFils='Component_List_For_'+Onglet - self.jdc.appli.ajoutMC(self,MCFils,[]) + monInto=self.sheets[Onglet][0] + self.jdc.editor.ajoutDefinitionMC('CONTINGENCY_PROCESSING',('b_TabList',),MCFils,'TXM',min=0, max='**', into=monInto, homo= 'SansOrdreNiDoublon') + self.jdc.editor.ajoutMC(self,MCFils,[],('b_TabList',)) + self.MCAjoutes.append(MCFils) + + MCFils='Contingency_List_For_'+Onglet + monInto=self.sheets[Onglet][1] + self.jdc.editor.ajoutDefinitionMC('CONTINGENCY_PROCESSING',('b_TabList',),MCFils,'TXM',min=0, max='**', into=monInto, homo= 'SansOrdreNiDoublon') + self.jdc.editor.ajoutMC(self,MCFils,[],('b_TabList',)) self.MCAjoutes.append(MCFils) @@ -189,35 +181,15 @@ def PROCESS(self,XLS_file,**args): if Onglet in nouveauxOngletsSelectionnes : continue MCFils='Contingency_List_For_'+Onglet - self.jdc.appli.deleteMC(self,MCFils) + self.jdc.editor.deleteMC(self,MCFils,('b_TabList',)) + self.jdc.editor.deleteDefinitionMC('CONTINGENCY_PROCESSING',('b_TabList',),MCFils) self.MCAjoutes.remove(MCFils) MCFils='Component_List_For_'+Onglet - self.jdc.appli.deleteMC(self,MCFils) + self.jdc.editor.deleteMC(self,MCFils,('b_TabList',)) + self.jdc.editor.deleteDefinitionMC('CONTINGENCY_PROCESSING',('b_TabList',),MCFils) self.MCAjoutes.remove(MCFils) self.OngletsSelectionnes=nouveauxOngletsSelectionnes - - - - # OldBusValeurs= self.get_child('BusList').getval() -# OldContValeurs= self.get_child('ContList').getval() -# if OldBusValeurs == None : OldBusValeurs=[] -# if OldContValeurs == None : OldContValeurs=[] -# -# listeBus=[] -# listeCont=[] -# listeBusCoches=[] -# listeContCoches=[] -# for o in OngletsValeurs : -# for b in self.dico[o][0]: -# texte=b+" ("+ str(o) +" )" -# listeBus.append(str(texte)) -# if texte in OldBusValeurs : listeBusCoches.append(str(texte)) -# for c in self.dico[o][1]: -# texte=c+" ("+ str(o) +" )" -# listeCont.append(str(texte)) -# if texte in OldContValeurs : listeContCoches.append(str(texte)) -# -# self.jdc.appli.changeIntoMCandSet(self,'BusList',listeBus,listeBusCoches) -# self.jdc.appli.changeIntoMCandSet(self,'ContList',listeCont,listeContCoches) + self.jdc.editor.fenetreCentraleAffichee.reaffiche() + diff --git a/ProcessOutputs_Eficas/prefs_PSEN_N1.py b/ProcessOutputs_Eficas/prefs_PSEN_N1.py index 00992868..ffebe865 100644 --- a/ProcessOutputs_Eficas/prefs_PSEN_N1.py +++ b/ProcessOutputs_Eficas/prefs_PSEN_N1.py @@ -34,8 +34,9 @@ lang='en' #'fr' encoding='iso-8859-1' docPath=repIni +affiche='ordre' # catalogues=( - ('PSEN_N1','default',os.path.join(repIni,'PSEN_Cata_N1.py'),'python','python'), + ('PSEN_N1','default',os.path.join(repIni,'PSEN_Cata_N1.py'),'ProcessOutputs','python'), ) diff --git a/ProcessOutputs_Eficas/qtEficas_PSEN_N1.py b/ProcessOutputs_Eficas/qtEficas_PSEN_N1.py index 77173360..948867b5 100755 --- a/ProcessOutputs_Eficas/qtEficas_PSEN_N1.py +++ b/ProcessOutputs_Eficas/qtEficas_PSEN_N1.py @@ -35,6 +35,13 @@ path1 = os.path.abspath(os.path.join(os.path.abspath(__file__),'TreatOutputs')) path1 = 'C:\\Logiciels DER\\PSEN_V15\\Code\\ProcessOutputs_Eficas\TreatOutputs' sys.path.append(path1) +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') +print ('kjlkjlkjkl') from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) +if __name__ == '__main__': eficas_go.lance_eficas(code=prefs.code) diff --git a/SPECA/SPECA_Cata_V2_00.py b/SPECA/SPECA_Cata_V2_00.py new file mode 100644 index 00000000..f6c34acf --- /dev/null +++ b/SPECA/SPECA_Cata_V2_00.py @@ -0,0 +1,458 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * + + +# rend disponible le type tuple (liste) +import types +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 + + __repr__=info + __str__=info + + + +# +#CONTEXT.debug = 1 + +VERSION_CATALOGUE="2.0.0"; + +JdC = JDC_CATA ( code = 'SPECA', + execmodul = None, + regles=(AU_MOINS_UN('SPECIFICATION_ANALYSE',), + AU_PLUS_UN('SPECIFICATION_ANALYSE',), + ), + )# Fin JDC_CATA + +## ----- SPECIFICATION DE L'ETUDE ----- ## +SPECIFICATION_ANALYSE= MACRO (nom = 'SPECIFICATION_ANALYSE', + op = None, + UIinfo = {"groupes":("Machine tournante",)}, + fr = "Specification des analyses", + TYPE_ANALYSE = SIMP(statut='o', typ='TXM',into=('STATIQUE', 'MODALE', 'HARMONIQUE', 'TRANSITOIRE', 'TRANSITOIRE_ACCIDENTEL','SYNTHESE')), + # pour V1.1 flexion uniquement + #TYPE_COMPORTEMENT = SIMP(statut='o', typ='TXM',into=('FLEXION'),defaut='FLEXION',fr="Renseignement du type de comportement voulu"), + TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')", + FLEXION = SIMP(statut='o',typ='TXM',into=('OUI',),defaut='OUI',fr="Prise en compte la flexion de la ligne d'arbres: obligatoire"), + TORSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la torsion de la ligne d'arbres"), + COMPRESSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la traction/compression de la ligne d'arbres"), + ), + + SURCHARGE=BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",statut="f", + TEMPLATE=SIMP( statut="f", + typ=("Fichier","Fichier Template (*.tpl)"), + min=1,max=1, + fr="Utiliser un template d'analyse modifie" + ), + PARAMETRES= FACT(statut='f',min=1,max='**',fr="Definition et renseignement des parametres utilises dans le template surcharge", + CLE=SIMP(statut='o',typ='TXM',defaut=None,fr="Nom du parametre dans le template"), + TYPE=SIMP(statut='o',typ='TXM',into=('ENTIER','REEL','CHAINE','FICHIER','REPERTOIRE'),fr="Nature du parametre a renseigner"), + ENTIER=BLOC(condition="TYPE=='ENTIER'", + VALUE=SIMP(statut='o',typ='I',defaut=0,fr="Renseignement d'un nombre entier"), + ), + REEL=BLOC(condition="TYPE=='REEL'", + VALUE=SIMP(statut='o',typ='R',defaut=0.0,fr="Renseignement d'un nombre reel"), + ), + CHAINE=BLOC(condition="TYPE=='CHAINE'", + VALUE=SIMP(statut='o',typ='TXM',defaut='',fr="Renseignement d'une chaine de caracteres"), + ), + FICHIER=BLOC(condition="TYPE=='FICHIER'", + VALUE=SIMP(statut='o',typ=("Fichier","All files (*.*)"),fr="Renseignement d'un fichier") + ), + REPERTOIRE =BLOC(condition="TYPE=='REPERTOIRE'", + VALUE=SIMP(statut='o',typ="Repertoire",fr="Renseignement d'un repertoire") + ), + + ), + ), + + + +### ----- CALCUL STATIQUE ----- ## + ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",fr="Analyse statique (vitesse de rotation nulle de la ligne d'arbres)" + + CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique", + TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','FORCE','MOMENT','DELIGNAGE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"), + POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur", + GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"), + DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"), + ), # fin POIDS + FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"), + #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"), + ), # fin FORCE + MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"), + ), # fin MOMENT + DELIGNAGE = BLOC(condition = "TYPE == 'DELIGNAGE' ",fr="Application d'un delignage sur un ou plusieurs paliers", + NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom du palier deligne"), + DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant X du palier (m)"), + DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant Y du palier (m)"), + ), # fin Delignage + ), #fin CHARGES + + ## POST-TRAITEMENTS DU CALCUL STATIQUE + POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements", + TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','REAC_NODA','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"), + DEPL = BLOC(condition="TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'), + POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"), + PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"), + ), # fin DEPL + CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Export des contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'), + POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"), + ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de la zone de la contrainte"), + TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),fr="Export pour tous les noeuds"), + ), # fin CONTRAINTES + REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','PALIER'), + POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la reaction"), + #ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de l'etiquette de la zone de la reaction"), + PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"), + ), # fin REAC_NODA + ), # fin POST_TRAITEMENT + ## fin bloc POST_TRAITEMENTS + + ),# fin ANALYSE_STATIQUE + +### ----- CALCUL MODALE ----- ## + ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",fr="Analyse modale de la ligne d'arbres" + BASE_CALCUL = SIMP(statut='o',typ="TXM",into=('MODALE','PHYSIQUE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"), + BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Resolution sur base modale", + regles=UN_PARMI('NB_MODES','FREQ_MAX'), + NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"), + FREQ_MAX=SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"), + ), # fin BASE_MODALE + AMORTISSEMENT = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de l'amortissment"), + GYROSCOPIE = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de la gyroscopie"), + VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"), + OPTION_CALCUL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('PLUS_PETITE','CENTRE'),defaut=None,fr="Choix de l'option de calcul"), + PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Option PLUS_PETITE",fr="Calcul des n premieres frequences" + NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences a calculer"), + ), # fin PLUS_PETITE + CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Option CENTRE",fr="Calcul d'un nombre n de frequences autour d'une frequence donnee" + FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"), + NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences"), + ), # fin CENTRE + METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='SORENSEN',fr="Choix de la methode de resolution"), + + POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements", + TYPE = SIMP(statut='o',typ='TXM',defaut=None,into=('TABLEAU_PARAM_MODAUX','DIAG_CAMPBELL'),fr="Choix du type de post-traitement",), + #TABLEAU_PARAM_MODAUX = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('SIMPLE','COMPLET'),fr="Choix du type de tableau"), + TABLEAU_PARAM_MODAUX = BLOC(condition = "TYPE == 'TABLEAU_PARAM_MODAUX'",fr="Choix du type de tableau", + TABLEAU = SIMP(statut='o',max=1,typ='TXM',defaut='SIMPLE',into=('SIMPLE','COMPLET'),), + ), # fin TABLEAU_PARAM_MODAUX + DIAG_CAMPBELL = BLOC(condition = "TYPE == 'DIAG_CAMPBELL'", fr = "Choix des options du diagramme de Campbell", + PRECESSION = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SOMME','PLUS_GRANDE_ORBITE'),fr="Critere de determination de la precession"), + SUIVI = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SANS_TRI','TRI_PREC','TRI_FORM_MOD'),fr="Methode de suivi des modes"), + # 20121018 ajout de NB_MODES a la demande de Ionel Nistor + NB_MODES = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Nombre de modes affiches dans le diagramme, doit etre inferieur au nombre de modes calcules (NMAX_FREQ)"), + ), # fin DIAG_CAMPBELL + #DIAG_CAMPBELL = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('OUI','NON'),fr="Choix de calcul du diagramme de Campbell (uniquement si plusieurs vitesses de rotation ont ete renseignees)",), + ), # fin POST_TRAITEMENTS + + + ), # fin ANALYSE_MODALE + +## ----- CALCUL HARMONIQUE ----- ## + ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique de la ligne d'arbres", + + ## specification calcul harmonique + BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"), + BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale", + #MODALE = FACT(statut='o', + regles=UN_PARMI('NB_MODES','FREQ_MAX'), + NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"), + FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"), + #),# fin MODALE + ),# fin BASE_MODALE + AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ", + AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"), + ), # fin AMORTISSEMENT_P + AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ", + AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"), + AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ", + #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"), + AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"), + ),# fin AMOR_MODALE + ), # fin AMORTISSEMENT_M + VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"), + # 20121018 retrait de defaut_fn a la demande de EDF + CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique", + TYPE = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"), + BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"), + ),# fin BALOURD + HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"), + FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"), + FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste de coefficients appliques sur la charge harmonique (autant que de vitesses de rotation)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"), + TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"), + ), # fin HARMONIQUE + ), #FIN CHARGES + ## POST-TRAITEMENTS DU CALCUL HARMONIQUE + POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements", + TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','REAC_NODA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"), + DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'), + POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"), + PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"), + ), # fin DEPL + CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Export des contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'), + POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"), + ZONE = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la zone de la contrainte"), + TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),min=1,max=1,fr="Export pour tous les noeuds"), + ), # fin CONTRAINTES + ), + ## fin bloc POST_TRAITEMENTS + + ),# fin ANALYSE_HARMONIQUE + +### ----- CALCUL TRANSITOIRE ----- ## + ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire de la ligne d'arbres", + + VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation consideree"), + BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",fr="Analyse transitoire a vitesse constante" + BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse transitoire (sur base physique ou sur base modale)"), + BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale", + regles=UN_PARMI('NB_MODES','FREQ_MAX'), + NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"), + FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"), + ),# fin BASE_MODALE + AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ", + AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"), + AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ", + AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"), + ),# fin AMOR_MODALE + ), # fin AMORTISSEMENT_M + ), # fin BASE_C + BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",fr="Analyse transitoire a vitesse variable" + BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('MODALE'),defaut='MODALE',fr="Choix du type de resolution de l'analyse transitoire (obligatoirement sur base modale)"), + BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale", + regles=UN_PARMI('NB_MODES','FREQ_MAX'), + NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"), + FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"), + ),# fin BASE_MODALE + AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"), + AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ", + #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"), + AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"), + ),# fin AMOR_MODALE + ), # fin BASE_C + VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante", + VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"), + ),# fin VITESSE_CONSTANTE + VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','FORMULE'), + LINEAIRE = FACT(statut='f',min=1,max=1,fr="Variation lineaire de la vitesse de rotation", + VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",), + VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",), + DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"), + PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"), + ),# fin LINEAIRE + EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Variation exponentielle de la vitesse de rotation", + VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",), + VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",), + DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"), + LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de la loi exponentielle (Hz)"), + PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"), + ),# fin EXPONENTIELLE + FORMULE = FACT(statut='f',min=1,max=1,fr="Fonction personnalisee decrivant la variation de la vitesse de rotation", + FICHIER = SIMP(statut='o',typ=('Fichier','Formule vitesse rotation (*.*)'),min=1,max=1,defaut=None,fr="Renseignement du fichier contenant les fonctions de la vitesse de rotation"), + PHI = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de position angulaire (max 8 caractere)"), + OM = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de vitesse angulaire (max 8 caractere)"), + ACC = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule d'acceleration angulaire (max 8 caractere)"), + VITE_MOY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la moyenne des vitesses balayees (tr/min)"), + PAS_MAJ = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"), + ),# fin FORMULE + ),# fin VITESSE_VARIABLE + #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"), + + CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique", + TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"), + BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"), + INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"), + TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"), + ),# fin BALOURD + POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur", + GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"), + DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"), + ), # fin POIDS + FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"), + #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"), + ), # fin FORCE + MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"), + ), # fin MOMENT + HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"), + FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"), + #FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"), + TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"), + ), # fin HARMONIQUE + ), #fin CHARGES + + ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul", + #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "), + RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees de type 'resultat' de Code_Aster"), + INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=0.0,fr="Renseignement de l'instant de la structure de donnees a partir duquel il faut lancer le calcul (s)"), + ), # fin ETAT_INIT + PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de discretisation temporelle"), + #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas", + PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement de pas de temps", + TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration(en s)"), + INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du calcul (s)"), + INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (s)"), + ), # fin TEMPS_PAS + LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste d'instants", + LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste d'instants auxquels resoudre le calcul (s)"), + ), # fin LIST_INST + PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",), + SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('NEWMARK','EULER','WILSON','ADAPT_ORDRE1','ADAPT_ORDRE2','DIFF_CENTRE'),defaut='NEWMARK',fr="Choix d'un schema d'integration temporelle"), + NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Methode de NEWMARK", + BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"), + GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"), + ),# fin NEWMARK + WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Methode de WILSON", + THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"), + ), # fin WILSON + + ## POST_TRAITEMENTS de l'analyse transitoire + POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements", + TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"), + DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'), + #POSITION_DEPL = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"), + POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"), + PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"), + ), # fin DEPL + CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Export des contraintes", + regles=UN_PARMI('POSITION','ZONE','TOUT'), + POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"), + ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"), + TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="Export pour tous les noeuds"), + ), # fin CONTRAINTES + ), # fin POST_TRAITEMENTS + + ), # fin ANALYSE_TRANSISTOIRE + + +### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ## + ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle de la ligne d'arbres", + #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale", + #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"), + BASE_MODALE = BLOC(condition = "True", fr="Resolution sur base modale", + regles=UN_PARMI('NB_MODES','FREQ_MAX'), + NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"), + FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"), + ),# fin BASE_MODALE + # cft 20131217 suppression amortissement reduit + #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"), + AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"), + AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ", + #LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"), + LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements modaux reduits (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"), + ),# fin AMOR_REDUIT + VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"), + + CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique", + TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"), + BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"), + INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"), + TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"), + ),# fin BALOURD + POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur", + GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"), + DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"), + ), # fin POIDS + FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"), + #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"), + ), # fin FORCE + MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel", + POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"), + ), # fin MOMENT + HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"), + FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"), + MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"), + #FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"), + PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"), + TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"), + ), # fin HARMONIQUE + ), #fin CHARGES + ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul", + #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "), + # 20121126 + #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "), + INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial a partir duquel il faut lancer le calcul (s)"), + ), # fin ETAT_INIT + #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"), + # 20121126 + PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS'),defaut="PAS",fr="Choix du type de discretisation temporelle",), + PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement de pas de temps", + PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Code_Aster (en s)",), + PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Edyos (en s)",), + INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (en s)",), + ), # fin TEMPS_PAS + #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas", + #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"), + #), # fin LIST_INST + PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",), + PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille maximale de la memoire (Mo)",), + PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU maximal (s)",), + SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('EULER','ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema d'integration temporelle"), + + ## POST_TRAITEMENTS de l'analyse transitoire + POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements", + TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"), + DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement", + POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"), + PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"), + ), # fin DEPL + # pas d'info à rentrer pour les efforts palier (post-traitement sur tout les paliers) + #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers", + #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"), + #), # fin EFFORTS_PAL + CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Export des contraintes", + regles=UN_PARMI('POSITION','ZONE','TOUT'), + POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"), + ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"), + TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="Export pour tous les noeuds"), + ), # fin CONTRAINTES + ), # fin POST_TRAITEMENTS + + + ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL + +)# fin SPECIFICATION_ANALYSE diff --git a/Sep/CMakeLists.txt b/Sep/CMakeLists.txt deleted file mode 100644 index c996b408..00000000 --- a/Sep/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - - -install ( FILES - qtEficas_SEP.py SEP_Cata_V1_4.py configuration_SEP.py prefs.py - __init__.py prefs_SEP.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/Sep - ) - - - -### Local Variables: -### mode: cmake -### End: diff --git a/Sep/SEP_Cata_V0.py b/Sep/SEP_Cata_V0.py deleted file mode 100644 index 0e0957b3..00000000 --- a/Sep/SEP_Cata_V0.py +++ /dev/null @@ -1,114 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_PLUS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), - - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", - - MAIL_TUBE = FACT( statut='o', - fr = "Parametres maillage du tube ", - POINTS_DE_MESURE = FACT( statut='o', - FICHIER1 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - FICHIER2 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur du tube"), - EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale du tube sans sous epaisseur"), - NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=11 , val_min=1, fr="nombre de segments dans la longueur d'amortissement"), - NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=4 , val_min=1, fr="nombre de segments dans longueur de transition"), - NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=5 , val_min=1, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - PETITE_DISTANCE =SIMP(statut='o', typ='R', defaut=100.0 , fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - NB_SEG_PETITES_DISTANCES =SIMP(statut='o', typ='I', defaut=3 , val_min=3 , fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=5 , val_min=2 , fr="nombre de segments dans l'arc du tube entre deux generatrices"), - NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 , fr="nombre de segments dans l'epaisseur du tube"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", - - MAIL_COUDE = FACT( statut='o', - fr = "Parametres maillage du coude ", - POINTS_DE_MESURE = FACT( statut='o', - FICHIER1 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - R_COUDE =SIMP(statut='o', typ='R', fr="rayon du coude"), - R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur"), - EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale sans sous epaisseur"), - ANGLE_COUDE =SIMP(statut='o', typ='R', defaut=90 , val_min=90. , val_max=90. ,fr="angle du coude"), - ORIENTATION_COUDE =SIMP(statut='o', typ='TXM',defaut='D',into=('D','G'),fr="orientation du coude"), - LONGUEUR_PROLONGEMENT_AMONT=SIMP(statut='o', typ='R', fr="longueur du prolongement amont"), - LONGUEUR_PROLONGEMENT_AVAL =SIMP(statut='o', typ='R', fr="longueur du prologenment aval"), - PAS_MESURE =SIMP(statut='o', typ='I', fr="pas de la mesure"), - DEBUT_MESURE =SIMP(statut='o', typ='R', fr="distance de la premiere mesure"), - ANGLE_MESURE =SIMP(statut='o', typ='R', defaut=45. ,fr="angle entre deux generatrices"), - NB_SEG_PROLONGEMENT_AMONT =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement amont"), - NB_SEG_PROLONGEMENT_AVAL =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement aval"), - NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=10 , val_min=1 ,fr="nombre de segments dans la longueur d'amortissement"), - NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=5 , val_min=1 ,fr="nombre de segments dans longueur de transition"), - NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=25 , val_min=25 ,fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=7 , val_min=2 ,fr="nombre de segments dans l'arc du coude entre deux generatrices"), - NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 ,fr="nombre de segments dans l'epaissuer"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - b_charge_limite_oui=BLOC(condition = "((CHARGE_LIMITE == 'OUI') )", - - TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM', into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP',),), - - PARAMETRES_CALCUL = FACT( statut='o', - fr = "Parametres pour calcul de charge limite ", - - MEMOIRE=SIMP(statut='o', typ='I', ), - TEMPS =SIMP(statut='o', typ='I', ), - MACHINE=SIMP(statut='o', typ='TXM', defaut='LOCAL',into=('LOCAL','DISTANT'),), - - ), - PARAMETRES_CHARGE_LIMITE = FACT( statut='o', - fr = "Parametres materiau pour calcul de charge limite ", - - E =SIMP(statut='o', typ='R', fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', fr="limite d'elasticite"), - ), - - ), -) diff --git a/Sep/SEP_Cata_V1.py b/Sep/SEP_Cata_V1.py deleted file mode 100644 index 65bab217..00000000 --- a/Sep/SEP_Cata_V1.py +++ /dev/null @@ -1,127 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), - regles=( UN_PARMI('S_EP_INTERNE','MACRO_OUTIL1','MACRO_OUTIL2'),), - )# Fin JDC_CATA -# - - -S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR',)), - b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='R', defaut=4096.,val_min=4096.,val_max=8000.), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='R', defaut=4096,val_min=4096,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), -) - - -MACRO_OUTIL1= MACRO (nom = 'MACRO_OUTIL1', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "Outil 1", - dir_name = SIMP(statut='o', typ='TXM',), - PARA_GEOM = FACT( statut='o', - max=1, - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), - unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), - ), -) - -MACRO_OUTIL2= MACRO (nom = 'MACRO_OUTIL2', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "Outil 2", - dir_name = SIMP(statut='o', typ='TXM',), - PARA_GEOM = FACT( statut='o', - max=1, - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), - unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), - ), -) - diff --git a/Sep/SEP_Cata_V1_2.py b/Sep/SEP_Cata_V1_2.py deleted file mode 100644 index 3f1c7713..00000000 --- a/Sep/SEP_Cata_V1_2.py +++ /dev/null @@ -1,127 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), - regles=( UN_PARMI('S_EP_INTERNE'),), - )# Fin JDC_CATA -# - - -S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - TYPE_EXEC = SIMP(statut='o', typ='TXM',into=('MAILLAGE','CALCUL',)), - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR','TEST_SOUS_EPAISSEUR')), - b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_test_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TEST_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=128,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ) -) - diff --git a/Sep/SEP_Cata_V1_3.py b/Sep/SEP_Cata_V1_3.py deleted file mode 100644 index 2895dbb7..00000000 --- a/Sep/SEP_Cata_V1_3.py +++ /dev/null @@ -1,126 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - MAILLAGE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - lecture_maillage = BLOC(condition = "(MAILLAGE == 'NON') and (CHARGE_LIMITE=='OUI') ", - LECTURE_MAILLAGE = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier',), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier : ASTER ou MED.",), - NOM = SIMP(statut='f',typ='TXM', - fr="Nom du maillage dans le fichier MED.",),), - ), - - execution_maillage = BLOC(condition = "MAILLAGE == 'OUI' ", - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE','COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE')), - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') or (TYPE_SEP=='TUBE_SOUS_EP_EXTERNE') ", - regles=(UN_PARMI('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE'),), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') or (TYPE_SEP=='COUDE_SOUS_EP_EXTERNE') ", - regles=(UN_PARMI('COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE'),), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), - - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - ), - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA10',into=('STA9','STA10'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - -) - diff --git a/Sep/SEP_Cata_V1_4.py b/Sep/SEP_Cata_V1_4.py deleted file mode 100644 index 462b8c6d..00000000 --- a/Sep/SEP_Cata_V1_4.py +++ /dev/null @@ -1,150 +0,0 @@ -## -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), - - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", - - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - - - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", - - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), - - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", - - TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM',into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP')), - - PARAMETRES = FACT( statut='o',max='**', - fr = "Parametres pour calcul de charge limite ", - - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - machine=SIMP(statut='o', typ='TXM', defaut='locale',into=('locale','distante'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('Pa','MPa'),), - - E =SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3 , fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7 , fr="limite d'elasticite"), - ), - - CHARGE_LIMITE_INF = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_INF') ", - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : .COMM",), - ), - - CHARGE_LIMITE_SUP = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_SUP') ", - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : .COMM",), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - -) - diff --git a/Sep/__init__.py b/Sep/__init__.py deleted file mode 100644 index 8ed65e16..00000000 --- a/Sep/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# diff --git a/Sep/catalogues_sep.ini b/Sep/catalogues_sep.ini deleted file mode 100644 index 7aee501b..00000000 --- a/Sep/catalogues_sep.ini +++ /dev/null @@ -1,14 +0,0 @@ -# Choix des catalogues -import os -#rep_cata=os.path.dirname(os.path.abspath(__file__)) -rep_cata=os.getcwd() - -catalogues = ( - #('SEP','V0',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'), - #('SEP','V1',os.path.join(rep_cata,'SEP_Cata_V1.py'),'SEP','SEP'), - #('SEP','V1_1',os.path.join(rep_cata,'SEP_Cata_V1_1.py'),'SEP','SEP'), - #('SEP','V1_2',os.path.join(rep_cata,'SEP_Cata_V1_2.py'),'SEP','SEP'), - # ('SEP','V1_3',os.path.join(rep_cata,'SEP_Cata_V1_3.py'),'SEP','SEP'), - ('SEP','V1',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'), -) - diff --git a/Sep/configuration_SEP.py b/Sep/configuration_SEP.py deleted file mode 100644 index 4c7fcae7..00000000 --- a/Sep/configuration_SEP.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import os, sys, string, types, re -import traceback -from PyQt4.QtGui import * - -# Modules Eficas -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['exec_acrobat', 'catalogues','savedir'] - self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] - - self.INSTALLDIR =os.path.dirname(__file__) - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - - -def make_config(appli,rep): - return CONFIG(appli,rep) - - diff --git a/Sep/editeur.ini b/Sep/editeur.ini deleted file mode 100644 index 83dff66c..00000000 --- a/Sep/editeur.ini +++ /dev/null @@ -1,44 +0,0 @@ -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os - -from Sous_epaisseur import prefs - -rep_cata = os.path.join(prefs.repIni,'Cata') -print rep_cata - -# Accès à la documentation Aster -path_doc = os.path.join(rep_cata,'..','Doc') -exec_acrobat = "acroread" -# Utilisateur/Développeur -isdeveloppeur = "NON" -path_cata_dev = "/tmp/cata" -# Répertoire temporaire -rep_travail = "/tmp" -# Répertoire initial -initialdir=os.curdir - -# Choix des catalogues - -catalogues = ( - ('Sous_epaisseur','v1.0',os.path.join(rep_cata,'SEP_Cata_V1_4'),'python'), - ) - diff --git a/Sep/prefs.py b/Sep/prefs.py deleted file mode 100644 index f91e53af..00000000 --- a/Sep/prefs.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -import os,sys - -# repIni sert à localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) - -# INSTALLDIR sert à localiser l'installation d'Eficas -# Obligatoire -INSTALLDIR=os.path.join(repIni,'..') - -# CODE_PATH sert à localiser Noyau et Validation éventuellement -# non contenus dans la distribution EFICAS -# Par défaut on utilise les modules de INSTALLDIR -# Peut valoir None (defaut) -CODE_PATH = None - -# la variable code donne le nom du code a selectionner -code="SEP" - -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - - -EditeurDir=INSTALLDIR+"/Editeur" -sys.path.insert(0,INSTALLDIR) - -ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') - -# Preference -if os.name == 'nt': - userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ]) -else : - userprefs=os.path.expanduser("~/.Eficas_SEP/prefs.py") - -if os.path.isfile(userprefs): - try: - execfile(userprefs) - except: - pass - diff --git a/Sep/prefs_SEP.py b/Sep/prefs_SEP.py deleted file mode 100644 index 66a112fb..00000000 --- a/Sep/prefs_SEP.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -import os,sys - -# repIni sert à localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) - -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -catalogues = ( - ('Sous_epaisseur','v1.0',os.path.join(repIni,'SEP_Cata_V1_4.py'),'python'), -) - diff --git a/Sep/properties.py b/Sep/properties.py deleted file mode 100644 index bd8236ca..00000000 --- a/Sep/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "0.1" -date = "20/05/2009" -exploit = False diff --git a/Sep/qtEficas_SEP.py b/Sep/qtEficas_SEP.py deleted file mode 100755 index 741a2e49..00000000 --- a/Sep/qtEficas_SEP.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster Outils Metier Sous-Epaisseur -""" -# Modules Python - -# Modules Eficas -import prefs -from InterfaceQT4 import eficas_go -#from InterfaceQT import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/Sep/sdistSEP.py b/Sep/sdistSEP.py deleted file mode 100644 index e94077f3..00000000 --- a/Sep/sdistSEP.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour SEP - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasSEP_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py','faqs.txt']) - copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) - copyfiles('../Sous_epaisseur',os.path.join(path_distrib,'Sous_epaisseur'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - os.system("rm -rf .././convert/Parserv5 ") - os.system("rm -rf .././convert/convert_asterv5.py ") - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/Sep/style.py b/Sep/style.py deleted file mode 100644 index d4855725..00000000 --- a/Sep/style.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les -informations sur le style voulu dans son repertoire Eficas_install. - -La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le -fichier style.py d'Eficas_install. Exemple:: - - style.background='yellow' - -pour modifier la couleur du background. - -Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. - -Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs -de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: - - class STYLE(STYLE): - background='yellow' - -Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: - - style=STYLE() - -Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: - - background='gray90' - foreground='black' - entry_background='white' - list_background='white' - list_select_background='#00008b' - list_select_foreground='grey' - tooltip_background="yellow" - - standard = ("Helvetica",12) - standard_italique = ("Helvetica",12,'italic') - standard_gras = ("Helvetica",12,'bold') - standard_gras_souligne = ("Helvetica",12,'bold','underline') - - canvas = ('Helvetica',10) - canvas_italique = ('Helvetica',10,'italic') - canvas_gras = ("Helvetica",10,'bold') - canvas_gras_italique = ("Helvetica",12,'bold','italic') - - standard12 = ("Helvetica",14) - standard12_gras = ("Helvetica",14,'bold') - standard12_gras_italique = ( "Helvetica",14,'bold','italic') - - -Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. -Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install -sont prises en compte dans cet ordre. -""" - -p1=10 -p2=14 -f1="Helvetica" - -style.background='gray90' -style.foreground='black' -style.standard = (f1,p1) -style.standard_italique = (f1,p1,'italic') -style.standard_gras = (f1,p1,'bold') -style.canvas_italique = (f1,p1,'italic') -style.canvas_gras = (f1,p1,'bold') -style.statusfont = (f1,p2) diff --git a/Telemac/reecrit_cas_en_comm.py b/Telemac/reecrit_cas_en_comm.py new file mode 100755 index 00000000..4415f8f2 --- /dev/null +++ b/Telemac/reecrit_cas_en_comm.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +""" +""" +# Modules Python +from __future__ import absolute_import +from __future__ import print_function + +import sys,os + +# Modules Eficas +import prefs +if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack + + +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from InterfaceQT4 import eficas_go + +from PyQt5.QtWidgets import QApplication +app = QApplication(sys.argv) +#for badf in ('t2d_bridge.cas','t2d_estu_gir.cas' ): +#for f in ('t2d_bj78.cas',): +for f in ('t2d_weirs.cas',): +#for f in ('t2d_bj78.cas' ,'t2d_bowl_fe.cas' ,'t2d_bowl_vf.cas' ,'t2d_bowl_vf_gb.cas' ,'t2d_breach.cas' ,'t2d_break.cas' ,'t2d_bumpcri.cas' ,'t2d_bumpflu.cas' ,'t2d_cavity.cas' ,'t2d_cinetiques.cas' ,'t2d_clotilde.cas' ,'t2d_cone.cas' ,'t2d_confluence.cas' ,'t2d_culm.cas' ,'t2d_dambreak_v1p0.cas' ,'t2d_dambreak_v2p0.cas' ,'t2d_digue.cas' ,'t2d_donau.cas' ,'t2d_dragforce.cas' ,'t2d_estimation.cas' ,'t2d_flotteurs_v1p0.cas' ,'t2d_flotteurs_v2p0.cas' ,'t2d_friction.cas' ,'t2d_gouttedo.cas' ,'t2d_gouttedo_cin.cas' ,'t2d_gouttedo_qua.cas' ,'t2d_hydraulic_jump_v1p0.cas' ,'t2d_hydraulic_jump_v2p0.cas' ,'t2d_init-1.cas' ,'t2d_init-2.cas' ,'t2d_init-3.cas' ,'t2d_init_cin.cas' ,'t2d_island.cas' ,'t2d_m2wave.cas' ,'t2d_malpasset-large.cas' ,'t2d_malpasset-large_med.cas' ,'t2d_malpasset-small_charac.cas' ,'t2d_malpasset-small_cin.cas' ,'t2d_malpasset-small_ERIA.cas' ,'t2d_malpasset-small_pos.cas' ,'t2d_malpasset-small_prim.cas' ,'t2d_mersey.cas' ,'t2d_monai.cas' ,'t2d_okada.cas' ,'t2d_ondem2.cas' ,'t2d_pildepon.cas' ,'t2d_pildepon_cin.cas' ,'t2d_pildepon_qua.cas' ,'t2d_pluie.cas' ,'t2d_pluie_cn.cas' ,'t2d_pluie_cn_geo_hyetograph.cas' ,'t2d_porosite.cas' ,'t2d_riogrande.cas' ,'t2d_ritter.cas' ,'t2d_riv_art.cas' ,'t2d_ruptmoui.cas' ,'t2d_seccurrents.cas' ,'t2d_seiche.cas' ,'t2d_shoal.cas' ,'t2d_siphon.cas' ,'t2d_swash.cas' ,'t2d_tests_channel.cas' ,'t2d_thacker.cas' ,'t2d_thomson.cas' ,'t2d_tide-ES_real.cas' ,'t2d_tide-jmj_real_gen.cas' ,'t2d_tide-jmj_type.cas' ,'t2d_tide-jmj_type_gen.cas' ,'t2d_tide-jmj_type_med.cas' ,'t2d_tide-NEA_prior_real.cas' ,'t2d_tide-NEA_prior_type.cas' ,'t2d_tracer_decay.cas' ,'t2d_trdec.cas' ,'t2d_triangular_shelf.cas' ,'t2d_vasque.cas' ,'t2d_waq_o2.cas' ,'t2d_waq_thermic.cas' ,'t2d_wave.cas' ,'t2d_weirs.cas' ,'t2d_wesel.cas' ,'t2d_wesel_pos.cas' ,'t2d_wind.cas' ,'t2d_wind_txy_bin.cas' ,'t2d_wind_txy.cas' ,'waq_steer.cas') : + + if f == ' ' : continue + print ("Traitement de : ", 'CasEn/'+f) + + # on veut ouvrir un fichier directement au lancement d'Eficas + eficas_go.lance_eficas_ssIhm_reecrit(code='TELEMAC',fichier = 'CasEn/'+f,ou = 'CasEn_Reecrits',cr=True) + print ("\n") diff --git a/Traducteur/changeValeur.py b/Traducteur/changeValeur.py index 0bd6fd64..f091499e 100644 --- a/Traducteur/changeValeur.py +++ b/Traducteur/changeValeur.py @@ -45,7 +45,7 @@ def ChangementValeur(jdc,command,motcle,DictNouvVal,liste=(),defaut=0): if indexTexteMC > len(liste_ligne_MC)-1 : break MaLigneGlob=jdc.getLines()[indexLigneGlob] MaLigneTexte=liste_ligne_MC[indexTexteMC] - for Valeur in DictNouvVal.keys() : + for Valeur in DictNouvVal : MaLigneTexteDict=lineToDict(MaLigneTexte) trouvecol=MaLigneTexte.find(Valeur) if trouvecol > -1: @@ -97,7 +97,7 @@ def ChangementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste=(),ensemble= if indexTexteMC > len(liste_ligne_MC)-1 : break MaLigneGlob=jdc.getLines()[indexLigneGlob] MaLigneTexte=liste_ligne_MC[indexTexteMC] - for Valeur in DictNouvVal.keys() : + for Valeur in DictNouvVal : MaLigneTexteDict=lineToDict(MaLigneTexte) trouvecol=MaLigneTexte.find(Valeur) if trouvecol > -1: diff --git a/Traducteur/dictErreurs.py b/Traducteur/dictErreurs.py index b3b20fb7..74947840 100644 --- a/Traducteur/dictErreurs.py +++ b/Traducteur/dictErreurs.py @@ -30,7 +30,7 @@ def EcritErreur(listeGena,ligne=None) : #try : if ( 1 == 1) : maClef=maCle[1:] - if maClef in dict_erreurs.keys() : + if maClef in dict_erreurs : if ligne != None : logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef]) else : @@ -41,7 +41,7 @@ def EcritErreur(listeGena,ligne=None) : maCle=maCle+"_"+Mot maClef=maCle[1:] maClef=maCle+"_"+"VALEUR" - if maClef in dict_erreurs.keys() : + if maClef in dict_erreurs : if ligne != None : logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef]) else : diff --git a/Traducteur/inseremocle.py b/Traducteur/inseremocle.py index 8e517dbd..f53adf39 100644 --- a/Traducteur/inseremocle.py +++ b/Traducteur/inseremocle.py @@ -21,7 +21,6 @@ import logging from Traducteur.parseur import FactNode from Traducteur.load import jdcSet from Traducteur.dictErreurs import EcritErreur -import string from Traducteur import regles debug=0 diff --git a/Traducteur/utils.py b/Traducteur/utils.py index b666ee79..eabb73fd 100644 --- a/Traducteur/utils.py +++ b/Traducteur/utils.py @@ -40,6 +40,6 @@ def lineToDict(line): def DictToLine(d): """Transformation inverse: à partir d'un dictionnaire retourne une ligne""" - cols = d.keys() + cols = d cols.sort() return "".join([d[colno]for colno in cols]) diff --git a/UiQT4/CMakeLists.txt b/UiQT4/CMakeLists.txt deleted file mode 100644 index 5e60625a..00000000 --- a/UiQT4/CMakeLists.txt +++ /dev/null @@ -1,111 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002, 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -set ( _PYFILES ) -macro ( eficas_compile_ui uifile ) - get_filename_component ( _file_we ${uifile} NAME_WE ) - set ( _pyfile "${_file_we}.py" ) - add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} - COMMAND ${PYUIC4} ARGS -x -o ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ${CMAKE_CURRENT_SOURCE_DIR}/${uifile} - MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${uifile} - COMMENT "Compiling ${uifile}" - ) - list ( APPEND _PYFILES ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ) -endmacro ( eficas_compile_ui ) - -eficas_compile_ui ( myMain.ui ) -eficas_compile_ui ( desBaseWidget.ui ) -eficas_compile_ui ( desChoixCata.ui ) -eficas_compile_ui ( desChoixCode.ui ) -eficas_compile_ui ( desChoixCommandes.ui ) -eficas_compile_ui ( desChoixLangue.ui ) -eficas_compile_ui ( desRecherche.ui ) -eficas_compile_ui ( desRechercheCatalogue.ui ) -eficas_compile_ui ( desSelectVal.ui ) -eficas_compile_ui ( desViewTexte.ui ) -eficas_compile_ui ( desViewRegles.ui ) -eficas_compile_ui ( desVisu.ui ) -eficas_compile_ui ( desWidgetCreeParam.ui ) -eficas_compile_ui ( desWidgetCommande.ui ) -eficas_compile_ui ( desWidgetFormule.ui ) -eficas_compile_ui ( desWidgetOptionnel.ui ) -eficas_compile_ui ( desGroupeOptionnel.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 ( desWidgetFact.ui ) -eficas_compile_ui ( desWidgetFactPlie.ui ) -eficas_compile_ui ( desWidgetHeure.ui ) -eficas_compile_ui ( desWidgetInactif.ui ) -eficas_compile_ui ( desWidgetInformation.ui ) -eficas_compile_ui ( desWidgetMatrice.ui ) -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 ( desWidgetPlusieursPlie.ui ) -eficas_compile_ui ( desWidgetRadioButton.ui ) -eficas_compile_ui ( desWidget4a6RadioButton.ui ) -eficas_compile_ui ( desWidgetSDCOInto.ui ) -eficas_compile_ui ( desWidgetSimpBase.ui ) -eficas_compile_ui ( desWidgetSimpBool.ui ) -eficas_compile_ui ( desWidgetSimpComplexe.ui ) -eficas_compile_ui ( desWidgetSimpFichier.ui ) -eficas_compile_ui ( desWidgetSimpSalome.ui ) -eficas_compile_ui ( desWidgetSimpTxt.ui ) -eficas_compile_ui ( desWidgetTuple2.ui ) -eficas_compile_ui ( desWidgetTuple3.ui ) -eficas_compile_ui ( desWidgetUniqueSDCO.ui ) -eficas_compile_ui ( desWidgetVide.ui ) - -add_custom_target ( CompileUI ALL DEPENDS ${_PYFILES} - COMMENT "Built UI files" - ) - -install ( FILES ${_PYFILES} - DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4 - ) - -# Rules to compile TS files -SET(TSFILES eficas_en.ts - eficas_fr.ts) - -SET(QMFILES) -FOREACH(input ${TSFILES}) - GET_FILENAME_COMPONENT(base ${input} NAME_WE) - SET(output ${CMAKE_CURRENT_BINARY_DIR}/${base}.qm) - SET(QMFILES ${QMFILES} ${output}) - ADD_CUSTOM_COMMAND(OUTPUT ${output} - COMMAND ${QT_LRELEASE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${input} -qm ${output} - MAIN_DEPENDENCY ${input}) -ENDFOREACH(input ${TSFILES}) - -ADD_CUSTOM_TARGET(CompileTS ALL DEPENDS ${QMFILES}) -INSTALL(FILES ${QMFILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4) - -### Local Variables: -### mode: cmake -### End: diff --git a/UiQT4/Newdoc.tgz b/UiQT4/Newdoc.tgz deleted file mode 100644 index 1ec9456b..00000000 Binary files a/UiQT4/Newdoc.tgz and /dev/null differ diff --git a/UiQT4/Tuple2.ui b/UiQT4/Tuple2.ui deleted file mode 100644 index fb7c2ab6..00000000 --- a/UiQT4/Tuple2.ui +++ /dev/null @@ -1,149 +0,0 @@ - - - Tuple2 - - - - 0 - 0 - 482 - 34 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 0 - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - - false - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 5 - 20 - - - - - - - - - LECustomTuple - QLineEdit -
gereListe.h
-
-
- - -
diff --git a/UiQT4/Tuple3.ui b/UiQT4/Tuple3.ui deleted file mode 100644 index 10c44979..00000000 --- a/UiQT4/Tuple3.ui +++ /dev/null @@ -1,164 +0,0 @@ - - - Tuple3 - - - - 0 - 0 - 880 - 33 - - - - Form - - - - 0 - - - 0 - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - false - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - - - Qt::Horizontal - - - - 123 - 20 - - - - - - - - - LECustomTuple - QLineEdit -
gereListe.h
-
-
- - -
diff --git a/UiQT4/desBaseWidget.ui b/UiQT4/desBaseWidget.ui deleted file mode 100644 index 43289173..00000000 --- a/UiQT4/desBaseWidget.ui +++ /dev/null @@ -1,92 +0,0 @@ - - - baseWidget - - - - 0 - 0 - 1038 - 557 - - - - - 0 - 0 - - - - - 0 - 0 - - - - DMacro - - - - - - - 0 - - - - - Qt::Horizontal - - - 3 - - - - background:rgb(247,247,247); - - - - - - 0 - - - - - - - 0 - - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desChoixCata.ui b/UiQT4/desChoixCata.ui deleted file mode 100644 index 39a16c5a..00000000 --- a/UiQT4/desChoixCata.ui +++ /dev/null @@ -1,201 +0,0 @@ - - - DChoixCata - - - - 0 - 0 - 466 - 206 - - - - Choix d'une version du code Aster - - - true - - - - - - - - - 0 - 0 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 45 - - - - - - - - true - - - - 400 - 41 - - - - - 150 - 16777215 - - - - - - - - Qt::Vertical - - - - 20 - 45 - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 140 - 40 - - - - - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Cancel - - - - - - true - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - - 140 - 40 - - - - Validate choice - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - - &OK - - - - - - true - - - true - - - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desChoixCode.ui b/UiQT4/desChoixCode.ui deleted file mode 100644 index 33ea0f8b..00000000 --- a/UiQT4/desChoixCode.ui +++ /dev/null @@ -1,155 +0,0 @@ - - - ChoixCode - - - - 0 - 0 - 555 - 332 - - - - - 0 - 0 - - - - Choix du code - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - Veuillez choisir un code : - - - - - - - - 0 - 0 - - - - - - - - - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 140 - 40 - - - - - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Cancel - - - - - - true - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - - 140 - 40 - - - - Validate choice - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - - &OK - - - - - - true - - - true - - - - - - - - - - diff --git a/UiQT4/desChoixCommandes.ui b/UiQT4/desChoixCommandes.ui deleted file mode 100644 index be67512d..00000000 --- a/UiQT4/desChoixCommandes.ui +++ /dev/null @@ -1,449 +0,0 @@ - - - ChoixCommandes - - - - 0 - 0 - 1244 - 652 - - - - - 0 - 0 - - - - - 505 - 0 - - - - DMacro - - - background-color : rgb(248,247,246) - - - - 0 - - - 2 - - - - - - 0 - 0 - - - - - 0 - 130 - - - - - 16777215 - 130 - - - - background-color:rgb(224,223,222) - - - QFrame::NoFrame - - - QFrame::Raised - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> - - - - - - - affiche les commandes par ordre alphabetique - - - Alphabetique - - - - - - - affiche les commandes selon les thèmes - - - Ordre de la modélisation - - - - - - - affiche les commandes selon les thèmes - - - Par Groupe - - - - - - - - - Qt::Horizontal - - - - 109 - 20 - - - - - - - - 5 - - - - - - 0 - 0 - - - - - 141 - 25 - - - - - 16777215 - 25 - - - - selectionne les mots qui CONTIENNENT l expression - - - QFrame::Box - - - QFrame::Raised - - - 1 - - - <html><head/><body><p align="center">Filtre Commande</p></body></html> - - - false - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 2 - - - - - - - - - 0 - 0 - - - - - 195 - 30 - - - - filter commands - - - background-color : rgb(248,247,246) - - - false - - - - - - - QLayout::SetMinimumSize - - - - - - 0 - 0 - - - - Sensible à la casse - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 100 - 30 - - - - - 70 - 40 - - - - ré-affiche toutes les commandes - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - Effacer - - - - - - - - - - - Qt::Horizontal - - - - 108 - 20 - - - - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - affiche les régles de validité - - - border : 0px - - - ... - - - - ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png - - - - 21 - 31 - - - - - - - - Règles de construction - - - - - - - - - Qt::Vertical - - - - 168 - 13 - - - - - - - - - - Qt::Horizontal - - - - 173 - 20 - - - - - - - - - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAsNeeded - - - true - - - - - 0 - 0 - 1240 - 518 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - 2 - - - 0 - - - 0 - - - - - 0 - - - - - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desChoixLangue.ui b/UiQT4/desChoixLangue.ui deleted file mode 100644 index 7beb2787..00000000 --- a/UiQT4/desChoixLangue.ui +++ /dev/null @@ -1,125 +0,0 @@ - - - ChoixLangue - - - - 0 - 0 - 191 - 119 - - - - - 0 - 0 - - - - Langue - - - - - - - 0 - 0 - - - - - - - - 0 - - - 0 - - - 0 - - - 4 - - - 0 - - - - - Français - - - - - - - English - - - - - rbEnglish - rbFrancais - - - - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - - 20 - 20 - - - - - - - - - 60 - 30 - - - - Validate choice - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - - &OK - - - - - - true - - - true - - - - - - - - - - diff --git a/UiQT4/desGroupeOptionnel.ui b/UiQT4/desGroupeOptionnel.ui deleted file mode 100644 index c40c4c22..00000000 --- a/UiQT4/desGroupeOptionnel.ui +++ /dev/null @@ -1,130 +0,0 @@ - - - groupeOptionnel - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - - - - 0 - 0 - - - - - 0 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - - - Qt::Horizontal - - - - 1037 - 20 - - - - - - - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::NoFrame - - - 0 - - - true - - - - - 0 - 0 - 382 - 225 - - - - - 0 - 0 - - - - - - - Qt::Vertical - - - - 20 - 75 - - - - - - - - - - - - - diff --git a/UiQT4/desRecherche.ui b/UiQT4/desRecherche.ui deleted file mode 100644 index a0a44f98..00000000 --- a/UiQT4/desRecherche.ui +++ /dev/null @@ -1,75 +0,0 @@ - - - desRecherche - - - - 0 - 0 - 525 - 55 - - - - Rechercher dans le JDC - - - Next - - - - - 0 - 10 - 411 - 41 - - - - - 0 - 0 - - - - background:rgb(240,240,240) - - - - - true - - - - 420 - 10 - 101 - 41 - - - - - 0 - 0 - - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - Suivant - - - false - - - true - - - - - - diff --git a/UiQT4/desRechercheCatalogue.ui b/UiQT4/desRechercheCatalogue.ui deleted file mode 100644 index ef529e25..00000000 --- a/UiQT4/desRechercheCatalogue.ui +++ /dev/null @@ -1,85 +0,0 @@ - - - desRechercheCatalogue - - - - 0 - 0 - 817 - 359 - - - - Rechercher dans le Catalogue - - - - - - - - - 105 - 0 - - - - - 105 - 22 - - - - Mot à charcher - - - - - - - - - - - - Généalogie - - - - - - - - 419 - 91 - - - - - - - - - - Documentation - - - - - - - - 419 - 101 - - - - - - - - - - - diff --git a/UiQT4/desSelectVal.ui b/UiQT4/desSelectVal.ui deleted file mode 100644 index 125bae0e..00000000 --- a/UiQT4/desSelectVal.ui +++ /dev/null @@ -1,268 +0,0 @@ - - - DSelVal - - - - 0 - 0 - 635 - 744 - - - - - 0 - 0 - - - - Sélection de valeurs - - - background:rgb(235,235,235) - - - - 0 - - - 0 - - - - - - 0 - 400 - - - - background:rgb(250,250,250) - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 10 - - - - - - - - - - - 0 - 0 - - - - - 280 - 150 - - - - Separateur - - - - 15 - - - 0 - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 7 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - espace - - - true - - - - - - - virgule - - - - - - - point-virgule - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 0 - - - - - - 23 - 43 - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 40 - - - - - - - - - 0 - 0 - - - - - 200 - 40 - - - - - 200 - 40 - - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - Importer Tout - - - - - - - - 0 - 0 - - - - - 200 - 40 - - - - - 200 - 40 - - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - Ajouter Selection - - - - - - - - - - - - 16777215 - 31 - - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desViewRegles.ui b/UiQT4/desViewRegles.ui deleted file mode 100644 index 1742aa92..00000000 --- a/UiQT4/desViewRegles.ui +++ /dev/null @@ -1,72 +0,0 @@ - - - viewRegles - - - - 0 - 0 - 283 - 250 - - - - Dialog - - - - - - Fermer - - - - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 265 - 194 - - - - - 0 - - - 0 - - - - - - - - - - - - Qt::Horizontal - - - - 171 - 20 - - - - - - - - - diff --git a/UiQT4/desViewTexte.ui b/UiQT4/desViewTexte.ui deleted file mode 100644 index 6cfa950e..00000000 --- a/UiQT4/desViewTexte.ui +++ /dev/null @@ -1,53 +0,0 @@ - - dView - - - - 0 - 0 - 400 - 322 - - - - Dialog - - - - - - - - - Qt::Horizontal - - - - 209 - 20 - - - - - - - - Fermer - - - - - - - Sauver - - - - - view - bclose - bsave - - - - diff --git a/UiQT4/desVisu.ui b/UiQT4/desVisu.ui deleted file mode 100644 index 6f25807a..00000000 --- a/UiQT4/desVisu.ui +++ /dev/null @@ -1,39 +0,0 @@ - - - DVisu - - - - 0 - 0 - 501 - 61 - - - - Visualisation Include Materiau - - - - 0 - - - 0 - - - - - QFrame::NoFrame - - - QFrame::Plain - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desWidget4a6RadioButton.ui b/UiQT4/desWidget4a6RadioButton.ui deleted file mode 100644 index 71780e85..00000000 --- a/UiQT4/desWidget4a6RadioButton.ui +++ /dev/null @@ -1,376 +0,0 @@ - - - Widget4a6RadioButton - - - - 0 - 0 - 949 - 73 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - Form - - - - 0 - - - 0 - - - 2 - - - 0 - - - 2 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - QFrame::Box - - - - 1 - - - 0 - - - 1 - - - 0 - - - 1 - - - 0 - - - - - - 0 - 0 - - - - RadioButton - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - RadioButton - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 10 - 20 - - - - - - - - Qt::Vertical - - - - 17 - 40 - - - - - - - - - - - - - 25 - 25 - - - - - 25 - 25 - - - - Qt::StrongFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - radioButton_1 - radioButton_4 - RBPoubelle - - - -
diff --git a/UiQT4/desWidgetBloc.ui b/UiQT4/desWidgetBloc.ui deleted file mode 100644 index 439dd60f..00000000 --- a/UiQT4/desWidgetBloc.ui +++ /dev/null @@ -1,45 +0,0 @@ - - - WidgetBloc - - - - 0 - 0 - 1033 - 25 - - - - Form - - - QGroupBox { - border: 1px solid gray; - border-radius: 5px; - margin-top: 1ex; /* leave space at the top for the title */ - } - - QGroupBox::title { - padding: 0 3px; - } - - - - 0 - - - - - 0 - - - 5 - - - - - - - - diff --git a/UiQT4/desWidgetCB.ui b/UiQT4/desWidgetCB.ui deleted file mode 100644 index c5f16d2c..00000000 --- a/UiQT4/desWidgetCB.ui +++ /dev/null @@ -1,314 +0,0 @@ - - - WidgetCB - - - - 0 - 0 - 739 - 63 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 1493 - 85 - - - - Form - - - QComboBox{combobox-popup:0;}; - - - - 0 - - - 0 - - - 2 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0 - - - - - 0 - - - - - - 0 - 0 - - - - - 361 - 25 - - - - - - - - - - QComboBox { - background:rgb(235,235,235); - } -/*QComboBox: on { - font : italic - } -background:rgb(235,235,235); -border:0px; - - -QComboBox:!editable:on, QComboBox::drop-down:editable:on { -background: black; - font : italic 14px - } -QComboBox:on { - font : italic 20px; - background: red ; -}/* - - - - 100 - - - false - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 301 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetCommande.ui b/UiQT4/desWidgetCommande.ui deleted file mode 100644 index 577965c1..00000000 --- a/UiQT4/desWidgetCommande.ui +++ /dev/null @@ -1,715 +0,0 @@ - - - WidgetCommande - - - - 0 - 0 - 1353 - 596 - - - - - 0 - 0 - - - - - 0 - 0 - - - - DCommandeUnique - - - - - - background-color : rgb(224,223,222); -font : 'times' 9px - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 0 - 130 - - - - - 16777215 - 130 - - - - background-color:rgb(224,223,222) - - - - 2 - - - 3 - - - 2 - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 17 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Affiche le rapport de validité de la commande - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/ast-green-ball.png../../../.designer/Editeur/icons/ast-green-ball.png - - - - 21 - 31 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 150 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 2 - 40 - - - - - - - - - 0 - 0 - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - - - QLineEdit { - border: 2px solid gray; - border-radius: 10px; - padding: 0 8px; - background: darkgray; - /* selection-background-color: darkgray;*/ - } -QLineEdit:disabled -{ - background: lightgray; -} -/*read-only { - background: lightblue;*/ - - - false - - - - - - - Qt::Horizontal - - - - 108 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Ignored - - - - 2 - 40 - - - - - - - - 4 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Lance un script associé à la commande - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/roue.png../../../.designer/Editeur/icons/roue.png - - - - 21 - 31 - - - - - - - - - 0 - 0 - - - - - 0 - 38 - - - - true - - - - - - - - 21 - 31 - - - - - 31 - 31 - - - - Qt::ClickFocus - - - ouvre un navigateur sur l'aide contextuelle - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/point-interrogation.png../../../.designer/Editeur/icons/point-interrogation.png - - - - 21 - 31 - - - - - - - - - 21 - 31 - - - - - 31 - 31 - - - - Qt::ClickFocus - - - affiche les régles de validité - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/lettreRblanc30.png../../../.designer/Editeur/icons/lettreRblanc30.png - - - - 21 - 31 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit la commande - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/deleteRond.png../../../.designer/Editeur/icons/deleteRond.png - - - - 21 - 31 - - - - - - RBValide - labelNomCommande - LENom - horizontalSpacer_3 - horizontalSpacer_4 - RBPoubelle - horizontalSpacer_5 - horizontalSpacer_7 - - - - - - - 0 - 0 - - - - - 160 - 40 - - - - Qt::ClickFocus - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Commandes - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - TextLabel - - - - - - - 0 - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande précédente - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - << - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande suivante - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - >> - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - Qt::Vertical - - - - 20 - 0 - - - - - - - - - - - - - - 0 - 81 - - - - background : rgb(247,247,247) - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAsNeeded - - - Qt::ScrollBarAsNeeded - - - true - - - - - 0 - 0 - 1353 - 466 - - - - - - - 1 - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - - qPixmapFromMimeSource - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - LENom - - - -
diff --git a/UiQT4/desWidgetCommentaire.ui b/UiQT4/desWidgetCommentaire.ui deleted file mode 100644 index 6a452e8b..00000000 --- a/UiQT4/desWidgetCommentaire.ui +++ /dev/null @@ -1,540 +0,0 @@ - - - WidgetCommentaire - - - - 0 - 0 - 847 - 453 - - - - - 0 - 0 - - - - - 0 - 0 - - - - DCommandeUnique - - - - - - background-color : rgb(224,223,222); -font : 'times' 9px - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 0 - 130 - - - - - 16777215 - 130 - - - - background-color:rgb(224,223,222) - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 6 - - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 17 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Affiche le rapport de validité de la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 21 - 31 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 150 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p>Commentaire</p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 2 - 40 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Ignored - - - - 2 - 40 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 31 - - - - - - - - - - - - - 8 - - - 15 - - - - - - 0 - 0 - - - - - 160 - 31 - - - - Qt::ClickFocus - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Commandes - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande précédente - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - << - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande suivante - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - >> - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - - - - - - - - 0 - 0 - - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAsNeeded - - - true - - - - - 0 - 0 - 847 - 323 - - - - - 0 - - - 4 - - - 0 - - - 4 - - - 0 - - - - - background : rgb(247,247,247) - - - - - - - Qt::Vertical - - - - 20 - 32 - - - - - - - - - - - - qPixmapFromMimeSource - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
-
- - scrollAreaCommandes - - - -
diff --git a/UiQT4/desWidgetCreeParam.ui b/UiQT4/desWidgetCreeParam.ui deleted file mode 100644 index cbcdb1c3..00000000 --- a/UiQT4/desWidgetCreeParam.ui +++ /dev/null @@ -1,245 +0,0 @@ - - - desWidgetCreeParam - - - - 0 - 0 - 728 - 530 - - - - Gestion des Paramètres - - - - - - - 701 - 291 - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 710 - 349 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 701 - 291 - - - - alternate-background-color:rgb(235,235,235); -background-color: rgb(247,247,247); - - - - QFrame::NoFrame - - - QFrame::Raised - - - true - - - QAbstractItemView::SingleSelection - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - 701 - 131 - - - - background:rgb(247,247,247) - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 30 - 40 - 531 - 76 - - - - - 12 - - - - - - 231 - 31 - - - - background:rgb(235,235,235); -border:0px; - - - false - - - - - - - <html><head/><body><p>Nom: </p></body></html> - - - false - - - - - - - - 231 - 31 - - - - background:rgb(235,235,235); -border:0px; - - - false - - - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - false - - - - - - - - - 30 - 10 - 531 - 22 - - - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> - - - false - - - - - - - Qt::Horizontal - - - - 288 - 20 - - - - - - - - - - - - lineEditNom - lineEditVal - scrollArea - LBParam - - - - diff --git a/UiQT4/desWidgetDate.ui b/UiQT4/desWidgetDate.ui deleted file mode 100644 index 873ab4f7..00000000 --- a/UiQT4/desWidgetDate.ui +++ /dev/null @@ -1,283 +0,0 @@ - - - WidgetDate - - - - 0 - 0 - 736 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - - - - Qt::Horizontal - - - - 411 - 20 - - - - - - - - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetFact.ui b/UiQT4/desWidgetFact.ui deleted file mode 100644 index 28f196af..00000000 --- a/UiQT4/desWidgetFact.ui +++ /dev/null @@ -1,444 +0,0 @@ - - - WidgetFact - - - - 0 - 0 - 949 - 61 - - - - Qt::StrongFocus - - - Form - - - QGroupBox { - border: 1px solid gray; - border-radius: 5px; - margin-top: 1ex; /* leave space at the top for the title */ - } - - QGroupBox::title { - padding: 0 3px; - } - - - - 0 - - - 0 - - - 2 - - - 0 - - - 0 - - - - - 0 - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 5 - - - - - - - - - 21 - 15 - - - - - 21 - 21 - - - - border : 0px - - - ... - - - - ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png - - - - 21 - 21 - - - - - - - - - - Qt::Vertical - - - - - - - - - - - 0 - - - - - - 17 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 21 - 25 - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 12121213 - 25 - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 1500 - 16 - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Lance un script associé à la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/roue.png../Editeur/icons/roue.png - - - - 21 - 31 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/point-interrogation30.png../Editeur/icons/point-interrogation30.png - - - - 21 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png - - - - 21 - 25 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 25 - - - - - - - - - - 0 - - - 2 - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 2 - - - - - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetFactPlie.ui b/UiQT4/desWidgetFactPlie.ui deleted file mode 100644 index 57ccde00..00000000 --- a/UiQT4/desWidgetFactPlie.ui +++ /dev/null @@ -1,221 +0,0 @@ - - - WidgetFactPlie - - - - 0 - 0 - 727 - 27 - - - - Form - - - QGroupBox { - border: 1px solid gray; - border-radius: 5px; - margin-top: 1ex; /* leave space at the top for the title */ - } - - QGroupBox::title { - padding: 0 3px; - } - - - - 0 - - - 0 - - - - - - 21 - 15 - - - - - 21 - 21 - - - - border : 0px - - - ... - - - - ../Editeur/icons/plusnode.png../Editeur/icons/plusnode.png - - - - 25 - 25 - - - - - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - - 17 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - - 22 - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 12121213 - 25 - - - - TextLabel - - - - - - - - 0 - 0 - - - - - 500 - 0 - - - - - 1500 - 16 - - - - Qt::Horizontal - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetFormule.ui b/UiQT4/desWidgetFormule.ui deleted file mode 100644 index 7d3647be..00000000 --- a/UiQT4/desWidgetFormule.ui +++ /dev/null @@ -1,709 +0,0 @@ - - - WidgetFormule - - - - 0 - 0 - 1156 - 689 - - - - - 0 - 0 - - - - - 0 - 0 - - - - DCommandeUnique - - - - - - background-color : rgb(224,223,222); -font : 'times' 9px - - - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 17 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Affiche le rapport de validité de la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 21 - 31 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 150 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#0000ff;">Formule</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 2 - 40 - - - - - - - - - 0 - 0 - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - - - QLineEdit { - border: 2px solid gray; - border-radius: 10px; - padding: 0 8px; - background: darkgray; - /* selection-background-color: darkgray;*/ - } -QLineEdit:disabled -{ - background: lightgray; -} -/*read-only { - background: lightblue;*/ - - - false - - - - - - - Qt::Horizontal - - - QSizePolicy::Ignored - - - - 2 - 40 - - - - - - - - 4 - - - QLayout::SetFixedSize - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 31 - - - - - - RBValide - labelNomCommande - LENom - horizontalSpacer_3 - horizontalSpacer_4 - RBPoubelle - horizontalSpacer_5 - - - - - - - - - 0 - 0 - - - - - 160 - 31 - - - - Qt::ClickFocus - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Commandes - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande précédente - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - << - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande suivante - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - >> - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - - - - - 0 - 81 - - - - background : rgb(247,247,247) - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAsNeeded - - - Qt::ScrollBarAsNeeded - - - true - - - - - 0 - 0 - 1138 - 598 - - - - - - - - - - 0 - 0 - - - - <h3><p align="center"><u><b>Nom de la formule</b></u></p></h3> - - - false - - - - - - - - - <h3><p align="center"><u><b>Arguments</b></u></p></h3> - - - false - - - - - - - variables séparées par des "," - par ex. : x,y,z - - - false - - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - <h3><p align="center"><u><b>Expression</b></u></p></h3> - - - false - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 17 - 17 - - - - - - - - - 0 - 40 - - - - - - - - - - <h1><b>(</b></h1> - - - false - - - - - - - - 230 - 40 - - - - - - - - <h1><b>)</b></h1> - - - false - - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - 0 - 0 - - - - - 0 - 35 - - - - - 16777215 - 35 - - - - <font size="+4" face="Helvetica"><b>=</b></font> - - - false - - - - - - - Qt::Vertical - - - - 20 - 10 - - - - - - - - - - - 0 - 0 - - - - - 0 - 40 - - - - - - - - - - Qt::Vertical - - - - 20 - 446 - - - - - - - - - - - - qPixmapFromMimeSource - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - scrollAreaCommandes - LENomsArgs - LECorpsFormule - LENom - LENomFormule - - - -
diff --git a/UiQT4/desWidgetHeure.ui b/UiQT4/desWidgetHeure.ui deleted file mode 100644 index 03d5dfba..00000000 --- a/UiQT4/desWidgetHeure.ui +++ /dev/null @@ -1,256 +0,0 @@ - - - WidgetHeure - - - - 0 - 0 - 658 - 61 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - <html><head/><body><p><br/></p></body></html> - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 17 - 17 - - - - - - - - - - - Qt::Horizontal - - - - 454 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 3 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetInactif.ui b/UiQT4/desWidgetInactif.ui deleted file mode 100644 index 336a26fa..00000000 --- a/UiQT4/desWidgetInactif.ui +++ /dev/null @@ -1,471 +0,0 @@ - - - WidgetInactif - - - - 0 - 0 - 946 - 495 - - - - - 350 - 0 - - - - DInactif - - - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 17 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Affiche le rapport de validité de la commande - - - border : 0px - - - - - - - ../Editeur/icons/ast-white-square.png../Editeur/icons/ast-white-square.png - - - - 21 - 31 - - - - false - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 150 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 2 - 40 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Ignored - - - - 2 - 40 - - - - - - - - 4 - - - QLayout::SetFixedSize - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 31 - - - - - - RBValide - labelNomCommande - horizontalSpacer_3 - horizontalSpacer_4 - RBPoubelle - horizontalSpacer_5 - - - - - - - - - 0 - 0 - - - - - 160 - 31 - - - - Qt::ClickFocus - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Commandes - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande précédente - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - << - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande suivante - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - >> - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 66 - - - - - - - - - 0 - 0 - - - - <html><head/><body><p align="center"><span style=" font-size:16pt;">Le noeud sélectionné</span></p><p align="center"><span style=" font-size:16pt;">ne correspond pas à un objet actif</span></p></body></html> - - - false - - - - - - - Qt::Vertical - - - - 20 - 67 - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;"><span style=" font-size:x-large;">Seules les commandes placées</span></p> -<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;"><span style=" font-size:x-large;"> entre : DEBUT / FIN sont actives </span></p></body></html> - - - false - - - - - - - Qt::Vertical - - - - 20 - 66 - - - - - - - - qPixmapFromMimeSource - - - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetInformation.ui b/UiQT4/desWidgetInformation.ui deleted file mode 100644 index 25e2933f..00000000 --- a/UiQT4/desWidgetInformation.ui +++ /dev/null @@ -1,106 +0,0 @@ - - - WidgetInformative - - - - 0 - 0 - 837 - 44 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 38 - 17 - - - - - - - - - 1 - 0 - - - - - 0 - 25 - - - - - 16777215 - 16777215 - - - - background:rgb(255,255,235); -border:0px; - - - - - - - Qt::Horizontal - - - - 13 - 17 - - - - - - - - lineEditVal - - - - diff --git a/UiQT4/desWidgetMatrice.ui b/UiQT4/desWidgetMatrice.ui deleted file mode 100644 index 7d0a82a6..00000000 --- a/UiQT4/desWidgetMatrice.ui +++ /dev/null @@ -1,191 +0,0 @@ - - - desWidgetMatrice - - - - 0 - 0 - 802 - 300 - - - - Dialog - - - - 4 - - - 0 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 15 - - - - - - - - <html><head/><body><p>Met à jour l'en-tête</p></body></html> - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetOptionnel.ui b/UiQT4/desWidgetOptionnel.ui deleted file mode 100644 index 6e9e3935..00000000 --- a/UiQT4/desWidgetOptionnel.ui +++ /dev/null @@ -1,190 +0,0 @@ - - - WidgetOptionnel - - - - 0 - 0 - 297 - 199 - - - - - 0 - 0 - - - - - 0 - 0 - - - - WidgetOptionnel - - - background-color : rgb(224,223,222); -font : 'times' 9px - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - - - - 0 - 0 - - - - - 0 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - - - Qt::Horizontal - - - - 1037 - 20 - - - - - - - - - - - - 0 - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::NoFrame - - - 0 - - - true - - - - - 0 - 0 - 297 - 146 - - - - - 0 - 0 - - - - - - - Qt::Vertical - - - - 20 - 75 - - - - - - - - - - - - - - - qPixmapFromMimeSource - - - diff --git a/UiQT4/desWidgetOptionnelMC.ui b/UiQT4/desWidgetOptionnelMC.ui deleted file mode 100644 index 950792e0..00000000 --- a/UiQT4/desWidgetOptionnelMC.ui +++ /dev/null @@ -1,127 +0,0 @@ - - - desWidgetOptionnel - - - - 0 - 0 - 384 - 218 - - - - Form - - - - 0 - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 12121213 - 25 - - - - TextLabel - - - - - - - Qt::Horizontal - - - - - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::NoFrame - - - 0 - - - true - - - - - 0 - 0 - 384 - 185 - - - - - 0 - 0 - - - - - - - Qt::Vertical - - - - 20 - 75 - - - - - - - - - - - - - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetParam.ui b/UiQT4/desWidgetParam.ui deleted file mode 100644 index 357c0097..00000000 --- a/UiQT4/desWidgetParam.ui +++ /dev/null @@ -1,635 +0,0 @@ - - - WidgetParam - - - - 0 - 0 - 786 - 515 - - - - - 0 - 0 - - - - - 0 - 0 - - - - DCommandeUnique - - - - - - background-color : rgb(224,223,222); -font : 'times' 9px - - - - - - - 0 - 0 - - - - - 0 - 130 - - - - - 16777215 - 130 - - - - background-color:rgb(224,223,222) - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - 0 - - - 0 - - - - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Raised - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 17 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Affiche le rapport de validité de la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 21 - 31 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 150 - 31 - - - - QFrame::NoFrame - - - QFrame::Raised - - - <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 2 - 40 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Ignored - - - - 2 - 40 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 31 - - - - - - RBValide - RBPoubelle - horizontalSpacer_4 - labelParam - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 8 - - - 15 - - - - - - 0 - 0 - - - - - 160 - 31 - - - - Qt::ClickFocus - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - &Commandes - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande précédente - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - << - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 60 - 24 - - - - - 60 - 24 - - - - Qt::ClickFocus - - - Affiche le formulaire de la commande suivante - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - >> - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - - - - - - - - - 0 - 81 - - - - background : rgb(247,247,247); - - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAsNeeded - - - true - - - - - 0 - 0 - 768 - 361 - - - - - - - 25 - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - false - - - - - - - - 231 - 31 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - - - - 231 - 31 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p>Nom: </p></body></html> - - - false - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - 0 - 0 - - - - - 160 - 31 - - - - Affiche les commandes possibles - - - background-color:rgb(104,110,149); -color :white; -border-radius : 12px - - - - Verifie la valeur - - - Shift+A, Alt+A, Alt+A, Alt+A - - - true - - - true - - - - - - - - - <html><head/><body><p><br/></p></body></html> - - - false - - - - - - - Qt::Vertical - - - - 20 - 70 - - - - - - - - - - - - qPixmapFromMimeSource - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
-
- - scrollAreaCommandes - - - -
diff --git a/UiQT4/desWidgetPlusieursBase.ui b/UiQT4/desWidgetPlusieursBase.ui deleted file mode 100644 index 799a330e..00000000 --- a/UiQT4/desWidgetPlusieursBase.ui +++ /dev/null @@ -1,842 +0,0 @@ - - - WidgetPlusieursBase - - - - 0 - 0 - 764 - 202 - - - - - 0 - 0 - - - - - 100 - 20 - - - - Form - - - /* QFrame { -border: 1px solid gray; -}*/ - - - - - 0 - - - 0 - - - 2 - - - 2 - - - 0 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 21 - 25 - - - - permet de gérer la liste - - - border:0px - - - ... - - - - ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png - - - - 25 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - 0 - 0 - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - - 0 - 0 - 112 - 138 - - - - - 0 - 0 - - - - - - - - 0 - 0 - - - - TextLabel - - - - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 400 - 50 - - - - background : rgb(247,247,247); -border: 1px solid gray; -/* QFrame { -border: 1px solid gray; -}*/ - - - - - QFrame::Box - - - QFrame::Plain - - - 1 - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 398 - 161 - - - - - 0 - 0 - - - - - 2 - - - 2 - - - 0 - - - 2 - - - 0 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - QFrame::Box - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Remonte la ligne - - - border : 0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Descend la ligne - - - border : 0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - supprime une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/MoinsBleu2.png - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Ajoute une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png - - - - 32 - 32 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 40 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Montre l'ensemble des valeurs - - - border : 0px - - - ... - - - - ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 40 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Sélectionne depuis Salome - - - border : 0px - - - ... - - - - ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Visualise dans Salome - - - border : 0px - - - ... - - - - ../Editeur/icons/eye.png../Editeur/icons/eye.png - - - - 32 - 32 - - - - - - - - - - - - - - - 0 - - - 0 - - - - - 0 - - - - - - 0 - 0 - - - - - 25 - 30 - - - - Qt::ClickFocus - - - Ouvre un fichier de sélection des valeurs - - - border:0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - label - monCommentaireLabel - scrollArea_2 - layoutWidget - verticalSpacer_6 - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - scrollArea - RBHaut - RBBas - RBMoins - RBVoisListe - RBSalome - RBSalomeVue - BSelectFichier - RBPoubelle - - - -
diff --git a/UiQT4/desWidgetPlusieursInto.ui b/UiQT4/desWidgetPlusieursInto.ui deleted file mode 100644 index a9968d9b..00000000 --- a/UiQT4/desWidgetPlusieursInto.ui +++ /dev/null @@ -1,613 +0,0 @@ - - - WidgetPlusieursInto - - - - 0 - 0 - 1061 - 279 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 0 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 21 - 25 - - - - permet de gérer la liste - - - border:0px - - - ... - - - - ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png - - - - 25 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - - - 0 - 0 - - - - - 280 - 25 - - - - - 280 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 111 - - - - QFrame::NoFrame - - - QFrame::Raised - - - - 2 - - - 0 - - - - - 0 - - - - - - - - - 0 - 0 - - - - - 250 - 0 - - - - - 250 - 16777215 - - - - background:rgb(255,255,255) - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Cherche la valeur - - - border : 0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - 0 - 0 - - - - Originel - - - - - - - Alpha - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - 0 - 0 - - - - - 300 - 0 - - - - - 300 - 16777215 - - - - QFrame::NoFrame - - - 0 - - - true - - - - - 0 - 0 - 300 - 73 - - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 278 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p><br/></p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::NoFrame - - - QFrame::Plain - - - 1 - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 650 - 261 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 17 - - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - - - - true - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - horizontalSpacer - scrollArea - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetPlusieursIntoOrdonne.ui b/UiQT4/desWidgetPlusieursIntoOrdonne.ui deleted file mode 100644 index 86b75d90..00000000 --- a/UiQT4/desWidgetPlusieursIntoOrdonne.ui +++ /dev/null @@ -1,838 +0,0 @@ - - - WidgetPlusieursIntoOrdonne - - - - 0 - 0 - 1013 - 538 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 2 - - - 0 - - - 7 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 21 - 25 - - - - permet de gérer la liste - - - border:0px - - - ... - - - - ../../../.designer/Editeur/icons/minusnode.png../../../.designer/Editeur/icons/minusnode.png - - - - 25 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/ast-green-ball.png../../../.designer/Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p><br/></p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - background:rgb(255,255,255) - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Détruit une ligne - - - border : 0px - - - ... - - - - ../../../.designer/backup../../../.designer/backup - - - - 32 - 32 - - - - - - - - - - - - - - Catalogue - - - - - - - Alpha - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - 0 - 0 - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - - 0 - 0 - 18 - 180 - - - - - 0 - 0 - - - - - - - <html><head/><body><p><br/></p></body></html> - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 8 - 20 - - - - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::Box - - - QFrame::Plain - - - 1 - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 300 - 527 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 8 - 108 - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::Box - - - QFrame::Plain - - - 1 - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 297 - 482 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - - 0 - 0 - - - - QFrame::Box - - - - 0 - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Remonte d'une ligne - - - border : 0px - - - ... - - - - ../../../.designer/backup../../../.designer/backup - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Descend d'une ligne - - - border : 0px - - - ... - - - - ../../../.designer/backup../../../.designer/backup - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Détruit une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/MoinsBleu.png../Editeur/icons/MoinsBleu.png - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - ajoute une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png - - - - 32 - 32 - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - visualise l'ensemble des valeurs - - - border : 0px - - - ... - - - - ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - - 18 - 20 - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 17 - - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../../../.designer/Editeur/icons/deleteRond.png../../../.designer/Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - horizontalSpacer - horizontalSpacer_2 - horizontalSpacer_3 - scrollArea - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetPlusieursPlie.ui b/UiQT4/desWidgetPlusieursPlie.ui deleted file mode 100644 index c9dbe943..00000000 --- a/UiQT4/desWidgetPlusieursPlie.ui +++ /dev/null @@ -1,330 +0,0 @@ - - - WidgetPlusieursPlie - - - - 0 - 0 - 1095 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - - - 0 - - - - - - 0 - 0 - - - - - 21 - 25 - - - - permet de gérer la liste - - - border:0px - - - ... - - - - ../Editeur/icons/plusnode.png../Editeur/icons/plusnode.png - - - - 25 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Affiche le rapport de validité du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - false - - - - 1 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(195,195,195); -border:0px; - - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 71 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 25 - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - lineEditVal - RBPoubelle - RBValide - - - -
diff --git a/UiQT4/desWidgetPlusieursTuple.ui b/UiQT4/desWidgetPlusieursTuple.ui deleted file mode 100644 index 391a2325..00000000 --- a/UiQT4/desWidgetPlusieursTuple.ui +++ /dev/null @@ -1,668 +0,0 @@ - - - WidgetPlusieursTuple - - - - 0 - 0 - 612 - 175 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 2 - - - 0 - - - 2 - - - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - 0 - 0 - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - - 0 - 0 - 112 - 109 - - - - - 0 - 0 - - - - - - - - 0 - 0 - - - - TextLabel - - - - - - - - - - - - - - - QFrame::NoFrame - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - background : rgb(247,247,247) - - - QFrame::NoFrame - - - 1 - - - true - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - 0 - 0 - 197 - 110 - - - - - 0 - 0 - - - - - 0 - - - 0 - - - - - Qt::Vertical - - - - 20 - 13 - - - - - - - - - - - - - - - QFrame::Box - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Remonte la ligne - - - border : 0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Descend la ligne - - - border : 0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - supprime une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/MoinsBleu2.png - - - - - 32 - 32 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Ajoute une ligne - - - border : 0px - - - ... - - - - ../Editeur/icons/PlusBleu.png../Editeur/icons/PlusBleu.png - - - - 32 - 32 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 40 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Montre l'ensemble des valeurs - - - border : 0px - - - ... - - - - ../Editeur/icons/verre-loupe-icone-6087-64.png../Editeur/icons/verre-loupe-icone-6087-64.png - - - - 32 - 32 - - - - - - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 25 - 30 - - - - Qt::ClickFocus - - - Ouvre un fichier de sélection des valeurs - - - border:0px - - - ... - - - - - - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetRadioButton.ui b/UiQT4/desWidgetRadioButton.ui deleted file mode 100644 index b39fa176..00000000 --- a/UiQT4/desWidgetRadioButton.ui +++ /dev/null @@ -1,342 +0,0 @@ - - - WidgetRadioButton - - - - 0 - 0 - 851 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 90 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0 - - - - - 0 - - - - - - 0 - 0 - - - - - 0 - 25 - - - - RadioButton - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 2 - 20 - - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 2 - 20 - - - - - - - - - 0 - 0 - - - - RadioButton - - - - - - - Qt::Horizontal - - - - 5 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetSDCOInto.ui b/UiQT4/desWidgetSDCOInto.ui deleted file mode 100644 index 8974f213..00000000 --- a/UiQT4/desWidgetSDCOInto.ui +++ /dev/null @@ -1,360 +0,0 @@ - - - WidgetSDCOInto - - - - 0 - 0 - 858 - 312 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - QFrame::Box - - - - 0 - - - - - - 0 - 0 - - - - - 16777215 - 31 - - - - <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> - - - false - - - - - - - - 0 - 0 - - - - - 16777215 - 200 - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 462 - 200 - - - - - - - QFrame::NoFrame - - - - - - - - - - - - 0 - 0 - - - - <html><head/><body><p>ou Nom du concept</p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 31 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 17 - - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetSimpBase.ui b/UiQT4/desWidgetSimpBase.ui deleted file mode 100644 index 60c7dce5..00000000 --- a/UiQT4/desWidgetSimpBase.ui +++ /dev/null @@ -1,304 +0,0 @@ - - - WidgetSimpBase - - - - 0 - 0 - 743 - 60 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 1677721 - 60 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 3 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 58 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetSimpBool.ui b/UiQT4/desWidgetSimpBool.ui deleted file mode 100644 index f9a78c7a..00000000 --- a/UiQT4/desWidgetSimpBool.ui +++ /dev/null @@ -1,300 +0,0 @@ - - - WidgetSimpBool - - - - 0 - 0 - 572 - 56 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 1493 - 56 - - - - Form - - - - 0 - - - 0 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - True - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - False - - - - - - - Qt::Horizontal - - - - 50 - 20 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - - - - - - 0 - 0 - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetSimpComplexe.ui b/UiQT4/desWidgetSimpComplexe.ui deleted file mode 100644 index 4e9db7e6..00000000 --- a/UiQT4/desWidgetSimpComplexe.ui +++ /dev/null @@ -1,390 +0,0 @@ - - - WidgetSimpComplexe - - - - 0 - 0 - 1242 - 87 - - - - - 0 - 0 - - - - - 940 - 0 - - - - - 1493 - 1400 - - - - Form - - - QLineEdit { -background:rgb(235,235,235); -border:0px; -} - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - QFrame::Box - - - - - - - - - 0 - 0 - - - - - 0 - 29 - - - - - 16777215 - 29 - - - - Complexe : a+bj - - - - - - - Qt::Horizontal - - - - 19 - 20 - - - - - - - - - - false - - - - - - - - 0 - 0 - - - - - 50 - 24 - - - - <html><head/><body><p align="center">OU </p></body></html> - - - - - - - 4 - - - 0 - - - - - Réel/Imaginaire - - - - - - - Module/Phase - - - - - - - - - - - false - - - - - - - Qt::Horizontal - - - - 5 - 20 - - - - - - - - false - - - - - - - - - Qt::Vertical - - - - 17 - 20 - - - - - - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 32 - 32 - - - - - - - - Qt::Vertical - - - - 18 - 47 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - LEComp - RBRI - RBMP - RBPoubelle - - - -
diff --git a/UiQT4/desWidgetSimpFichier.ui b/UiQT4/desWidgetSimpFichier.ui deleted file mode 100644 index 408f8dfb..00000000 --- a/UiQT4/desWidgetSimpFichier.ui +++ /dev/null @@ -1,374 +0,0 @@ - - - WidgetSimpFichier - - - - 0 - 0 - 1095 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Affiche le rapport de validité du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - 1 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 71 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 25 - 25 - - - - affiche l'explorateur de fichier - - - border : 0px - - - ... - - - - - - - - - 25 - 25 - - - - - - - - - 25 - 25 - - - - ouvre le fichier choisi - - - border:0px - - - ... - - - - ../Editeur/icons/visuFichier.png../Editeur/icons/visuFichier.png - - - - 25 - 25 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 25 - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - lineEditVal - BFichier - BVisuFichier - RBPoubelle - RBValide - - - -
diff --git a/UiQT4/desWidgetSimpSalome.ui b/UiQT4/desWidgetSimpSalome.ui deleted file mode 100644 index ba8ed2fd..00000000 --- a/UiQT4/desWidgetSimpSalome.ui +++ /dev/null @@ -1,373 +0,0 @@ - - - WidgetSimpSalome - - - - 0 - 0 - 1095 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - - - 0 - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Affiche le rapport de validité du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - 1 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 71 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 25 - 25 - - - - affiche l'explorateur de fichier - - - border : 0px - - - ... - - - - ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png - - - - 25 - 25 - - - - - - - - - 25 - 25 - - - - ouvre le fichier choisi - - - border:0px - - - ... - - - - ../Editeur/icons/eye.png../Editeur/icons/eye.png - - - - 25 - 25 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 21 - 25 - - - - - 21 - 25 - - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 25 - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - lineEditVal - RBSalome - RBSalomeVue - RBPoubelle - RBValide - - - -
diff --git a/UiQT4/desWidgetSimpTxt.ui b/UiQT4/desWidgetSimpTxt.ui deleted file mode 100644 index 6fa4b7e9..00000000 --- a/UiQT4/desWidgetSimpTxt.ui +++ /dev/null @@ -1,304 +0,0 @@ - - - WidgetSimpTxt - - - - 0 - 0 - 743 - 60 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 1677721 - 60 - - - - Form - - - - 0 - - - 1 - - - 0 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0 - - - - - - - - 1 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 3 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 5 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetTuple2.ui b/UiQT4/desWidgetTuple2.ui deleted file mode 100644 index 9c45154b..00000000 --- a/UiQT4/desWidgetTuple2.ui +++ /dev/null @@ -1,345 +0,0 @@ - - - WidgetTuple2 - - - - 0 - 0 - 936 - 62 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - - - - 0 - - - 0 - - - 1 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - false - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 58 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - lineEditVal1 - lineEditVal2 - - - -
diff --git a/UiQT4/desWidgetTuple3.ui b/UiQT4/desWidgetTuple3.ui deleted file mode 100644 index a31e9b55..00000000 --- a/UiQT4/desWidgetTuple3.ui +++ /dev/null @@ -1,362 +0,0 @@ - - - WidgetTuple3 - - - - 0 - 0 - 1282 - 61 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 1 - - - 0 - - - 0 - - - 1 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 5 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - Qt::StrongFocus - - - background:rgb(235,235,235); -border:0px; - - - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 13 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT4/desWidgetUniqueSDCO.ui b/UiQT4/desWidgetUniqueSDCO.ui deleted file mode 100644 index 178cfc04..00000000 --- a/UiQT4/desWidgetUniqueSDCO.ui +++ /dev/null @@ -1,277 +0,0 @@ - - - WidgetUniqueSDCO - - - - 0 - 0 - 1069 - 56 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 1 - - - 0 - - - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Affiche le rapport de validation du mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 25 - 25 - - - - - - - - - - Qt::Vertical - - - - 20 - 2 - - - - - - - - - - - 0 - 0 - - - - - 300 - 25 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0 - - - - - - 0 - 25 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - - - - - Attend un objet de type CO - - - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 79 - 17 - - - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - Qt::ClickFocus - - - Détruit le mot-clef - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 25 - 25 - - - - - - - - Qt::Vertical - - - - 20 - 2 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - LESDCO - - - -
diff --git a/UiQT4/desWidgetVide.ui b/UiQT4/desWidgetVide.ui deleted file mode 100644 index 03a815f7..00000000 --- a/UiQT4/desWidgetVide.ui +++ /dev/null @@ -1,330 +0,0 @@ - - - WidgetVide - - - - 0 - 0 - 1069 - 55 - - - - - 0 - 0 - - - - - 0 - 0 - - - - Form - - - - 0 - - - 0 - - - 2 - - - 0 - - - 0 - - - - - 0 - - - QLayout::SetFixedSize - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 21 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 35 - - - - Qt::ClickFocus - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 32 - 32 - - - - - - - - - - - 0 - 0 - - - - - 300 - 24 - - - - - 178 - 16777215 - - - - QFrame::NoFrame - - - <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> - - - - - - - - 1 - 0 - - - - - 0 - 32 - - - - - 805 - 16777215 - - - - background:rgb(235,235,235); -border:0px; - - - Attend un objet de type XXXX. Il faut le créer - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 79 - 17 - - - - - - - - 0 - - - - - - 25 - 30 - - - - - 25 - 30 - - - - Qt::ClickFocus - - - border : 0px - - - ... - - - - ../Editeur/icons/flecheSalome.png../Editeur/icons/flecheSalome.png - - - - 32 - 32 - - - - - - - - - 0 - 0 - - - - - 25 - 30 - - - - - 25 - 30 - - - - Qt::ClickFocus - - - border:0px - - - ... - - - - ../Editeur/icons/icon_salome.png../Editeur/icons/icon_salome.png - - - - 32 - 32 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 32 - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
-
- - lineEditVal - RBSalome - RBSalomeVue - RBValide - RBPoubelle - - - -
diff --git a/UiQT4/eficas_en.0106.ts b/UiQT4/eficas_en.0106.ts deleted file mode 100644 index e514c2ef..00000000 --- a/UiQT4/eficas_en.0106.ts +++ /dev/null @@ -1,3948 +0,0 @@ - - - - @default - - - lecture du fichier impossible : - unable to read file : - - - - Impossible d'ouvrir le fichier %s - unable to open file %s - - - - Impossible de convertir le fichier Python qui doit contenir des erreurs. - - On retourne le fichier non converti. Prevenir la maintenance. - - %s - Unable to translate the file. it probably contains mistake -ask eficas team -%s - - - - Format de sortie : %s, non supporte - Unsupported format %s - - - - Impossible d'ouvrir le fichier : %s - unable to open file: %s - - - - Erreur ! Erreur ! - Error! - - - - Erreur rencontree dans recherche_enfants : %s - Error in recherche_enfants : %s - - - - Erreur dans la creation du mot-cle : %s - Error when creating %s - - - - Impossible d'ouvrir le fichier : %s - unable to open file : %s - - - - le texte a analyser n'est pas celui d'une commande ou d'un operateur : - text is no eficas text: - - - - Erreur dans la recherche du nom de la commande : - error when searching command's name : - - - - Erreur dans la recherche des args de la commande : - error when searching argument's command : - - - - Erreur dans la recherche du nom de la commande : - error when searching command's name : - - - - Erreur dans la recherche des args de la commande : - error when searching argument's command : - - - - %d n'est pas un index valide pour append_brother - %d is not a valid index for append-brother - - - - le fichier de commandes %s n'existe pas - commands file %s does not exist - - - - un fichier de commandes doit etre defini avant une poursuite %s - You have to define principal commands file before a secondary (poursuite) file %s - - - - le fichier poursuite %s n'existe pas - the secondary (poursuite) file does not exist - - - - include mal defini %s - include is not correct %s - - - - un fichier de commandes doit etre defini avant un include %s - You have to define principal commands file before include %s - - - - le fichier include %s n'existe pas - include file does not exist - - - - jdc %(v_1)s, le fichier - de commandes %(v_2)s n'existe pas - v_1 - jdc %(v_1)s : .comm %(v_2)s does not exist - - - - le fichier jdc %s n'existe pas - file %s does not exist - - - - jdc %s manque option jdc dans section jdc - jdc %s does not have jdc option in command line - - - - %(v_1)s include %(v_2)s : %(v_3)s - v_1 - %(v_1)s include %(v_2)s : %(v_3)s - - - - %(v_1)s fichier poursuite: %(v_2)s - v_1 - %(v_1)ssecondary (poursuite) file %(v_2)s - - - - nom etude : %s - study's name : %s - - - - utilisation : %prog [options] - use : %prog[options] - - - - nom du fichier de commandes - principal .comm file's name - - - - nom du fichier poursuite - secondary (poursuite) file's name - - - - numero d'unite suivi du nom du fichier include - unit number and include file's name - - - - fichier decrivant une etude - file containing a study - - - - version de catalogue a utiliser - catalog's version - - - - nom du code a utiliser - code's name - - - - niveau de debug - debug level - - - - schema - schema - - - - Nombre incorrect d'arguments - incorrect number of arguments - - - - Localisation specifiee pour l'application. - specified localization for the application. - - - - Impossible de transferer les fichiers requis dans : %s - unable to transfer files to : %s - - - - Erreur - error - - - - Erreurs fatales - fatale error - - - - Impossible reconstruire commande - - unable to construct command - - - - Objet commentaire non valorise - comment object has no value - - - - Debut Fonction %s - start function %s - - - - Fin Fonction %s - end function %s - - - - Nom de concept deja defini : %s - Concept's name %s is already existing - - - - Longueur incorrecte - incorrect length - - - - L'attribut 'min' doit etre un entier : - min must be an integer : - - - - L'attribut 'max' doit etre un entier : - max must be an integer : - - - - Nombres d'occurrence min et max invalides : - min and max are invalid: - - - - L'attribut 'fr' doit etre une chaine de caracteres - 'fr' must be a string - - - - L'attribut 'statut' doit valoir 'o','f','c' ou 'd' - values for statut arguments are : 'o','f','c' or 'd' - - - - L'attribut 'docu' doit etre une chaine de caracteres - docu must be a string - - - - Fin - end - - - - Le parametre EVAL %s ne peut valoir None - None is not a valid value for Eval parameter %s - - - - Pas de nom donne au parametre EVAL - No name for parameter EVAL - - - - Un nom de parametre ne peut depasser 8 caracteres - parameter's name can not exceed 8 characters - - - - Un concept de nom %s existe deja ! - Concept's name %s is already existing! - - - - ERREUR - ERROR - - - - Format pas implemente : %s - format : %s not implemented - - - - Type d'objet non prevu : %s - object type not expected : %s - - - - ce groupe de maillage %s est associe a au moins un materiau et au moins une source. - mesh group %s is associated with at least one material and at least a source. - - - - ce groupe de maillage %s n'est associe a aucun materiau ou source. - mesh group %s is associated with no material or no source. - - - - ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel - - - - - toutes les donnees ne sont pas connues - all data are not available - - - - Fichier patron %s n'existe pas. - pattern file %s does not exist. - - - - Pas supporte - not implemented - - - - Entite inconnue ou interdite :%s - Unknown or unsupported entity : %s - - - - Entite inconnue ou interdite :%s. Elle est ignoree - Unknown or unsupported entity : %s. ignored - - - - Les tuples ne sont pas supportes pour le format ini :%s - Tuple are not allowed for format ini : %s - - - - Type de valeur non supportee par le format ini :%(nom)s -%(exception)s - nom - Unsupported type of value for .ini format %(nom)s -%(exception)s - - - - Il y a un pb a la Creation du XML - problem when creating XML - - - - Il y a un pb a la Creation du STD - problem when creating STD - - - - Entite inconnue ou interdite : %s. Elle est ignoree - unkown ou unsupported entity : %s. ignored - - - - Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. - Tag %s not defined. Ask developpeurs team. - - - - Le mot-cle %s est obligatoire. - mandatory keyword : %s. - - - - concept %(inst_name)s de type %(class_name)s - inst_name - concept %(inst_name)s of type %(class_name)s - - - - Un nom de concept doit etre un identificateur Python - concept's name must be a python identifier - - - - Concept existant - allready existing concept - - - - Operateur reentrant mais concept non existant - operator 'reentrant' but concept does not exist - - - - Operateur reentrant et concept existant trouve - Operator 're-entrant' and concept exists - - - - Concept deja existant et de mauvais type - already existing concept of not supported type - - - - Nommage du concept refuse : un concept de meme nom existe deja - Name is refused : already existing concept - - - - Nommage du concept effectue - Concept named - - - - Nommage impossible %s - unable to name %s - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante - formula expects a list of arguments : no left parenthesis - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante - formula expects a list of arguments : no right parenthes - - - - Pas de nom donne a la FORMULE - no name given - - - - Un nom de FORMULE ne peut depasser 8 caracteres - name too long (8 characters max) - - - - Un nom de FORMULE ne peut pas commencer par un chiffre - name does not begin with a figure - - - - Le type de la valeur retournee n'est pas specifie - no type is specified for the return value - - - - Une formule ne peut retourner une valeur de type : %s - impossible to return a value of type : %s - - - - Impossible d'ajouter la commande - unable to add the keyword (commande) - - - - Impossible d ajouter la commande - unable to add the keyword (commande) - - - - Pas implemente - not implemented - - - - Nom de concept deja defini - already defined concept - - - - Nom de concept deja defini : - already defined concept : - - - - Impossible de trouver le fichier correspondant a l'unite - unable to find file corresponding to unit - - - - n'est pas un fichier existant - is not an existing file - - - - Fichier invalide %s - invalid file %s - - - - Impossible de construire le jeu de commandes correspondant au fichier - unable to create the jdc corresponding to the file - - - - Erreur lors de l'evaluation du fichier inclus - Error when reading the 'include' file - - - - Ce fichier ne sera pas pris en compte - %s - the file is ignored -%s - - - - Ce fichier ne sera pas pris en compte -Le fichier associe n'est pas defini - the file is ignored : associated file is not defined - - - - Le fichier n est pas defini - file is not defined - - - - le fichier doit contenir une unique variable de sortie - file must declare a single output variable - - - - Fichier invalide - invalid file - - - - Le contenu de ce fichier ne sera pas pris en compte - %s - the file will be ignored : -%s - - - - Le fichier INCLUDE n est pas defini - include file is not defined - - - - Le contenu de ce fichier ne sera pas pris en compte - - file will be ignored - - - - - Erreur lors de l'evaluation du fichier poursuite - Error when creating secondary (poursuite) file - - - - L'objet %(v_1)s ne peut etre un fils de %(v_2)s - v_1 - Object %(v_1)s can not be a child for %(v_2)s - - - - L'objet %s ne peut pas etre repete - Object %s can not be repeated - - - - Erreur - mclist inexistante : %s - Error - mclist does not exist : %s - - - - Erreur - mot cle facteur de nom : %s - Error - keyword "mot-clef facteur" nammed : %s - - - - traitement non-prevu - unexpected task - - - - L'objet %s ne peut pas etre ajoute - Object %s cannot be add - - - - None n'est pas une valeur autorisee - None is not a valid value - - - - un concept de meme nom existe deja - concept already exists - - - - Concept cree - concept created - - - - La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d - n_lign - matrix is not a %(n_lign)d x %(n_col)d matrix - - - - Decommenter - uncomment - - - - Decommente la commande - uncomment the command - - - - Impossible de supprimer un mot-cle obligatoire - mandatory keyword cannot be deleted - - - - Mot-cle %s supprime - Keyword %s deleted - - - - Pb interne : impossible de supprimer ce mot-cle - internal problem : unable to delete keyword - - - - Commentaire supprime - comment is deleted - - - - Commande %s supprimee - command %s is deleted - - - - Pb interne : impossible de supprimer cet objet - internal problem : unable to delete object - - - - Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas - - - unable to convert .comm file in order to open it with Eficas - - - - Include vide - include file is empty - - - - L'include doit etre correctement initialise pour etre visualise - include file must be correct - - - - Impossible de supprimer ce mot-clef - unable to delete this keyword - - - - View3D - View3D - - - - affiche dans Geom les elements de structure - diplay SE in Geom - - - - Graphique - graphic - - - - affiche la distribution - display distribution - - - - Impossible de supprimer un mot-clef obligatoire - unable to delete a mandatory keyword - - - - Mot-clef %s supprime - Keyword %s is deleted - - - - Definition d'un parametre - defines a parameter - - - - Import du fichier de Configuration - import configuration file - - - - Erreur a la lecture du fichier de configuration %s - Error when reading configuration file - - - - Erreur fatale au chargement de %s - fatal error when loading %s - - - - Erreur fatale au chargement d'un fichier - Fatal error when loading file - - - - fichier modifie - file updated - - - - Attention! fichier change hors EFICAS - Warning ! this file was modified outside Eficas - - - - Type de fichier non reconnu - unsupported file type - - - - EFICAS ne sait pas ouvrir le type de fichier %s - Eficas is not able to open this file's type : %s - - - - EFICAS ne sait pas ouvrir ce type de fichier - Eficas is not able to open this file's type - - - - Copie impossible - unable to copy - - - - Veuillez selectionner un objet a copier - you have to select an object to copy - - - - Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne - You have to select a single object : copy will be done after the selected node - - - - Aucun Objet n a ete copie ou coupe - No object was cut or copied - - - - Copie refusee - rejected copy - - - - Eficas n a pas reussi a copier l objet - Eficas cannot copy this object - - - - Copie refusee pour ce type d objet - Copy rejected : bad object type - - - - Deplacement refuse - move rejected - - - - Deplacement refuse entre 2 fichiers. Seule la copie est autorisee - move rejected. no move between two files : only copy is available - - - - Copie impossible a cet endroit - unable to copy here - - - - Veuillez selectionner une commande, un parametre, un commentaire ou une macro - select a command; a parameter, a comment or a macro - - - - Choix d'un fichier XML - Choice of XML file - - - - Ouvrir Fichier - Open file - - - - Erreur a la generation - Error when generating - - - - EFICAS ne sait pas convertir ce JDC - Eficas is unable to convert JDC - - - - Format %s non reconnu - not supported format %s - - - - Execution impossible - Unable to execute - - - - le JDC doit etre valide pour une execution MAP - JDC has to be valid before run - - - - le JDC doit contenir un et un seul composant - JDC must contains a single componant - - - - sauvegarde - save - - - - Sauvegarde du Fichier - save file - - - - Le fichier <b>%s</b> existe deja. - file <b>%s</b> already exists. - - - - &Ecraser - &Replace - - - - Donnez le nom du fichier correspondant a l unite logique - Choose file corresponding to unit - - - - Choix d'un fichier de poursuite - Choose poursuite file - - - - Le fichier %s contient une commande POURSUITE - - file %s contains a POURSUITE command - - - - Traduire Fichier - file translation - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - JDC files(*.comm);; All FIles(*) - - - - Fichier Traduit : %s - - - Translated file : %s - - - - Pas de difference entre le fichier origine et le fichier traduit - No difference between the primary file and the translated file - - - - %d versions du catalogue sont disponibles - %d catalogs versions are available - - - - &Ok - &Ok - - - - Entrez - enter - - - - valeurs - values - - - - Entrez entre - enter between - - - - et - and - - - - Selection - selection - - - - Type de base inconnu - unkown type - - - - Visualisation Fichier - view file - - - - Impossibilite d'afficher le Fichier - Unable to display file - - - - Sauvegarder Fichier - save File - - - - Fichier selectionne - file selected - - - - expression valide - valid expression - - - - expression invalide - unvalid expression - - - - expression n est pas de la forme a+bj - expression is not as a+bj - - - - entrer une seule valeur SVP - Please, enter a single value - - - - saisir le type de complexe - choose complex's type - - - - Sauvegarder le fichier - save file - - - - Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s - v_1 - file <b>%(v_1)s</b> was not saved. Raison : %(v_2)s - - - - &Recents - &Recently Opened - - - - Aide specifique - code's help - - - - Traduction - translation - - - - Options - Options - - - - TraduitV7V8 - - - - - TraduitV8V9 - - - - - TraduitV9V10 - - - - - Acquiert Groupe Maille - - - - - Specificites Maille - - - - - version - version - - - - pour - for - - - - Aide Indisponible - no help avalaible - - - - Parametrage - Options - - - - Veuillez d abord choisir un code - Choose a code - - - - Pas de possibilite de personnalisation de la configuration - no options avalaible for configuration - - - - &Effacer - &Delete - - - - Veuillez entrer le complexe sous forme aster ou sous forme python - enter a complex - - - - Import du catalogue - Loading catalog - - - - Pas de catalogue defini pour le code - No catalog for this code - - - - Aucun catalogue trouve - No catalog - - - - avec le catalogue - with catalog - - - - Impossible d'importer le catalogue - unable to load catalog - - - - Choix d une version du code - Choose a version for - - - - Choix d une version - choose a version - - - - Parametre - parameter - - - - Insere un parametre - insert a parameter - - - - item invalide - invalid item - - - - l item doit etre valide - item must be valid - - - - apres - after - - - - Insere un commentaire apres la commande - insert a comment after the command - - - - avant - before - - - - Insere un commentaire avant la commande - insert a comment before the command - - - - Insere un parametre apres la commande - insert a parameter after the command - - - - Insere un parametre avant la commande - insert a parameter before the commande - - - - Supprimer - delete - - - - supprime le mot clef - delete keyword - - - - Documentation - documentation - - - - documentation sur la commande - command's documentation - - - - Documentation Vide - empty documentation - - - - Aucune documentation n'est associee a ce noeud - no documentation is available for this node - - - - impossible de trouver la commande - unable to find command - - - - Lecteur PDF - PDF reader - - - - impossible d'ouvrir - unable to open - - - - Commentaire - Comment - - - - ce noeud - this node - - - - commente le noeud - comment this node - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - JDC Files (*.comm);;All Files(*) - - - - &Quitter - &Exit - - - - Quitter - Exit - - - - Fichier Duplique - file is duplicated - - - - Le fichier ne sera pas sauvegarde. - File will not be saved. - - - - &Annuler - &Cancel - - - - Fichier - File - - - - Le fichier <b>%s</b> est deja ouvert. - File <b>%s</b> is already open. - - - - &Duplication - &Duplication - - - - &Abort - &Abort - - - - Fichier Modifie - File is modified - - - - Le fichier %s n a pas ete sauvegarde. - file %s was not saved. - - - - &Sauvegarder - &Save - - - - Erreur a l'evaluation : - %s - Error when loadind : -%s - - - - Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom - File %s already exists : unable to create a directory with the same name - - - - Creation du repertoire %s impossible - Verifiez vos droits d'acces - Unable to create directory : check your access rights - - - - localisation de l'application, pour la traduction - use for application translation - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable - - - - - ERREUR! ce type de bloc (%s) n'est pas valable - - - - - n'est pas un index valide pour append_brother - is not correct - no possible "append_brother" - - - - Erreur interne - Internal error - - - - La PDF de la loi ne peut pas etre affichee. - unable to display law's PDF. - - - - Le fichier contient une commande MODEL - - file contains MODEL command - - - - Donnez le nom du fichier XML qui contient la description des variables - - - - - Choix unite %d - Choice for unit %d - - - - Fichier pour unite - File for unit - - - - La formule passee a l'interpreteur doit etre sous forme de tuple - formula must be written as tuple - - - - Debut - Beginning - - - - Le parametre EVAL ne peut valoir None - None is not a valid value for EVAL - - - - Pas de nom donne au parametre - No name given - - - - Le parametre %s ne peut valoir None - None is an incorrect value for parameter %s - - - - Format non implemente : %s - Not implemented format - - - - Type de valeur non supporte par le format pyth : n %(exception)s - nom - unsupported type of value - - - - Impossible de realiser la verification de la formule - unable to verify formula - - - - Pb interne : impossible de supprimer ce mot-clef - internal problem : unable to delete keyword - - - - Eficas ne peut pas traiter plusieurs instructions - sur la meme ligne : %s - Eficas is not able to manage many instructions on a same line - - - - le texte a analyser n'est pas celui d'une commande ou - d'un operateur : %s - text is not valid for a command or a operaor - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - text is not valid for command %(v_1)s %(v_2)s - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - text is not valid for command %(v_1)s %(v_2)s - - - - jdc %(v_1)s manque - fichier comm dans section %(v_2)s - v_1 - file %(v_1)s need a .comm file in section %(v_2)s - - - - jdc %(v_1)s - fichier include %(v_2)s, %(v_3)s - n'existe pas - v_1 - file %(v_1)s need an include file %(v_2)s,%(v_3)s does not exist - - - - jdc %(v_1)s manque fichier comm - dans section %(v_2)s - v_1 - file %(v_1)s need a .comm file in section %(v_2)s - - - - jdc %(v_1)s, le fichier de commandes - %(v_2)s n'existe pas - v_1 - jdc%(v_1)s, .comm %(v_2)s does not exist - - - - ATTENTION! Une source constante - n'est possible qu'a frequence nulle - en regime frequentiel - - - - - ERREUR! Une forme de la source du - type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ATTENTION! Une source constante n'est - possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! Une forme de la source du type - WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe - indiquant le type de materiau ou de source associee - - - - - ERREUR! ce groupe de maille (%(nom)s) n'a pas - le prefixe correct pour etre associe a un type %(type_bloc)s - nom - - - - - - Include Invalide. - ne sera pas pris en compte - Invalid include file. text will not be included - - - - Impossible de relire le fichier %s - - unable to read file - - - - Le fichier include contient des erreurs - include file contains errors - - - - PARAMETRE - PARAMETER - - - - EFICAS ne sait pas convertir le JDC selon le format - Eficas does not know how to convert data according to the defined format - - - - le JDC doit etre valide pour une execution - Before a run action, JDC must be valid - - - - Sauvegarder SVP avant l'execution - Save before run action - - - - Sauvegarde de l'input impossible - unable to save input file - - - - Un JdC valide est necessaire pour creer un .input - file must be valid to create a .input file - - - - Choix du composant obligatoire - You have to choose a component - - - - Le fichier %s contient une commande INCLUDE - - file %s contains an "INCLUDE" command - - - - Donnez le nom du fichier dont vous - voulez faire une poursuite - Name the principal file - - - - Fichiers Med (*.med);;Tous les Fichiers (*) - Med Files (*.med);;All Files(*) - - - - Fichier Med - Med File - - - - Veuillez selectionner un fichier Med - Choose a Med file - - - - reel - float - - - - entier - integer - - - - complexe - complex - - - - l'aide n est pas installee - Help is not available - - - - Export Med vers Fichier - export Med Mesh in a file - - - - Impossibilite d exporter le Fichier - Unable to export file - - - - objet valide - valid object - - - - Valeur non modifiable - value can not be changed - - - - Options pour - - Settings - - - - Nombre minimal de valeurs : - minimal number of values : - - - - Nombre maximal de valeurs : - Maximal number of values : - - - - l expression n est pas de la forme a+bj - expression must be as a+bj - - - - Valeur du mot-cle enregistree - Value is recorded - - - - Valeur du mot-cle non autorisee - Value is not authorized - - - - Fichier non encore nomme - unnamed file - - - - SOURCE - SOURCE - - - - EnveloppeConnexeInducteur - Bounding_Box - - - - EnveloppeConnexe2 - - - - - VecteurDirecteur - Direction_Vector - - - - Centre - Center - - - - SectionBobine - Section - - - - Amplitude - Amplitude - - - - NbdeTours - NbTurns - - - - CONDUCTEUR - CONDUCTOR - - - - Conductivite - Conductivity - - - - PermeabiliteRelative - Relative_Permeability - - - - NOCOND - DIELECTRIC - - - - VCUT - CUT - - - - Orientation - Orientation - - - - ZS - ZS - - - - PARAMETRES - SETTINGS - - - - RepCarmel - Carmel_Directory - - - - TypedeFormule - Formula - - - - Frequence - Frequency - - - - Nb_Max_Iterations - Max_Nb_Iterations - - - - Erreur_Max - Max_Error - - - - Format non implemente - non implemented format - - - - Type d'objet non prevu - - - - - Fichier de donnees - data file - - - - Tous les Fichiers (*) - all files (*) - - - - Select - select - - - - nb min de valeurs : - minimal number of values : - - - - nb max de valeurs atteint - maximum number of values - - - - TraduitV10V11 - - - - - TraduitV11V12 - - - - - Sauve Format Ligne - save file in line format - - - - Valeur du mot-clef enregistree - value recorded - - - - Valeur du mot-clef non autorisee : - unvalid value - - - - %s n'est pas un fichier valide - %s is not a valid file - - - - : verifie les types dans un tuple - valids type in a tuple - - - - Les types entres ne sont pas permis - unvalid type for values - - - - La cardinalite n'est pas correcte, la derniere valeur est ignoree - unvalid multiplicity. last value will be ignored - - - - n est pas un tuple de - is not a tuple - - - - valeurs - values - - - - Valeur incorrecte - incorrect value - - - - n est pas un identifiant correct - - is not a valid name - - - - Entrer un float SVP - Float expected - - - - Entrer un float inferieur a - float lower than - - - - Entrer un float superieur a - float superior than - - - - Mauvaise execution - bad run - - - - impossible d executer la methode - unable to run method - - - - Mauvaise Commande - bad command - - - - Aucune variable connue - no possible variable - - - - Mauvaise dimension de matrice - bad matrix dimension - - - - le nombre de ligne n est pas egal a - number of lines is not - - - - le nombre de colonne n est pas egal a - number of columns is not - - - - Mauvaise Valeur - bad value - - - - l element - element - - - - n est pas correct - is not correct - - - - Modification Impossible - unable to modify - - - - le parametre n'est pas valide - parameter is not valid - - - - n est pas un identifiant correct - is not a correct name - - - - Valeur incorrecte: - incorrect value : - - - - Valeur incorrecte - incorrect value - - - - Valeur correcte - valid value - - - - impossible d'evaluer : - unable to evaluate : - - - - Un concept de nom %s existe déjà ! - already existing concept with name : %s ! - - - - existe deja - - already exists - - - - La matrice n'a pas le bon entete - header does not match with matrix - - - - le mot clef - keyword - - - - doit etre insere avant - has to be inserted before - - - - insertion impossible - unable to insert keyword - - - - doit etre insere apres - has to be inserted after - - - - Nb maximum de valeurs atteint - Maximal number of values - - - - pas de regle de construction pour ce jeu de commandes - No specific rules for building this dataset - - - - Gestion Maillage - Mesh Menu - - - - Acquiert groupe mailles - Read elements mesh - - - - Acquisition Groupe Maille - Read elements mesh - - - - VERSION - VERSION_EN - - - - NUM - NUMBER - - - - FILETYPE - FILETYPE - - - - PARAMETERS - Parametres - - - - Fichier_maillage - FichierMaillage - - - - Echelle_du_maillage - MeshScale - - - - Formulation - Fomulation - - - - Timeproblem - TimeProblem - - - - spectral - EssaiSpectral - - - - Basis - Basis - - - - Fourier - Fourier - - - - Ordre - Ordre - - - - FREQUENCY - Frequency - - - - minimisation - Minimisation - - - - no - no - - - - yes - yes - - - - nb_procs_para - NbProcs - - - - POLYMER - Polymer_en_Anglais - - - - MODEL_DATABASE - MoDEL_DATa_Anglais - - - - Stabilise - Srabilise_Anglais - - - - Non Stabilise - Non Stabilise anglais - - - - Local - local_anglais - - - - ESSAI_OPTION - essai_option_anglais - - - - MATERIEL - mater_anglais - - - - Cable - cable_anglais - - - - Peinture - peinture_anglais - - - - Tuyauterie - tuyau_anglais - - - - Materiau_De_Cable - mat_cable_anglais - - - - PE - pe_anglais - - - - EPDM - epdm_anglais - - - - Modele - modele_anglais - - - - Objet commande commentarisé invalide - - - - - ChoixCode - - - Choix du code - Choose code - - - - Veuillez choisir un code : - Choose code : - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - ChoixCommandes - - - DMacro - DMacro - - - - Alphabetique - alphabetic sort - - - - Par Groupe - Sort by group - - - - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Order</span></p></body></html> - - - - affiche les commandes par ordre alphabetique - display commands in alphabetic order - - - - affiche les commandes selon les thèmes - display commands by thema - - - - Ordre de la modélisation - ordered by modelisation - - - - <html><head/><body><p align="center">Filtre Commande</p></body></html> - <html><head/><body><p align="center">Filters Commands</p></body></html> - - - - filter commands - filters commands - - - - affiche les régles de validité - display validity rules - - - - ... - - - - - Règles de construction - Building Rules - - - - Sensible à la casse - case-sensitive - - - - Effacer - Clear - - - - selectionne les mots qui CONTIENNENT l expression - select words that CONTAINS the filter - - - - ré-affiche toutes les commandes - re-display the list of commands - - - - DChoixCata - - - Choix d'une version du code Aster - Choose a version for code Aster - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 catalogs are available </span></p></body></html> - - - - &OK - &Ok - - - - &Cancel - &Cancel - - - - Validate choice - validate choice - - - - DSelVal - - - Sélection de valeurs - Values Selections - - - - Separateur - marker - - - - espace - space - - - - virgule - comma - - - - point-virgule - semi-colon - - - - Ajouter Selection - add selected value - - - - Importer Tout - imports all values - - - - DVisu - - - Visualisation Include Materiau - View Include - - - - Eficas - - - MainWindow - Main Window - - - - &Fichier - &File - - - - &Aide - &Help - - - - toolBar - toolBar - - - - &Nouveau - &New - - - - Ctrl+N - Ctrl+N - - - - Nouvel Include - New Include - - - - &Ouvrir - &Open - - - - Ctrl+O - Ctrl+O - - - - Enregistrer - Save - - - - Enregistrer sous - Save as - - - - Fermer - Close - - - - Ctrl+W - - - - - Fermer tout - Close all - - - - Couper - Cut - - - - Ctrl+X - Ctrl+X - - - - Copier - Copy - - - - Ctrl+C - Ctrl+C - - - - Coller - Paste - - - - Ctrl+V - Ctrl+V - - - - Quitter - Exit - - - - Ctrl+Q - Ctrl+Q - - - - Rapport de Validation - Validation Report - - - - Fichier Source - Source File - - - - Fichier Résultat - Result File - - - - Parametres Eficas - Eficas Parameters - - - - Lecteur documentation - documentation reader - - - - Eficas - Eficas - - - - Version - Version - - - - Supprimer - Delete - - - - Rechercher - Find - - - - Rechercher dans l'arbre d'etude - Find in Data Tree - - - - Ctrl+F - Ctrl+F - - - - Replier/Deplier - Expand/Collapse - - - - Execution - Run - - - - Execution - Run - - - - Patrons - Patterns - - - - Tab 1 - - - - - &Edition - &Edit - - - - &JeuDeDonnées - &Data - - - - Shift+I - - - - - Ctrl+S - - - - - Ctrl+Shift+S - - - - - Shift+V - - - - - Chercher Mot-Clef - Find Keyword - - - - Rechercher dans le catalogue - Find Keyword in Catalog - - - - Shift+F - - - - - Shift+D - - - - - Commentaire - Comment - - - - Shift+C - - - - - Paramètres - Parameters - - - - Gestion des paramètres - Managing parameters - - - - Shift+P - - - - - Parametre Eficas - Eficas Settings - - - - Save Run - Save run - - - - Run - run - - - - &bad - - - - - Régles du JdC - Rules for dataset - - - - JDCEditor - - - Save File - - - - - The file <b>%1</b> could not be saved.<br>Reason: %2 - - - - - JDC (*.comm);;All Files (*) - - - - - &Abandonner - &Cancel - - - - Tuple2 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Tuple3 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Widget4a6RadioButton - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - WidgetBloc - - - Form - - - - - WidgetCB - - - Affiche le rapport de validation du mot-clef - display validation report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetCommande - - - Affiche le rapport de validité de la commande - Display validity report for the keyword - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - Object Name. Only valid objects can be named - - - - Lance un script associé à la commande - Run associated script - - - - ouvre un navigateur sur l'aide contextuelle - open a browser to navigate to contextual help - - - - affiche les régles de validité - display validity rules - - - - Détruit la commande - Delete the command - - - - Affiche les commandes possibles - display allowed commands - - - - &Commandes - &Commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Affiche le formulaire de la commande précédente - display previous command - - - - Affiche le formulaire de la commande suivante - display next command - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - TextLabel - - - - - WidgetCommentaire - - - <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">Comment</span></p></body></html> - - - - Affiche les commandes possibles - display allowed commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Détruit le commentaire - Delete the comment - - - - &Commandes - &Commands - - - - Affiche le formulaire de la commande précédente - display previous command - - - - Affiche le formulaire de la commande suivante - display next command - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - WidgetDate - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetFact - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - WidgetFactPlie - - - TextLabel - TextLabel - - - - Form - - - - - ... - - - - - WidgetHeure - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetInformative - - - Form - - - - - WidgetOptionnel - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html - - - - WidgetOptionnel - - - - - WidgetParam - - - <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> - <html><head/><body><p><span style=" color:#000000;">Parameter</span></p></body></html> - - - - Détruit le commentaire - Delete the comment - - - - Affiche les commandes possibles - Display allowed commands - - - - &Commandes - &Commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Affiche le formulaire de la commande précédente - Display previous command - - - - Affiche le formulaire de la commande suivante - Display next command - - - - <html><head/><body><p>Valeur: </p></body></html> - <html><head/><body><p>Value: </p></body></html< - - - - <html><head/><body><p>Nom: </p></body></html> - <html><head/><body><p>Name: </p></body></html> - - - - Verifie la valeur - Valid the value - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetPlusieursBase - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Remonte la ligne - up - - - - Descend la ligne - down - - - - supprime une ligne - deletes a line - - - - Ajoute une ligne - add a line - - - - Montre l'ensemble des valeurs - display all the value - - - - Sélectionne depuis Salome - from salome - - - - Visualise dans Salome - Show in salome - - - - Ouvre un fichier de sélection des valeurs - Open a file for selection - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - TextLabel - TextLabel - - - - WidgetPlusieursInto - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - WidgetPlusieursIntoOrdonne - - - Affiche le rapport de validation du mot-clef - display validity report for the keyword - - - - TextLabel - TextLabel - - - - Remonte d'une ligne - Up - - - - Descend d'une ligne - Down - - - - Détruit une ligne - Delete a line - - - - ajoute une ligne - add a line - - - - visualise l'ensemble des valeurs - show all values - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - WidgetPlusieursPlie - - - Form - - - - - Affiche le rapport de validité du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - Détruit le mot-clef - Delete the keyword - - - - WidgetPlusieursTuple - - - Form - - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - Up - - - - Descend la ligne - Down - - - - supprime une ligne - delete a line - - - - Ajoute une ligne - add a line - - - - Montre l'ensemble des valeurs - show all values - - - - Ouvre un fichier de sélection des valeurs - import data from a file - - - - Détruit le mot-clef - Delete the keyword - - - - TextLabel - TextLabel - - - - WidgetRadioButton - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - WidgetSDCOInto - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> - <html><head/><body><p>Objects with the recquired type</p><p><br/></p></body></html> - - - - <html><head/><body><p>ou Nom du concept</p></body></html> - or name the object - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpBase - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpBool - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - True - - - - - False - - - - - WidgetSimpComplexe - - - Complexe : a+bj - Complex : a+bj - - - - Réel/Imaginaire - Real/Imaginary - - - - Module/Phase - Module/Phase - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p align="center">OU </p></body></html> - - - - - WidgetSimpFichier - - - Affiche le rapport de validité du mot-clef - Display validity report for the keyword - - - - affiche l'explorateur de fichier - open file explorer - - - - ouvre le fichier choisi - Open the file - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpTxt - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetTuple2 - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - WidgetTuple3 - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - WidgetUniqueSDCO - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Attend un objet de type CO - expect a CO Object - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetVide - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> - - - - - Attend un objet de type XXXX. Il faut le créer - object must be created - - - - baseWidget - - - DMacro - DMacro - - - - dView - - - Dialog - Dialog - - - - Fermer - Close - - - - Sauver - Save - - - - desRecherche - - - Rechercher dans le JDC - Find in JDC - - - - Suivant - Next - - - - Next - - - - - desWidgetCreeParam - - - Gestion des Paramètres - Parameters - - - - <html><head/><body><p>Nom: </p></body></html> - Name - - - - <html><head/><body><p>Valeur: </p></body></html> - Value - - - - <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> - <html><head/><body><p><span style=" text-decoration: underline;">New Parameter</span></p></body></html> - - - - desWidgetMatrice - - - Dialog - Dialog - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>Met à jour l'en-tête</p></body></html> - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - self.appliEficas - - - Wrapper Files (*.xml);;All Files (*) - - - - - Noname - - - - - viewRegles - - - Dialog - Dialog - - - diff --git a/UiQT4/eficas_en.ts b/UiQT4/eficas_en.ts deleted file mode 100644 index afe86d8a..00000000 --- a/UiQT4/eficas_en.ts +++ /dev/null @@ -1,5860 +0,0 @@ - - - - @default - - COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES - Coefficient to calibrate tidal velocities - - - BOTTOM_TOPOGRAPHY_FILE - Bottom topography file - - - NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES - Number of corrections of distributive schemes - - - WATER_DENSITY - Water density - - - VALUE_OF_ATMOSPHERIC_PRESSURE - Value of atmospheric pressure - - - LISTING_FOR_PRINTOUT_PERIOD - Listing for printout period - - - CONSERVATIVE_N_SCHEME - Conservative N-Scheme - - - wave_celerity_(m/s) - Wave celerity (m/s) - - - scalar_flowrate_of_fluid_(m2/s) - Scalar flowrate of fluid (m2/s) - - - constant_normal_profile - Constant normal profile - - - LAMBERT_4_CORSICA - Lambert 4 corsica - - - MERCATOR - Mercator - - - VELOCITY_DIFFUSIVITY - Velocity diffusivity - - - LINEARIZED_PROPAGATION - Linearized propagation - - - PRINTOUT_PERIOD_FOR_DROGUES - Printout period for drogues - - - BINARY_RESULTS_FILE_FORMAT - Binary results file format - - - COMPUTATION_CONTINUED - Computation continued - - - PARALLEL_PROCESSORS - Parallel processors - - - COEFFICIENT_FOR_DIFFUSION_OF_TRACERS - Coefficient for diffusion of tracers - - - LAMBERT_3_SOUTH - Lambert 3 south - - - DIAMETER_OF_ALGAE - Diameter of algae - - - FRICTION_DATA_FILE - Friction data file - - - Real_tide_(recommended_methodology) - Real tide (recommended methodology) - - - NAMES_OF_POINTS - Names of points - - - GIGARTINA_LEPTORHYNCHOS - Gigartina leptorhynchos - - - STOP_CRITERIA - Stop criteria - - - Roe_scheme - Roe scheme - - - FINITE_VOLUME_SCHEME - Finite volume scheme - - - IMPLICITATION_COEFFICIENT_OF_TRACERS - Implicitation coefficient of tracers - - - gradient_simple - Gradient simple - - - SPATIAL_PROJECTION_TYPE - Spatial projection type - - - PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI - Physical characteristics of the tsunami - - - direct - Direct - - - zero - Zero - - - FRICTION_COEFFICIENT - Friction coefficient - - - BREACHES_DATA_FILE - Breaches data file - - - COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION - Coefficient 1 for law of tracers degradation - - - TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES - Treatment of fluxes at the boundaries - - - GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER - Global number of the point to calibrate high water - - - REFERENCE_FILE_FORMAT - Reference file format - - - conjugate_residual - Conjugate residual - - - BOTTOM_SURFACES_DELWAQ_FILE - Bottom surfaces DELWAQ file - - - N_SCHEME_FOR_TIDAL_FLATS - N-Scheme for tidal flats - - - NO_FRICTION - No friction - - - no_preconditioning_ - No preconditioning - - - CONTINUITY_CORRECTION - Continuity correction - - - F(T90)_LAW - F(T90) law - - - FREE_SURFACE_GRADIENT_COMPATIBILITY - Free surface gradient compatibility - - - gmres - GMRES - - - strong - Strong - - - 1/h_div_(_h_nu_grad(U) - 1/h div ( h nu grad(U) - - - SMAGORINSKI - Smagorinski - - - NAMES_OF_PRIVATE_VARIABLES - Names of private variables - - - NODES_DISTANCES_DELWAQ_FILE - Nodes distances DELWAQ file - - - SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS - Scheme option for advection of tracers - - - MERCATOR_FOR_TELEMAC - Mercator for telemac - - - TIME_STEP_REDUCTION_FOR_K_EPSILON_MODEL - Time step reduction for K-Epsilon model - - - quasi_bubble - Quasi-bubble - - - NON_DIMENSIONAL_DISPERSION_COEFFICIENTS - Non-dimensional dispersion coefficients - - - classical_EBE - Classical ebe - - - IMPLICIT_NON_CONSERVATIVE_N_SCHEME - Implicit non conservative n scheme - - - GEOMETRY_FILE_FORMAT - Geometry file format - - - ORIGINAL_HOUR_OF_TIME - Original hour of time - - - DIFFUSIVITY_FOR_DELWAQ - Diffusivity for DELWAQ - - - Q(Z)_not_programmed - Q(Z) not programmed - - - DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS - Dissipation coefficient for secondary currents - - - ALGAE_TRANSPORT_MODEL - Algae transport model - - - TOLERANCES_FOR_IDENTIFICATION - Tolerances for identification - - - WGS84_SOUTHERN_UTM - WGS84 southern utm - - - air_pressure_(Pa) - Air pressure (Pa) - - - No_model - No model - - - DELWAQ_PRINTOUT_PERIOD - DELWAQ printout period - - - DROGUES_FILE - Drogues file - - - MASS_LUMPING_FOR_WEAK_CHARACTERISTICS - Mass-lumping for weak characteristics - - - GRAVITY_ACCELERATION - Gravity acceleration - - - BINARY_DATABASE_2_FOR_TIDE - Binary database 2 for tide - - - 6_points - 6 points - - - TIME_RANGE_FOR_FOURIER_ANALYSIS - Time range for fourier analysis - - - EDGE_BASED_N_SCHEME - Edge-based N-Scheme - - - Priority_to_fluxes - Priority to fluxes - - - LAMBERT_1_NORTH - Lambert 1 north - - - velocity_proportional_to_square_root_of_depth - Velocity proportional to square root of depth - - - STRICKLER - Strickler - - - LAMBERT_2_EXTENDED - Lambert 2 extended - - - ELEMENTS_MASKED_BY_USER - Elements masked by user - - - NAMES_OF_TRACERS - Names of tracers - - - H_CLIPPING - H clipping - - - conjugate_residuals - Conjugate residuals - - - PARAMETER_ESTIMATION - Parameter estimation - - - CHECKING_THE_MESH - Checking the mesh - - - SOLVER_FOR_K_EPSILON_MODEL - Solver for K-Epsilon model - - - LIST_OF_FILES - List of files - - - Wave_equation - Wave equation - - - NAMES_OF_CLANDESTINE_VARIABLES - Names of clandestine variables - - - WAQTEL_STEERING_FILE - Waqtel steering file - - - MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES - Maximum number of iterations for advection schemes - - - squared_conjugate_gradient - Squared conjugate gradient - - - LAW_OF_BOTTOM_FRICTION - Law of bottom friction - - - MATRIX_VECTOR_PRODUCT - Matrix-vector product - - - ACCURACY_FOR_DIFFUSION_OF_TRACERS - Accuracy for diffusion of tracers - - - cgstab - CGSTAB - - - MANNING - Manning - - - SCHEME_FOR_ADVECTION_OF_TRACERS - Scheme for advection of tracers - - - OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL - Option for the solver for K-Epsilon model - - - conjugate_gradient_squared_stabilised_(cgstab) - Conjugate gradient squared stabilised (CGSTAB) - - - PELVETIOPSIS_LIMITATA - Pelvetiopsis limitata - - - LIKE_1_BUT_WITH_POROSITY_(DEFINA_METHOD) - Like 1 but with porosity (defina method) - - - FRICTION_DATA - Friction data - - - TUBES_DATA_FILE - Tubes data file - - - ZONES_FILE - Zones file - - - Mean_tide - Mean tide - - - DENSITY_EFFECTS - Density effects - - - THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE - Threshold depth for receding procedure - - - explicit - Explicit - - - DRY_ELEMENTS_FROZEN - Dry elements frozen - - - extrapolation - Extrapolation - - - conjugate_gradient_on_normal_equation - Conjugate gradient on normal equation - - - TREATMENT_OF_NEGATIVE_DEPTHS - Treatment of negative depths - - - STEERING_FILE - Steering file - - - ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM - Zone number in geographic system - - - DIFFUSION_OF_TRACERS - Diffusion of tracers - - - PREVIOUS_COMPUTATION_FILE - Previous computation file - - - DIAMETER_OF_ROUGHNESS_ELEMENTS - Diameter of roughness elements - - - friction_velocity - Friction velocity - - - NUMBER_OF_TIME_STEPS - Number of time steps - - - NEWMARK_TIME_INTEGRATION_COEFFICIENT - Newmark time integration coefficient - - - TOMAWAC_STEERING_FILE - TOMAWAC steering file - - - CONSTANT_VISCOSITY - Constant viscosity - - - INITIAL_DEPTH - Initial depth - - - WATER_QUALITY - Water quality - - - MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS - Maximum number of iterations for diffusion of tracers - - - ANGLAIS - Anglais - - - EQUATIONS_SOLVED_EVERYWHERE_WITH_CORRECTION_ON_TIDAL_FLATS - Equations solved everywhere with correction on tidal flats - - - LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES - Law of friction on lateral boundaries - - - COUPLING_PERIOD_FOR_SISYPHE - Coupling period for sisyphe - - - NON_CONSERVATIVE_PSI_SCHEME - Non conservative PSI scheme - - - STAGE_DISCHARGE_CURVES_FILE - Stage-discharge curves file - - - INITIAL_CONDITIONS - Initial conditions - - - predictor_corrector - Predictor-corrector - - - LAMBERT - Lambert - - - OPTION_FOR_THE_DIFFUSION_OF_TRACERS - Option for the diffusion of tracers - - - ACCURACY_OF_EPSILON - Accuracy of epsilon - - - THRESHOLD_DEPTH_FOR_WIND - Threshold depth for wind - - - SOLVER_ACCURACY - Solver accuracy - - - TURBULENCE_MODEL_FOR_SOLID_BOUNDARIES - Turbulence model for solid boundaries - - - BOUNDARY_CONDITIONS_FILE - Boundary conditions file - - - VALIDATION - Validation - - - tracer - Tracer - - - TIDE_GENERATING_FORCE - Tide generating force - - - SUPG - SUPG - - - PRESCRIBED_FLOWRATES - Prescribed flowrates - - - Mean_spring_tide - Mean spring tide - - - BINARY_DATABASE_1_FOR_TIDE - Binary database 1 for tide - - - LAW_OF_TRACERS_DEGRADATION - Law of tracers degradation - - - SECTIONS_INPUT_FILE - Sections input file - - - MINIMUM_VALUE_OF_DEPTH - Minimum value of depth - - - No_tide - No tide - - - SPACING_OF_ROUGHNESS_ELEMENTS - Spacing of roughness elements - - - SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON - Scheme option for advection of K-epsilon - - - LISTING_PRINTOUT_PERIOD - Listing printout period - - - COLEBROOK_WHITE - Colebrook-white - - - MINOR_CONSTITUENTS_INFERENCE - Minor constituents inference - - - CARTESIAN,_NOT_GEOREFERENCED - Cartesian, not georeferenced - - - No_Tsunami - No tsunami - - - drift_along_x_(m) - Drift along X (m) - - - UTM_ZONE,_E.G. - Utm zone, e.g. - - - CONSERVATIVE_PSI_SCHEME - Conservative PSI-Scheme - - - PREVIOUS_COMPUTATION_FILE_FORMAT - Previous computation file format - - - VALUES_OF_THE_TRACERS_AT_THE_SOURCES - Values of the tracers at the sources - - - linear - Linear - - - BINARY_RESULTS_FILE - Binary results file - - - diagonal - Diagonal - - - EXCHANGE_AREAS_DELWAQ_FILE - Exchange areas DELWAQ file - - - IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY - Implicitation for diffusion of velocity - - - conjugate_gradient - Conjugate gradient - - - WGS84_NORTHERN_UTM - WGS84 northern utm - - - WEIRS_DATA_FILE - Weirs data file - - - IMPLICITATION_FOR_VELOCITY - Implicitation for velocity - - - DEFINITION_OF_ZONES - Definition of zones - - - MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON - Maximum number of iterations for K and Epsilon - - - MEAN_DEPTH_FOR_LINEARIZATION - Mean depth for linearization - - - 3_points - 3 points - - - wind_along_y_axis_(m/s) - Wind along Y axis (m/s) - - - div(_nu_grad(T)_) - Div( nu grad(t) ) - - - minimum_error - Minimum error - - - SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES - Scheme option for advection of velocities - - - DESIRED_COURANT_NUMBER - Desired courant number - - - flowrate_along_x_axis_(m2/s) - Flowrate along X axis (m2/s) - - - SUPG_OPTION - SUPG option - - - 1/h_div_(_h_nu_grad(T) - 1/h div ( h nu grad(t) - - - crout - Crout - - - conjugate_gradient_squared - Conjugate gradient squared - - - STOP_IF_A_STEADY_STATE_IS_REACHED - Stop if a steady state is reached - - - DEFAULT_PARALLEL_EXECUTABLE - Default parallel executable - - - INFORMATION_ABOUT_SOLVER - Information about solver - - - K_EPSILON_MODEL - K-Epsilon model - - - AIR_PRESSURE - Air pressure - - - RESULTS_FILE - Results file - - - VERTICAL_FLUXES_DELWAQ_FILE - Vertical fluxes DELWAQ file - - - DELWAQ_STEERING_FILE - DELWAQ steering file - - - wind_along_x_axis_(m/s) - Wind along X axis (m/s) - - - Lagrange_interp. - Lagrange interp. - - - MASS_BALANCE - Mass-balance - - - turbulent_viscosity_(m2/s) - Turbulent viscosity (m2/s) - - - OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS - Option for tidal boundary conditions - - - ADVECTION_OF_TRACERS - Advection of tracers - - - DIFFUSION_OF_VELOCITY - Diffusion of velocity - - - scalar_velocity_(m/s) - Scalar velocity (m/s) - - - COEFFICIENT_OF_WIND_INFLUENCE - Coefficient of wind influence - - - PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS - Production coefficient for secondary currents - - - HLLC_scheme_order_1 - HLLC scheme order 1 - - - RESULTS_FILE_FORMAT - Results file format - - - COUPLING_PERIOD_FOR_TOMAWAC - Coupling period for TOMAWAC - - - NUMBER_OF_PRIVATE_ARRAYS - Number of private arrays - - - MAXIMUM_NUMBER_OF_FRICTION_DOMAINS - Maximum number of friction domains - - - DURATION - Duration - - - BINARY_DATA_FILE_2_FORMAT - Binary data file 2 format - - - HORIZONTAL_WITH_SAME_NUMBER_OF_NODES_UPSTREAM/DOWNSTREAM - Horizontal with same number of nodes upstream/downstream - - - OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES - Option for the diffusion of velocities - - - MASS_LUMPING_ON_TRACERS - Mass-lumping on tracers - - - NORTH - North - - - RAIN_OR_EVAPORATION - Rain or evaporation - - - FRANCAIS - Francais - - - PARTITIONING_TOOL - Partitioning tool - - - FORMATTED_RESULTS_FILE - Formatted results file - - - VERTICAL_STRUCTURES - Vertical structures - - - OPTION_FOR_TSUNAMI_GENERATION - Option for tsunami generation - - - VARIABLE_TIME_STEP - Variable time-step - - - IRIDAEA_FLACCIDA_(CLOSE_TO_ULVA) - Iridaea flaccida (close to ulva) - - - PROPAGATION_OPTION - Propagation option - - - REFERENCE_FILE - Reference file - - - TIDAL_DATA_BASE - Tidal data base - - - INITIAL_ELEVATION - Initial elevation - - - average - Average - - - STOCHASTIC_DIFFUSION_MODEL - Stochastic diffusion model - - - FORTRAN_FILE - Fortran file - - - BREACH - Breach - - - Z(Q) - Z(Q) - - - NO_DEFAULT_VALUE - No default value - - - no_preconditioning - No preconditioning - - - TIME_STEP - Time step - - - rough - Rough - - - SALINITY_DELWAQ_FILE - Salinity DELWAQ file - - - IMPLICITATION_FOR_DEPTH - Implicitation for depth - - - NUMBER_OF_LAGRANGIAN_DRIFTS - Number of lagrangian drifts - - - TEMPERATURE_FOR_DELWAQ - Temperature for DELWAQ - - - GENERAL - General - - - SECONDARY_CURRENTS - Secondary currents - - - PRECONDITIONING - Preconditioning - - - MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW - Manning default value for colebrook-white law - - - ADVECTION_OF_H - Advection of H - - - DEBUGGER - Debugger - - - LATITUDE_OF_ORIGIN_POINT - Latitude of origin point - - - PRESCRIBED_TRACERS_VALUES - Prescribed tracers values - - - RECORD_NUMBER_FOR_RESTART - Record number for restart - - - turbulent_viscosity_of_k_epsilon_model_(m2/s) - Turbulent viscosity of K-epsilon model (m2/s) - - - LISTING_PRINTOUT - Listing printout - - - CORIOLIS_COEFFICIENT - Coriolis coefficient - - - TURBULENCE_MODEL - Turbulence model - - - NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS - Number of first time step for listing printouts - - - PRINTING_CUMULATED_FLOWRATES - Printing cumulated flowrates - - - OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS - Option for the treatment of tidal flats - - - variable_in_time_and_space_given_by_formated_file - Variable in time and space given by formated file - - - CONTROL_SECTIONS - Control sections - - - SOLVER_FOR_DIFFUSION_OF_TRACERS - Solver for diffusion of tracers - - - SECTIONS_OUTPUT_FILE - Sections output file - - - NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES - Number of sub-steps of distributive schemes - - - UPWIND_COEFFICIENTS - Upwind coefficients - - - time_of_maximum_elevation - Time of maximum elevation - - - ALGAE_TYPE - Algae type - - - RAIN_OR_EVAPORATION_IN_MM_PER_DAY - Rain or evaporation in mm per day - - - FORMATTED_DATA_FILE_1 - Formatted data file 1 - - - FORMATTED_DATA_FILE_2 - Formatted data file 2 - - - C_U_PRECONDITIONING - C-U preconditioning - - - LIST_OF_POINTS - List of points - - - WGS84_LONGITUDE/LATITUDE_IN_REAL_DEGREES - WGS84 longitude/latitude in real degrees - - - MISCELLANEOUS_(LEGOS_NEA,_FES20XX,_PREVIMER...) - Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...) - - - conj_gradient - Conj gradient - - - weak - Weak - - - SCHEME_FOR_ADVECTION_OF_VELOCITIES - Scheme for advection of velocities - - - gmres_(see_option_for_the_solver_for_k_epsilon_model) - GMRES (see option for the solver for K-Epsilon model) - - - NO_ADVECTION - No advection - - - NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS - Number of first time step for graphic printouts - - - DEPTH_IN_FRICTION_TERMS - Depth in friction terms - - - FOURIER_ANALYSIS_PERIODS - Fourier analysis periods - - - EQUATIONS - Equations - - - MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION - Maximum number of iterations for identification - - - WIND - Wind - - - SPEED_AND_DIRECTION_OF_WIND - Speed and direction of wind - - - TYPE_OF_SOURCES - Type of sources - - - TITLE - Title - - - MASS_LUMPING_ON_H - Mass-lumping on H - - - NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES - Number of sub-iterations for non-linearities - - - PSI_SCHEME_OPTION - Psi scheme option - - - LIQUID_BOUNDARIES_FILE - Liquid boundaries file - - - VELOCITIES_OF_THE_SOURCES_ALONG_X - Velocities of the sources along X - - - VELOCITIES_OF_THE_SOURCES_ALONG_Y - Velocities of the sources along Y - - - CHARACTERISTICS - Characteristics - - - BOTTOM_SMOOTHINGS - Bottom smoothings - - - SALINITY_FOR_DELWAQ - Salinity for DELWAQ - - - OPTION_FOR_CHARACTERISTICS - Option for characteristics - - - MAXIMUM_NUMBER_OF_TRACERS - Maximum number of tracers - - - maximum_velocity - Maximum velocity - - - FREE_INTEGER_20 - Free integer 20 - - - ZERO - Zero - - - OPTION_FOR_WIND - Option for wind - - - BINARY_DATA_FILE_1 - Binary data file 1 - - - BINARY_DATA_FILE_2 - Binary data file 2 - - - free_surface_elevation_(m) - Free surface elevation (m) - - - PRESCRIBED_VELOCITIES - Prescribed velocities - - - water_depth_(m) - Water depth (m) - - - VELOCITY_DELWAQ_FILE - Velocity DELWAQ file - - - kinetic_order_2 - Kinetic order 2 - - - kinetic_order_1 - Kinetic order 1 - - - coupled - Coupled - - - LAMBERT_2_CENTER - Lambert 2 center - - - COMPATIBLE_COMPUTATION_OF_FLUXES - Compatible computation of fluxes - - - Astronomical_neap_tide - Astronomical neap tide - - - NUMBER_OF_TRACERS - Number of tracers - - - Dirac - Dirac - - - COUPLING_DIRECTORY - Coupling directory - - - DEFAULT_EXECUTABLE - Default executable - - - GEOMETRY_FILE - Geometry file - - - DICTIONARY - Dictionary - - - WAF_scheme_order_2 - WAF scheme order 2 - - - VARIABLES_FOR_GRAPHIC_PRINTOUTS - Variables for graphic printouts - - - INFORMATION_ABOUT_K_EPSILON_MODEL - Information about K-Epsilon model - - - OIL_SPILL_STEERING_FILE - Oil spill steering file - - - MAXIMUM_NUMBER_OF_BOUNDARIES - Maximum number of boundaries - - - DIFFUSIVITY_DELWAQ_FILE - Diffusivity DELWAQ file - - - Thompson_method_based_on_characteristics - Thompson method based on characteristics - - - DESCRIPTION_OF_LIBRARIES - Description of libraries - - - NUMBER_OF_WEIRS - Number of weirs - - - SPHERE - Sphere - - - Computed_with_c,u,v - Computed with C,U,V - - - Astronomical_tide - Astronomical tide - - - velocity_along_y_axis_(m/s) - Velocity along Y axis (m/s) - - - CULVERT_DATA_FILE - Culvert data file - - - bottom_elevation_(m) - Bottom elevation (m) - - - EXCHANGES_BETWEEN_NODES_DELWAQ_FILE - Exchanges between nodes DELWAQ file - - - SOLVER_OPTION_FOR_TRACERS_DIFFUSION - Solver option for tracers diffusion - - - INITIAL_VALUES_OF_TRACERS - Initial values of tracers - - - flowrate_along_y_axis_(m2/s) - Flowrate along Y axis (m2/s) - - - NUMBER_OF_TUBES - Number of tubes - - - LONGITUDE_OF_ORIGIN_POINT - Longitude of origin point - - - MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER - Maximum number of iterations for solver - - - CORIOLIS - Coriolis - - - ADVECTION - Advection - - - Edge_based_storage - Edge-based storage - - - EXPLICIT_+_MURD_SCHEME_PSI - Explicit + murd scheme PSI - - - previous - Previous - - - ABSCISSAE_OF_SOURCES - Abscissae of sources - - - VECTOR_LENGTH - Vector length - - - GRAPHIC_PRINTOUT_PERIOD - Graphic printout period - - - COUPLING_WITH - Coupling with - - - CHEZY - CHEZY - - - variable_in_time_given_by_formated_file - Variable in time given by formated file - - - WATER_DISCHARGE_OF_SOURCES - Water discharge of sources - - - ADVECTION_OF_U_AND_V - Advection of U and V - - - Zokagoa_scheme_order_1 - Zokagoa scheme order 1 - - - DEFINED_BY_USER - Defined by user - - - LATITUDE_LONGITUDE - Latitude longitude - - - VOLUMES_DELWAQ_FILE - Volumes DELWAQ file - - - VELOCITY_FOR_DELWAQ - Velocity for DELWAQ - - - ROUGHNESS_COEFFICIENT_OF_BOUNDARIES - Roughness coefficient of boundaries - - - TPXO - TPXO - - - INITIAL_TIME_SET_TO_ZERO - Initial time set to zero - - - EXPLICIT_+_SUPG - Explicit + SUPG - - - INITIAL_GUESS_FOR_U - Initial guess for U - - - SCHEME_FOR_ADVECTION_OF_K_EPSILON - Scheme for advection of K-epsilon - - - NO_DEGRADATION - No degradation - - - TEMPERATURE_DELWAQ_FILE - Temperature DELWAQ file - - - Froude_number - Froude number - - - classical - Classical - - - nombre_de_courants_ - Nombre de courants - - - SOURCES_FILE - Sources file - - - LOG_LAW - Log law - - - CONTROL_OF_LIMITS - Control of limits - - - NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS - Number of Gauss points for weak characteristics - - - TYPE_OF_WEIRS - Type of weirs - - - THRESHOLD_FOR_NEGATIVE_DEPTHS - Threshold for negative depths - - - velocity_proportional_to_square_root_of_depth,_variant - Velocity proportional to square root of depth, variant - - - VELOCITY_PROFILES - Velocity profiles - - - LANGUAGE - Language - - - STAGE_DISCHARGE_CURVES - Stage-discharge curves - - - Courant_number_ - Courant number - - - COST_FUNCTION - Cost function - - - JMJ - JMJ - - - ORIGIN_COORDINATES - Origin coordinates - - - RECORD_NUMBER_IN_WAVE_FILE - Record number in wave file - - - tracer_1_etc. - Tracer 1 etc. - - - TYPE_OF_ADVECTION - Type of advection - - - WIND_VELOCITY_ALONG_X - Wind velocity along X - - - WIND_VELOCITY_ALONG_Y - Wind velocity along Y - - - MAXIMUM_NUMBER_OF_SOURCES - Maximum number of sources - - - HAALAND - HAALAND - - - div(_nu_grad(U)_) - Div( nu grad(U) ) - - - DISCRETIZATIONS_IN_SPACE - Discretizations in space - - - SISYPHE_STEERING_FILE - Sisyphe steering file - - - ADVECTION_OF_K_AND_EPSILON - Advection of K and epsilon - - - NUMBER_OF_CULVERTS - Number of culverts - - - RELEASE - Release - - - list_of_tests - List of tests - - - PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS - Preconditioning for diffusion of tracers - - - EXPLICIT_LEO_POSTMA - Explicit Leo Postma - - - LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER - Local number of the point to calibrate high water - - - Tchamen_scheme_order_1 - Tchamen scheme order 1 - - - supplementary_variable_O - Supplementary variable o - - - WAVE_ENHANCED_FRICTION_FACTOR - Wave enhanced friction factor - - - ELDER - Elder - - - supplementary_variable_N - Supplementary variable n - - - gauss_seidel - Gauss-Seidel - - - TREATMENT_OF_THE_LINEAR_SYSTEM - Treatment of the linear system - - - VARIABLES_TO_BE_PRINTED - Variables to be printed - - - normal_velocity_given_in_ubor_in_the_conlim_file - Normal velocity given in ubor in the conlim file - - - DENSITY_OF_ALGAE - Density of algae - - - NON_SUBMERGED_VEGETATION_FRICTION - Non-submerged vegetation friction - - - TIDAL_FLATS - Tidal flats - - - diagonal_and_crout - Diagonal and Crout - - - HARMONIC_CONSTANTS_FILE - Harmonic constants file - - - Priority_to_prescribed_values - Priority to prescribed values - - - BINARY_DATA_FILE_1_FORMAT - Binary data file 1 format - - - Normal - Normal - - - nodal - Nodal - - - PRESCRIBED_ELEVATIONS - Prescribed elevations - - - LIMIT_VALUES - Limit values - - - quadratic - Quadratic - - - ORDINATES_OF_SOURCES - Ordinates of sources - - - Real_tide_(methodology_before_2010) - Real tide (methodology before 2010) - - - NUMBER_OF_DROGUES - Number of drogues - - - maximum_elevation - Maximum elevation - - - dissipation_of_turbulent_energy_(W/kg) - Dissipation of turbulent energy (W/kg) - - - PROPAGATION - Propagation - - - constant_in_time_and_space - Constant in time and space - - - Mean_neap_tide - Mean neap tide - - - gmres_(see_option_for_the_solver_for_tracer_diffusion) - GMRES (see option for the solver for tracer diffusion) - - - SOLVER_OPTION - Solver option - - - MATRIX_STORAGE - Matrix storage - - - COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE - Coefficient to calibrate tidal range - - - brownian_movement - Brownian movement - - - SOLVER - Solver - - - smooth - Smooth - - - turbulent_kinetic_energy_in_k_epsilon_model_(J/kg) - Turbulent kinetic energy in K-Epsilon model (W/kg) - - - NIKURADSE - Nikuradse - - - PRECONDITIONING_FOR_K_EPSILON_MODEL - Preconditioning for K-Epsilon model - - - drift_along_y_(m) - Drift along Y (m) - - - velocity_along_x_axis_(m/s) - Velocity along X axis (m/s) - - - LEO_POSTMA_FOR_TIDAL_FLATS - Leo Postma for tidal flats - - - block_diagonal_(4_9_matrices) - Block-diagonal (4-9 matrices) - - - Computed_with_h,u,v - Computed with H,U,V - - - ACCURACY_OF_K - Accuracy of K - - - WATER_QUALITY_PROCESS - Water quality process - - - OPTION_FOR_LIQUID_BOUNDARIES - Option for liquid boundaries - - - COEFFICIENT_TO_CALIBRATE_SEA_LEVEL - Coefficient to calibrate sea level - - - INITIAL_GUESS_FOR_H - Initial guess for H - - - SPHERICAL_COORDINATES - Spherical coordinates - - - no - No - - - THICKNESS_OF_ALGAE - Thickness of algae - - - MEAN_TEMPERATURE - Mean temperature - - - IDENTIFICATION_METHOD - Identification method - - - friction_coefficient - Friction coefficient - - - MASS_LUMPING_ON_VELOCITY - Mass-lumping on velocity - - - time_of_maximum_velocity - Time of maximum velocity - - - VALUES_OF_TRACERS_IN_THE_RAIN - Values of tracers in the rain - - - supplementary_variable_Z - Supplementary variable Z - - - supplementary_variable_R - Supplementary variable R - - - EXPLICIT_+_MURD_SCHEME_N - Explicit + murd Scheme N - - - conjugate_gradient_on_a_normal_equation - Conjugate gradient on a normal equation - - - WAVE_DRIVEN_CURRENTS - Wave driven currents - - - Tsunami_generated_on_the_basis_of_the_Okada_model_1992 - Tsunami generated on the basis of the Okada model 1992 - - - ASCII_DATABASE_FOR_TIDE - ASCII database for tide - - - OIL_SPILL_MODEL - Oil spill model - - - 1_point - 1 point - - - ORIGINAL_DATE_OF_TIME - Original date of time - - - GEOGRAPHIC_SYSTEM - Geographic system - - - TIDAL_MODEL_FILE - Tidal model file - - - absolute_value_of_diagonal - Absolute value of diagonal - - - u_and_v_given_in_the_conlim_file - U and V given in the conlim file - - - - lecture du fichier impossible : - unable to read file : - - - - Impossible d'ouvrir le fichier %s - unable to open file %s - - - - Impossible de convertir le fichier Python qui doit contenir des erreurs. - - On retourne le fichier non converti. Prevenir la maintenance. - - %s - Unable to translate the file. it probably contains mistake -ask eficas team -%s - - - - Format de sortie : %s, non supporte - Unsupported format %s - - - - Impossible d'ouvrir le fichier : %s - unable to open file: %s - - - - Erreur ! Erreur ! - Error! - - - - Erreur rencontree dans recherche_enfants : %s - Error in recherche_enfants : %s - - - - Erreur dans la creation du mot-cle : %s - Error when creating %s - - - - Impossible d'ouvrir le fichier : %s - unable to open file : %s - - - - le texte a analyser n'est pas celui d'une commande ou d'un operateur : - text is no eficas text: - - - - Erreur dans la recherche du nom de la commande : - error when searching command's name : - - - - Erreur dans la recherche des args de la commande : - error when searching argument's command : - - - - Erreur dans la recherche du nom de la commande : - error when searching command's name : - - - - Erreur dans la recherche des args de la commande : - error when searching argument's command : - - - - %d n'est pas un index valide pour append_brother - %d is not a valid index for append-brother - - - - le fichier de commandes %s n'existe pas - commands file %s does not exist - - - - un fichier de commandes doit etre defini avant une poursuite %s - You have to define principal commands file before a secondary (poursuite) file %s - - - - le fichier poursuite %s n'existe pas - the secondary (poursuite) file does not exist - - - - include mal defini %s - include is not correct %s - - - - un fichier de commandes doit etre defini avant un include %s - You have to define principal commands file before include %s - - - - le fichier include %s n'existe pas - include file does not exist - - - - jdc %(v_1)s, le fichier - de commandes %(v_2)s n'existe pas - v_1 - jdc %(v_1)s : .comm %(v_2)s does not exist - - - - le fichier jdc %s n'existe pas - file %s does not exist - - - - jdc %s manque option jdc dans section jdc - jdc %s does not have jdc option in command line - - - - %(v_1)s include %(v_2)s : %(v_3)s - v_1 - %(v_1)s include %(v_2)s : %(v_3)s - - - - %(v_1)s fichier poursuite: %(v_2)s - v_1 - %(v_1)ssecondary (poursuite) file %(v_2)s - - - - nom etude : %s - study's name : %s - - - - utilisation : %prog [options] - use : %prog[options] - - - - nom du fichier de commandes - principal .comm file's name - - - - nom du fichier poursuite - secondary (poursuite) file's name - - - - numero d'unite suivi du nom du fichier include - unit number and include file's name - - - - fichier decrivant une etude - file containing a study - - - - version de catalogue a utiliser - catalog's version - - - - nom du code a utiliser - code's name - - - - niveau de debug - debug level - - - - schema - schema - - - - Nombre incorrect d'arguments - incorrect number of arguments - - - - Localisation specifiee pour l'application. - specified localization for the application. - - - - Impossible de transferer les fichiers requis dans : %s - unable to transfer files to : %s - - - - Erreur - error - - - - Erreurs fatales - fatale error - - - - Impossible reconstruire commande - - unable to construct command - - - - Objet commentaire non valorise - comment object has no value - - - - Debut Fonction %s - start function %s - - - - Fin Fonction %s - end function %s - - - - Nom de concept deja defini : %s - Concept's name %s is already existing - - - - Longueur incorrecte - incorrect length - - - - L'attribut 'min' doit etre un entier : - min must be an integer : - - - - L'attribut 'max' doit etre un entier : - max must be an integer : - - - - Nombres d'occurrence min et max invalides : - min and max are invalid: - - - - L'attribut 'fr' doit etre une chaine de caracteres - 'fr' must be a string - - - - L'attribut 'statut' doit valoir 'o','f','c' ou 'd' - values for statut arguments are : 'o','f','c' or 'd' - - - - L'attribut 'docu' doit etre une chaine de caracteres - docu must be a string - - - - Fin - end - - - - Le parametre EVAL %s ne peut valoir None - None is not a valid value for Eval parameter %s - - - - Pas de nom donne au parametre EVAL - No name for parameter EVAL - - - - Un nom de parametre ne peut depasser 8 caracteres - parameter's name can not exceed 8 characters - - - - Un concept de nom %s existe deja ! - Concept's name %s is already existing! - - - - ERREUR - ERROR - - - - Format pas implemente : %s - format : %s not implemented - - - - Type d'objet non prevu : %s - object type not expected : %s - - - - ce groupe de maillage %s est associe a au moins un materiau et au moins une source. - mesh group %s is associated with at least one material and at least a source. - - - - ce groupe de maillage %s n'est associe a aucun materiau ou source. - mesh group %s is associated with no material or no source. - - - - ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel - - - - - toutes les donnees ne sont pas connues - all data are not available - - - - Fichier patron %s n'existe pas. - pattern file %s does not exist. - - - - Pas supporte - not implemented - - - - Entite inconnue ou interdite :%s - Unknown or unsupported entity : %s - - - - Entite inconnue ou interdite :%s. Elle est ignoree - Unknown or unsupported entity : %s. ignored - - - - Les tuples ne sont pas supportes pour le format ini :%s - Tuple are not allowed for format ini : %s - - - - Type de valeur non supportee par le format ini :%(nom)s -%(exception)s - nom - Unsupported type of value for .ini format %(nom)s -%(exception)s - - - - Il y a un pb a la Creation du XML - problem when creating XML - - - - Il y a un pb a la Creation du STD - problem when creating STD - - - - Entite inconnue ou interdite : %s. Elle est ignoree - unkown ou unsupported entity : %s. ignored - - - - Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. - Tag %s not defined. Ask developpeurs team. - - - - Le mot-cle %s est obligatoire. - mandatory keyword : %s. - - - - concept %(inst_name)s de type %(class_name)s - inst_name - concept %(inst_name)s of type %(class_name)s - - - - Un nom de concept doit etre un identificateur Python - concept's name must be a python identifier - - - - Concept existant - allready existing concept - - - - Operateur reentrant mais concept non existant - operator 'reentrant' but concept does not exist - - - - Operateur reentrant et concept existant trouve - Operator 're-entrant' and concept exists - - - - Concept deja existant et de mauvais type - already existing concept of not supported type - - - - Nommage du concept refuse : un concept de meme nom existe deja - Name is refused : already existing concept - - - - Nommage du concept effectue - Concept named - - - - Nommage impossible %s - unable to name %s - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante - formula expects a list of arguments : no left parenthesis - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante - formula expects a list of arguments : no right parenthes - - - - Pas de nom donne a la FORMULE - no name given - - - - Un nom de FORMULE ne peut depasser 8 caracteres - name too long (8 characters max) - - - - Un nom de FORMULE ne peut pas commencer par un chiffre - name does not begin with a figure - - - - Le type de la valeur retournee n'est pas specifie - no type is specified for the return value - - - - Une formule ne peut retourner une valeur de type : %s - impossible to return a value of type : %s - - - - Impossible d'ajouter la commande - unable to add the keyword (commande) - - - - Impossible d ajouter la commande - unable to add the keyword (commande) - - - - Pas implemente - not implemented - - - - Nom de concept deja defini - already defined concept - - - - Nom de concept deja defini : - already defined concept : - - - - Impossible de trouver le fichier correspondant a l'unite - unable to find file corresponding to unit - - - - n'est pas un fichier existant - is not an existing file - - - - Fichier invalide %s - invalid file %s - - - - Impossible de construire le jeu de commandes correspondant au fichier - unable to create the jdc corresponding to the file - - - - Erreur lors de l'evaluation du fichier inclus - Error when reading the 'include' file - - - - Ce fichier ne sera pas pris en compte - %s - the file is ignored -%s - - - - Ce fichier ne sera pas pris en compte -Le fichier associe n'est pas defini - the file is ignored : associated file is not defined - - - - Le fichier n est pas defini - file is not defined - - - - le fichier doit contenir une unique variable de sortie - file must declare a single output variable - - - - Fichier invalide - invalid file - - - - Le contenu de ce fichier ne sera pas pris en compte - %s - the file will be ignored : -%s - - - - Le fichier INCLUDE n est pas defini - include file is not defined - - - - Le contenu de ce fichier ne sera pas pris en compte - - file will be ignored - - - - - Erreur lors de l'evaluation du fichier poursuite - Error when creating secondary (poursuite) file - - - - L'objet %(v_1)s ne peut etre un fils de %(v_2)s - v_1 - Object %(v_1)s can not be a child for %(v_2)s - - - - L'objet %s ne peut pas etre repete - Object %s can not be repeated - - - - Erreur - mclist inexistante : %s - Error - mclist does not exist : %s - - - - Erreur - mot cle facteur de nom : %s - Error - keyword "mot-clef facteur" nammed : %s - - - - traitement non-prevu - unexpected task - - - - L'objet %s ne peut pas etre ajoute - Object %s cannot be add - - - - None n'est pas une valeur autorisee - None is not a valid value - - - - un concept de meme nom existe deja - concept already exists - - - - Concept cree - concept created - - - - La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d - n_lign - matrix is not a %(n_lign)d x %(n_col)d matrix - - - - Decommenter - uncomment - - - - Decommente la commande - uncomment the command - - - - Impossible de supprimer un mot-cle obligatoire - mandatory keyword cannot be deleted - - - - Mot-cle %s supprime - Keyword %s deleted - - - - Pb interne : impossible de supprimer ce mot-cle - internal problem : unable to delete keyword - - - - Commentaire supprime - comment is deleted - - - - Commande %s supprimee - command %s is deleted - - - - Pb interne : impossible de supprimer cet objet - internal problem : unable to delete object - - - - Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas - - - unable to convert .comm file in order to open it with Eficas - - - - Include vide - include file is empty - - - - L'include doit etre correctement initialise pour etre visualise - include file must be correct - - - - Impossible de supprimer ce mot-clef - unable to delete this keyword - - - - View3D - View3D - - - - affiche dans Geom les elements de structure - diplay SE in Geom - - - - Graphique - graphic - - - - affiche la distribution - display distribution - - - - Impossible de supprimer un mot-clef obligatoire - unable to delete a mandatory keyword - - - - Mot-clef %s supprime - Keyword %s is deleted - - - - Definition d'un parametre - defines a parameter - - - - Import du fichier de Configuration - import configuration file - - - - Erreur a la lecture du fichier de configuration %s - Error when reading configuration file - - - - Erreur fatale au chargement de %s - fatal error when loading %s - - - - Erreur fatale au chargement d'un fichier - Fatal error when loading file - - - - fichier modifie - file updated - - - - Attention! fichier change hors EFICAS - Warning ! this file was modified outside Eficas - - - - Type de fichier non reconnu - unsupported file type - - - - EFICAS ne sait pas ouvrir le type de fichier %s - Eficas is not able to open this file's type : %s - - - - EFICAS ne sait pas ouvrir ce type de fichier - Eficas is not able to open this file's type - - - - Copie impossible - unable to copy - - - - Veuillez selectionner un objet a copier - you have to select an object to copy - - - - Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne - You have to select a single object : copy will be done after the selected node - - - - Aucun Objet n a ete copie ou coupe - No object was cut or copied - - - - Copie refusee - rejected copy - - - - Eficas n a pas reussi a copier l objet - Eficas cannot copy this object - - - - Copie refusee pour ce type d objet - Copy rejected : bad object type - - - - Deplacement refuse - move rejected - - - - Deplacement refuse entre 2 fichiers. Seule la copie est autorisee - move rejected. no move between two files : only copy is available - - - - Copie impossible a cet endroit - unable to copy here - - - - Veuillez selectionner une commande, un parametre, un commentaire ou une macro - select a command; a parameter, a comment or a macro - - - - Choix d'un fichier XML - Choice of XML file - - - - Ouvrir Fichier - Open file - - - - Erreur a la generation - Error when generating - - - - EFICAS ne sait pas convertir ce JDC - Eficas is unable to convert JDC - - - - Format %s non reconnu - not supported format %s - - - - Execution impossible - Unable to execute - - - - le JDC doit etre valide pour une execution MAP - JDC has to be valid before run - - - - le JDC doit contenir un et un seul composant - JDC must contains a single componant - - - - sauvegarde - save - - - - Sauvegarde du Fichier - save file - - - - Le fichier <b>%s</b> existe deja. - file <b>%s</b> already exists. - - - - &Ecraser - &Replace - - - - Donnez le nom du fichier correspondant a l unite logique - Choose file corresponding to unit - - - - Choix d'un fichier de poursuite - Choose poursuite file - - - - Le fichier %s contient une commande POURSUITE - - file %s contains a POURSUITE command - - - - Traduire Fichier - file translation - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - JDC files(*.comm);; All FIles(*) - - - - Fichier Traduit : %s - - - Translated file : %s - - - - Pas de difference entre le fichier origine et le fichier traduit - No difference between the primary file and the translated file - - - - %d versions du catalogue sont disponibles - %d catalogs versions are available - - - - &Ok - &Ok - - - - Entrez - enter - - - - valeurs - values - - - - Entrez entre - enter between - - - - et - and - - - - Selection - selection - - - - Type de base inconnu - unkown type - - - - Visualisation Fichier - view file - - - - Impossibilite d'afficher le Fichier - Unable to display file - - - - Sauvegarder Fichier - save File - - - - Fichier selectionne - file selected - - - - expression valide - valid expression - - - - expression invalide - unvalid expression - - - - expression n est pas de la forme a+bj - expression is not as a+bj - - - - entrer une seule valeur SVP - Please, enter a single value - - - - saisir le type de complexe - choose complex's type - - - - Sauvegarder le fichier - save file - - - - Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s - v_1 - file <b>%(v_1)s</b> was not saved. Raison : %(v_2)s - - - - &Recents - &Recently Opened - - - - Aide specifique - code's help - - - - Traduction - translation - - - - Options - Options - - - - TraduitV7V8 - - - - - TraduitV8V9 - - - - - TraduitV9V10 - - - - - Acquiert Groupe Maille - - - - - Specificites Maille - - - - - version - version - - - - pour - for - - - - Aide Indisponible - no help avalaible - - - - Parametrage - Options - - - - Veuillez d abord choisir un code - Choose a code - - - - Pas de possibilite de personnalisation de la configuration - no options avalaible for configuration - - - - &Effacer - &Delete - - - - Veuillez entrer le complexe sous forme aster ou sous forme python - enter a complex - - - - Import du catalogue - Loading catalog - - - - Pas de catalogue defini pour le code - No catalog for this code - - - - Aucun catalogue trouve - No catalog - - - - avec le catalogue - with catalog - - - - Impossible d'importer le catalogue - unable to load catalog - - - - Choix d une version du code - Choose a version for - - - - Choix d une version - choose a version - - - - Parametre - parameter - - - - Insere un parametre - insert a parameter - - - - item invalide - invalid item - - - - l item doit etre valide - item must be valid - - - - apres - after - - - - Insere un commentaire apres la commande - insert a comment after the command - - - - avant - before - - - - Insere un commentaire avant la commande - insert a comment before the command - - - - Insere un parametre apres la commande - insert a parameter after the command - - - - Insere un parametre avant la commande - insert a parameter before the commande - - - - Supprimer - delete - - - - supprime le mot clef - delete keyword - - - - Documentation - documentation - - - - documentation sur la commande - command's documentation - - - - Documentation Vide - empty documentation - - - - Aucune documentation n'est associee a ce noeud - no documentation is available for this node - - - - impossible de trouver la commande - unable to find command - - - - Lecteur PDF - PDF reader - - - - impossible d'ouvrir - unable to open - - - - Commentaire - Comment - - - - ce noeud - this node - - - - commente le noeud - comment this node - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - JDC Files (*.comm);;All Files(*) - - - - &Quitter - &Exit - - - - Quitter - Exit - - - - Fichier Duplique - file is duplicated - - - - Le fichier ne sera pas sauvegarde. - File will not be saved. - - - - &Annuler - &Cancel - - - - Fichier - File - - - - Le fichier <b>%s</b> est deja ouvert. - File <b>%s</b> is already open. - - - - &Duplication - &Duplication - - - - &Abort - &Abort - - - - Fichier Modifie - File is modified - - - - Le fichier %s n a pas ete sauvegarde. - file %s was not saved. - - - - &Sauvegarder - &Save - - - - Erreur a l'evaluation : - %s - Error when loadind : -%s - - - - Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom - File %s already exists : unable to create a directory with the same name - - - - Creation du repertoire %s impossible - Verifiez vos droits d'acces - Unable to create directory : check your access rights - - - - localisation de l'application, pour la traduction - use for application translation - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable - - - - - ERREUR! ce type de bloc (%s) n'est pas valable - - - - - n'est pas un index valide pour append_brother - is not correct - no possible "append_brother" - - - - Erreur interne - Internal error - - - - La PDF de la loi ne peut pas etre affichee. - unable to display law's PDF. - - - - Le fichier contient une commande MODEL - - file contains MODEL command - - - - Donnez le nom du fichier XML qui contient la description des variables - - - - - Choix unite %d - Choice for unit %d - - - - Fichier pour unite - File for unit - - - - La formule passee a l'interpreteur doit etre sous forme de tuple - formula must be written as tuple - - - - Debut - Beginning - - - - Le parametre EVAL ne peut valoir None - None is not a valid value for EVAL - - - - Pas de nom donne au parametre - No name given - - - - Le parametre %s ne peut valoir None - None is an incorrect value for parameter %s - - - - Format non implemente : %s - Not implemented format - - - - Type de valeur non supporte par le format pyth : n %(exception)s - nom - unsupported type of value - - - - Impossible de realiser la verification de la formule - unable to verify formula - - - - Pb interne : impossible de supprimer ce mot-clef - internal problem : unable to delete keyword - - - - Eficas ne peut pas traiter plusieurs instructions - sur la meme ligne : %s - Eficas is not able to manage many instructions on a same line - - - - le texte a analyser n'est pas celui d'une commande ou - d'un operateur : %s - text is not valid for a command or a operaor - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - text is not valid for command %(v_1)s %(v_2)s - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - text is not valid for command %(v_1)s %(v_2)s - - - - jdc %(v_1)s manque - fichier comm dans section %(v_2)s - v_1 - file %(v_1)s need a .comm file in section %(v_2)s - - - - jdc %(v_1)s - fichier include %(v_2)s, %(v_3)s - n'existe pas - v_1 - file %(v_1)s need an include file %(v_2)s,%(v_3)s does not exist - - - - jdc %(v_1)s manque fichier comm - dans section %(v_2)s - v_1 - file %(v_1)s need a .comm file in section %(v_2)s - - - - jdc %(v_1)s, le fichier de commandes - %(v_2)s n'existe pas - v_1 - jdc%(v_1)s, .comm %(v_2)s does not exist - - - - ATTENTION! Une source constante - n'est possible qu'a frequence nulle - en regime frequentiel - - - - - ERREUR! Une forme de la source du - type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ATTENTION! Une source constante n'est - possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! Une forme de la source du type - WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe - indiquant le type de materiau ou de source associee - - - - - ERREUR! ce groupe de maille (%(nom)s) n'a pas - le prefixe correct pour etre associe a un type %(type_bloc)s - nom - - - - - - Include Invalide. - ne sera pas pris en compte - Invalid include file. text will not be included - - - - Impossible de relire le fichier %s - - unable to read file - - - - Le fichier include contient des erreurs - include file contains errors - - - - PARAMETRE - PARAMETER - - - - EFICAS ne sait pas convertir le JDC selon le format - Eficas does not know how to convert data according to the defined format - - - - le JDC doit etre valide pour une execution - Before a run action, JDC must be valid - - - - Sauvegarder SVP avant l'execution - Save before run action - - - - Sauvegarde de l'input impossible - unable to save input file - - - - Un JdC valide est necessaire pour creer un .input - file must be valid to create a .input file - - - - Choix du composant obligatoire - You have to choose a component - - - - Le fichier %s contient une commande INCLUDE - - file %s contains an "INCLUDE" command - - - - Donnez le nom du fichier dont vous - voulez faire une poursuite - Name the principal file - - - - Fichiers Med (*.med);;Tous les Fichiers (*) - Med Files (*.med);;All Files(*) - - - - Fichier Med - Med File - - - - Veuillez selectionner un fichier Med - Choose a Med file - - - - reel - float - - - - entier - integer - - - - complexe - complex - - - - l'aide n est pas installee - Help is not available - - - - Export Med vers Fichier - export Med Mesh in a file - - - - Impossibilite d exporter le Fichier - Unable to export file - - - - objet valide - valid object - - - - Valeur non modifiable - value can not be changed - - - - Options pour - - Settings - - - - Nombre minimal de valeurs : - minimal number of values : - - - - Nombre maximal de valeurs : - Maximal number of values : - - - - l expression n est pas de la forme a+bj - expression must be as a+bj - - - - Valeur du mot-cle enregistree - Value is recorded - - - - Valeur du mot-cle non autorisee - Value is not authorized - - - - Fichier non encore nomme - unnamed file - - - - SOURCE - SOURCE - - - - EnveloppeConnexeInducteur - Bounding_Box - - - - EnveloppeConnexe2 - - - - - VecteurDirecteur - Direction_Vector - - - - Centre - Center - - - - SectionBobine - Section - - - - Amplitude - Amplitude - - - - NbdeTours - NbTurns - - - - CONDUCTEUR - CONDUCTOR - - - - Conductivite - Conductivity - - - - PermeabiliteRelative - Relative_Permeability - - - - NOCOND - DIELECTRIC - - - - VCUT - CUT - - - - Orientation - Orientation - - - - ZS - ZS - - - - PARAMETRES - SETTINGS - - - - RepCarmel - Carmel_Directory - - - - TypedeFormule - Formula - - - - Frequence - Frequency - - - - Nb_Max_Iterations - Max_Nb_Iterations - - - - Erreur_Max - Max_Error - - - - Format non implemente - non implemented format - - - - Type d'objet non prevu - - - - - Fichier de donnees - data file - - - - Tous les Fichiers (*) - all files (*) - - - - Select - select - - - - nb min de valeurs : - minimal number of values : - - - - nb max de valeurs atteint - maximum number of values - - - - TraduitV10V11 - - - - - TraduitV11V12 - - - - - Sauve Format Ligne - save file in line format - - - - Valeur du mot-clef enregistree - value recorded - - - - Valeur du mot-clef non autorisee : - unvalid value - - - - %s n'est pas un fichier valide - %s is not a valid file - - - - : verifie les types dans un tuple - valids type in a tuple - - - - Les types entres ne sont pas permis - unvalid type for values - - - - La cardinalite n'est pas correcte, la derniere valeur est ignoree - unvalid multiplicity. last value will be ignored - - - - n est pas un tuple de - is not a tuple - - - - valeurs - values - - - - Valeur incorrecte - incorrect value - - - - n est pas un identifiant correct - - is not a valid name - - - - Entrer un float SVP - Float expected - - - - Entrer un float inferieur a - float lower than - - - - Entrer un float superieur a - float superior than - - - - Mauvaise execution - bad run - - - - impossible d executer la methode - unable to run method - - - - Mauvaise Commande - bad command - - - - Aucune variable connue - no possible variable - - - - Mauvaise dimension de matrice - bad matrix dimension - - - - le nombre de ligne n est pas egal a - number of lines is not - - - - le nombre de colonne n est pas egal a - number of columns is not - - - - Mauvaise Valeur - bad value - - - - l element - element - - - - n est pas correct - is not correct - - - - Modification Impossible - unable to modify - - - - le parametre n'est pas valide - parameter is not valid - - - - n est pas un identifiant correct - is not a correct name - - - - Valeur incorrecte: - incorrect value : - - - - Valeur incorrecte - incorrect value - - - - Valeur correcte - valid value - - - - impossible d'evaluer : - unable to evaluate : - - - - Un concept de nom %s existe déjà ! - already existing concept with name : %s ! - - - - existe deja - - already exists - - - - La matrice n'a pas le bon entete - header does not match with matrix - - - - le mot clef - keyword - - - - doit etre insere avant - has to be inserted before - - - - insertion impossible - unable to insert keyword - - - - doit etre insere apres - has to be inserted after - - - - Nb maximum de valeurs atteint - Maximal number of values - - - - pas de regle de construction pour ce jeu de commandes - No specific rules for building this dataset - - - - Gestion Maillage - Mesh Menu - - - - Acquiert groupe mailles - Read elements mesh - - - - Acquisition Groupe Maille - Read elements mesh - - - - VERSION - VERSION_EN - - - - NUM - NUMBER - - - - FILETYPE - FILETYPE - - - - PARAMETERS - Parametres - - - - Fichier_maillage - FichierMaillage - - - - Echelle_du_maillage - MeshScale - - - - Formulation - Fomulation - - - - Timeproblem - TimeProblem - - - - spectral - EssaiSpectral - - - - Basis - Basis - - - - Fourier - Fourier - - - - Ordre - Ordre - - - - FREQUENCY - Frequency - - - - minimisation - Minimisation - - - - no - no - - - - yes - yes - - - - nb_procs_para - NbProcs - - - - POLYMER - Polymer_en_Anglais - - - - MODEL_DATABASE - MoDEL_DATa_Anglais - - - - Stabilise - Srabilise_Anglais - - - - Non Stabilise - Non Stabilise anglais - - - - Local - local_anglais - - - - ESSAI_OPTION - essai_option_anglais - - - - MATERIEL - mater_anglais - - - - Cable - cable_anglais - - - - Peinture - peinture_anglais - - - - Tuyauterie - tuyau_anglais - - - - Materiau_De_Cable - mat_cable_anglais - - - - PE - pe_anglais - - - - EPDM - epdm_anglais - - - - Modele - modele_anglais - - - - Objet commande commentarisé invalide - - - - - ChoixCode - - - Choix du code - Choose code - - - - Veuillez choisir un code : - Choose code : - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - ChoixCommandes - - - DMacro - DMacro - - - - Alphabetique - alphabetic sort - - - - Par Groupe - Sort by group - - - - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Order</span></p></body></html> - - - - affiche les commandes par ordre alphabetique - display commands in alphabetic order - - - - affiche les commandes selon les thèmes - display commands by thema - - - - Ordre de la modélisation - ordered by modelisation - - - - <html><head/><body><p align="center">Filtre Commande</p></body></html> - <html><head/><body><p align="center">Filters Commands</p></body></html> - - - - filter commands - filters commands - - - - affiche les régles de validité - display validity rules - - - - ... - - - - - Règles de construction - Building Rules - - - - Sensible à la casse - case-sensitive - - - - Effacer - Clear - - - - selectionne les mots qui CONTIENNENT l expression - select words that CONTAINS the filter - - - - ré-affiche toutes les commandes - re-display the list of commands - - - - DChoixCata - - - Choix d'une version du code Aster - Choose a version for code Aster - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 catalogs are available </span></p></body></html> - - - - &OK - &Ok - - - - &Cancel - &Cancel - - - - Validate choice - validate choice - - - - DSelVal - - - Sélection de valeurs - Values Selections - - - - Separateur - marker - - - - espace - space - - - - virgule - comma - - - - point-virgule - semi-colon - - - - Ajouter Selection - add selected value - - - - Importer Tout - imports all values - - - - DVisu - - - Visualisation Include Materiau - View Include - - - - Eficas - - - MainWindow - Main Window - - - - &Fichier - &File - - - - &Aide - &Help - - - - toolBar - toolBar - - - - &Nouveau - &New - - - - Ctrl+N - Ctrl+N - - - - Nouvel Include - New Include - - - - &Ouvrir - &Open - - - - Ctrl+O - Ctrl+O - - - - Enregistrer - Save - - - - Enregistrer sous - Save as - - - - Fermer - Close - - - - Ctrl+W - - - - - Fermer tout - Close all - - - - Couper - Cut - - - - Ctrl+X - Ctrl+X - - - - Copier - Copy - - - - Ctrl+C - Ctrl+C - - - - Coller - Paste - - - - Ctrl+V - Ctrl+V - - - - Quitter - Exit - - - - Ctrl+Q - Ctrl+Q - - - - Rapport de Validation - Validation Report - - - - Fichier Source - Source File - - - - Fichier Résultat - Result File - - - - Parametres Eficas - Eficas Parameters - - - - Lecteur documentation - documentation reader - - - - Eficas - Eficas - - - - Version - Version - - - - Supprimer - Delete - - - - Rechercher - Find - - - - Rechercher dans l'arbre d'etude - Find in Data Tree - - - - Ctrl+F - Ctrl+F - - - - Replier/Deplier - Expand/Collapse - - - - Execution - Run - - - - Execution - Run - - - - Patrons - Patterns - - - - Tab 1 - - - - - &Edition - &Edit - - - - &JeuDeDonnées - &Data - - - - Shift+I - - - - - Ctrl+S - - - - - Ctrl+Shift+S - - - - - Shift+V - - - - - Chercher Mot-Clef - Find Keyword - - - - Rechercher dans le catalogue - Find Keyword in Catalog - - - - Shift+F - - - - - Shift+D - - - - - Commentaire - Comment - - - - Shift+C - - - - - Paramètres - Parameters - - - - Gestion des paramètres - Managing parameters - - - - Shift+P - - - - - Parametre Eficas - Eficas Settings - - - - Save Run - Save run - - - - Run - run - - - - &bad - - - - - Régles du JdC - Rules for dataset - - - - JDCEditor - - - Save File - - - - - The file <b>%1</b> could not be saved.<br>Reason: %2 - - - - - JDC (*.comm);;All Files (*) - - - - - &Abandonner - &Cancel - - - - Tuple2 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Tuple3 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Widget4a6RadioButton - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - WidgetBloc - - - Form - - - - - WidgetCB - - - Affiche le rapport de validation du mot-clef - display validation report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetCommande - - - Affiche le rapport de validité de la commande - Display validity report for the keyword - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - Object Name. Only valid objects can be named - - - - Lance un script associé à la commande - Run associated script - - - - ouvre un navigateur sur l'aide contextuelle - open a browser to navigate to contextual help - - - - affiche les régles de validité - display validity rules - - - - Détruit la commande - Delete the command - - - - Affiche les commandes possibles - display allowed commands - - - - &Commandes - &Commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Affiche le formulaire de la commande précédente - display previous command - - - - Affiche le formulaire de la commande suivante - display next command - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - TextLabel - - - - - WidgetCommentaire - - - <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">Comment</span></p></body></html> - - - - Affiche les commandes possibles - display allowed commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Détruit le commentaire - Delete the comment - - - - &Commandes - &Commands - - - - Affiche le formulaire de la commande précédente - display previous command - - - - Affiche le formulaire de la commande suivante - display next command - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - WidgetDate - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetFact - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - WidgetFactPlie - - - TextLabel - TextLabel - - - - Form - - - - - ... - - - - - WidgetHeure - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetInformative - - - Form - - - - - WidgetOptionnel - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - <html><head/><body><p><span style=" color:#0000ff;">command </span></p></body></html - - - - WidgetOptionnel - - - - - WidgetParam - - - <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> - <html><head/><body><p><span style=" color:#000000;">Parameter</span></p></body></html> - - - - Détruit le commentaire - Delete the comment - - - - Affiche les commandes possibles - Display allowed commands - - - - &Commandes - &Commands - - - - Shift+A, Alt+A, Alt+A, Alt+A - Shift+A, Alt+A, Alt+A, Alt+A - - - - Affiche le formulaire de la commande précédente - Display previous command - - - - Affiche le formulaire de la commande suivante - Display next command - - - - <html><head/><body><p>Valeur: </p></body></html> - <html><head/><body><p>Value: </p></body></html< - - - - <html><head/><body><p>Nom: </p></body></html> - <html><head/><body><p>Name: </p></body></html> - - - - Verifie la valeur - Valid the value - - - - DCommandeUnique - - - - - ... - - - - - << - - - - - >> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetPlusieursBase - - - Affiche le rapport de validation du mot-clef - Display validity report for keyword - - - - Remonte la ligne - up - - - - Descend la ligne - down - - - - supprime une ligne - deletes a line - - - - Ajoute une ligne - add a line - - - - Montre l'ensemble des valeurs - display all the value - - - - Sélectionne depuis Salome - from salome - - - - Visualise dans Salome - Show in salome - - - - Ouvre un fichier de sélection des valeurs - Open a file for selection - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - TextLabel - TextLabel - - - - WidgetPlusieursInto - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - WidgetPlusieursIntoOrdonne - - - Affiche le rapport de validation du mot-clef - display validity report for the keyword - - - - TextLabel - TextLabel - - - - Remonte d'une ligne - Up - - - - Descend d'une ligne - Down - - - - Détruit une ligne - Delete a line - - - - ajoute une ligne - add a line - - - - visualise l'ensemble des valeurs - show all values - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - WidgetPlusieursPlie - - - Form - - - - - Affiche le rapport de validité du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - manage list - - - - Détruit le mot-clef - Delete the keyword - - - - WidgetPlusieursTuple - - - Form - - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - Up - - - - Descend la ligne - Down - - - - supprime une ligne - delete a line - - - - Ajoute une ligne - add a line - - - - Montre l'ensemble des valeurs - show all values - - - - Ouvre un fichier de sélection des valeurs - import data from a file - - - - Détruit le mot-clef - Delete the keyword - - - - TextLabel - TextLabel - - - - WidgetRadioButton - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - WidgetSDCOInto - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> - <html><head/><body><p>Objects with the recquired type</p><p><br/></p></body></html> - - - - <html><head/><body><p>ou Nom du concept</p></body></html> - or name the object - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpBase - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpBool - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - True - - - - - False - - - - - WidgetSimpComplexe - - - Complexe : a+bj - Complex : a+bj - - - - Réel/Imaginaire - Real/Imaginary - - - - Module/Phase - Module/Phase - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p align="center">OU </p></body></html> - - - - - WidgetSimpFichier - - - Affiche le rapport de validité du mot-clef - Display validity report for the keyword - - - - affiche l'explorateur de fichier - open file explorer - - - - ouvre le fichier choisi - Open the file - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetSimpTxt - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetTuple2 - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - WidgetTuple3 - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - WidgetUniqueSDCO - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - Attend un objet de type CO - expect a CO Object - - - - Détruit le mot-clef - Delete the keyword - - - - Form - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - WidgetVide - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> - - - - - Attend un objet de type XXXX. Il faut le créer - object must be created - - - - baseWidget - - - DMacro - DMacro - - - - dView - - - Dialog - Dialog - - - - Fermer - Close - - - - Sauver - Save - - - - desRecherche - - - Rechercher dans le JDC - Find in JDC - - - - Suivant - Next - - - - Next - - - - - desWidgetCreeParam - - - Gestion des Paramètres - Parameters - - - - <html><head/><body><p>Nom: </p></body></html> - Name - - - - <html><head/><body><p>Valeur: </p></body></html> - Value - - - - <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> - <html><head/><body><p><span style=" text-decoration: underline;">New Parameter</span></p></body></html> - - - - desWidgetMatrice - - - Dialog - Dialog - - - - Affiche le rapport de validation du mot-clef - Display validity report for the keyword - - - - ... - - - - - <html><head/><body><p>Met à jour l'en-tête</p></body></html> - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - self.appliEficas - - - Wrapper Files (*.xml);;All Files (*) - - - - - Noname - - - - - viewRegles - - - Dialog - Dialog - - - diff --git a/UiQT4/eficas_fr.0106.ts b/UiQT4/eficas_fr.0106.ts deleted file mode 100644 index 22d9c577..00000000 --- a/UiQT4/eficas_fr.0106.ts +++ /dev/null @@ -1,4745 +0,0 @@ - - - - @default - - Values_Of_Tracers_In_The_Rain - Valeurs_Des_Traceurs_Dans_La_Pluie - - - Threshold_Depth_For_Receding_Procedure - Profondeur_Limite_Pour_Procedure_De_Ressuyage - - - Title - Titre - - - Spatial_Projection_Type - Type_De_Projection_Spatiale - - - Stochastic_Diffusion_Model - Modele_De_Diffusion_Stochastique - - - Drogues_File - Fichier_Des_Flotteurs - - - Origin_Coordinates - Coordonnees_De_L'origine - - - Thickness_Of_Algae - Epaisseur_Des_Algues - - - Velocities_Of_The_Sources_Along_X - Vitesses_Des_Sources_Selon_X - - - Velocities_Of_The_Sources_Along_Y - Vitesses_Des_Sources_Selon_Y - - - Finite_Volume_Scheme - Schema_En_Volumes_Finis - - - Density_Of_Algae - Masse_Volumique_Des_Algues - - - Geometry_File - Fichier_De_Geometrie - - - Turbulence_Model - Modele_De_Turbulence - - - Oil_Spill_Model - Modele_De_Nappes_D'hydrocarbures - - - Definition_Of_Zones - Definition_De_Zones - - - Rain_Or_Evaporation - Pluie_Ou_Evaporation - - - Sources_File - Fichier_Des_Sources - - - Friction_Coefficient - Coefficient_De_Frottement - - - Wind - Vent - - - Option_For_Tidal_Boundary_Conditions - Option_Pour_Les_Conditions_Aux_Limites_De_Maree - - - Coefficient_To_Calibrate_Tidal_Velocities - Coefficient_De_Calage_Des_Vitesses_De_Courant - - - Initial_Time_Set_To_Zero - Remise_A_Zero_Du_Temps - - - Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers - Maximum_D'iterations_Pour_La_Diffusion_Des_Traceurs - - - Binary_Results_File - Fichier_De_Resultats_Binaire - - - Number_Of_Drogues - Nombre_De_Flotteurs - - - Air_Pressure - Pression_Atmospherique - - - Mean_Depth_For_Linearization - Profondeur_Moyenne_Pour_La_Linearisation - - - Control_Of_Limits - Controle_Des_Limites - - - Free_Surface_Gradient_Compatibility - Compatibilite_Du_Gradient_De_Surface_Libre - - - Prescribed_Tracers_Values - Valeurs_Imposees_Des_Traceurs - - - defaut - Saint-venant_Ef - - - Velocity_Diffusivity - Coefficient_De_Diffusion_Des_Vitesses - - - Time_Step - Pas_De_Temps - - - Validation - Validation - - - Roughness_Coefficient_Of_Boundaries - Coefficient_De_Rugosite_Des_Bords - - - Density_Effects - Effets_De_Densite - - - Implicitation_Coefficient_Of_Tracers - Coefficient_D'implicitation_Des_Traceurs - - - Formatted_Results_File - Fichier_De_Resultats_Formate - - - Debugger - Debugger - - - Liquid_Boundaries_File - Fichier_Des_Frontieres_Liquides - - - Sections_Output_File - Fichier_De_Sortie_Des_Sections_De_Controle - - - Number_Of_Private_Arrays - Nombre_De_Tableaux_Prives - - - Coefficient_Of_Wind_Influence - Coefficient_D'influence_Du_Vent - - - Depth_In_Friction_Terms - Hauteur_Dans_Les_Termes_De_Frottement - - - Coefficient_To_Calibrate_Sea_Level - Coefficient_De_Calage_Du_Niveau_De_Mer - - - Variables_To_Be_Printed - Variables_A_Imprimer - - - Preconditioning - Preconditionnement - - - Cost_Function - Fonction_Cout - - - Type_Of_Sources - Type_Des_Sources - - - Tidal_Flats - Bancs_Decouvrants - - - Ascii_Database_For_Tide - Base_Ascii_De_Donnees_De_Maree - - - Original_Date_Of_Time - Date_De_L'origine_Des_Temps - - - Mean_Temperature - Temperature_Moyenne - - - Initial_Elevation - Cote_Initiale - - - Tubes_Data_File - Fichier_De_Donnees_Des_Buses - - - Boundary_Conditions_File - Fichier_Des_Conditions_Aux_Limites - - - Breach - Breche - - - Treatment_Of_The_Linear_System - Traitement_Du_Systeme_Lineaire - - - Prescribed_Elevations - Cotes_Imposees - - - List_Of_Points - Liste_De_Points - - - Listing_Printout_Period - Periode_Pour_Les_Sorties_Listing - - - Initial_Guess_For_H - Ordre_Du_Tir_Initial_Pour_H - - - Geometry_File_Format - Format_Du_Fichier_De_Geometrie - - - Coefficient_1_For_Law_Of_Tracers_Degradation - Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs - - - Number_Of_Lagrangian_Drifts - Nombre_De_Derives_Lagrangiennes - - - Weirs_Data_File - Fichier_De_Donnees_Des_Seuils - - - Rain_Or_Evaporation_In_Mm_Per_Day - Pluie_Ou_Evaporation_En_Mm_Par_Jour - - - Minor_Constituents_Inference - Interpolation_De_Composantes_Mineures - - - Maximum_Number_Of_Friction_Domains - Nombre_Maximum_De_Domaines_De_Frottement - - - Elements_Masked_By_User - Elements_Masques_Par_L'utilisateur - - - Control_Sections - Sections_De_Controle - - - Number_Of_Time_Steps - Nombre_De_Pas_De_Temps - - - Solver_Accuracy - Precision_Du_Solveur - - - Wave_Driven_Currents - Courants_De_Houle - - - Number_Of_Culverts - Nombre_De_Siphons - - - Equations - Equations - - - Maximum_Number_Of_Iterations_For_Identification - Maximum_D'iterations_Pour_L'identification - - - Coefficient_For_Diffusion_Of_Tracers - Coefficient_De_Diffusion_Des_Traceurs - - - Option_For_The_Diffusion_Of_Velocities - Option_Pour_La_Diffusion_Des_Vitesses - - - Coefficient_To_Calibrate_Tidal_Range - Coefficient_De_Calage_Du_Marnage - - - Binary_Data_File_1 - Fichier_De_Donnees_Binaire_1 - - - Binary_Data_File_2 - Fichier_De_Donnees_Binaire_2 - - - Solver - Solveur - - - Implicitation_For_Velocity - Implicitation_Pour_La_Vitesse - - - Longitude_Of_Origin_Point - Longitude_Du_Point_Origine - - - Original_Hour_Of_Time - Heure_De_L'origine_Des_Temps - - - Law_Of_Friction_On_Lateral_Boundaries - Loi_De_Frottement_Sur_Les_Parois_Laterales - - - Propagation - Propagation - - - Solver_For_Diffusion_Of_Tracers - Solveur_Pour_La_Diffusion_Des_Traceurs - - - Discretizations_In_Space - Discretisations_En_Espace - - - Solver_Option - Option_Du_Solveur - - - Advection_Of_H - Convection_De_H - - - Output_Of_Initial_Conditions - Sortie_Des_Conditions_Initiales - - - Record_Number_For_Restart - Enregistrement_Pour_Suite_De_Calcul - - - Accuracy_For_Diffusion_Of_Tracers - Precision_Pour_La_Diffusion_Des_Traceurs - - - Initial_Guess_For_U - Ordre_Du_Tir_Initial_Pour_U - - - Advection_Of_K_And_Epsilon - Convection_De_K_Et_Epsilon - - - Identification_Method - Methode_D'identification - - - Names_Of_Points - Noms_Des_Points - - - Zone_Number_In_Geographic_System - Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique - - - Matrix_Storage - Stockage_Des_Matrices - - - Algae_Type - Type_Des_Algues - - - Water_Density - Masse_Volumique_De_L'eau - - - Newmark_Time_Integration_Coefficient - Coefficient_D'integration_En_Temps_De_Newmark - - - Friction_Data_File - Fichier_De_Donnees_Pour_Le_Frottement - - - Implicitation_For_Diffusion_Of_Velocity - Implicitation_Pour_La_Diffusion_Des_Vitesses - - - Limit_Values - Valeurs_Limites - - - Advection - Convection - - - Geographic_System - Systeme_Geographique - - - Results_File - Fichier_Des_Resultats - - - Algae_Transport_Model - Modele_De_Transport_Des_Algues - - - Treatment_Of_Negative_Depths - Traitement_Des_Hauteurs_Negatives - - - Ordinates_Of_Sources - Ordonnees_Des_Sources - - - Coriolis_Coefficient - Coefficient_De_Coriolis - - - Water_Discharge_Of_Sources - Debits_Des_Sources - - - Advection_Of_U_And_V - Convection_De_U_Et_V - - - Latitude_Of_Origin_Point - Latitude_Du_Point_Origine - - - Binary_Database_1_For_Tide - Base_Binaire_1_De_Donnees_De_Maree - - - Coriolis - Coriolis - - - Desired_Courant_Number - Nombre_De_Courant_Souhaite - - - Variables_For_Graphic_Printouts - Variables_Pour_Les_Sorties_Graphiques - - - Time_Range_For_Fourier_Analysis - Bornes_En_Temps_Pour_L'analyse_De_Fourier - - - Graphic_Printout_Period - Periode_Pour_Les_Sorties_Graphiques - - - Tide_Generating_Force - Force_Generatrice_De_La_Maree - - - Preconditioning_For_Diffusion_Of_Tracers - Preconditionnement_Pour_La_Diffusion_Des_Traceurs - - - Number_Of_Tubes - Nombre_De_Buses - - - Vertical_Structures - Structures_Verticales - - - Stop_If_A_Steady_State_Is_Reached - Arret_Si_Un_Etat_Permanent_Est_Atteint - - - Number_Of_Weirs - Nombre_De_Seuils - - - Listing_Printout - Sortie_Listing - - - Previous_Computation_File - Fichier_Du_Calcul_Precedent - - - Fortran_File - Fichier_Fortran - - - Sections_Input_File - Fichier_Des_Sections_De_Controle - - - Binary_Database_2_For_Tide - Base_Binaire_2_De_Donnees_De_Maree - - - Results_File_Format - Format_Du_Fichier_Des_Resultats - - - Accuracy_Of_K - Precision_Sur_K - - - Tidal_Model_File - Fichier_Du_Modele_De_Maree - - - Fourier_Analysis_Periods - Periodes_D'analyse_De_Fourier - - - H_Clipping - Clipping_De_H - - - Tolerances_For_Identification - Precisions_Pour_L'identification - - - Previous_Computation_File_Format - Format_Du_Fichier_Du_Calcul_Precedent - - - Prescribed_Flowrates - Debits_Imposes - - - Bottom_Topography_File - Fichier_Des_Fonds - - - Implicitation_For_Depth - Implicitation_Pour_La_Hauteur - - - Reference_File_Format - Format_Du_Fichier_De_Reference - - - Diffusion_Of_Tracers - Diffusion_Des_Traceurs - - - Formatted_Data_File_1 - Fichier_De_Donnees_Formate_1 - - - Formatted_Data_File_2 - Fichier_De_Donnees_Formate_2 - - - Computation_Continued - Suite_De_Calcul - - - Breaches_Data_File - Fichier_De_Donnees_Des_Breches - - - Diffusion_Of_Velocity - Diffusion_Des_Vitesses - - - Type_Of_Advection - Forme_De_La_Convection - - - Solver_Option_For_Tracers_Diffusion - Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs - - - Advection_Of_Tracers - Convection_Des_Traceurs - - - Printout_Period_For_Drogues - Periode_Pour_Les_Sorties_De_Flotteurs - - - Option_For_The_Treatment_Of_Tidal_Flats - Option_De_Traitement_Des_Bancs_Decouvrants - - - Physical_Characteristics_Of_The_Tsunami - Parametres_Physiques_Du_Tsunami - - - Maximum_Number_Of_Iterations_For_K_And_Epsilon - Maximum_D'iterations_Pour_K_Et_Epsilon - - - Tidal_Data_Base - Base_De_Donnees_De_Maree - - - Maximum_Number_Of_Iterations_For_Solver - Maximum_D'iterations_Pour_Le_Solveur - - - Number_Of_Tracers - Nombre_De_Traceurs - - - Threshold_Depth_For_Wind - Profondeur_Limite_Pour_Le_Vent - - - Gravity_Acceleration - Acceleration_De_La_Pesanteur - - - Option_For_Characteristics - Option_Pour_Les_Caracteristiques - - - Spacing_Of_Roughness_Elements - Espacement_Des_Elements_De_Frottement - - - Parallel_Processors - Processeurs_Paralleles - - - Harmonic_Constants_File - Fichier_Des_Constantes_Harmoniques - - - Spherical_Coordinates - Coordonnees_Spheriques - - - Parameter_Estimation - Estimation_De_Parametre - - - Linearized_Propagation - Propagation_Linearisee - - - Accuracy_Of_Epsilon - Precision_Sur_Epsilon - - - Diameter_Of_Roughness_Elements - Diametre_Des_Elements_De_Frottement - - - Number_Of_First_Time_Step_For_Graphic_Printouts - Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques - - - Threshold_For_Negative_Depths - Seuil_Pour_Les_Profondeurs_Negatives - - - Wind_Velocity_Along_X - Vitesse_Du_Vent_Suivant_X - - - Wind_Velocity_Along_Y - Vitesse_Du_Vent_Suivant_Y - - - Information_About_Solver - Informations_Sur_Le_Solveur - - - Initial_Conditions - Conditions_Initiales - - - Culvert_Data_File - Fichier_De_Donnees_Des_Siphons - - - Maximum_Number_Of_Iterations_For_Advection_Schemes - Maximum_D'iterations_Pour_Les_Schemas_De_Convection - - - Turbulence_Model_For_Solid_Boundaries - Regime_De_Turbulence_Pour_Les_Parois - - - Continuity_Correction - Correction_De_Continuite - - - Law_Of_Bottom_Friction - Loi_De_Frottement_Sur_Le_Fond - - - Option_For_Tsunami_Generation - Option_Pour_La_Generation_De_Tsunami - - - Type_Of_Weirs - Type_Des_Seuils - - - Record_Number_In_Wave_File - Numero_De_L'enregistrement_Dans_Le_Fichier_De_Houle - - - Abscissae_Of_Sources - Abscisses_Des_Sources - - - Values_Of_The_Tracers_At_The_Sources - Valeurs_Des_Traceurs_Des_Sources - - - Treatment_Of_Fluxes_At_The_Boundaries - Traitement_Des_Flux_Aux_Frontieres - - - Printing_Cumulated_Flowrates - Impression_Du_Cumul_Des_Flux - - - Compatible_Computation_Of_Fluxes - Calcul_Compatible_Des_Flux - - - Bottom_Smoothings - Lissages_Du_Fond - - - Initial_Depth - Hauteur_Initiale - - - Minimum_Value_Of_Depth - Valeur_Minimum_De_H - - - Option_For_The_Diffusion_Of_Tracers - Option_Pour_La_Diffusion_Des_Traceurs - - - Duration - Duree_Du_Calcul - - - Stop_Criteria - Criteres_D'arret - - - Prescribed_Velocities - Vitesses_Imposees - - - Initial_Values_Of_Tracers - Valeurs_Initiales_Des_Traceurs - - - Reference_File - Fichier_De_Reference - - - - lecture du fichier impossible : - unable to read file - - - - Impossible d'ouvrir le fichier %s - unable to read file - - - - Format de sortie : %s, non supporte - - - - - Impossible d'ouvrir le fichier : %s - - - - - Erreur a l'evaluation : - %s - - - - - Erreur ! Erreur ! - - - - - Erreur rencontree dans recherche_enfants : %s - - - - - Erreur dans la creation du mot-cle : %s - - - - - Impossible d'ouvrir le fichier : %s - - - - - le texte a analyser n'est pas celui d'une commande ou d'un operateur : - - - - - Erreur dans la recherche du nom de la commande : - - - - - Erreur dans la recherche des args de la commande : - - - - - Erreur dans la recherche du nom de la commande : - - - - - Erreur dans la recherche des args de la commande : - - - - - %d n'est pas un index valide pour append_brother - - - - - le fichier de commandes %s n'existe pas - - - - - un fichier de commandes doit etre defini avant une poursuite %s - - - - - le fichier poursuite %s n'existe pas - - - - - include mal defini %s - - - - - un fichier de commandes doit etre defini avant un include %s - - - - - le fichier include %s n'existe pas - - - - - le fichier jdc %s n'existe pas - - - - - jdc %s manque option jdc dans section jdc - - - - - %(v_1)s include %(v_2)s : %(v_3)s - v_1 - - - - - %(v_1)s fichier poursuite: %(v_2)s - v_1 - - - - - nom etude : %s - - - - - utilisation : %prog [options] - - - - - nom du fichier de commandes - - - - - nom du fichier poursuite - - - - - numero d'unite suivi du nom du fichier include - - - - - fichier decrivant une etude - - - - - version de catalogue a utiliser - - - - - nom du code a utiliser - - - - - niveau de debug - - - - - schema - - - - - localisation de l'application, pour la traduction - - - - - Nombre incorrect d'arguments - - - - - Localisation specifiee pour l'application. - - - - - Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom - - - - - Creation du repertoire %s impossible - Verifiez vos droits d'acces - - - - - Impossible de transferer les fichiers requis dans : %s - - - - - Erreur - - - - - Erreurs fatales - - - - - Impossible reconstruire commande - - - - - - Objet commentaire non valorise - - - - - Debut Fonction %s - - - - - Fin Fonction %s - - - - - Nom de concept deja defini : %s - - - - - Longueur incorrecte - - - - - L'attribut 'min' doit etre un entier : - - - - - L'attribut 'max' doit etre un entier : - - - - - Nombres d'occurrence min et max invalides : - - - - - L'attribut 'fr' doit etre une chaine de caracteres - - - - - L'attribut 'statut' doit valoir 'o','f','c' ou 'd' - - - - - L'attribut 'docu' doit etre une chaine de caracteres - - - - - Fin - - - - - Le parametre EVAL %s ne peut valoir None - - - - - Le parametre EVAL ne peut valoir None - - - - - Pas de nom donne au parametre EVAL - - - - - Un nom de parametre ne peut depasser 8 caracteres - - - - - ERREUR - - - - - Format pas implemente : %s - - - - - Type d'objet non prevu : %s - - - - - ce groupe de maillage %s est associe a au moins un materiau et au moins une source. - - - - - ce groupe de maillage %s n'est associe a aucun materiau ou source. - - - - - ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable - - - - - ERREUR! ce type de bloc (%s) n'est pas valable - - - - - toutes les donnees ne sont pas connues - - - - - Fichier patron %s n'existe pas. - - - - - Pas supporte - - - - - Entite inconnue ou interdite :%s - - - - - Entite inconnue ou interdite :%s. Elle est ignoree - - - - - Les tuples ne sont pas supportes pour le format ini :%s - - - - - Type de valeur non supportee par le format ini :%(nom)s -%(exception)s - nom - - - - - Il y a un pb a la Creation du XML - - - - - Il y a un pb a la Creation du STD - - - - - Entite inconnue ou interdite : %s. Elle est ignoree - - - - - Type de valeur non supporte par le format pyth : n %(exception)s - nom - - - - - Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. - - - - - Le mot-cle %s est obligatoire. - - - - - concept %(inst_name)s de type %(class_name)s - inst_name - - - - - Un nom de concept doit etre un identificateur Python - - - - - Concept existant - - - - - Operateur reentrant mais concept non existant - - - - - Operateur reentrant et concept existant trouve - - - - - Concept deja existant et de mauvais type - - - - - Nommage du concept refuse : un concept de meme nom existe deja - - - - - Nommage du concept effectue - - - - - Nommage impossible %s - - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante - - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante - - - - - Pas de nom donne a la FORMULE - - - - - Un nom de FORMULE ne peut depasser 8 caracteres - - - - - Un nom de FORMULE ne peut pas commencer par un chiffre - - - - - Le type de la valeur retournee n'est pas specifie - - - - - Une formule ne peut retourner une valeur de type : %s - - - - - Impossible d'ajouter la commande - - - - - Impossible d ajouter la commande - - - - - Pas implemente - - - - - Nom de concept deja defini - - - - - Nom de concept deja defini : - - - - - Impossible de trouver le fichier correspondant a l'unite - - - - - n'est pas un fichier existant - - - - - Fichier invalide %s - - - - - Impossible de construire le jeu de commandes correspondant au fichier - - - - - Erreur lors de l'evaluation du fichier inclus - - - - - Ce fichier ne sera pas pris en compte - %s - - - - - Ce fichier ne sera pas pris en compte -Le fichier associe n'est pas defini - - - - - Le fichier n est pas defini - - - - - le fichier doit contenir une unique variable de sortie - - - - - Fichier invalide - - - - - Le contenu de ce fichier ne sera pas pris en compte - %s - - - - - Le fichier INCLUDE n est pas defini - - - - - Le contenu de ce fichier ne sera pas pris en compte - - - - - - Erreur lors de l'evaluation du fichier poursuite - - - - - L'objet %(v_1)s ne peut etre un fils de %(v_2)s - v_1 - - - - - L'objet %s ne peut pas etre repete - - - - - Erreur - mclist inexistante : %s - - - - - Erreur - mot cle facteur de nom : %s - - - - - traitement non-prevu - - - - - L'objet %s ne peut pas etre ajoute - - - - - None n'est pas une valeur autorisee - - - - - un concept de meme nom existe deja - - - - - Concept cree - - - - - La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d - n_lign - - - - - Impossible de relire le fichier %s - - - - - - Le fichier include contient des erreurs - - - - - n'est pas un index valide pour append_brother - - - - - Decommenter - - - - - Decommente la commande - - - - - Impossible de supprimer un mot-cle obligatoire - - - - - Mot-cle %s supprime - - - - - Pb interne : impossible de supprimer ce mot-cle - - - - - Commentaire supprime - - - - - Commande %s supprimee - - - - - Pb interne : impossible de supprimer cet objet - - - - - Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas - - - - - - - Include vide - - - - - L'include doit etre correctement initialise pour etre visualise - - - - - Impossible de supprimer ce mot-clef - - - - - View3D - - - - - affiche dans Geom les elements de structure - - - - - Graphique - - - - - affiche la distribution - - - - - Erreur interne - - - - - La PDF de la loi ne peut pas etre affichee. - - - - - &Annuler - - - - - Impossible de supprimer un mot-clef obligatoire - - - - - Mot-clef %s supprime - - - - - Pb interne : impossible de supprimer ce mot-clef - - - - - Definition d'un parametre - - - - - Import du fichier de Configuration - - - - - Erreur a la lecture du fichier de configuration %s - - - - - Erreur fatale au chargement de %s - - - - - Erreur fatale au chargement d'un fichier - - - - - fichier modifie - - - - - Attention! fichier change hors EFICAS - - - - - Type de fichier non reconnu - - - - - EFICAS ne sait pas ouvrir le type de fichier %s - - - - - EFICAS ne sait pas ouvrir ce type de fichier - - - - - Copie impossible - - - - - Veuillez selectionner un objet a copier - - - - - Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne - - - - - Aucun Objet n a ete copie ou coupe - - - - - Copie refusee - - - - - Eficas n a pas reussi a copier l objet - - - - - Copie refusee pour ce type d objet - - - - - Deplacement refuse - - - - - Deplacement refuse entre 2 fichiers. Seule la copie est autorisee - - - - - Copie impossible a cet endroit - - - - - Veuillez selectionner une commande, un parametre, un commentaire ou une macro - - - - - Choix d'un fichier XML - - - - - Le fichier contient une commande MODEL - - - - - - Donnez le nom du fichier XML qui contient la description des variables - - - - - Ouvrir Fichier - - - - - Erreur a la generation - - - - - EFICAS ne sait pas convertir ce JDC - - - - - Format %s non reconnu - - - - - EFICAS ne sait pas convertir le JDC selon le format - - - - - Execution impossible - - - - - le JDC doit etre valide pour une execution MAP - - - - - le JDC doit contenir un et un seul composant - - - - - le JDC doit etre valide pour une execution - - - - - Sauvegarder SVP avant l'execution - - - - - sauvegarde - - - - - Sauvegarde du Fichier - - - - - Le fichier <b>%s</b> existe deja. - - - - - &Ecraser - - - - - Sauvegarde de l'input impossible - - - - - Un JdC valide est necessaire pour creer un .input - - - - - Choix du composant obligatoire - - - - - Choix unite %d - - - - - Le fichier %s contient une commande INCLUDE - - - - - - Donnez le nom du fichier correspondant a l unite logique - - - - - Fichier pour unite - - - - - Choix d'un fichier de poursuite - - - - - Le fichier %s contient une commande POURSUITE - - - - - - Donnez le nom du fichier dont vous - voulez faire une poursuite - - - - - Fichiers Med (*.med);;Tous les Fichiers (*) - - - - - Fichier Med - - - - - Veuillez selectionner un fichier Med - - - - - reel - - - - - entier - - - - - complexe - - - - - Entrez - - - - - Entrez entre - - - - - et - - - - - Type de base inconnu - - - - - Aide Indisponible - - - - - l'aide n est pas installee - - - - - Visualisation Fichier - - - - - Impossibilite d'afficher le Fichier - - - - - Sauvegarder Fichier - - - - - Fichier selectionne - - - - - Selection - - - - - Export Med vers Fichier - - - - - Impossibilite d exporter le Fichier - - - - - Traduire Fichier - - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - - - - - Fichier Traduit : %s - - - - - - - Pas de difference entre le fichier origine et le fichier traduit - - - - - objet valide - - - - - %d versions du catalogue sont disponibles - - - - - Sauvegarder le fichier - - - - - Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s - v_1 - - - - - Options pour - - - - - - valeurs - - - - - Nombre minimal de valeurs : - - - - - Nombre maximal de valeurs : - - - - - expression valide - - - - - expression invalide - - - - - l expression n est pas de la forme a+bj - - - - - expression n est pas de la forme a+bj - - - - - entrer une seule valeur SVP - - - - - saisir le type de complexe - - - - - Valeur du mot-cle enregistree - - - - - Valeur du mot-cle non autorisee - - - - - &Recents - - - - - Aide specifique - - - - - Options - - - - - Traduction - - - - - TraduitV7V8 - - - - - TraduitV8V9 - - - - - TraduitV9V10 - - - - - Acquiert Groupe Maille - - - - - Specificites Maille - - - - - version - - - - - pour - - - - - Parametrage - - - - - Veuillez d abord choisir un code - - - - - Pas de possibilite de personnalisation de la configuration - - - - - &Effacer - - - - - Veuillez entrer le complexe sous forme aster ou sous forme python - - - - - Import du catalogue - - - - - Pas de catalogue defini pour le code - - - - - Aucun catalogue trouve - - - - - Impossible d'importer le catalogue - - - - - avec le catalogue - - - - - Choix d une version du code - - - - - Choix d une version - - - - - Parametre - - - - - Insere un parametre - - - - - item invalide - - - - - l item doit etre valide - - - - - &Ok - &Ok - - - - apres - - - - - Insere un commentaire apres la commande - - - - - avant - - - - - Insere un commentaire avant la commande - - - - - Insere un parametre apres la commande - - - - - Insere un parametre avant la commande - - - - - Supprimer - - - - - supprime le mot clef - - - - - Documentation - - - - - documentation sur la commande - - - - - Documentation Vide - - - - - Aucune documentation n'est associee a ce noeud - - - - - impossible de trouver la commande - - - - - Lecteur PDF - - - - - impossible d'ouvrir - - - - - Commentaire - - - - - ce noeud - - - - - commente le noeud - - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - - - - - &Quitter - - - - - Quitter - - - - - Fichier Duplique - - - - - Le fichier ne sera pas sauvegarde. - - - - - Fichier - - - - - Le fichier <b>%s</b> est deja ouvert. - - - - - &Duplication - - - - - &Abort - - - - - Fichier Modifie - - - - - Le fichier %s n a pas ete sauvegarde. - - - - - &Sauvegarder - - - - - SOURCE - - - - - EnveloppeConnexeInducteur - - - - - EnveloppeConnexe2 - - - - - VecteurDirecteur - - - - - Centre - - - - - SectionBobine - - - - - Amplitude - - - - - NbdeTours - - - - - CONDUCTEUR - - - - - Conductivite - - - - - PermeabiliteRelative - - - - - NOCOND - - - - - VCUT - - - - - Orientation - - - - - ZS - - - - - PARAMETRES - - - - - RepCarmel - - - - - TypedeFormule - - - - - Frequence - - - - - Nb_Max_Iterations - - - - - Erreur_Max - - - - - PARAMETRE - - - - - Valeur non modifiable - - - - - Format non implemente - - - - - Type d'objet non prevu - - - - - Select - - - - - Sauve Format Ligne - - - - - %s n'est pas un fichier valide - - - - - Fichier de donnees - - - - - Tous les Fichiers (*) - - - - - nb min de valeurs : - - - - - nb max de valeurs atteint - - - - - TraduitV10V11 - - - - - TraduitV11V12 - - - - - Valeur du mot-clef enregistree - - - - - Valeur du mot-clef non autorisee : - - - - - Un concept de nom %s existe déjà ! - - - - - La cardinalite n'est pas correcte, la derniere valeur est ignoree - - - - - n est pas un tuple de - - - - - valeurs - - - - - Valeur incorrecte - - - - - n est pas un identifiant correct - - - - - - Entrer un float SVP - - - - - Entrer un float inferieur a - - - - - Entrer un float superieur a - - - - - Mauvaise execution - - - - - impossible d executer la methode - - - - - Mauvaise Commande - - - - - Aucune variable connue - - - - - Mauvaise dimension de matrice - - - - - le nombre de ligne n est pas egal a - - - - - le nombre de colonne n est pas egal a - - - - - Mauvaise Valeur - - - - - l element - - - - - n est pas correct - - - - - Modification Impossible - - - - - le parametre n'est pas valide - - - - - n est pas un identifiant correct - - - - - Valeur incorrecte: - - - - - Valeur incorrecte - - - - - Valeur correcte - - - - - impossible d'evaluer : - - - - - La formule passee a l'interpreteur doit etre sous forme de tuple - - - - - Debut - - - - - Pas de nom donne au parametre - - - - - Le parametre %s ne peut valoir None - - - - - Format non implemente : %s - - - - - Impossible de realiser la verification de la formule - - - - - Un concept de nom %s existe deja ! - - - - - existe deja - - - - - - Fichier non encore nomme - - - - - La matrice n'a pas le bon entete - - - - - le mot clef - - - - - doit etre insere avant - - - - - insertion impossible - - - - - doit etre insere apres - - - - - Nb maximum de valeurs atteint - - - - - pas de regle de construction pour ce jeu de commandes - - - - - Gestion Maillage - - - - - Acquiert groupe mailles - - - - - Acquisition Groupe Maille - - - - - VERSION - - - - - NUM - - - - - FILETYPE - - - - - PARAMETERS - - - - - Fichier_maillage - - - - - Echelle_du_maillage - - - - - Formulation - - - - - Timeproblem - - - - - spectral - - - - - Basis - - - - - Fourier - - - - - Ordre - - - - - FREQUENCY - - - - - minimisation - - - - - no - - - - - yes - - - - - nb_procs_para - - - - - POLYMER - - - - - MODEL_DATABASE - - - - - Stabilise - - - - - Non Stabilise - - - - - Local - - - - - ESSAI_OPTION - - - - - MATERIEL - - - - - Cable - - - - - Peinture - - - - - Tuyauterie - - - - - Materiau_De_Cable - - - - - PE - - - - - EPDM - - - - - Modele - - - - - Impossible de convertir le fichier Python qui doit contenir des erreurs. - - On retourne le fichier non converti. Prevenir la maintenance. - - %s - - - - - Eficas ne peut pas traiter plusieurs instructions - sur la meme ligne : %s - - - - - le texte a analyser n'est pas celui d'une commande ou - d'un operateur : %s - - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - - - - - jdc %(v_1)s manque - fichier comm dans section %(v_2)s - v_1 - - - - - jdc %(v_1)s, le fichier - de commandes %(v_2)s n'existe pas - v_1 - - - - - jdc %(v_1)s - fichier include %(v_2)s, %(v_3)s - n'existe pas - v_1 - - - - - jdc %(v_1)s manque fichier comm - dans section %(v_2)s - v_1 - - - - - jdc %(v_1)s, le fichier de commandes - %(v_2)s n'existe pas - v_1 - - - - - Objet commande commentarisé invalide - - - - - ATTENTION! Une source constante - n'est possible qu'a frequence nulle - en regime frequentiel - - - - - ERREUR! Une forme de la source du - type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ATTENTION! Une source constante n'est - possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! Une forme de la source du type - WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe - indiquant le type de materiau ou de source associee - - - - - ERREUR! ce groupe de maille (%(nom)s) n'a pas - le prefixe correct pour etre associe a un type %(type_bloc)s - nom - - - - - - Include Invalide. - ne sera pas pris en compte - - - - - : verifie les types dans un tuple - - - - - Les types entres ne sont pas permis - - - - - ChoixCode - - - Choix du code - - - - - Veuillez choisir un code : - - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - ChoixCommandes - - - DMacro - - - - - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> - - - - - affiche les commandes par ordre alphabetique - - - - - Alphabetique - - - - - affiche les commandes selon les thèmes - - - - - Ordre de la modélisation - - - - - Par Groupe - - - - - <html><head/><body><p align="center">Filtre Commande</p></body></html> - - - - - filter commands - - - - - affiche les régles de validité - - - - - ... - - - - - Règles de construction - - - - - Sensible à la casse - - - - - Effacer - - - - - selectionne les mots qui CONTIENNENT l expression - - - - - ré-affiche toutes les commandes - - - - - DChoixCata - - - Choix d'une version du code Aster - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> - - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - DSelVal - - - Sélection de valeurs - - - - - Separateur - - - - - espace - - - - - virgule - - - - - point-virgule - - - - - Ajouter Selection - - - - - Importer Tout - - - - - DVisu - - - Visualisation Include Materiau - - - - - Eficas - - - MainWindow - - - - - &Fichier - - - - - &Aide - - - - - toolBar - - - - - &Nouveau - ME VOILA - - - - Ctrl+N - - - - - Nouvel Include - - - - - &Ouvrir - - - - - Ctrl+O - - - - - Enregistrer - - - - - Enregistrer sous - - - - - Fermer - - - - - Ctrl+W - - - - - Fermer tout - - - - - Couper - - - - - Ctrl+X - - - - - Copier - - - - - Ctrl+C - - - - - Coller - - - - - Ctrl+V - - - - - Quitter - - - - - Ctrl+Q - - - - - Rapport de Validation - - - - - Fichier Source - - - - - Fichier Résultat - - - - - Parametres Eficas - - - - - Lecteur documentation - - - - - Eficas - - - - - Version - - - - - Supprimer - - - - - Rechercher - - - - - Rechercher dans l'arbre d'etude - - - - - Ctrl+F - - - - - Replier/Deplier - - - - - Tab 1 - - - - - &Edition - - - - - &JeuDeDonnées - - - - - Shift+I - - - - - Ctrl+S - - - - - Ctrl+Shift+S - - - - - Shift+V - - - - - Chercher Mot-Clef - - - - - Rechercher dans le catalogue - - - - - Shift+F - - - - - Shift+D - - - - - Commentaire - - - - - Shift+C - - - - - Paramètres - - - - - Gestion des paramètres - - - - - Shift+P - - - - - Parametre Eficas - - - - - Execution - - - - - Execution - - - - - Save Run - - - - - Patrons - - - - - Run - - - - - &bad - - - - - Régles du JdC - - - - - JDCEditor - - - Save File - - - - - The file <b>%1</b> could not be saved.<br>Reason: %2 - - - - - JDC (*.comm);;All Files (*) - - - - - &Abandonner - &Abandonner - - - - Tuple2 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Tuple3 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Widget4a6RadioButton - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - Détruit le mot-clef - - - - - WidgetBloc - - - Form - - - - - WidgetCB - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetCommande - - - DCommandeUnique - - - - - Affiche le rapport de validité de la commande - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - - - - - Lance un script associé à la commande - - - - - ouvre un navigateur sur l'aide contextuelle - - - - - affiche les régles de validité - - - - - Détruit la commande - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - TextLabel - - - - - WidgetCommentaire - - - DCommandeUnique - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> - - - - - Détruit le commentaire - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - WidgetDate - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetFact - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - WidgetFactPlie - - - Form - - - - - ... - - - - - TextLabel - - - - - WidgetHeure - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetInformative - - - Form - - - - - WidgetOptionnel - - - WidgetOptionnel - - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - WidgetParam - - - DCommandeUnique - - - - - ... - - - - - <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> - - - - - Détruit le commentaire - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - - - <html><head/><body><p>Nom: </p></body></html> - - - - - Verifie la valeur - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetPlusieursBase - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - - - - - Descend la ligne - - - - - supprime une ligne - - - - - Ajoute une ligne - - - - - Montre l'ensemble des valeurs - - - - - Sélectionne depuis Salome - - - - - Visualise dans Salome - - - - - Ouvre un fichier de sélection des valeurs - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - TextLabel - - - - - WidgetPlusieursInto - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - WidgetPlusieursIntoOrdonne - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - TextLabel - - - - - Remonte d'une ligne - - - - - Descend d'une ligne - - - - - Détruit une ligne - - - - - ajoute une ligne - - - - - visualise l'ensemble des valeurs - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - WidgetPlusieursPlie - - - Form - - - - - Affiche le rapport de validité du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - - - - - Détruit le mot-clef - - - - - WidgetPlusieursTuple - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - - - - - Descend la ligne - - - - - supprime une ligne - - - - - Ajoute une ligne - - - - - Montre l'ensemble des valeurs - - - - - Ouvre un fichier de sélection des valeurs - - - - - Détruit le mot-clef - - - - - TextLabel - - - - - WidgetRadioButton - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - Détruit le mot-clef - - - - - WidgetSDCOInto - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> - - - - - <html><head/><body><p>ou Nom du concept</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetSimpBase - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetSimpBool - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - True - - - - - False - - - - - Détruit le mot-clef - - - - - WidgetSimpComplexe - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Complexe : a+bj - - - - - <html><head/><body><p align="center">OU </p></body></html> - - - - - Réel/Imaginaire - - - - - Module/Phase - - - - - WidgetSimpFichier - - - Form - - - - - Affiche le rapport de validité du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - affiche l'explorateur de fichier - - - - - ouvre le fichier choisi - - - - - Détruit le mot-clef - - - - - WidgetSimpTxt - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetTuple2 - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetTuple3 - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetUniqueSDCO - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Attend un objet de type CO - - - - - Détruit le mot-clef - - - - - WidgetVide - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> - - - - - Attend un objet de type XXXX. Il faut le créer - - - - - baseWidget - - - DMacro - - - - - dView - - - Dialog - - - - - Fermer - - - - - Sauver - - - - - desRecherche - - - Rechercher dans le JDC - - - - - Next - - - - - Suivant - - - - - desWidgetCreeParam - - - Gestion des Paramètres - - - - - <html><head/><body><p>Nom: </p></body></html> - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - - - <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> - - - - - desWidgetMatrice - - - Dialog - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>Met à jour l'en-tête</p></body></html> - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - self.appliEficas - - - Wrapper Files (*.xml);;All Files (*) - - - - - Noname - - - - - viewRegles - - - Dialog - - - - diff --git a/UiQT4/eficas_fr.ts b/UiQT4/eficas_fr.ts deleted file mode 100644 index d93d2f5b..00000000 --- a/UiQT4/eficas_fr.ts +++ /dev/null @@ -1,5069 +0,0 @@ - - - - @default - - Year - Annee - - - Month - Mois - - - Day - Jour - - - Hour - Heure - - - Minute - Minute - - - Second - Seconde - - - Discretizations_In_Space - Discretisations_En_Espace - - - Discretizations_In_Space_Tracers - Discretisations_En_Espace_Tracers - - - Discretizations_In_Space_U_And_V - Discretisations_En_Espace_U_And_V - - - Discretizations_In_Space_K_And_Epsilon - Discretisations_En_Espace_K_And_Epsilon - - - Discretizations_In_Space_H - Discretisations_En_Espace_H - - - Supg_Option - Option_De_Supg - - - Supg_Option_Tracers - Option_De_Supg_Tracers - - - Supg_Option_U_And_V - Option_De_Supg_U_And_V - - - Supg_Option_K_And_Epsilon - Option_De_Supg_K_And_Epsilon - - - Supg_Option_H - Option_De_Supg_H - - - Type_Of_Advection - Forme_De_La_Convection - - - Forme_De_La_Convection - Type_Of_Advection - - - Type_Of_Advection_Tracers - Forme_De_La_Convection_Tracers - - - Type_Of_Advection_U_And_V - Forme_De_La_Convection_U_And_V - - - Type_Of_Advection_K_And_Epsilon - Forme_De_La_Convection_K_And_Epsilon - - - Type_Of_Advection_H - Forme_De_La_Convection_H - - - Hauteur constante - Constant depth - - - Mass_Lumping_On_H - Mass_Lumping_Sur_H - - - Mass_Lumping_On_Velocity - Mass_Lumping_Sur_La_Vitesse - - - Mass_Lumping_On_Tracers - Mass_Lumping_Sur_Les_Traceurs - - - Mass_Lumping_For_Weak_Characteristics - Mass_Lumping_Pour_Les_Caracteristiques_Faibles - - - INITIALIZATION - INITIALISATION - - - Input_Files - Fichiers_D_Entree - - - Formatted_And_Binary_Files - Fichiers_Formates_Et_Binaires - - - Initial_State - Etat_Initial - - - Coupling - Couplage - - - Mass_Balance - Bilan_De_Masse - - - BOUNDARY_CONDITIONS - CONDITIONS_AUX_LIMITES - - - NUMERICAL_PARAMETERS - PARAMETRES_NUMERIQUES - - - PHYSICAL_PARAMETERS - PARAMETRES_PHYSIQUES - - - OUTPUT_FILES - FICHIERS_DE_SORTIE - - - CONSTRUCTION_WORKS_MODELLING - MODELISATION_DES_OUVRAGES - - - GENERAL_PARAMETERS - PARAMETRES_GENERAUX - - - PARTICLE_TRANSPORT - TRANSPORT_DE_PARTICULE - - - Computation_Continued_Settings - Parametres_De_Continuation_Du_Calcul - - - Inputs_Outputs_For_Tide - Entrees_Sorties_Pour_La_Maree - - - Location - Localisation - - - Physical_Parameters - Parametres_Physiques - - - Liquid_Boundaries - Frontieres_Liquide - - - Solver_Definition - Definition_Du_Solver - - - Linearity - Linearite - - - Precondionning_Setting - Parametres_Preconditionnement - - - Matrix_Informations - Stockage_Des_Matrices - - - Advection - Advection - - - Propagation - Propagation - - - Diffusion - Diffusion - - - Discretization_Implicitation - Discretisation - - - Tidal - Maree - - - Various - Divers - - - Friction_Setting - Parametres_De_Friction - - - Meteorology - Meteorologie - - - Wave - Houle - - - Parameters_Estimation - Parametres_A_Estimer - - - Tolerances_For_Identification - Tolerances_Pour_L_Identification - - - Sources - Sources - - - Coriolis_Settings - Parametres_Pour_Coriolis - - - Various_For_Numerical - Divers_Parametres_Numeriques - - - Secondary_Currents_Settings - Parametres_Pour_Les_Courants_Secondaires - - - Tsunami - Tsunami - - - Graphic_And_Listing_Printouts - Sorties_Listing_Et_Graphiques - - - Controls - Controles - - - Fourier - Fourier - - - General_Location - Localisation_Generale - - - Time - Temps - - - Original_Date_Of_Time - Date_A_L_Origine - - - Original_Hour_Of_Time - Temps_A_L_Origine - - - Limit_Values - Valeurs_Limites - - - Tracers_Setting - Parametres_Des_Traceurs - - - Tracer - Traceur - - - Boundary_Conditions_For_Tracers - Conditions_Aux_Limites_Pour_Les_Traceurs - - - Solving - - - - Accuracy - - - - Source - Source - - - Metereology - Metereologie - - - Numerical - Numerique - - - Degradation - Degradation - - - Values_Of_Tracers_In_The_Rain - Valeurs_Des_Traceurs_Dans_La_Pluie - - - Threshold_Depth_For_Receding_Procedure - Profondeur_Limite_Pour_Procedure_De_Ressuyage - - - Title - Titre - - - Spatial_Projection_Type - Type_De_Projection_Spatiale - - - Stochastic_Diffusion_Model - Modele_De_Diffusion_Stochastique - - - Drogues_File - Fichier_Des_Flotteurs - - - Origin_Coordinates - Coordonnees_De_L_Origine - - - Thickness_Of_Algae - Epaisseur_Des_Algues - - - Velocities_Of_The_Sources_Along_X - Vitesses_Des_Sources_Selon_X - - - Velocities_Of_The_Sources_Along_Y - Vitesses_Des_Sources_Selon_Y - - - Finite_Volume_Scheme - Schema_En_Volumes_Finis - - - Density_Of_Algae - Masse_Volumique_Des_Algues - - - Geometry_File - Fichier_De_Geometrie - - - Turbulence_Model - Modele_De_Turbulence - - - Oil_Spill_Model - Modele_De_Nappes_D_Hydrocarbures - - - Definition_Of_Zones - Definition_De_Zones - - - Rain_Or_Evaporation - Pluie_Ou_Evaporation - - - Sources_File - Fichier_Des_Sources - - - Friction_Coefficient - Coefficient_De_Frottement - - - Wind - Vent - - - Option_For_Tidal_Boundary_Conditions - Option_Pour_Les_Conditions_Aux_Limites_De_Maree - - - Option_For_Liquid_Boundaries - Option_Pour_Les_Frontieres_Liquides - - - Coefficient_To_Calibrate_Tidal_Velocities - Coefficient_De_Calage_Des_Vitesses_De_Courant - - - Initial_Time_Set_To_Zero - Remise_A_Zero_Du_Temps - - - Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers - Maximum_D_Iterations_Pour_La_Diffusion_Des_Traceurs - - - Binary_Results_File - Fichier_De_Resultats_Binaire - - - Number_Of_Drogues - Nombre_De_Flotteurs - - - Air_Pressure - Pression_Atmospherique - - - Mean_Depth_For_Linearization - Profondeur_Moyenne_Pour_La_Linearisation - - - Control_Of_Limits - Controle_Des_Limites - - - Free_Surface_Gradient_Compatibility - Compatibilite_Du_Gradient_De_Surface_Libre - - - Prescribed_Tracers_Values - Valeurs_Imposees_Des_Traceurs - - - defaut - Saint-venant_Ef - - - Velocity_Diffusivity - Coefficient_De_Diffusion_Des_Vitesses - - - Time_Step - Pas_De_Temps - - - Validation - Validation - - - Roughness_Coefficient_Of_Boundaries - Coefficient_De_Rugosite_Des_Bords - - - Density_Effects - Effets_De_Densite - - - Implicitation_Coefficient_Of_Tracers - Coefficient_D_Implicitation_Des_Traceurs - - - Formatted_Results_File - Fichier_De_Resultats_Formate - - - Debugger - Debugger - - - Liquid_Boundaries_File - Fichier_Des_Frontieres_Liquides - - - Sections_Output_File - Fichier_De_Sortie_Des_Sections_De_Controle - - - Number_Of_Private_Arrays - Nombre_De_Tableaux_Prives - - - Coefficient_Of_Wind_Influence - Coefficient_D_Influence_Du_Vent - - - Depth_In_Friction_Terms - Hauteur_Dans_Les_Termes_De_Frottement - - - Coefficient_To_Calibrate_Sea_Level - Coefficient_De_Calage_Du_Niveau_De_Mer - - - Variables_To_Be_Printed - Variables_A_Imprimer - - - Preconditioning - Preconditionnement - - - Cost_Function - Fonction_Cout - - - Type_Of_Sources - Type_Des_Sources - - - Tidal_Flats - Bancs_Decouvrants - - - Ascii_Database_For_Tide - Base_Ascii_De_Donnees_De_Maree - - - Original_Date_Of_Time - Date_De_L_origine_Des_Temps - - - Mean_Temperature - Temperature_Moyenne - - - Initial_Elevation - Cote_Initiale - - - Tubes_Data_File - Fichier_De_Donnees_Des_Buses - - - Boundary_Conditions_File - Fichier_Des_Conditions_Aux_Limites - - - Breach - Breche - - - Treatment_Of_The_Linear_System - Traitement_Du_Systeme_Lineaire - - - Prescribed_Elevations - Cotes_Imposees - - - List_Of_Points - Liste_De_Points - - - Listing_Printout_Period - Periode_De_Sortie_Listing - - - Initial_Guess_For_H - Ordre_Du_Tir_Initial_Pour_H - - - Geometry_File_Format - Format_Du_Fichier_De_Geometrie - - - Coefficient_1_For_Law_Of_Tracers_Degradation - Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs - - - Number_Of_Lagrangian_Drifts - Nombre_De_Derives_Lagrangiennes - - - Weirs_Data_File - Fichier_De_Donnees_Des_Seuils - - - Rain_Or_Evaporation_In_Mm_Per_Day - Pluie_Ou_Evaporation_En_Mm_Par_Jour - - - Minor_Constituents_Inference - Interpolation_De_Composantes_Mineures - - - Maximum_Number_Of_Friction_Domains - Nombre_Maximum_De_Domaines_De_Frottement - - - Elements_Masked_By_User - Elements_Masques_Par_L_Utilisateur - - - Control_Sections - Sections_De_Controle - - - Number_Of_Time_Steps - Nombre_De_Pas_De_Temps - - - Solver_Accuracy - Precision_Du_Solveur - - - Wave_Driven_Currents - Courants_De_Houle - - - Number_Of_Culverts - Nombre_De_Siphons - - - Equations - Equations - - - Maximum_Number_Of_Iterations_For_Identification - Maximum_D_Iterations_Pour_L_Identification - - - Coefficient_For_Diffusion_Of_Tracers - Coefficient_De_Diffusion_Des_Traceurs - - - Option_For_The_Diffusion_Of_Velocities - Option_Pour_La_Diffusion_Des_Vitesses - - - Coefficient_To_Calibrate_Tidal_Range - Coefficient_De_Calage_Du_Marnage - - - Binary_Data_File_1 - Fichier_De_Donnees_Binaire_1 - - - Binary_Data_File_2 - Fichier_De_Donnees_Binaire_2 - - - Solver - Solveur - - - Implicitation_For_Velocity - Implicitation_Pour_La_Vitesse - - - Longitude_Of_Origin_Point - Longitude_Du_Point_Origine - - - Original_Hour_Of_Time - Heure_De_L_origine_Des_Temps - - - Law_Of_Friction_On_Lateral_Boundaries - Loi_De_Frottement_Sur_Les_Parois_Laterales - - - Propagation - Propagation - - - Solver_For_Diffusion_Of_Tracers - Solveur_Pour_La_Diffusion_Des_Traceurs - - - Solver_Option - Option_Du_Solveur - - - Advection_Of_H - Convection_De_H - - - Output_Of_Initial_Conditions - Sortie_Des_Conditions_Initiales - - - Record_Number_For_Restart - Enregistrement_Pour_Suite_De_Calcul - - - Accuracy_For_Diffusion_Of_Tracers - Precision_Pour_La_Diffusion_Des_Traceurs - - - Initial_Guess_For_U - Ordre_Du_Tir_Initial_Pour_U - - - Advection_Of_K_And_Epsilon - Convection_De_K_Et_Epsilon - - - Identification_Method - Methode_D_Identification - - - Names_Of_Points - Noms_Des_Points - - - Zone_Number_In_Geographic_System - Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique - - - Matrix_Storage - Stockage_Des_Matrices - - - Matrix_Vector_Product - Produit_Matrice_Vecteur - - - Algae_Type - Type_Des_Algues - - - Water_Density - Masse_Volumique_De_L_Eau - - - Newmark_Time_Integration_Coefficient - Coefficient_D_Integration_En_Temps_De_Newmark - - - Friction_Data_File - Fichier_De_Donnees_Pour_Le_Frottement - - - Implicitation_For_Diffusion_Of_Velocity - Implicitation_Pour_La_Diffusion_Des_Vitesses - - - Advection - Convection - - - Geographic_System - Systeme_Geographique - - - Results_File - Fichier_Des_Resultats - - - Algae_Transport_Model - Modele_De_Transport_Des_Algues - - - Treatment_Of_Negative_Depths - Traitement_Des_Hauteurs_Negatives - - - Ordinates_Of_Sources - Ordonnees_Des_Sources - - - Coriolis_Coefficient - Coefficient_De_Coriolis - - - Water_Discharge_Of_Sources - Debits_Des_Sources - - - Advection_Of_U_And_V - Convection_De_U_Et_V - - - Latitude_Of_Origin_Point - Latitude_Du_Point_Origine - - - Binary_Database_1_For_Tide - Base_Binaire_1_De_Donnees_De_Maree - - - Coriolis - Coriolis - - - Desired_Courant_Number - Nombre_De_Courant_Souhaite - - - Variables_For_Graphic_Printouts - Variables_Pour_Les_Sorties_Graphiques - - - Time_Range_For_Fourier_Analysis - Bornes_En_Temps_Pour_L_Analyse_De_Fourier - - - Graphic_Printout_Period - Periode_Pour_Les_Sorties_Graphiques - - - Tide_Generating_Force - Force_Generatrice_De_La_Maree - - - Preconditioning_For_Diffusion_Of_Tracers - Preconditionnement_Pour_La_Diffusion_Des_Traceurs - - - Number_Of_Tubes - Nombre_De_Buses - - - Vertical_Structures - Structures_Verticales - - - Stop_If_A_Steady_State_Is_Reached - Arret_Si_Un_Etat_Permanent_Est_Atteint - - - Number_Of_Weirs - Nombre_De_Seuils - - - Listing_Printout - Sortie_Listing - - - Previous_Computation_File - Fichier_Du_Calcul_Precedent - - - Fortran_File - Fichier_Fortran - - - Sections_Input_File - Fichier_Des_Sections_De_Controle - - - Binary_Database_2_For_Tide - Base_Binaire_2_De_Donnees_De_Maree - - - Results_File_Format - Format_Du_Fichier_Des_Resultats - - - Accuracy_Of_K - Precision_Sur_K - - - Tidal_Model_File - Fichier_Du_Modele_De_Maree - - - Fourier_Analysis_Periods - Periodes_D_Analyse_De_Fourier - - - H_Clipping - Clipping_De_H - - - Tolerances_For_Identification - Precisions_Pour_L_Identification - - - Previous_Computation_File_Format - Format_Du_Fichier_Du_Calcul_Precedent - - - Prescribed_Flowrates - Debits_Imposes - - - Bottom_Topography_File - Fichier_Des_Fonds - - - Implicitation_For_Depth - Implicitation_Pour_La_Hauteur - - - Reference_File_Format - Format_Du_Fichier_De_Reference - - - Diffusion_Of_Tracers - Diffusion_Des_Traceurs - - - Formatted_Data_File_1 - Fichier_De_Donnees_Formate_1 - - - Formatted_Data_File_2 - Fichier_De_Donnees_Formate_2 - - - Computation_Continued - Suite_De_Calcul - - - Breaches_Data_File - Fichier_De_Donnees_Des_Breches - - - Diffusion_Of_Velocity - Diffusion_Des_Vitesses - - - Solver_Option_For_Tracers_Diffusion - Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs - - - Advection_Of_Tracers - Convection_Des_Traceurs - - - Printout_Period_For_Drogues - Periode_Pour_Les_Sorties_De_Flotteurs - - - Option_For_The_Treatment_Of_Tidal_Flats - Option_De_Traitement_Des_Bancs_Decouvrants - - - Physical_Characteristics_Of_The_Tsunami - Parametres_Physiques_Du_Tsunami - - - Maximum_Number_Of_Iterations_For_K_And_Epsilon - Maximum_D_Iterations_Pour_K_Et_Epsilon - - - Tidal_Data_Base - Base_De_Donnees_De_Maree - - - Maximum_Number_Of_Iterations_For_Solver - Maximum_D_Iterations_Pour_Le_Solveur - - - Number_Of_Tracers - Nombre_De_Traceurs - - - Threshold_Depth_For_Wind - Profondeur_Limite_Pour_Le_Vent - - - Gravity_Acceleration - Acceleration_De_La_Pesanteur - - - Option_For_Characteristics - Option_Pour_Les_Caracteristiques - - - Spacing_Of_Roughness_Elements - Espacement_Des_Elements_De_Frottement - - - Parallel_Processors - Processeurs_Paralleles - - - Harmonic_Constants_File - Fichier_Des_Constantes_Harmoniques - - - Spherical_Coordinates - Coordonnees_Spheriques - - - Parameter_Estimation - Estimation_De_Parametre - - - Linearized_Propagation - Propagation_Linearisee - - - Accuracy_Of_Epsilon - Precision_Sur_Epsilon - - - Diameter_Of_Roughness_Elements - Diametre_Des_Elements_De_Frottement - - - Number_Of_First_Time_Step_For_Graphic_Printouts - Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques - - - Threshold_For_Negative_Depths - Seuil_Pour_Les_Profondeurs_Negatives - - - Wind_Velocity_Along_X - Vitesse_Du_Vent_Suivant_X - - - Wind_Velocity_Along_Y - Vitesse_Du_Vent_Suivant_Y - - - Information_About_Solver - Informations_Sur_Le_Solveur - - - Initial_Conditions - Conditions_Initiales - - - Culvert_Data_File - Fichier_De_Donnees_Des_Siphons - - - Maximum_Number_Of_Iterations_For_Advection_Schemes - Maximum_D_Iterations_Pour_Les_Schemas_De_Convection - - - Turbulence_Model_For_Solid_Boundaries - Regime_De_Turbulence_Pour_Les_Parois - - - Continuity_Correction - Correction_De_Continuite - - - Law_Of_Bottom_Friction - Loi_De_Frottement_Sur_Le_Fond - - - Option_For_Tsunami_Generation - Option_Pour_La_Generation_De_Tsunami - - - Type_Of_Weirs - Type_Des_Seuils - - - Record_Number_In_Wave_File - Numero_De_L_Enregistrement_Dans_Le_Fichier_De_Houle - - - Abscissae_Of_Sources - Abscisses_Des_Sources - - - Values_Of_The_Tracers_At_The_Sources - Valeurs_Des_Traceurs_Des_Sources - - - Treatment_Of_Fluxes_At_The_Boundaries - Traitement_Des_Flux_Aux_Frontieres - - - Printing_Cumulated_Flowrates - Impression_Du_Cumul_Des_Flux - - - Compatible_Computation_Of_Fluxes - Calcul_Compatible_Des_Flux - - - Bottom_Smoothings - Lissages_Du_Fond - - - Initial_Depth - Hauteur_Initiale - - - Minimum_Value_Of_Depth - Valeur_Minimum_De_H - - - Option_For_The_Diffusion_Of_Tracers - Option_Pour_La_Diffusion_Des_Traceurs - - - Duration - Duree_Du_Calcul - - - Stop_Criteria - Criteres_D_Arret - - - Prescribed_Velocities - Vitesses_Imposees - - - Initial_Values_Of_Tracers - Valeurs_Initiales_Des_Traceurs - - - Reference_File - Fichier_De_Reference - - - - lecture du fichier impossible : - unable to read file - - - - Impossible d'ouvrir le fichier %s - unable to read file - - - - Format de sortie : %s, non supporte - - - - - Impossible d'ouvrir le fichier : %s - - - - - Erreur a l'evaluation : - %s - - - - - Erreur ! Erreur ! - - - - - Erreur rencontree dans recherche_enfants : %s - - - - - Erreur dans la creation du mot-cle : %s - - - - - Impossible d'ouvrir le fichier : %s - - - - - le texte a analyser n'est pas celui d'une commande ou d'un operateur : - - - - - Erreur dans la recherche du nom de la commande : - - - - - Erreur dans la recherche des args de la commande : - - - - - Erreur dans la recherche du nom de la commande : - - - - - Erreur dans la recherche des args de la commande : - - - - - %d n'est pas un index valide pour append_brother - - - - - le fichier de commandes %s n'existe pas - - - - - un fichier de commandes doit etre defini avant une poursuite %s - - - - - le fichier poursuite %s n'existe pas - - - - - include mal defini %s - - - - - un fichier de commandes doit etre defini avant un include %s - - - - - le fichier include %s n'existe pas - - - - - le fichier jdc %s n'existe pas - - - - - jdc %s manque option jdc dans section jdc - - - - - %(v_1)s include %(v_2)s : %(v_3)s - v_1 - - - - - %(v_1)s fichier poursuite: %(v_2)s - v_1 - - - - - nom etude : %s - - - - - utilisation : %prog [options] - - - - - nom du fichier de commandes - - - - - nom du fichier poursuite - - - - - numero d'unite suivi du nom du fichier include - - - - - fichier decrivant une etude - - - - - version de catalogue a utiliser - - - - - nom du code a utiliser - - - - - niveau de debug - - - - - schema - - - - - localisation de l'application, pour la traduction - - - - - Nombre incorrect d'arguments - - - - - Localisation specifiee pour l'application. - - - - - Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom - - - - - Creation du repertoire %s impossible - Verifiez vos droits d'acces - - - - - Impossible de transferer les fichiers requis dans : %s - - - - - Erreur - - - - - Erreurs fatales - - - - - Impossible reconstruire commande - - - - - - Objet commentaire non valorise - - - - - Debut Fonction %s - - - - - Fin Fonction %s - - - - - Nom de concept deja defini : %s - - - - - Longueur incorrecte - - - - - L'attribut 'min' doit etre un entier : - - - - - L'attribut 'max' doit etre un entier : - - - - - Nombres d'occurrence min et max invalides : - - - - - L'attribut 'fr' doit etre une chaine de caracteres - - - - - L'attribut 'statut' doit valoir 'o','f','c' ou 'd' - - - - - L'attribut 'docu' doit etre une chaine de caracteres - - - - - Fin - - - - - Le parametre EVAL %s ne peut valoir None - - - - - Le parametre EVAL ne peut valoir None - - - - - Pas de nom donne au parametre EVAL - - - - - Un nom de parametre ne peut depasser 8 caracteres - - - - - ERREUR - - - - - Format pas implemente : %s - - - - - Type d'objet non prevu : %s - - - - - ce groupe de maillage %s est associe a au moins un materiau et au moins une source. - - - - - ce groupe de maillage %s n'est associe a aucun materiau ou source. - - - - - ATTENTION! Une source constante n'est possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe valable - - - - - ERREUR! ce type de bloc (%s) n'est pas valable - - - - - toutes les donnees ne sont pas connues - - - - - Fichier patron %s n'existe pas. - - - - - Pas supporte - - - - - Entite inconnue ou interdite :%s - - - - - Entite inconnue ou interdite :%s. Elle est ignoree - - - - - Les tuples ne sont pas supportes pour le format ini :%s - - - - - Type de valeur non supportee par le format ini :%(nom)s -%(exception)s - nom - - - - - Il y a un pb a la Creation du XML - - - - - Il y a un pb a la Creation du STD - - - - - Entite inconnue ou interdite : %s. Elle est ignoree - - - - - Type de valeur non supporte par le format pyth : n %(exception)s - nom - - - - - Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs. - - - - - Le mot-cle %s est obligatoire. - - - - - concept %(inst_name)s de type %(class_name)s - inst_name - - - - - Un nom de concept doit etre un identificateur Python - - - - - Concept existant - - - - - Operateur reentrant mais concept non existant - - - - - Operateur reentrant et concept existant trouve - - - - - Concept deja existant et de mauvais type - - - - - Nommage du concept refuse : un concept de meme nom existe deja - - - - - Nommage du concept effectue - - - - - Nommage impossible %s - - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese ouvrante manquante - - - - - La liste des arguments d'une formule doit etre entre parentheses : parenthese fermante manquante - - - - - Pas de nom donne a la FORMULE - - - - - Un nom de FORMULE ne peut depasser 8 caracteres - - - - - Un nom de FORMULE ne peut pas commencer par un chiffre - - - - - Le type de la valeur retournee n'est pas specifie - - - - - Une formule ne peut retourner une valeur de type : %s - - - - - Impossible d'ajouter la commande - - - - - Impossible d ajouter la commande - - - - - Pas implemente - - - - - Nom de concept deja defini - - - - - Nom de concept deja defini : - - - - - Impossible de trouver le fichier correspondant a l'unite - - - - - n'est pas un fichier existant - - - - - Fichier invalide %s - - - - - Impossible de construire le jeu de commandes correspondant au fichier - - - - - Erreur lors de l'evaluation du fichier inclus - - - - - Ce fichier ne sera pas pris en compte - %s - - - - - Ce fichier ne sera pas pris en compte -Le fichier associe n'est pas defini - - - - - Le fichier n est pas defini - - - - - le fichier doit contenir une unique variable de sortie - - - - - Fichier invalide - - - - - Le contenu de ce fichier ne sera pas pris en compte - %s - - - - - Le fichier INCLUDE n est pas defini - - - - - Le contenu de ce fichier ne sera pas pris en compte - - - - - - Erreur lors de l'evaluation du fichier poursuite - - - - - L'objet %(v_1)s ne peut etre un fils de %(v_2)s - v_1 - - - - - L'objet %s ne peut pas etre repete - - - - - Erreur - mclist inexistante : %s - - - - - Erreur - mot cle facteur de nom : %s - - - - - traitement non-prevu - - - - - L'objet %s ne peut pas etre ajoute - - - - - None n'est pas une valeur autorisee - - - - - un concept de meme nom existe deja - - - - - Concept cree - - - - - La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d - n_lign - - - - - Impossible de relire le fichier %s - - - - - - Le fichier include contient des erreurs - - - - - n'est pas un index valide pour append_brother - - - - - Decommenter - - - - - Decommente la commande - - - - - Impossible de supprimer un mot-cle obligatoire - - - - - Mot-cle %s supprime - - - - - Pb interne : impossible de supprimer ce mot-cle - - - - - Commentaire supprime - - - - - Commande %s supprimee - - - - - Pb interne : impossible de supprimer cet objet - - - - - Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas - - - - - - - Include vide - - - - - L'include doit etre correctement initialise pour etre visualise - - - - - Impossible de supprimer ce mot-clef - - - - - View3D - - - - - affiche dans Geom les elements de structure - - - - - Graphique - - - - - affiche la distribution - - - - - Erreur interne - - - - - La PDF de la loi ne peut pas etre affichee. - - - - - &Annuler - - - - - Impossible de supprimer un mot-clef obligatoire - - - - - Mot-clef %s supprime - - - - - Pb interne : impossible de supprimer ce mot-clef - - - - - Definition d'un parametre - - - - - Import du fichier de Configuration - - - - - Erreur a la lecture du fichier de configuration %s - - - - - Erreur fatale au chargement de %s - - - - - Erreur fatale au chargement d'un fichier - - - - - fichier modifie - - - - - Attention! fichier change hors EFICAS - - - - - Type de fichier non reconnu - - - - - EFICAS ne sait pas ouvrir le type de fichier %s - - - - - EFICAS ne sait pas ouvrir ce type de fichier - - - - - Copie impossible - - - - - Veuillez selectionner un objet a copier - - - - - Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne - - - - - Aucun Objet n a ete copie ou coupe - - - - - Copie refusee - - - - - Eficas n a pas reussi a copier l objet - - - - - Copie refusee pour ce type d objet - - - - - Deplacement refuse - - - - - Deplacement refuse entre 2 fichiers. Seule la copie est autorisee - - - - - Copie impossible a cet endroit - - - - - Veuillez selectionner une commande, un parametre, un commentaire ou une macro - - - - - Choix d'un fichier XML - - - - - Le fichier contient une commande MODEL - - - - - - Donnez le nom du fichier XML qui contient la description des variables - - - - - Ouvrir Fichier - - - - - Erreur a la generation - - - - - EFICAS ne sait pas convertir ce JDC - - - - - Format %s non reconnu - - - - - EFICAS ne sait pas convertir le JDC selon le format - - - - - Execution impossible - - - - - le JDC doit etre valide pour une execution MAP - - - - - le JDC doit contenir un et un seul composant - - - - - le JDC doit etre valide pour une execution - - - - - Sauvegarder SVP avant l'execution - - - - - sauvegarde - - - - - Sauvegarde du Fichier - - - - - Le fichier <b>%s</b> existe deja. - - - - - &Ecraser - - - - - Sauvegarde de l'input impossible - - - - - Un JdC valide est necessaire pour creer un .input - - - - - Choix du composant obligatoire - - - - - Choix unite %d - - - - - Le fichier %s contient une commande INCLUDE - - - - - - Donnez le nom du fichier correspondant a l unite logique - - - - - Fichier pour unite - - - - - Choix d'un fichier de poursuite - - - - - Le fichier %s contient une commande POURSUITE - - - - - - Donnez le nom du fichier dont vous - voulez faire une poursuite - - - - - Fichiers Med (*.med);;Tous les Fichiers (*) - - - - - Fichier Med - - - - - Veuillez selectionner un fichier Med - - - - - reel - - - - - entier - - - - - complexe - - - - - Entrez - - - - - Entrez entre - - - - - et - - - - - Type de base inconnu - - - - - Aide Indisponible - - - - - l'aide n est pas installee - - - - - Visualisation Fichier - - - - - Impossibilite d'afficher le Fichier - - - - - Sauvegarder Fichier - - - - - Fichier selectionne - - - - - Selection - - - - - Export Med vers Fichier - - - - - Impossibilite d exporter le Fichier - - - - - Traduire Fichier - - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - - - - - Fichier Traduit : %s - - - - - - - Pas de difference entre le fichier origine et le fichier traduit - - - - - objet valide - - - - - %d versions du catalogue sont disponibles - - - - - Sauvegarder le fichier - - - - - Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s - v_1 - - - - - Options pour - - - - - - valeurs - - - - - Nombre minimal de valeurs : - - - - - Nombre maximal de valeurs : - - - - - expression valide - - - - - expression invalide - - - - - l expression n est pas de la forme a+bj - - - - - expression n est pas de la forme a+bj - - - - - entrer une seule valeur SVP - - - - - saisir le type de complexe - - - - - Valeur du mot-cle enregistree - - - - - Valeur du mot-cle non autorisee - - - - - &Recents - - - - - Aide specifique - - - - - Options - - - - - Traduction - - - - - TraduitV7V8 - - - - - TraduitV8V9 - - - - - TraduitV9V10 - - - - - Acquiert Groupe Maille - - - - - Specificites Maille - - - - - version - - - - - pour - - - - - Parametrage - - - - - Veuillez d abord choisir un code - - - - - Pas de possibilite de personnalisation de la configuration - - - - - &Effacer - - - - - Veuillez entrer le complexe sous forme aster ou sous forme python - - - - - Import du catalogue - - - - - Pas de catalogue defini pour le code - - - - - Aucun catalogue trouve - - - - - Impossible d'importer le catalogue - - - - - avec le catalogue - - - - - Choix d une version du code - - - - - Choix d une version - - - - - Parametre - - - - - Insere un parametre - - - - - item invalide - - - - - l item doit etre valide - - - - - &Ok - &Ok - - - - apres - - - - - Insere un commentaire apres la commande - - - - - avant - - - - - Insere un commentaire avant la commande - - - - - Insere un parametre apres la commande - - - - - Insere un parametre avant la commande - - - - - Supprimer - - - - - supprime le mot clef - - - - - Documentation - - - - - documentation sur la commande - - - - - Documentation Vide - - - - - Aucune documentation n'est associee a ce noeud - - - - - impossible de trouver la commande - - - - - Lecteur PDF - - - - - impossible d'ouvrir - - - - - Commentaire - - - - - ce noeud - - - - - commente le noeud - - - - - Fichiers JDC (*.comm);;Tous les Fichiers (*) - - - - - &Quitter - - - - - Quitter - - - - - Fichier Duplique - - - - - Le fichier ne sera pas sauvegarde. - - - - - Fichier - - - - - Le fichier <b>%s</b> est deja ouvert. - - - - - &Duplication - - - - - &Abort - - - - - Fichier Modifie - - - - - Le fichier %s n a pas ete sauvegarde. - - - - - &Sauvegarder - - - - - SOURCE - - - - - EnveloppeConnexeInducteur - - - - - EnveloppeConnexe2 - - - - - VecteurDirecteur - - - - - Centre - - - - - SectionBobine - - - - - Amplitude - - - - - NbdeTours - - - - - CONDUCTEUR - - - - - Conductivite - - - - - PermeabiliteRelative - - - - - NOCOND - - - - - VCUT - - - - - Orientation - - - - - ZS - - - - - PARAMETRES - - - - - RepCarmel - - - - - TypedeFormule - - - - - Frequence - - - - - Nb_Max_Iterations - - - - - Erreur_Max - - - - - PARAMETRE - - - - - Valeur non modifiable - - - - - Format non implemente - - - - - Type d'objet non prevu - - - - - Select - - - - - Sauve Format Ligne - - - - - %s n'est pas un fichier valide - - - - - Fichier de donnees - - - - - Tous les Fichiers (*) - - - - - nb min de valeurs : - - - - - nb max de valeurs atteint - - - - - TraduitV10V11 - - - - - TraduitV11V12 - - - - - Valeur du mot-clef enregistree - - - - - Valeur du mot-clef non autorisee : - - - - - Un concept de nom %s existe déjà ! - - - - - La cardinalite n'est pas correcte, la derniere valeur est ignoree - - - - - n est pas un tuple de - - - - - valeurs - - - - - Valeur incorrecte - - - - - n est pas un identifiant correct - - - - - - Entrer un float SVP - - - - - Entrer un float inferieur a - - - - - Entrer un float superieur a - - - - - Mauvaise execution - - - - - impossible d executer la methode - - - - - Mauvaise Commande - - - - - Aucune variable connue - - - - - Mauvaise dimension de matrice - - - - - le nombre de ligne n est pas egal a - - - - - le nombre de colonne n est pas egal a - - - - - Mauvaise Valeur - - - - - l element - - - - - n est pas correct - - - - - Modification Impossible - - - - - le parametre n'est pas valide - - - - - n est pas un identifiant correct - - - - - Valeur incorrecte: - - - - - Valeur incorrecte - - - - - Valeur correcte - - - - - impossible d'evaluer : - - - - - La formule passee a l'interpreteur doit etre sous forme de tuple - - - - - Debut - - - - - Pas de nom donne au parametre - - - - - Le parametre %s ne peut valoir None - - - - - Format non implemente : %s - - - - - Impossible de realiser la verification de la formule - - - - - Un concept de nom %s existe deja ! - - - - - existe deja - - - - - - Fichier non encore nomme - - - - - La matrice n'a pas le bon entete - - - - - le mot clef - - - - - doit etre insere avant - - - - - insertion impossible - - - - - doit etre insere apres - - - - - Nb maximum de valeurs atteint - - - - - pas de regle de construction pour ce jeu de commandes - - - - - Gestion Maillage - - - - - Acquiert groupe mailles - - - - - Acquisition Groupe Maille - - - - - VERSION - - - - - NUM - - - - - FILETYPE - - - - - PARAMETERS - - - - - Fichier_maillage - - - - - Echelle_du_maillage - - - - - Formulation - - - - - Timeproblem - - - - - spectral - - - - - Basis - - - - - Fourier - - - - - Ordre - - - - - FREQUENCY - - - - - minimisation - - - - - no - - - - - yes - - - - - nb_procs_para - - - - - POLYMER - - - - - MODEL_DATABASE - - - - - Stabilise - - - - - Non Stabilise - - - - - Local - - - - - ESSAI_OPTION - - - - - MATERIEL - - - - - Cable - - - - - Peinture - - - - - Tuyauterie - - - - - Materiau_De_Cable - - - - - PE - - - - - EPDM - - - - - Modele - - - - - Impossible de convertir le fichier Python qui doit contenir des erreurs. - - On retourne le fichier non converti. Prevenir la maintenance. - - %s - - - - - Eficas ne peut pas traiter plusieurs instructions - sur la meme ligne : %s - - - - - le texte a analyser n'est pas celui d'une commande ou - d'un operateur : %s - - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - - - - - le texte a analyser n'est pas celui d'une commande connue : - %(v_1)s %(v_2)s - v_1 - - - - - jdc %(v_1)s manque - fichier comm dans section %(v_2)s - v_1 - - - - - jdc %(v_1)s, le fichier - de commandes %(v_2)s n'existe pas - v_1 - - - - - jdc %(v_1)s - fichier include %(v_2)s, %(v_3)s - n'existe pas - v_1 - - - - - jdc %(v_1)s manque fichier comm - dans section %(v_2)s - v_1 - - - - - jdc %(v_1)s, le fichier de commandes - %(v_2)s n'existe pas - v_1 - - - - - Objet commande commentarisé invalide - - - - - ATTENTION! Une source constante - n'est possible qu'a frequence nulle - en regime frequentiel - - - - - ERREUR! Une forme de la source du - type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ATTENTION! Une source constante n'est - possible qu'a frequence nulle en regime frequentiel - - - - - ERREUR! Une forme de la source du type - WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue. - - - - - ERREUR! ce groupe de maille (%s) n'a pas de prefixe - indiquant le type de materiau ou de source associee - - - - - ERREUR! ce groupe de maille (%(nom)s) n'a pas - le prefixe correct pour etre associe a un type %(type_bloc)s - nom - - - - - - Include Invalide. - ne sera pas pris en compte - - - - - : verifie les types dans un tuple - - - - - Les types entres ne sont pas permis - - - - - ChoixCode - - - Choix du code - - - - - Veuillez choisir un code : - - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - ChoixCommandes - - - DMacro - - - - - <html><head/><body><p align="center"><span style=" text-decoration: underline;">Affichage</span></p></body></html> - - - - - affiche les commandes par ordre alphabetique - - - - - Alphabetique - - - - - affiche les commandes selon les thèmes - - - - - Ordre de la modélisation - - - - - Par Groupe - - - - - <html><head/><body><p align="center">Filtre Commande</p></body></html> - - - - - filter commands - - - - - affiche les régles de validité - - - - - ... - - - - - Règles de construction - - - - - Sensible à la casse - - - - - Effacer - - - - - selectionne les mots qui CONTIENNENT l expression - - - - - ré-affiche toutes les commandes - - - - - DChoixCata - - - Choix d'une version du code Aster - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2 versions sont disponibles</span></p></body></html> - - - - - &Cancel - - - - - Validate choice - - - - - &OK - - - - - DSelVal - - - Sélection de valeurs - - - - - Separateur - - - - - espace - - - - - virgule - - - - - point-virgule - - - - - Ajouter Selection - - - - - Importer Tout - - - - - DVisu - - - Visualisation Include Materiau - - - - - Eficas - - - MainWindow - - - - - &Fichier - - - - - &Aide - - - - - toolBar - - - - - &Nouveau - - - - - Ctrl+N - - - - - Nouvel Include - - - - - &Ouvrir - - - - - Ctrl+O - - - - - Enregistrer - - - - - Enregistrer sous - - - - - Fermer - - - - - Ctrl+W - - - - - Fermer tout - - - - - Couper - - - - - Ctrl+X - - - - - Copier - - - - - Ctrl+C - - - - - Coller - - - - - Ctrl+V - - - - - Quitter - - - - - Ctrl+Q - - - - - Rapport de Validation - - - - - Fichier Source - - - - - Fichier Résultat - - - - - Parametres Eficas - - - - - Lecteur documentation - - - - - Eficas - - - - - Version - - - - - Supprimer - - - - - Rechercher - - - - - Rechercher dans l'arbre d'etude - - - - - Ctrl+F - - - - - Replier/Deplier - - - - - Tab 1 - - - - - &Edition - - - - - &JeuDeDonnées - - - - - Shift+I - - - - - Ctrl+S - - - - - Ctrl+Shift+S - - - - - Shift+V - - - - - Chercher Mot-Clef - - - - - Rechercher dans le catalogue - - - - - Shift+F - - - - - Shift+D - - - - - Commentaire - - - - - Shift+C - - - - - Paramètres - - - - - Gestion des paramètres - - - - - Shift+P - - - - - Parametre Eficas - - - - - Execution - - - - - Execution - - - - - Save Run - - - - - Patrons - - - - - Run - - - - - &bad - - - - - Régles du JdC - - - - - JDCEditor - - - Save File - - - - - The file <b>%1</b> could not be saved.<br>Reason: %2 - - - - - JDC (*.comm);;All Files (*) - - - - - &Abandonner - &Abandonner - - - - Tuple2 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Tuple3 - - - Form - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Widget4a6RadioButton - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - Détruit le mot-clef - - - - - WidgetBloc - - - Form - - - - - WidgetCB - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetCommande - - - DCommandeUnique - - - - - Affiche le rapport de validité de la commande - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - Nom de l'objet. Seuls, les objets valides peuvent être nommés - - - - - Lance un script associé à la commande - - - - - ouvre un navigateur sur l'aide contextuelle - - - - - affiche les régles de validité - - - - - Détruit la commande - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - TextLabel - - - - - WidgetCommentaire - - - DCommandeUnique - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> - - - - - Détruit le commentaire - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - WidgetDate - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetFact - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - WidgetFactPlie - - - Form - - - - - ... - - - - - TextLabel - - - - - WidgetHeure - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><br/></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetInformative - - - Form - - - - - WidgetOptionnel - - - WidgetOptionnel - - - - - <html><head/><body><p><span style=" color:#0000ff;">commande </span></p></body></html> - - - - - WidgetParam - - - DCommandeUnique - - - - - ... - - - - - <html><head/><body><p><span style=" color:#000000;">Paramètre</span></p></body></html> - - - - - Détruit le commentaire - - - - - Affiche les commandes possibles - - - - - &Commandes - - - - - Shift+A, Alt+A, Alt+A, Alt+A - - - - - Affiche le formulaire de la commande précédente - - - - - << - - - - - Affiche le formulaire de la commande suivante - - - - - >> - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - - - <html><head/><body><p>Nom: </p></body></html> - - - - - Verifie la valeur - - - - - <html><head/><body><p><br/></p></body></html> - - - - - WidgetPlusieursBase - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - - - - - Descend la ligne - - - - - supprime une ligne - - - - - Ajoute une ligne - - - - - Montre l'ensemble des valeurs - - - - - Sélectionne depuis Salome - - - - - Visualise dans Salome - - - - - Ouvre un fichier de sélection des valeurs - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - TextLabel - - - - - WidgetPlusieursInto - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - WidgetPlusieursIntoOrdonne - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - TextLabel - - - - - Remonte d'une ligne - - - - - Descend d'une ligne - - - - - Détruit une ligne - - - - - ajoute une ligne - - - - - visualise l'ensemble des valeurs - - - - - Détruit le mot-clef - - - - - permet de gérer la liste - - - - - WidgetPlusieursPlie - - - Form - - - - - Affiche le rapport de validité du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - permet de gérer la liste - - - - - Détruit le mot-clef - - - - - WidgetPlusieursTuple - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Remonte la ligne - - - - - Descend la ligne - - - - - supprime une ligne - - - - - Ajoute une ligne - - - - - Montre l'ensemble des valeurs - - - - - Ouvre un fichier de sélection des valeurs - - - - - Détruit le mot-clef - - - - - TextLabel - - - - - WidgetRadioButton - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - RadioButton - - - - - Détruit le mot-clef - - - - - WidgetSDCOInto - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html> - - - - - <html><head/><body><p>ou Nom du concept</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetSimpBase - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetSimpBool - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - True - - - - - False - - - - - Détruit le mot-clef - - - - - WidgetSimpComplexe - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Complexe : a+bj - - - - - <html><head/><body><p align="center">OU </p></body></html> - - - - - Réel/Imaginaire - - - - - Module/Phase - - - - - WidgetSimpFichier - - - Form - - - - - Affiche le rapport de validité du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - affiche l'explorateur de fichier - - - - - ouvre le fichier choisi - - - - - Détruit le mot-clef - - - - - WidgetSimpTxt - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetTuple2 - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetTuple3 - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">(</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">,</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-size:14pt;">)</span></p></body></html> - - - - - Détruit le mot-clef - - - - - WidgetUniqueSDCO - - - Form - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - Attend un objet de type CO - - - - - Détruit le mot-clef - - - - - WidgetVide - - - Form - - - - - ... - - - - - <html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html> - - - - - Attend un objet de type XXXX. Il faut le créer - - - - - baseWidget - - - DMacro - - - - - dView - - - Dialog - - - - - Fermer - - - - - Sauver - - - - - desRecherche - - - Rechercher dans le JDC - - - - - Next - - - - - Suivant - - - - - desWidgetCreeParam - - - Gestion des Paramètres - - - - - <html><head/><body><p>Nom: </p></body></html> - - - - - <html><head/><body><p>Valeur: </p></body></html> - - - - - <html><head/><body><p><span style=" text-decoration: underline;">Créer un paramètre</span></p></body></html> - - - - - desWidgetMatrice - - - Dialog - - - - - Affiche le rapport de validation du mot-clef - - - - - ... - - - - - <html><head/><body><p>Met à jour l'en-tête</p></body></html> - - - - - <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> - - - - - self.appliEficas - - - Wrapper Files (*.xml);;All Files (*) - - - - - Noname - - - - - viewRegles - - - Dialog - - - - diff --git a/UiQT4/makefile b/UiQT4/makefile deleted file mode 100644 index ae76eed3..00000000 --- a/UiQT4/makefile +++ /dev/null @@ -1,34 +0,0 @@ -PYUIC = pyuic4 -QTRELEASE = lrelease-qt4 -.PHONY : all -.SUFFIXES : .ui .py .ts .qm - - -PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixLangue.py desChoixCommandes.py \ - desRecherche.py desRechercheCatalogue.py \ - desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \ - desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py \ - desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \ - desWidgetFact.py desWidgetFactPlie.py desWidgetFormule.py desGroupeOptionnel.py \ - desWidgetHeure.py desWidgetInformation.py desWidgetInactif.py \ - desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \ - desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \ - desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \ - desWidgetSimpSalome.py \ - desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \ - desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py - - - -QM_FILES=eficas_en.qm eficas_fr.qm - -%.py:%.ui - ${PYUIC} -x -o $@ $< - -%.qm:%.ts - ${QTRELEASE} -qm $@ $< - -all : $(PY_FILES) $(QM_FILES) -clean : - -rm -rf $(PY_FILES) *.pyc - diff --git a/UiQT4/myMain.ui b/UiQT4/myMain.ui deleted file mode 100644 index c5d95434..00000000 --- a/UiQT4/myMain.ui +++ /dev/null @@ -1,471 +0,0 @@ - - - Eficas - - - - 0 - 0 - 1676 - 811 - - - - - 0 - 0 - - - - MainWindow - - - /* QMenuBar { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgb(226,255,253), stop:1 rgb(191,237,255)); - }*/ - -QMenuBar { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgb(164,165,178), stop:1 rgb(55,66,126)); - } - QMenuBar::item { - spacing: 3px; /* spacing between menu bar items */ - color: white; - padding: 1px 4px; - background: transparent; - border-radius: 4px; - } - - QMenuBar::item:selected { /* when selected using mouse or keyboard */ - background: #a8a8a8; - } - - QMenuBar::item:pressed { - background: #888888; - } - - - - - - - - - - - - - QComboBox{combobox-popup:0;} - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 61 - - - - - 16777215 - 61 - - - - /*background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgb(218,229,248), stop:1 rgb(9,86,109));*/ -/*background-color:rgb(208,225,238)*/ - - - QFrame::NoFrame - - - QFrame::Raised - - - 2 - - - - - - - background-color:rgb(224,223,222) - - - QTabWidget::North - - - 0 - - - true - - - - Tab 1 - - - - - - - - - - 0 - 0 - 1676 - 25 - - - - - &Fichier - - - - - - - - - - - - - - - - &Edition - - - - - - - - - - - - - &JeuDeDonnées - - - - - - - - - - - - &Aide - - - - - - - - - - - - - - toolBar - - - - 36 - 36 - - - - TopToolBarArea - - - false - - - - - - - - - - - - - - - - .. - - - &Nouveau - - - Ctrl+N - - - - - Nouvel Include - - - Shift+I - - - - - &bad - - - - - - .. - - - &Ouvrir - - - Ctrl+O - - - - - - .. - - - Enregistrer - - - Ctrl+S - - - - - Parametres Eficas - - - - - - .. - - - Enregistrer sous - - - Ctrl+Shift+S - - - - - Fermer - - - Ctrl+W - - - - - Fermer tout - - - - - - .. - - - Couper - - - Ctrl+X - - - Qt::ApplicationShortcut - - - - - - .. - - - Copier - - - Ctrl+C - - - Qt::ApplicationShortcut - - - - - - .. - - - Coller - - - Ctrl+V - - - Qt::ApplicationShortcut - - - - - Quitter - - - Ctrl+Q - - - - - Rapport de Validation - - - Shift+V - - - false - - - - - Fichier Source - - - - - Fichier Résultat - - - - - Lecteur documentation - - - - - Eficas - - - - - Version - - - - - - .. - - - Supprimer - - - - - Chercher Mot-Clef - - - Rechercher dans le catalogue - - - Shift+F - - - Qt::ApplicationShortcut - - - - - - .. - - - Rechercher - - - Rechercher dans l'arbre d'etude - - - Ctrl+F - - - Qt::ApplicationShortcut - - - - - Replier/Deplier - - - Shift+D - - - - - Commentaire - - - Shift+C - - - - - - ../Editeur/icons/parametres.png../Editeur/icons/parametres.png - - - Paramètres - - - Gestion des paramètres - - - Shift+P - - - - - Parametre Eficas - - - - - Régles du JdC - - - - - - diff --git a/UiQT5/desWidgetFactHorizon.ui b/UiQT5/desWidgetFactHorizon.ui new file mode 100644 index 00000000..0ccdf54f --- /dev/null +++ b/UiQT5/desWidgetFactHorizon.ui @@ -0,0 +1,428 @@ + + + WidgetFactHorizon + + + + 0 + 0 + 949 + 53 + + + + Qt::StrongFocus + + + Form + + + QGroupBox { + border: 1px solid gray; + border-radius: 5px; + margin-top: 1ex; /* leave space at the top for the title */ + } + + QGroupBox::title { + padding: 0 3px; + } + + + + 0 + + + 0 + + + 2 + + + 0 + + + 0 + + + + + 0 + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 21 + 15 + + + + + 21 + 21 + + + + border : 0px + + + ... + + + + ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png + + + + 21 + 21 + + + + + + + + + + Qt::Vertical + + + + + + + + + + + 0 + + + + + + 17 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 21 + 25 + + + + + + + + 0 + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 12121213 + 25 + + + + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 1500 + 16 + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Qt::ClickFocus + + + Lance un script associé à la commande + + + border : 0px + + + ... + + + + ../Editeur/icons/roue.png../Editeur/icons/roue.png + + + + 21 + 31 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/point-interrogation30.png../Editeur/icons/point-interrogation30.png + + + + 21 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png + + + + 21 + 25 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + +
diff --git a/UiQT5/desWidgetPlusieursInto.ui b/UiQT5/desWidgetPlusieursInto.ui index b99f222b..fdddf0fa 100644 --- a/UiQT5/desWidgetPlusieursInto.ui +++ b/UiQT5/desWidgetPlusieursInto.ui @@ -292,7 +292,7 @@ - Originel + Original diff --git a/VirtualPolymer/VP b/VirtualPolymer/VP new file mode 100644 index 00000000..983ed055 --- /dev/null +++ b/VirtualPolymer/VP @@ -0,0 +1,5 @@ +[c_pre_polymer_data_management] +gui = True +data_base = local/ +backup = False +folder_output = /tmp diff --git a/VirtualPolymer/VP_Cata_V2.py b/VirtualPolymer/VP_Cata_V2.py index ecc96275..87c03918 100644 --- a/VirtualPolymer/VP_Cata_V2.py +++ b/VirtualPolymer/VP_Cata_V2.py @@ -7,9 +7,29 @@ import listesDB monDico= { 'Equation_Liste' : ('initiation', 'propagation', 'termination', 'stabilization'), 'Modele_TechnicalUse' : ('cable', 'coating', 'pipes'), + 'Aging_Factor' : { 'predefinedSimulationTime' : ('40years BR top', '40years BR bottom')}, + 'Boundary_Conditions' : ('flux_volume','flux_surface','constant_constration','convection_flux'), + 'postTraitement_Typ' : ('chimique','mecanique','physique'), } monModele=listesDB.sModele().monModele +monPost=listesDB.sModele().monPost + +import types +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 + JdC = JDC_CATA(code='VP', execmodul=None, @@ -21,7 +41,12 @@ Equation = PROC (nom="Equation", op=None, #--------------------------------- Equation_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ), + #b_suite = BLOC(condition = "Equation_DB == 'My data base' ", Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", "Equation creation"),), + #), + #b_suite_2 = BLOC(condition = "Equation_DB == 'Approved data base' ", + #Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", ),), + #), # --------------------------------------------------------------------------- b_type_show = BLOC(condition = " Equation_Type == 'Show equation database'", @@ -37,6 +62,7 @@ Equation = PROC (nom="Equation", ), # Fin b_reaction_type ListeEquation = SIMP(statut='o', typ='TXM', homo='SansOrdreNiDoublon',siValide=lienDB.afficheValeurEquation), + #ListeEquation = SIMP(statut='o', typ='TXM', homo='SansOrdreNiDoublon'), b_modification = BLOC(condition = " ListeEquation != None ", modification = SIMP(typ = bool, statut = 'o',defaut = False, fr='toto', ang='toto en anglais', siValide=lienDB.instancieChemicalFormulation), @@ -55,6 +81,7 @@ Equation = PROC (nom="Equation", ),# fin ConstanteOptionnelle Commentaire = SIMP (statut = 'f', typ = 'TXM', defaut = ' '), + ),# fin b_modif ), # fin b_modification @@ -117,43 +144,160 @@ Modele = PROC (nom="Modele", # --------------------------------------------------------------------------- b_type_creation = BLOC(condition = " Modele_Type == 'Modele creation'", # --------------------------------------------------------------------------- - technicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],defaut=monModele.technical_use ), - modeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,), - material=SIMP(statut='o',typ='TXM',defaut=monModele.materiaux[0],), - stabilizer = SIMP(typ = bool, statut = 'o',defaut = monModele.stabilise), - model_developed_by_for_EDF = SIMP(typ = bool, statut = 'o',defaut = monModele.dvt_EDF[0]), - documentation=SIMP(statut='o',typ='TXM',defaut=monModele.reference,), + ID=FACT(statut='o', + technicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],defaut=monModele.technical_use ), + modeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,), + material=SIMP(statut='o',typ='TXM',defaut=monModele.materiaux[0],), + agingType=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'), defaut=monModele.type_vieil), + stabilizer = SIMP(typ = bool, statut = 'o',defaut = monModele.stabilise), + material_thickness = SIMP(typ = 'TXM', statut = 'o',defaut = monModele.thickness, into = ['thin','thick']), + # il faudrait que position=global_jdc fonctionne + model_developed_by_for_EDF = SIMP(typ = bool, statut = 'o',defaut = monModele.dvt_EDF[0]), + documentation=SIMP(statut='o',typ='TXM',defaut=monModele.reference,), + ), # fin ID # ajouter la liste des equations et le remove (il faut garder ceux qu on a enlever) + Chemical_Equation = FACT( statut='o', + Initial_Equation_List=SIMP(statut='o',typ='TXM',max="**",homo='SansOrdreNiDoublon',into=[],defaut=[], siValide=lienDB.recupereModeleEquation), AjoutEquation=SIMP(statut= 'o',typ= bool, defaut=False, siValide=lienDB.recupereModeleEquation), b_ajout_equation = BLOC(condition = " AjoutEquation == True", - listeEquation_initiation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ), - listeEquation_propagation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ), - listeEquation_termination=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ), - listeEquation_stabilization=SIMP(statut='o',typ='TXM', homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ), + listeEquation_initiation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ), + listeEquation_propagation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ), + listeEquation_termination=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ), + listeEquation_stabilization=SIMP(statut='o',typ='TXM', homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ), ),# fin b_ajout_equation + ), # fin Equation # coefficients monModele.coef = liste de dictionnaire mais il faut prendre que le 0 # on enleve ceux qui commence par D, S et B(casse imprtante) # la clef est le coef, puis les valeurs - Aging_Type=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'), defaut=monModele.type_vieil), - Diffusion = SIMP(typ = bool, statut = 'o',defaut = monModele.diffusion,siValide = lienDB.prepareDiffusion), + + #b_material_thickness = BLOC(condition = "material_thickness == 'thick'", + # si position=global fonctionne + Transport = FACT( statut = 'o', + #Diffusion = SIMP(typ = bool, statut = 'o',defaut = monModele.diffusion,siValide = lienDB.prepareDiffusion), + Diffusion = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion), b_diffusion = BLOC(condition = " Diffusion == True", - #coefficients monModele.coef = liste de dictionnaire mais il faut prendre que le 0 - # on met ceux qui commence par D, S et pas les B ni les aitres( casse imprtante) - listeProduitPourLaDiffusion=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = monModele.param_ini.keys(),siValide=lienDB.ajouteDiffusion), - ), # fin b_diffusion + listeProduitPourLaDiffusion=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteDiffusion), + ), # fin b_diffusion + + Evaporation = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion), + b_evaporation = BLOC(condition = " Evaporation == True", + listeProduitPourLEvaporation=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteEvaporation), + ), # fin b_evaporation - ), # fin b_type_creation + + ), # fin TRANSPORT + #), # fin b_material_thickness + + Coefficients = FACT( statut = 'o', + Coef_k2 = SIMP (statut ='o', typ='R'), + Coef_ku1 = SIMP (statut ='o', typ=Tuple(2),validators = VerifTypeTuple(('R','R')),), + ), + Parametres_Initiaux = FACT( statut = 'o', + Param_POOH=SIMP (statut ='o', typ='R'), + # La liste est la meme que le INTO des listeProduitsPourlaDiffusion + # la valeur par defaut si elle existe est contenue dans modele.param_ini['POOH'] + ), #AjoutEquation=Fact(statut='f', # Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],siValide=lienDB.recupereModeleEquation), #), # fin AjoutEquation + ), # fin Creation +# --------------------------------------------------------------------------- + b_type_modification = BLOC(condition = " Modele_Type == 'Show modele database'", +# --------------------------------------------------------------------------- + technicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],siValide=lienDB.creeListeMateriauxSelonModele), + b_technicalUse = BLOC (condition = 'technicalUse != None and technicalUse != ""', + material= SIMP (statut ='o', typ='TXM',siValide=lienDB.creeListeModelesPossibles), + modele= SIMP (statut ='o', typ='TXM',siValide=lienDB.choisitModele), + b_modele = BLOC (condition = 'modele != None and modele != ""', + action = SIMP (statut ='o', typ='TXM',into = ['display','use','modify'], siValide=lienDB.choisitActionModele), +# --------------------------------------------------------------------------- + b_type_modify = BLOC(condition = " action == 'modify'", +# --------------------------------------------------------------------------- + ID=FACT(statut='o', + modeleName=SIMP(statut='o',typ='TXM'), + technicalUse= SIMP(statut= 'o',typ= 'TXM', into=monDico['Modele_TechnicalUse'] ), + material=SIMP(statut='o',typ='TXM'), + agingType=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio')), + stabilizer = SIMP(typ = bool, statut = 'o',), + material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']), + # il faudrait que position=global_jdc fonctionne + model_developed_by_for_EDF = SIMP(typ = bool, statut = 'o',), + documentation=SIMP(statut='o',typ='TXM',), + + +# il faut recopier toute la suite en changeant eventuellement le nom du modele +# il faut cocher toutes les equations par defaut + + ), # fin ID + ), # fin b_type_modify +# --------------------------------------------------------------------------- + b_type_use = BLOC(condition = " action == 'use'", +# --------------------------------------------------------------------------- + simulationName=SIMP(statut='o',typ='TXM'), + outputFolder = SIMP(statut="o", typ="Repertoire",siValide=lienDB.creeCoefAModifier), + ), # fin b_type_use +# --------------------------------------------------------------------------- + b_type_use2 = BLOC(condition = " action == 'use'", +# --------------------------------------------------------------------------- + Aging_Factor = FACT(statut='o', + predefinedSimulationTime = SIMP(statut='o',typ='TXM',into=monDico['Aging_Factor']['predefinedSimulationTime'],siValide=lienDB.remplirAgingFactor), + simulationTime=SIMP(statut='o',typ='R',), + numberOfNodes=SIMP(statut='o',typ='I',val_min=3,siValide=lienDB.creeInitialParameter), + sampleThickness=SIMP(statut='o',typ='R',), + #debitOfDose=SIMP(statut='o',typ='R',), + temperature=SIMP(statut='o',typ='R',), + oxygenPressure=SIMP(statut='o',typ='R',), + polymerConcentration=SIMP(statut='o',typ='R',), + ), + Initial_Parameter = FACT(statut='o', + max='**', + ), + Boundary_Conditions_Param = FACT(statut='o', + diffusionSpecies=SIMP(statut='o',typ='TXM',defaut='O2', into=['O2',]), + nodeNumber = SIMP(statut='o',typ='I',defaut=1, into=[1]), # tjours1 + Boundary_Conditions_O2_1 = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']), + BC_Value_Espece_1=SIMP(statut='o',typ='R'), + nodeNumber_Espece_4 = SIMP(statut='o',typ='I',defaut=4, into=[4]), # numberOfNodes+1 + Boundary_Conditions_Espece_4 = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']), + BC_Value_Espece_4=SIMP(statut='o',typ='R'), + ), + + ), # fin b_type_use2 + ), # fin b_modele + ), # fin b_technicalUse + ), # fin modification Commentaire = SIMP (statut = 'f', typ = 'TXM'), ) # Fin Modele +#--------------------------------- +PostTraitement = PROC (nom="PostTraitement", + op=None, + postTraitement_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ), + postTraitement_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show post-traitement database", "post-traitement creation"),), +# --------------------------------------------------------------------------- + b_post_creation = BLOC(condition = " postTraitement_Type == 'post-traitement creation'", + postTraitement_Name=SIMP(statut= 'o',typ= 'TXM',defaut=monPost.nom,), + generic=SIMP(statut= 'o',typ= bool,defaut=monPost.general,), + postTraitement_Typ = SIMP(statut= 'o',typ= 'TXM', into=monDico['postTraitement_Typ'],homo='SansOrdreNiDoublon',max='**',defaut=monPost.type_post), + calculation= FACT(statut='o', + # il faut un fact horizontal + calculation_results=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.calculation_results,defaut=monPost.calculation_results), + results_units=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.results_units,defaut=monPost.results_units), + #integrate=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.results_units,defaut=monPost.results_units), + prerequisite=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.prerequisite,defaut=monPost.prerequisite), + + ), + constituant=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.constituants,defaut=monPost.constituants) + + )# fin b_post_creation +# --------------------------------------------------------------------------- +#--------------------------------- +) #PostTraitement diff --git a/VirtualPolymer/lienDB.py b/VirtualPolymer/lienDB.py index fe97f1d1..b834fc4d 100644 --- a/VirtualPolymer/lienDB.py +++ b/VirtualPolymer/lienDB.py @@ -1,4 +1,5 @@ # coding: utf-8 + import types import sys,os @@ -7,7 +8,28 @@ import listesDB maClasseDelistesDB = listesDB.classeListesDB() monModele=listesDB.sModele().monModele +monPost=listesDB.sModele().monPost + +import types +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 + + __repr__=info + __str__=info + + +dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}} # -------------------------------------- # Fonctions appellees depuis le catalogue @@ -24,6 +46,7 @@ def recupereDicoEquation(monMC): if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return editor=monMC.jdc.editor + monMC.dsMaFunct = True valeurDB=editor.getValeur('Equation','Equation_DB',()) maClasseDelistesDB.metAJour(valeurDB) @@ -60,15 +83,16 @@ def recupereDicoEquation(monMC): def afficheValeurEquation(monMC): # Equation b_modification modification + print (monMC) if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return valeur=monMC.valeur if valeur == None : return maClasseDelistesDB.valeurEquationChoisie=str(valeur) monEquation=maClasseDelistesDB.dicoListAffiche[str(valeur)] - aAfficher='jkljkljk \n je ne sais plus \njfkqsljqfkl\nkfsjqklfjkl\n' + aAfficher=str(monEquation) editor=monMC.jdc.editor - editor._viewText(aAfficher, "Rapport",largeur=30,hauteur=150) + editor._viewText(aAfficher, "Id",largeur=80,hauteur=300) monMC.dsMaFunct = False @@ -82,6 +106,8 @@ def instancieChemicalFormulation(monMC): if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return editor.dsMaFunct = True + for e in monMC.jdc.etapes: + if e.nom == 'Equation' :break print ('ds instancie') v=maClasseDelistesDB.valeurEquationChoisie monEquation=maClasseDelistesDB.dicoListAffiche[v] @@ -101,6 +127,7 @@ def instancieChemicalFormulation(monMC): monMcl2=('Differential_Equation','TXM',{'statut':'o','defaut':valeurEquation}) listeMC=(monMcl1,monMcl2) editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') + #editor.ajoutMCFact (e,('b_type_show','b_modification','b_modif',),valeurConstituant) print (index,valeurConstituant,valeurEquation) #OptionnelConstituant = FACT ( statut = 'f',max = '**', @@ -115,7 +142,8 @@ def instancieChemicalFormulation(monMC): monMcl2=('ConstanteType','TXM',{'statut':'o','defaut':valeurConstanteType,'into': ('Arrhenius type','non Arrhenius type') }) listeMC=(monMcl1,monMcl2) editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') - print (index,valeurConstituant,valeurConstanteType) + #editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) + change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Commentaire'),monEquation.comment ) print (monEquation.comment ) @@ -124,37 +152,50 @@ def instancieChemicalFormulation(monMC): monMC.dsMaFunct = False editor.dsMaFunct = False -# TEMPORAIRE -# TODO TODO TODO -# PNPNPNPNPN def recupereDicoModele(monMC): if monMC.valeur == None: return if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + monMC.dsMaFunct = True print ('je passe dans recupereDicoModele') - listEquation, listModele,listPostTraitement=recupereDicoGenerique(monMC) + editor=monMC.jdc.editor - editor.maClasseVisuEquation = classeVisuEquation({},listEquation, listModele,listPostTraitement) + valeurDB=editor.getValeur('Modele','Modele_DB',()) + maClasseDelistesDB.metAJour(valeurDB) + + print ('fin recupereDicoModele') monMC.dsMaFunct = False def creeListeEquation(monMC): if monMC.valeur == None: return if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor -# TEMPORAIRE -# TODO TODO TODO + if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + editor.dsMaFunct = True + print ('debut de creeListeEquation') + listeEquationsAAfficher=[] listeConstantesAAfficher=[] - for index,equation in enumerate( editor.maClasseVisuEquation.listEquation): + listeInitialEquations=[] + + listEquation=maClasseDelistesDB.getListEquation() + for index,equation in enumerate( listEquation): if index in monModele.equa: listeEquationsAAfficher.append(equation.representation) listeConstantesAAfficher.append(equation.const_cine_nom) + t=equation.representation+'\t\t\t\t '+str(equation.const_cine_nom) + listeInitialEquations.append(t) + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','Initial_Equation_List'),listeInitialEquations ) + maClasseDelistesDB.listeEquationsAAfficher = listeEquationsAAfficher + maClasseDelistesDB.listeConstantesAAfficher = listeConstantesAAfficher monMC.dsMaFunct = False + print ('fin de creeListeEquation') + + editor.dsMaFunct = False # listeEquation_stabilization=SIMP(statut='o', homo='SansOrdreNiDoublon', max='**', min=0 ), @@ -163,74 +204,334 @@ def recupereModeleEquation(monMC): if monMC.valeur==False : return editor=monMC.jdc.editor if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + editor.dsMaFunct = True + print ('je suis dans recupereModeleEquation') editor.dsMaFunct = True dicoListeEquationAAfficher={} + from VP_Cata_V2 import monDico + listEquation=maClasseDelistesDB.getListEquation() for valeurReactionType in monDico['Equation_Liste']: dicoListeEquationAAfficher[valeurReactionType] = [] - for index,equation in enumerate( editor.maClasseVisuEquation.listEquation): + for index,equation in enumerate( listEquation): if equation.type_react==valeurReactionType : dicoListeEquationAAfficher[valeurReactionType].append(equation.representation) - print (dicoListeEquationAAfficher) + maClasseDelistesDB.dictParametresInitiaux[equation.representation]=equation + #print (dicoListeEquationAAfficher) + #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) + prepareDiffusionSansMC(editor,monMC.nom) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation'] ) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] ) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] ) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] ) + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation']) + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] ) + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] ) + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] ) if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() + + print ('fin recupereModeleEquation') + monMC.dsMaFunct = False editor.dsMaFunct = False +def ajoutDUneEquation(monMC): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + if monMC.valeur==False : return + editor=monMC.jdc.editor + prepareDiffusionSansMC(editor,monMC.nom) + if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + editor.dsMaFunct = False + monMC.dsMaFunct = False + def prepareDiffusion(monMC): - print ('je suis dans prepareDiffusion') if monMC.valeur==False : return if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return monMC.dsMaFunct=True editor=monMC.jdc.editor if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return editor.dsMaFunct = True - editor.dicoCoefS={} - editor.dicoCoefD={} - for c in monModele.coef[0].keys() : - if c[0]=='S': - clef=c[1:] - valeur= monModele.coef[0][c] - editor.dicoCoefS[clef]=valeur + print ('je suis dans prepareDiffusion', monMC.nom) + prepareDiffusionSansMC(editor,monMC.nom) + print ('fin de prepareDiffusion', monMC.nom) + monMC.dsMaFunct=False + editor.dsMaFunct = False + +def prepareDiffusionSansMC(editor,monMCNom): + lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),) + lInitialCoche=[] + for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0]) + lInititiationCoche=editor.getValeur('Modele','listeEquation_initiation', ('b_type_creation','Chemical_Equation',)) + lPropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',)) + lTerminationCoche=editor.getValeur('Modele','listeEquation_termination', ('b_type_creation','Chemical_Equation',)) + lStabilizationCoche=editor.getValeur('Modele','listeEquation_stabilization', ('b_type_creation','Chemical_Equation',)) + + print (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche) + for liste in (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche): + # Il est possible qu'une liste soit vide lors de l initialisation + if liste == None : continue + for equation in liste : + print (equation) + for const in maClasseDelistesDB.dictParametresInitiaux[equation].constituants : + if const not in maClasseDelistesDB.listeParametresInitiaux : maClasseDelistesDB.listeParametresInitiaux.append(const) + #for coef in maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom : + # if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) + for num,coef in enumerate(maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom ): + maClasseDelistesDB.dicoCoefAffichageArr[coef]=maClasseDelistesDB.dictParametresInitiaux[equation].arrhenius[num] + if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) + + #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) + if monMCNom == 'Diffusion' : + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_diffusion','listeProduitPourLaDiffusion'), maClasseDelistesDB.listeParametresInitiaux ) + if monMCNom == 'Evaporation' : + change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_evaporation','listeProduitPourLEvaporation'), maClasseDelistesDB.listeParametresInitiaux ) + + if monMCNom in ('Evaporation','Diffusion') : + for c in list(monModele.coef[0].keys()) : if c[0]=='D': clef=c[1:] - valeur= monModele.coef[0][c] - editor.dicoCoefD[clef]=valeur - print (editor.dicoCoefS,editor.dicoCoefD) + if clef in maClasseDelistesDB.listeParametresInitiaux : + maClasseDelistesDB.listeCoefD.append(clef) + maClasseDelistesDB.listeCoefInitiaux.append('D'+clef) + maClasseDelistesDB.listeCoefInitiaux.append('S'+clef) + else : + maClasseDelistesDB.listeCoefASupprimer.append('S'+clef) + maClasseDelistesDB.listeCoefASupprimer.append('D'+clef) + if c[0]=='B': + clef=c[1:] + if clef in maClasseDelistesDB.listeParametresInitiaux : + maClasseDelistesDB.listeCoefB.append(clef) + maClasseDelistesDB.listeCoefInitiaux.append(c) + else : + maClasseDelistesDB.listeCoefASupprimer.append(c) + print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefB) + print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefD) + print ('maClasseDelistesDB.listeCoefInitiaux',maClasseDelistesDB.listeCoefInitiaux) + print ('maClasseDelistesDB.listeCoefASupprimer',maClasseDelistesDB.listeCoefASupprimer) + print ('maClasseDelistesDB.listeParametresInitiaux',maClasseDelistesDB.listeParametresInitiaux) + # au lieu des print il faut mettre a jour le MC Fact Coefficients avec ,maClasseDelistesDB.listeCoefInitiaux et le MC FACT + # Paraetres_initiaux avec maClasseDelistesDB.listeParametresInitiaux + # TO DO TO DO PNPN + # si on arrive avex + # if monMC.nom = Diffusion + if monMCNom == 'Diffusion' : + editor.setValeur('Modele','listeProduitPourLaDiffusion' ,maClasseDelistesDB.listeCoefD, ('b_type_creation','Transport','b_diffusion',)) + #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefD') + # if monMCNom == 'Evaporation' : + #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefB') + + + +def ajouteEvaporation(monMC): + print ('je suis dans ajouteDiffusion') + if monMC.valeur == None : return + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + editor=monMC.jdc.editor + if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + + monMC.dsMaFunct=True + for v in monMC.valeur : + clef='B'+v + if clef not in maClasseDelistesDB.listeCoefInitiaux : + maClasseDelistesDB.listeCoefInitiaux.append(clef) + + print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) monMC.dsMaFunct=False editor.dsMaFunct = False - def ajouteDiffusion(monMC): print ('je suis dans ajouteDiffusion') if monMC.valeur == None : return - print (monMC.valeur) if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + editor=monMC.jdc.editor + if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + monMC.dsMaFunct=True + for v in monMC.valeur : + clef='D'+v + if clef not in maClasseDelistesDB.listeCoefInitiaux : + maClasseDelistesDB.listeCoefInitiaux.append(clef) + maClasseDelistesDB.listeCoefInitiaux.append('S'+v) + maClasseDelistesDB.dicoCoefAffichageArr[clef] = True + maClasseDelistesDB.dicoCoefAffichageArr['S'+v] = False + #maClasseDelistesDB.dicoCoefAffichageArr['B'+v] = True + + # on affiche dans l interface un mot clef avec clef comme nom et + # 2 reels si ce commence par D soit iniitialise a 0 si pas de valeur + # soit avec comme deifaut nomCoef in monModele.coef[0].keys() + print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) + + for nomCoef in maClasseDelistesDB.listeCoefInitiaux: + #A jout Ds Coef d'un MC + nomMC='Coef_'+nomCoef + if maClasseDelistesDB.dicoCoefAffichageArr[nomCoef] == True: + print ('2 r'), + if nomCoef in monModele.coef[0].keys() : + print (monModele.coef[0][nomCoef]) + else : + print ((0,0)) + else : + print ('1 r') + if nomCoef in monModele.coef[0].keys() : + print (monModele.coef[0][nomCoef]) + else : + print (0) + + print ('______________________') + #for v in monMC.valeur : + # print (v) + # mesValeurs=editor.dicoCoefS[v] + # MCFils='S'+v + # for e in monMC.jdc.etapes: + # if e.nom == 'Modele' :break + # editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' ) + # editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) + # print ('______') + #if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() + monMC.dsMaFunct=False + editor.dsMaFunct = False + + +# -------------------------------------------------------------------------------------------- +# pour les modeles en modification ou en utilisation +# -------------------------------------------------------------------------------------------- +def creeListeMateriauxSelonModele(monMC): + if monMC.valeur == None : return + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return editor=monMC.jdc.editor if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = True + valeurDB=editor.getValeur('Modele','Modele_DB',()) + maClasseDelistesDB.metAJour(valeurDB) + listModele=maClasseDelistesDB.getListModele() + listModeleFiltre=[] + listMateriauxFiltre=[] + for modele in listModele : + if modele.technical_use == monMC.valeur : + maClasseDelistesDB.dicoModeleFiltre[modele.nom]=modele + listModeleFiltre.append(modele.nom) + if type(modele.materiaux) not in (list, tuple): modeleATraiter= modele.materiaux + else : modeleATraiter= modele.materiaux[0] + if modeleATraiter not in listMateriauxFiltre : + listMateriauxFiltre.append(modeleATraiter) + maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter]=[modele.nom,] + else : + maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter].append(modele.nom) + + + + change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','material'),listMateriauxFiltre ) + + monMC.dsMaFunct=False + editor.dsMaFunct = False + +def creeListeModelesPossibles(monMC): + if monMC.valeur == None : return + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + editor=monMC.jdc.editor + if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return + change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','modele'),maClasseDelistesDB.dicoMateriauxFiltre[monMC.valeur] ) - for v in monMC.valeur : - print (v) - mesValeurs=editor.dicoCoefS[v] - print (editor.dicoCoefS) - print (mesValeurs) - MCFils='S'+v - for e in monMC.jdc.etapes: - if e.nom == Modele :break - - print (e) - editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' ) - print ('ggggg') - editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) - print ('______') - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() monMC.dsMaFunct=False editor.dsMaFunct = False +def choisitModele(monMC): + # Equation b_modification modification + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + valeur=monMC.valeur + if valeur == None : return + modele=maClasseDelistesDB.dicoModeleFiltre[monMC.valeur] + maClasseDelistesDB.monModele=modele + monMC.dsMaFunct = False + +def choisitActionModele(monMC): + if monMC.valeur == 'display' : afficheModele(monMC) + if monMC.valeur == 'modify' : changeValeurDefautModele(monMC) + +def afficheModele(monMC): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + valeur=monMC.valeur + aAfficher=str(maClasseDelistesDB.monModele) + editor=monMC.jdc.editor + editor._viewText(aAfficher, "Id",largeur=700,hauteur=500) + + monMC.dsMaFunct = False + +def changeValeurDefautModele(monMC): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + monMC.dsMaFunct = True + editor=monMC.jdc.editor + change=editor.changeIntoMCandSet('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID','modeleName'),(maClasseDelistesDB.monModele.nom,),maClasseDelistesDB.monModele.nom, ) + editor.setValeur('Modele','technicalUse',maClasseDelistesDB.monModele.technical_use, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + + editor.setValeur('Modele','material',maClasseDelistesDB.monModele.materiaux, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + editor.setValeur('Modele','agingType',maClasseDelistesDB.monModele.type_vieil, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + + if maClasseDelistesDB.monModele.stabilise == 'True' : monBool = True + else : monBool = False + editor.setValeur('Modele','stabilizer',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + editor.setValeur('Modele','material_thickness',maClasseDelistesDB.monModele.thickness, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + + if maClasseDelistesDB.monModele.dvt_EDF == 'True' : monBool = True + else : monBool = False + editor.setValeur('Modele','model_developed_by_for_EDF',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + editor.setValeur('Modele','documentation',maClasseDelistesDB.monModele.reference, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) + if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() + monMC.dsMaFunct = False + + + +def creeCoefAModifier(monMC): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + if monMC.valeur == None : return + monMC.dsMaFunct = True + editor=monMC.jdc.editor + dicoArr={} + dicoNonArr={} + for coef in maClasseDelistesDB.monModele.coef[0] : + if len (maClasseDelistesDB.monModele.coef[0][coef]) == 1 : + dicoNonArr[coef]=maClasseDelistesDB.monModele.coef[0][coef][0] + else : + dicoArr[coef]=maClasseDelistesDB.monModele.coef[0][coef] + if coef[0] == 'D' : maClasseDelistesDB.listeDiffusion.append(coef[1:]) + print (dicoNonArr) + print (dicoArr) + if 'ri' in dicoNonArr : + print ('ajoutDefinitionMC debitOfDose') + editor.ajoutDefinitionMC('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor'), 'debitOfDose',typ='R',statut='o' ) + + for coef in dicoNonArr : + print (coef) + # attention, notation scientifique + editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use',),coef, 'R', statut='o',defaut=dicoNonArr[coef]) + # a faire marcher + # pour les Arr il faut un tuple(2) + + # il fait creer un fact Boundary_Conditions_Param pour chacque espece de listeDiffusion + + if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() + + monMC.dsMaFunct = False + + +def remplirAgingFactor(monMC): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + if monMC.valeur == None : return + monMC.dsMaFunct = True + editor=monMC.jdc.editor + if monMC.valeur in dicoAgingFactor: + print (monMC.valeur, 'trouve') + for MC in dicoAgingFactor[monMC.valeur]: + print (MC) + print (dicoAgingFactor[monMC.valeur][MC]), + editor.setValeur('Modele',MC,dicoAgingFactor[monMC.valeur][MC],('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor')) + monMC.dsMaFunct = False + + +def creeInitialParameter(monMC): + print ('je passe dans creeInitialParameter') + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + if monMC.valeur == None : return + monMC.dsMaFunct = True + editor=monMC.jdc.editor + for coef in maClasseDelistesDB.monModele.param_ini: + editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use2','Initial_Parameter'),coef, 'R', statut='o',defaut=maClasseDelistesDB.monModele.param_ini[coef][0]) + monMC.dsMaFunct = False + # creer nbdenode = monMC.valeur Initial_Parameter diff --git a/VirtualPolymer/listesDB.py b/VirtualPolymer/listesDB.py index fbef9b46..e95cfa78 100644 --- a/VirtualPolymer/listesDB.py +++ b/VirtualPolymer/listesDB.py @@ -21,6 +21,7 @@ class sModele : def __init__ (self): self.monModele=class_data.Modele() + self.monPost=class_data.Post_traitement() # -------------------------------------- @@ -42,11 +43,28 @@ class classeListesDB : self.listPostTraitement = None self.dicoListAffiche = {} self.valeurEquationChoisie = None - + self.listeConstantesAAfficher = [] + self.listeEquationsAAfficher = [] + self.listeCoefD = [] + self.listeCoefB = [] + self.dictParametresInitiaux = {} + self.listeParametresInitiaux= [] + self.listeCoefInitiaux= [] + self.listeCoefASupprimer= [] + self.dicoCoefAffichageArr = {} + self.dicoModeleFiltre = {} + self.dicoMateriauxFiltre = {} + self.monModele = None + self.listeDiffusion = [] + def metAJour(self,valeur): + print ('metAJour') if valeur == None : return correspond=pckdb.DBRENAME self.listEquation, self.listModele,self.listPostTraitement=pckdb.read_pckdb(correspond[valeur]) + self.dicoListeEquation = {} + for equation in self.listEquation : + self.dicoListeEquation[equation.representation]=equation def getListEquation(self): return self.listEquation diff --git a/VirtualPolymer/opsOT.py b/VirtualPolymer/opsOT.py deleted file mode 100644 index e2af4083..00000000 --- a/VirtualPolymer/opsOT.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: iso-8859-1 -*- - -def INCLUDE(self,FileName,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - if hasattr(self,'change_fichier'): - delattr(self,'change_fichier') - delattr(self,'fichier_ini') - - self.make_include2(fichier=FileName) - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - diff --git a/ZCracks/CMakeLists.txt b/ZCracks/CMakeLists.txt deleted file mode 100644 index 62b62ebb..00000000 --- a/ZCracks/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - - -install ( FILES configuration_ZCRACKS.py monCode_Cata.py prefs.py prefs_ZCRACKS.py properties.py qtEficas_ZCracks.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/ZCracks - ) - - - -### Local Variables: -### mode: cmake -### End: diff --git a/ZCracks/configuration_ZCRACKS.py b/ZCracks/configuration_ZCRACKS.py deleted file mode 100644 index 4ab64b85..00000000 --- a/ZCracks/configuration_ZCRACKS.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/ZCracks/mesScripts_ZCRACKS.py b/ZCracks/mesScripts_ZCRACKS.py deleted file mode 100644 index 9756cd67..00000000 --- a/ZCracks/mesScripts_ZCRACKS.py +++ /dev/null @@ -1,28 +0,0 @@ - -def view_med(params,appli) : - mcSimp=params[0].object.get_child('cracked_name') - fileName=mcSimp.valeur - import os - if not os.path.isfile(fileName) : - from PyQt4.QtGui import QMessageBox - QMessageBox.warning( None, "Erreur","Le fichier n'existe pas") - return - result,message=appli.importMedFile(fileName) - if result==1 : return - from PyQt4.QtGui import QMessageBox - QMessageBox.warning( None, "Erreur a l import",message) - return - - -# le dictionnaire des commandes a la structure suivante : -# la clef est la commande qui va proposer l action -# puis un tuple qui contient -# - la fonction a appeler -# - le label dans le menu du clic droit -# - un tuple contenant les parametres attendus par la fonction -# - appelable depuis Salome uniquement -) -# - appelable depuis un item valide uniquement -# - toolTip -dict_commandes={ - 'MAILLAGE_RESULTAT':((view_med,"View Result",('item','editor'),False,False,"affiche dans Smesh le fichier med resultat"),), - } diff --git a/ZCracks/monCode_Cata.py b/ZCracks/monCode_Cata.py deleted file mode 100644 index dc9bbe2e..00000000 --- a/ZCracks/monCode_Cata.py +++ /dev/null @@ -1,66 +0,0 @@ -from Accas import * - -JdC = JDC_CATA (code = 'ZCrack', - execmodul = None, - ) - -class grma(GEOM): - pass - -class grno(GEOM): - pass - -ONGLET="oui" - -MAILLAGES = PROC(nom='MAILLAGES',op=None, - MAILLAGE_SAIN=FACT(statut='o', - sane_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)'),fr= "",ang= "Name of the initial uncracked mesh",statut= "o"), - if_quad=SIMP(typ="I",fr="",ang="1 for quadratic mesh",defaut=0,statut='o',into=[0,1]), - scale=SIMP(typ="R",fr="",ang="",statut='o',defaut=1), - ), - FISSURE=FACT(statut='o', - crack_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)',),fr= "",ang= "Name of the crack surface mesh",statut= "o"), - GENERE_FISSURE=FACT( - regles=(AU_MOINS_UN('ELLIPSE','DISQUE'),), - ELLIPSE=FACT( - center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - ra=SIMP(typ="R",fr="",ang="",statut='o'), - rb=SIMP(typ="R",fr="",ang="",statut='o'), - dir=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - ), - DISQUE=FACT( - center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - rayon=SIMP(typ="R",fr="",ang="",statut='o'), - ), - ), - ), - MAILLAGE_RESULTAT=FACT(statut='o', - cracked_name=SIMP(typ=('Fichier', 'Med Files(med);;All Files (*)','Sauvegarde'),fr= "",ang= "Name of the final mesh",statut= "o"), - crack_id=SIMP(typ="I",fr="",val_min=0, defaut=1), - repertoire=SIMP(typ='Repertoire',fr= "Repertoire ",ang= " Directory",statut= "f",), - ), - GROUPES=FACT(statut='f', - regles=(AU_MOINS_UN('elset_names','faset_names','liset_names','nset_names'),), - elset_names=SIMP(typ=grma,fr="",ang="names of volume element groups to be kept",min=1,max="**",statut="f"), - faset_names=SIMP(typ=grma,fr="",ang="names of surface element groups to be kept",min=1,max="**",statut="f"), - liset_names=SIMP(typ=grma,fr="",ang="names of line element groups to be kept",min=1,max="**",statut="f"), - nset_names=SIMP(typ=grno,fr="" ,ang="names of node element groups to be kept",min=1,max="**",statut="f"), -) -) - -REMESHING=PROC(nom='REMESHING',op=None, - yams_options=SIMP(typ='TXM',fr="",ang="parameters for yams command line",statut="f"), - gradation=SIMP(typ="R",fr="",ang="gradation remeshing parameter",val_max=2.3,defaut=1.3,statut='o'), - min_size=SIMP(typ="R",fr="",ang="minimal element edges length",statut='o'), - max_size=SIMP(typ="R",fr="",ang="maximal element edges length",statut='o'), - nb_iter=SIMP(typ="I",fr="",ang="number of iterations for remeshing process",defaut=2,statut='o'), - ridge_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - topo_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - geom_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - REMAILLAGE_LOCAL=FACT(statut='f', - elset_radius=SIMP(typ="R",fr="",ang="",statut='o'), - ), - filter_tol=SIMP(typ="R",fr="",ang="filtering tolerance for meshing operations",defaut=1.e-6,statut="f"), -) diff --git a/ZCracks/monCode_Cata.py.V0 b/ZCracks/monCode_Cata.py.V0 deleted file mode 100644 index 8ad40ea4..00000000 --- a/ZCracks/monCode_Cata.py.V0 +++ /dev/null @@ -1,40 +0,0 @@ -from Accas import * - -JdC = JDC_CATA (code = 'ZCrack', - execmodul = None, - ) - -class grma(GEOM): - pass - -class grno(GEOM): - pass - -FILES = PROC(nom='FILES',op=None, - crack_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)',),fr= "",ang= "Name of the crack surface mesh",statut= "o"), - sane_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)'),fr= "",ang= "Name of the initial uncracked mesh",statut= "o"), - cracked_name=SIMP(typ=('Fichier', 'Med Files(med);;All Files (*)','Sauvegarde'),fr= "",ang= "Name of the final mesh",statut= "o"), -) -PRESERVATION = PROC(nom='PRESERVATION',op=None, - elset_names=SIMP(typ=grma,fr="",ang="names of volume element groups to be kept",min=1,max="**",statut="f"), - faset_names=SIMP(typ=grma,fr="",ang="names of surface element groups to be kept",min=1,max="**",statut="f"), - liset_names=SIMP(typ=grma,fr="",ang="names of line element groups to be kept",min=1,max="**",statut="f"), - nset_names=SIMP(typ=grno,fr="" ,ang="names of node element groups to be kept",min=1,max="**",statut="f"), -) -REMESHING=PROC(nom='REMESHING',op=None, - gradation=SIMP(typ="R",fr="",ang="gradation remeshing parameter",val_max=2.3,defaut=1.3,statut='o'), - min_size=SIMP(typ="R",fr="",ang="minimal element edges length",statut='o'), - max_size=SIMP(typ="R",fr="",ang="maximal element edges length",statut='o'), - nb_iter=SIMP(typ="I",fr="",ang="number of iterations for remeshing process",defaut=2,statut='o'), - if_quad=SIMP(typ="I",fr="",ang="1 for quadratic mesh",defaut=0,statut='o',into=[0,1]), - - REMESHING_ADVANCED=FACT(statut="f", - yams_options=SIMP(typ='TXM',fr="",ang="parameters for yams command line",statut="f"), - filter_tol=SIMP(typ="R",fr="",ang="filtering tolerance for meshing operations",defaut=1.e-6,statut="f"), - grid_max=SIMP(typ="R",fr="",ang="truncation number for meshing operations",defaut=1.e11,statut="f"), - nb_velem=SIMP(typ="I",fr="",ang="number of element layers which size should be fixed to min_size",defaut=3,statut='f'), - if_barsoum=SIMP(typ="I",fr="",ang="element barsoum",defaut=1,statut='f',into=[0,1]), - -) -) - diff --git a/ZCracks/prefs.py b/ZCracks/prefs.py deleted file mode 100644 index d7a65711..00000000 --- a/ZCracks/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="ZCRACKS" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/ZCracks/prefs_ZCRACKS.py b/ZCracks/prefs_ZCRACKS.py deleted file mode 100644 index 44c905cd..00000000 --- a/ZCracks/prefs_ZCRACKS.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('monCode','default',os.path.join(repIni,'monCode_Cata.py'),'ZCRACKS','python'), -) diff --git a/ZCracks/properties.py b/ZCracks/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/ZCracks/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/ZCracks/qtEficas_ZCracks.py b/ZCracks/qtEficas_ZCracks.py deleted file mode 100755 index b1254f2c..00000000 --- a/ZCracks/qtEficas_ZCracks.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -from PyQt4.QtCore import * -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/boundary_conditions/CMakeLists.txt b/boundary_conditions/CMakeLists.txt new file mode 100644 index 00000000..9d5d3202 --- /dev/null +++ b/boundary_conditions/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +# --- Python files --- + +SET(PYFILES + __init__.py + configuration_boundary_conditions.py + prefs_boundary_conditions.py + prefs.py + boundary_conditions_cata.py + appli.py + generator_boundary_conditions.py +) + +# --- rules --- + +SALOME_INSTALL_SCRIPTS("${PYFILES}" ${SALOME_INSTALL_PYTHON}/salome/hydro/boundary_conditions/eficas) diff --git a/boundary_conditions/__init__.py b/boundary_conditions/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/boundary_conditions/appli.py b/boundary_conditions/appli.py new file mode 100644 index 00000000..b3783292 --- /dev/null +++ b/boundary_conditions/appli.py @@ -0,0 +1,45 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os +import sys + +import SalomePyQt +sgPyQt = SalomePyQt.SalomePyQt() + +import eficasSalome + +class EficasForBoundaryConditionsAppli(eficasSalome.MyEficas): + """ + This class launches Eficas with "boundary_conditions" catalog. + """ + def __init__(self, fichier = None, version = None): + self.codedir = os.path.dirname(__file__) + sys.path[:0] = [self.codedir] + eficasSalome.MyEficas.__init__(self, sgPyQt.getDesktop(), "boundary_conditions", + fichier, version = version) + + def addJdcInSalome(self, jdcPath): + """ + Those files are not added in Salome study tree for now. + """ + pass + + def closeEvent(self, event): + while self.codedir in sys.path: + sys.path.remove(self.codedir) + eficasSalome.MyEficas.closeEvent(self, event) diff --git a/boundary_conditions/boundary_conditions_cata.py b/boundary_conditions/boundary_conditions_cata.py new file mode 100644 index 00000000..f41671c3 --- /dev/null +++ b/boundary_conditions/boundary_conditions_cata.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +from Accas import * + +class grma(GEOM): + """ + Class used to define the group on which the boundary condition is defined. + Method __convert__ is redefined to skip the test on the string length. + """ + def __convert__(cls, valeur): + if isinstance(valeur, (str, unicode)): + return valeur.strip() + raise ValueError('A string is expected') + + __convert__ = classmethod(__convert__) + + +JdC = JDC_CATA(regles = (AU_MOINS_UN('BOUNDARY_CONDITION',)), + ) + +BOUNDARY_CONDITION = PROC( + nom = "BOUNDARY_CONDITION", op = None, + fr = u"Définition d'une condition limite pour Telemac2D", + ang = u"Definition of a boundary condition for Telemac2D", + + GROUP = SIMP(statut = "o", typ = grma, + fr = u"Groupe sur lequel la condition limite est définie", + ang = u"Group on which the boundary condition is defined", + ), + LIHBOR = SIMP(statut = "o", typ = "I", + fr = u"Type de condition limite pour la hauteur d'eau", + ang = u"Boundary condition type for the water height", + ), + LIUBOR = SIMP(statut = "o", typ = "I", + fr = u"Type de condition limite pour la composante U de la vitesse", + ang = u"Boundary condition type for the U component of the water velocity", + ), + LIVBOR = SIMP(statut = "o", typ = "I", + fr = u"Type de condition limite pour la composante V de la vitesse", + ang = u"Boundary condition type for the V component of the water velocity", + ), +) diff --git a/boundary_conditions/configuration_boundary_conditions.py b/boundary_conditions/configuration_boundary_conditions.py new file mode 100644 index 00000000..ffed4a66 --- /dev/null +++ b/boundary_conditions/configuration_boundary_conditions.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os + +from Editeur.catadesc import CatalogDescription +from InterfaceQT4.configuration import CONFIG_BASE + +class CONFIG(CONFIG_BASE): + + def __init__(self, appli, repIni): + """ + This class stores the configuration parameters for Eficas + """ + CONFIG_BASE.__init__(self, appli, repIni) + + # Configuration parameters + self.savedir = os.getenv("HOME") + self.catalogues = (CatalogDescription("boundary_conditions", + os.path.join(repIni, "boundary_conditions_cata.py"), + file_format = "boundary_conditions"),) + self.lang = 'fr' + self.generator_module = "generator_boundary_conditions" + + def save_params(self): + pass + +def make_config(appli, rep): + return CONFIG(appli, rep) + +def make_config_style(appli, rep): + return None diff --git a/boundary_conditions/generator_boundary_conditions.py b/boundary_conditions/generator_boundary_conditions.py new file mode 100644 index 00000000..ea7235dd --- /dev/null +++ b/boundary_conditions/generator_boundary_conditions.py @@ -0,0 +1,57 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os +from generator.generator_python import PythonGenerator + +def entryPoint(): + return {'name': 'boundary_conditions', + 'factory': BoundaryConditionsGenerator} + +class BoundaryConditionsGenerator(PythonGenerator): + """ + This generator creates files containing associations between groups and + boundary conditions (.bcd files, for Boundary Conditions Definition). + Those files contain one line per group, each line containing four fields + separated by spaces: LIHBOR LIUBOR LIVBOR GROUP. + LIHBOR, LIUBOR and LIVBOR are integer values, GROUP is a string (the name of + the group). + + Example: + + + """ + + def gener(self, obj, format = 'brut', config = None): + self.group_list = [] + self.text = PythonGenerator.gener(self, obj, format) + return self.text + + def generPROC_ETAPE(self, obj): + group_dict = {} + for keyword in obj.mc_liste: + group_dict[keyword.nom] = keyword.valeur + self.group_list.append(group_dict) + return PythonGenerator.generPROC_ETAPE(self, obj) + + def writeDefault(self, basefilename): + output_filename = os.path.splitext(basefilename)[0] + ".bcd" + f = open(output_filename, 'w') + f.write("%d\n" % len(self.group_list)) + for group_dict in self.group_list: + f.write("%(LIHBOR)d %(LIUBOR)d %(LIVBOR)d %(GROUP)s\n" % group_dict) + f.close() diff --git a/boundary_conditions/prefs.py b/boundary_conditions/prefs.py new file mode 100644 index 00000000..8f7d046d --- /dev/null +++ b/boundary_conditions/prefs.py @@ -0,0 +1,18 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +code = "boundary_conditions" diff --git a/boundary_conditions/prefs_boundary_conditions.py b/boundary_conditions/prefs_boundary_conditions.py new file mode 100644 index 00000000..bcf1ef2d --- /dev/null +++ b/boundary_conditions/prefs_boundary_conditions.py @@ -0,0 +1,21 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os + +repIni = os.path.dirname(__file__) +INSTALLDIR = os.getenv("EFICAS_ROOT") diff --git a/convert/convert_python.py b/convert/convert_python.py index 1384ee9b..d661a5f1 100644 --- a/convert/convert_python.py +++ b/convert/convert_python.py @@ -114,7 +114,19 @@ class PythonParser(object): def convert(self,outformat,appli=None): if outformat == 'exec': try: - return PARSEUR_PYTHON(self.text).get_texte(appli) + #import cProfile, pstats, StringIO + #pr = cProfile.Profile() + #pr.enable() + l= PARSEUR_PYTHON(self.text).get_texte(appli) + + #pr.disable() + #s = StringIO.StringIO() + #sortby = 'cumulative' + #ps = pstats.Stats(pr, stream=s).sort_stats(sortby) + #ps.print_stats() + #print (s.getvalue()) + + return l except EficasException: # Erreur lors de la conversion l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1], diff --git a/generator/generator_python.py b/generator/generator_python.py index b40e6589..bafc218a 100644 --- a/generator/generator_python.py +++ b/generator/generator_python.py @@ -102,6 +102,9 @@ class PythonGenerator(object): Si format vaut 'beautifie', retourne le meme texte beautifie """ import logging + if obj == None : + print ('appel a gener avec None') + return self.appli=obj.get_jdc_root().appli #self.appli=obj.appli liste= self.generator(obj) diff --git a/mascaret/CMakeLists.txt b/mascaret/CMakeLists.txt new file mode 100644 index 00000000..deb3c655 --- /dev/null +++ b/mascaret/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +# --- Python files --- + +SET(PYFILES + __init__.py + appli.py + configuration_mascaret.py + prefs_mascaret.py + prefs.py + mascaret_V7_cata.py +) + +# --- rules --- + +SALOME_INSTALL_SCRIPTS("${PYFILES}" ${SALOME_INSTALL_PYTHON}/salome/hydro/mascaret/eficas) diff --git a/mascaret/__init__.py b/mascaret/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/mascaret/appli.py b/mascaret/appli.py new file mode 100644 index 00000000..1fd13263 --- /dev/null +++ b/mascaret/appli.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os +import sys +import re + +from PyQt5.QtWidgets import QMessageBox + + +import salome +import SalomePyQt +sgPyQt = SalomePyQt.SalomePyQt() + +from salome.kernel.logger import Logger +from salome.kernel import termcolor +logger = Logger("salome.hydro.mascaret.eficas.appli", + color = termcolor.GREEN_FG) + +import eficasSalome + +from salome.hydro.study import HydroStudyEditor + +class EficasForMascaretAppli(eficasSalome.MyEficas): + """ + This class launches Eficas and adds entries for the created files in + MASCARET component in the study tree. The messages in this class are in + french because they are displayed in Eficas interface. + + :type fichier: string + :param fichier: path of an Eficas file to open + + """ + def __init__(self, fichier = None, version = None): + self.ed = HydroStudyEditor() + self.codedir = os.path.dirname(__file__) + sys.path[:0] = [self.codedir] + eficasSalome.MyEficas.__init__(self, sgPyQt.getDesktop(), + "mascaret", + fichier, version = version) + sgPyQt.createView("Eficas Mascaret", self) + + def addJdcInSalome(self, jdcPath): + """ + Add the newly created file in Salome study + """ + try: + self.ed.find_or_create_mascaret_case(jdcPath) + except Exception, exc: + msgError = "Can't add file to Salome study tree" + logger.exception(msgError) + QMessageBox.warning(self, self.tr("Warning"), + self.tr("%s. Reason:\n%s\n\nSee logs for " + "more details." % (msgError, exc))) + salome.sg.updateObjBrowser(0) + + def closeEvent(self, event): + while self.codedir in sys.path: + sys.path.remove(self.codedir) + eficasSalome.MyEficas.closeEvent(self, event) diff --git a/mascaret/configuration_mascaret.py b/mascaret/configuration_mascaret.py new file mode 100644 index 00000000..7695ed41 --- /dev/null +++ b/mascaret/configuration_mascaret.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os + +from Editeur.catadesc import CatalogDescription +from InterfaceQT4.configuration import CONFIG_BASE + +class CONFIG(CONFIG_BASE): + + def __init__(self, appli, repIni): + """ + This class stores the configuration parameters for Eficas + """ + CONFIG_BASE.__init__(self, appli, repIni) + + # Configuration parameters + self.savedir = os.getenv("HOME") + self.catalogues = (CatalogDescription("mascaret_V7", + os.path.join(repIni, "mascaret_V7_cata.py")),) + self.lang = 'fr' + + def save_params(self): + pass + +def make_config(appli, rep): + return CONFIG(appli, rep) + +def make_config_style(appli, rep): + return None diff --git a/mascaret/mascaret_V7_cata.py b/mascaret/mascaret_V7_cata.py new file mode 100644 index 00000000..c3a97a34 --- /dev/null +++ b/mascaret/mascaret_V7_cata.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +from Accas import * + +JdC = JDC_CATA(regles = (UN_PARMI('MASCARET',)), + ) + +MASCARET = PROC( + nom = "MASCARET", op = None, + fr = u"Définition d'un cas d'étude Mascaret", + ang = u"Definition of a Mascaret study case", + FICHIER_DICO = SIMP(statut = "o", typ = 'Fichier', + fr = u"Fichier Dictionnaire", + ang = u"Dictionary file"), + FICHIER_MOT_CLE = SIMP(statut = "o", + typ = ('Fichier', 'Fichiers CAS (*.cas);;Tous les fichiers (*)',), + fr = u"Fichier Mot Clé", + ang = u"Keyword file"), + FICHIER_GEOMETRIE = SIMP(statut = "f", + typ = ('Fichier', 'Fichiers GEO (*.geo);;Tous les fichiers (*)',), + fr = u"Fichier de géométrie", + ang = u"Geometry file"), + FICHIER_LOI = FACT(statut = 'f', max = '**', + NOM = SIMP(statut = "o", + typ = ('Fichier', 'Fichiers LOI (*.loi);;Tous les fichiers (*)',), + fr = u"Fichier de lois", + ang = u"Laws file"), + ), + FICHIER_ABAQUES = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)',), + fr = u"Fichier abaques", + ang = u"Abacus file"), + FICHIER_CASIER = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)',), + fr = u"Fichier casier", + ang = u"Compartment file"), + FICHIER_DAMOCLE = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)',), + fr = u"Fichier damocle", + ang = u"Damocle file"), + FICHIER_LIG = SIMP(statut = "o", + typ = ('Fichier', 'Fichiers LIG (*.lig);;Tous les fichiers (*)',), + fr = u"Fichier LIG", + ang = u"LIG file"), + LISTING = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de listing", + ang = u"Listing file"), + LISTING_CASIER = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de listing casier", + ang = u"Compartment listing file"), + LISTING_LIAISON = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de listing liaison", + ang = u"Link listing file"), + RESULTAT = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de résultat", + ang = u"Result file"), + RESULTAT_CASIER = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de résultat casier", + ang = u"Compartment result file"), + RESULTAT_LIAISON = SIMP(statut = "f", + typ = ('Fichier', 'Tous les fichiers (*)', "Sauvegarde"), + fr = u"Fichier de résultat liaison", + ang = u"Link result file"), + VARIABLE_SORTIE = FACT(statut = 'f', max = '**', + fr = u"Variable de sortie du calcul", + ang = u"Computation output variable", + NOM = SIMP(statut = "o", typ = 'TXM', + fr = u"Nom de la variable", + ang = u"Variable name"), + VARIABLE_MASCARET = SIMP(statut = "o", typ = 'TXM', + fr = u'Variable Mascaret (ex : "Etat.Z(1,0,0)")', + ang = u'Mascaret variable (ex : "Etat.Z(1,0,0)")'), + ), + VARIABLE_ENTREE = FACT(statut = 'f', max = '**', + fr = u"Variable d'entrée du calcul", + ang = u"Computation input variable", + NOM = SIMP(statut = "o", typ = 'TXM', + fr = u"Nom de la variable", + ang = u"Variable name"), + VARIABLE_MASCARET = SIMP(statut = "o", typ = 'TXM', + fr = u'Variable Mascaret (ex : "Modele.Lois.Debit(1,1-2,0)")', + ang = u'Mascaret variable (ex : "Modele.Lois.Debit(1,1-2,0)")'), + ), +) +TEXTE_NEW_JDC="MASCARET()" diff --git a/mascaret/prefs.py b/mascaret/prefs.py new file mode 100644 index 00000000..d0e8113c --- /dev/null +++ b/mascaret/prefs.py @@ -0,0 +1,18 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +code = "mascaret" diff --git a/mascaret/prefs_mascaret.py b/mascaret/prefs_mascaret.py new file mode 100644 index 00000000..ed30a092 --- /dev/null +++ b/mascaret/prefs_mascaret.py @@ -0,0 +1,28 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +import os +import sys + +repIni = os.path.dirname(__file__) +INSTALLDIR = os.getenv("EFICAS_ROOT") +closeAutreCommande=True +closeFrameRechercheCommande=True +closeArbre=True +closeCopier=True +suiteTelemac=True + diff --git a/ts/Telemac_Cata.py b/ts/Telemac_Cata.py deleted file mode 100644 index b3f63f6f..00000000 --- a/ts/Telemac_Cata.py +++ /dev/null @@ -1,2666 +0,0 @@ -# coding: utf-8 - -from Accas import * -class DateJJMMAAAA: - def __init__(self): - self.ntuple=3 - - def __convert__(self,valeur): - if type(valeur) == types.StringType: return None - if len(valeur) != self.ntuple: return None - return valeur - - def info(self): - return "Date : jj/mm/aaaa " - - __repr__=info - __str__=info - -import types -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 - - - -JdC = JDC_CATA (code = 'TELEMAC', - execmodul = None, - ) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_interfaceBody_mesh -# ====================================================================== - -# ----------------------------------------------------------------------- -INITIALIZATION = PROC(nom = "INITIALIZATION",op = None, -# ----------------------------------------------------------------------- - - fr = "Initialisation des fichiers d'entrée et de sortie", - ang = "Input and Output files initialization", - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - -# ------------------------------------ - Title = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.', - ang = 'Title of the case being considered. This title shall be marked on the drawings.'), - #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'), - -# ------------------------------------ - Input_Files = FACT(statut='o', -# ------------------------------------ - - # Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), - # defaut='telemac2d.dico', - # fr='Dictionnaire des mots cles.', ang='Key word dictionary.',), -# PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n -# est pas modifiable - -# ------------------------------------ - Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM', -# ------------------------------------ - into = ['Serafin', 'MED', 'SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \ - - SERAFIN : format standard simple precision pour Telemac; \n \ - - SERAFIND: format standard double precision pour Telemac; \n \ - - MED : format MED base sur HDF5', - ang = 'Results file format. Possible values are: \n\ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac;\n\ - - MED : MED format based on HDF5',) , - - b_geofile_med = BLOC (condition = "Geometry_File_Format == 'MED'", -# ------------------------------------ - Geometry_File = SIMP( statut = 'o', -# ------------------------------------ -# PNPNPN Question Soizic --> pourqoi Geo Files -# idem pour Bottom_Topography_File - typ = ('Fichier',' Med Files (*.med);;All Files (*)',), - fr = 'Nom du fichier contenant le maillage du calcul a realiser.', - ang = 'Name of the file containing the mesh. \n\ -This file may also contain the topography and the friction coefficients.'), - - ), - b_geofile_serafin = BLOC (condition = "Geometry_File_Format in ( 'Serafin','SerafinD')", -# ------------------------------------ - Geometry_File = SIMP( statut = 'o', -# ------------------------------------ -# PNPNPN Question Soizic --> pourqoi Geo Files -# idem pour Bottom_Topography_File - typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), - fr = 'Nom du fichier contenant le maillage du calcul a realiser.', - ang = 'Name of the file containing the mesh. \n\ -This file may also contain the topography and the friction coefficients.'), - - ), - #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),), - - -# ------------------------------------ - Fortran_File = SIMP(statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'), - fr = 'Nom du fichier a soumettre', - ang = 'Name of FORTRAN file to be submitted',), - -# ------------------------------------ - Bottom_Topography_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), - fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \ -Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.", - ang = 'Name of the possible file containing the bathymetric data.\ -Where this keyword is used, these bathymetric data shall be used in the computation.', - ), - -# ------------------------------------ - Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 , -# ------------------------------------ - fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\ -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. \n\ -to be used when interpolation of bathymetry on the mesh gives very rough results.',), - -# ------------------------------------ - Boundary_Conditions_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',), - fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\ -par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.', - ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\ -by the mesh generator through through colours that are assigned to the boundary nodes.',), - - -# ------------------------------------ - Validation = FACT( statut = 'f', -# ------------------------------------ -#PNPN--> creer le Mot_clef simple Validation si ce fact existe - -# ------------------------------------ - Reference_File_Format = SIMP( statut = 'o', -# ------------------------------------ - typ = 'TXM', - into = ['Serafin','MED','SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5' , - ang = 'Results file format. Possible values are:\n \ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5' ,), - -# ------------------------------------ - Reference_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), - fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.', - ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',), - - ), # Fin de Validation - -# ------------------------------------ - Formatted_And_Binary_Files = FACT( statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Formatted_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), -# ------------------------------------ - fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 26.", - ang = 'Formatted data file made available to the user.\n\ -The data in this file shall be read on channel 26.',), - -# ------------------------------------ - Formatted_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), -# ------------------------------------ - fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 27.", - ang = "Formatted data file made available to the user.\n\ -The data in this file shall be read on channel 27.",), - -# ------------------------------------ - Binary_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 24.', - ang = 'Binary-coded data file made available to the user.\n\ -The data in this file shall be read on channel 24.',), - -# ------------------------------------ - Binary_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\ -Les donnees de ce fichier seront a lire sur le canal 25.', - ang = 'Binary-coded data file made available to the user. \n\ -The data in this file shall be read on channel 25.',), - - ), # fin Formatted_And_Binary_Files - - ), # Fin de InputFile - - # ----------------------------------------------------------------------- - Initial_State = FACT(statut='o', - # ----------------------------------------------------------------------- - -# ------------------------------------ - Initial_Conditions = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'], - defaut = 'Zero elevation', - fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\ - - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\ - - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\ - - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\ - - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\ - - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\ - - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\ - la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\ - BASE DE DONNEES DE MAREE." , - ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\ - - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom. \n\ - - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\ - - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\ - - ZERO DEPTH. Initializes the water depths to 0. \n\ - - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\ - - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\ - - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ), - -# ------------------------------------ - b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'", -# ------------------------------------ -# ------------------------------------ - Initial_Elevation = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE', - ang = 'Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION' ), - ) , # fin b_initial_elevation - -# ------------------------------------ - b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'", -# ------------------------------------ -# ------------------------------------ - Initial_Depth = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-', - ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ), - ),# fin b_initial_depth - -# ------------------------------------ - b_special = BLOC (condition = "Initial_Conditions == 'Special'", -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"), - ), # fin b_special - -#PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela -# ------------------------------------ - b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'", -# ------------------------------------ -# ------------------------------------ - Ascii_Database_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree', - ang = 'Tide data base of harmonic constituents extracted from the tidal model file',), - ), # fin b_initial_TPXO - - ), # fin Initial_State - - -# ------------------------------------ - Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False,position = "global_jdc"), -# ------------------------------------ - -# ------------------------------------ - b_comput_con = BLOC(condition = 'Computation_Continued == True', - Computation_Continued_Settings = FACT(statut = 'o', - -# ------------------------------------ - Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Serafin','MED','SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5', - ang = 'Previous computation results file format. Possible values are: \n\ - - SERAFIN : classical single precision format in Telemac; \n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5',), - -# ------------------------------------ - Previous_Computation_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Computation File (*.res);;All Files (*)',), - fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\ - et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.", - ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\ - The last recorded time step will provid the initial conditions for the new computation.', - ), -# ------------------------------------ - Initial_Time_Set_To_Zero = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - fr = 'Remet le temps a zero en cas de suite de calcul', - ang = 'Initial time set to zero in case of restart', - defaut = "False"), - -# ------------------------------------ - Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0, -# ------------------------------------ - fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", - ang = "record number to start from in the previous computation file, 0 for last record" ), - - ), - ),# fin BLOC b_comput_con - -# ------------------------------------ - Coupling = FACT( statut = 'o', -# ------------------------------------ -# PNPNPN Attention 1 seul choix possible - fr = 'Liste des codes avec lesquels on couple Telemac-2D', - ang = 'List of codes to be coupled with Telemac-2D', - -# ------------------------------------ - Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False , -# ------------------------------------ - fr = 'couplage interne avec Sisyphe', - ang = 'internal coupling with Sisyphe'), - -# ------------------------------------ - Tomawac = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'couplage interne avec Tomawac', - ang = 'internal coupling with Tomawac'), - -# ------------------------------------ - Delwacq = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'couplage interne avec Delwacq', - ang = 'internal coupling with Delwacq'), -# PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic -# On verra apres - - ), # fin Coupling - -# ------------------------------------ - Parallel_Computation = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ -# Ce mot clef n existe pas dans le dico - into = ['Sequentiel','Parallel'], - defaut = 'Sequentiel',), - -# ------------------------------------ - b_para = BLOC(condition = 'Parallel_Computation == "Parallel"', -# ------------------------------------ -# ------------------------------------ - Parallel_Processors = SIMP(statut = 'o',typ = 'I', -# ------------------------------------ - val_min = 0,defaut = 1, - fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\ -0 : 1 machine, compilation sans bibliotheque de parallelisme \n\ -1 : 1 machine, compilation avec bibliotheque de parallelisme \n\ -2 : 2 processeurs ou machines en parallele etc... ', - ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\ -0 : 1 machine, compiling without parallel library \n\ -1 : 1 machine, compiling with a parallel library \n\ -2 : 2 processors or machines in parallel'), - ), # fin b_para - -)# INITIALISATION - -# ----------------------------------------------------------------------- -TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None, -# ----------------------------------------------------------------------- -# ------------------------------------ - Inputs_Outputs_For_Tide = FACT( statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Harmonic_Constants_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - 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 = ('Fichier', 'All Files (*)',), - fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques', - ang = 'Geometry file of the model from which harmonic constituents are extracted',), - - ), # Fin Inputs_Outputs_For_Tide - -# ------------------------------------ - Location = FACT( statut = 'o', -# ------------------------------------ -# ------------------------------------ - Geographic_System = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\ - "WGS84 southern UTM","Lambert", "Mercator",], - defaut = "Defined by user", - fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.', - ang = 'Geographic coordinates system in which the numerical model is built.',), - -# ------------------------------------ - b_geo_plan = BLOC(condition = "Geographic_System in ['WGS84 nothern UTM','WGS84 southern UTM','Lambert']", -# ------------------------------------ - -# ------------------------------------ - Zone_Number_In_Geographic_System = SIMP(statut = 'f',typ = 'TXM', -# ------------------------------------ - into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 south', \ - 'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'], - fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \ -Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE", - ang = 'Number of zone when using a plane projection. \n\ -Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'), - ), # Fin b_geo_plan - ), # Fin Location - -# ------------------------------------ - Physical_Parameters = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Tide_Generating_Force = SIMP(statut = 'o', -# ------------------------------------ - typ = bool, defaut = False), - -# ------------------------------------ - b_Tide = BLOC(condition = "Tide_Generating_Force == True", -# ------------------------------------ -# ------------------------------------ - Longitude_Of_Origin_Point = SIMP(typ = 'R', -# ------------------------------------ - statut = 'o', defaut = 48., - fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation 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.',), - -# ------------------------------------ - Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ -# Soizic . Il faudrait une consigne ? avec des blocs ? -# en suspens pour JMJ - into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",], - fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\ -et FICHIER DU MODELE DE MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\ -de constantes harmoniques sur internet', - ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\ -For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',), - -# ------------------------------------ - b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'", -# ------------------------------------ - -# ------------------------------------ - Minor_Constituents_Inference = SIMP( statut = 'o',typ = bool, -# ------------------------------------ - defaut = False , - fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\ -fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE', - ang = 'Inference of minor constituents from the one read in input files linked to \n\ -keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',), - - - -# ------------------------------------ - Binary_Database_1_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', '(All Files (*),)',), - fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\ -Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2', - ang = 'Binary database 1 extracted from the tidal model file.\n\ -In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',), - -# ------------------------------------ - Binary_Database_2_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', '(All Files (*),)',), - fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\ -Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2', - ang = 'Binary database 2 extracted from the tidal model file.\n\ -In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ), - - ),#fin du bloc b_tpxo - ), # Fin du Bloc b_Tide - -# ------------------------------------ - Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o', -# ------------------------------------ - typ = 'TXM', defaut = 'No tide', - into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \ - 'Mean spring tide', 'Mean tide', 'Mean neap tide', \ - 'Astronomical neap tide', 'Real tide (methodology before 2010)'],), - -# ------------------------------------ - b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"', -# ------------------------------------ -# ------------------------------------ - Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 1., - fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes', - ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'), - -# ------------------------------------ - Coefficient_To_Calibrate_Tidal_Velocities = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 999999, - fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\ -La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise', - ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\ - Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'), - -# ------------------------------------ - Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 0., - fr = 'Coefficient pour ajuster le niveau de mer', - ang = 'Coefficient to calibrate the sea level'), - ), # fin b_Option_B - - ), #fin Physical_Parameters -) # Fin TIDE_PARAMETERS - -# ----------------------------------------------------------------------- -BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None, -# ----------------------------------------------------------------------- - fr = 'On donne un ensemble de conditions par frontiere liquide', - ang = 'One condition set per liquid boundary is given', - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - # Dans l ideal il faut aller regarder selon les groupes dans le fichier med - # en sortie il faut aller chercher le .cli qui va bien - #Liquid_Boundaries = FACT(statut = 'f',max = '**', - # Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics']) - # Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'), - # Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'), - # Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'), - # ), - -# Il va falloir une "traduction dans le langage du dico" -# Il faut seulement l un des 3 - -# ------------------------------------ - Liquid_Boundaries = FACT(statut = 'o',max = '**', -# ------------------------------------ - -# ------------------------------------ - Options = SIMP(statut = 'f',typ = 'I', -# ------------------------------------ - into = ['Classical boundary conditions','Thompson method based on characteristics'], - fr = 'On donne 1 entier par frontiere liquide', - ang = 'One integer per liquid boundary is given',), - -# ------------------------------------ - Type_Condition = SIMP(statut = 'o',typ = 'TXM', -# On ajoute le type pour rendre l 'ihm plus lisible -# mais ce mot-cle n existe pas dans le dico -# ------------------------------------ - into = ['Prescribed Flowrates', 'Prescribed Elevations', 'Prescribed Velocity'],), - -# ------------------------------------ - b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Flowrates = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', - fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed flowrates at the inflow boundaries.\n\ -The section about boundary conditions is to be read in the manual'), - ), # fin b_Flowrates - -# ------------------------------------ - b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Elevations = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed elevations at the inflow boundaries.\n\ -The section about boundary conditions is to be read in the manual'), - ), # fin b_Elevations - -# ------------------------------------ - b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Velocities = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\ -Refer to the section dealing with the boundary conditions'), - ), # fin b_Velocity - - ), # fin des Liquid_Boundaries - -# ------------------------------------ - Liquid_Boundaries_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de variations en temps des conditions aux limites.\n\ -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.', - ), - - -#PNPN Attention dans le Dico STAGE-DISCHARGE CURVES -#PNPN regarder le document de reference pour changer non programme -# ------------------------------------ - Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM', -# ------------------------------------ - into = ["No one","Z(Q)","Q(Z)"], - fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere', - ang = 'Says if a discharge-elevation curve must be used for a given boundary',), - -# ------------------------------------ - b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'", -# ------------------------------------ -# ------------------------------------ - Stage_Discharge_Curves_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier contenant les courbes de tarage', - ang = 'Name of the file containing stage-discharge curves',), - ), # fin b_discharge_curve - -# ------------------------------------ - 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',), - -# ------------------------------------ - maskob = BLOC (condition = 'Elements_Masked_By_User == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "Remplir le sous-programme maskob"), - ) # fin maskob - -) # fin Boundary_Conditions - -# ----------------------------------------------------------------------- -NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - -# ------------------------------------ - Equations = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'], - defaut = 'Saint-Venant EF', - fr = 'Choix des equations a resoudre', - ang = 'Choice of equations to solve',), - -# ------------------------------------ - Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM', -# ------------------------------------ - into = ["Coupled", "Wave equation"], - defaut = "Coupled",), - -# ------------------------------------ - Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - 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",), - -# ------------------------------------ - Solver_Definition = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Solver = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\ - "Minimum error", "CGSTAB", "GMRES", "Direct",], - fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\ -Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\ - 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\ - 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\ - 7 : gmres (voir aussi option du solveur) 8 : direct', - ang = 'Makes it possible to select the solver used for solving the propagation step.\n\ -All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\ -1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\ -4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\ -7: gmres (see option for solver) 8: direct',), - -# ------------------------------------ - b_gmres = BLOC (condition = "Solver == 'GMRES'", -# ------------------------------------ -# ------------------------------------ - Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15, -# ------------------------------------ - fr = 'la dimension de l''espace de KRILOV', - ang = 'dimension of the KRYLOV space',), - ), # fin b_gmres - -# ------------------------------------ - Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4, -# ------------------------------------ - fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).', - ang = 'Required accuracy for solving the propagation step (refer to Principle note).',), - -# ------------------------------------ - Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 100, -# ------------------------------------ - fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\ -il est necessaire de limiter le nombre d''iterations autorisees.\n\ -Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.', - ang = 'Since the algorithms used for solving the propagation step are iterative, \ -the allowed number of iterations should be limited.\n\ -Note: a maximum number of 40 iterations per time step seems to be reasonable.',), - - ), # fin Solver - -# ------------------------------------ - Linearity = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Continuity_Correction = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - defaut = False, - fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue', - ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',), - - ), # Fin Linearity - -# ------------------------------------ - Precondionning_setting = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Preconditioning = SIMP(statut = 'o',typ = 'TXM',max="**", -# ------------------------------------ -# PNPN Soizic ? Est ce que c'est une liste -# Comment fait-on le into est faux : voir l aide -# PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie -# ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ? -# - into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", "Gauss-Seidel", ], - defaut=("Diagonal",), homo="SansOrdreNiDoublon", - fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\ -lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\ -Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\ -plusieurs on formera le produit des options correspondantes.', - ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\ -when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\ -Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\ -the product of relevant options shall be made.', - ), -# ------------------------------------ - C_U_Preconditioning = SIMP(typ = bool, statut = 'o', defaut=False, -# ------------------------------------ - 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' - ), - - ),# fin Preconditionnement - -# ------------------------------------ - Matrix_Informations = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Matrix_Vector_Product = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Classic", "Frontal"], - defaut='Classic', - fr = 'attention, si frontal, il faut une numerotation speciale des points', - ang = 'beware, with option 2, a special numbering of points is required', - ), -# ------------------------------------ - Matrix_Storage = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Classical EBE","Edge-based storage",], - defaut='Edge-based storage', - ), - ),# fin Matrix_Informations - - -# ------------------------------------ - Advection = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Type_Of_Advection = FACT(statut = 'o', -# ------------------------------------ - -# PNPNPN recalcul -# Tres differents du dico liste de 4 -# PNPN eclaircir les choix SVP -# soizic. choix 3 et 4 et 13 et 14 -# Attention recalcul de Type_Of_Advection -# ------------------------------------ - 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.'), - -# ------------------------------------ - b_u_v = BLOC( condition = "Advection_Of_U_And_V == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'], - defaut = "Characteristics", ), - -# ------------------------------------ - b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind - ),# fin b_u_v - -# ------------------------------------ - Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de H.', - ang = 'The advection of H is taken into account or ignored.'), - -# ------------------------------------ - b_h = BLOC( condition = "Advection_Of_H == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["characteristics", "SUPG", "conservative N-scheme", 'conservative N-scheme',\ - 'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\ - 'edge-based N-scheme'], - defaut = "conservative PSI-scheme",), -# ------------------------------------ - b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind_H - ),# fin b_h - -# ------------------------------------ - Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de Tracer.', - ang = 'The advection of Tracer is taken into account or ignored.'), - -# ------------------------------------ - b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'], - defaut = "Characteristics",), -# ------------------------------------ - b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ),# fin b_upwind_k - ),# fin b_k - -# ------------------------------------ - Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de Tracer.', - ang = 'The advection of Tracer is taken into account or ignored.'), - -# ------------------------------------ - b_tracers = BLOC( condition = "Advection_Of_Tracers == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'],), -# ------------------------------------ - b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind_Tracers - ), # fin b_Tracers - -# ------------------------------------ - b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')", -# ------------------------------------ -# ------------------------------------ - Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 , -# ------------------------------------ - fr = 'Seulement pour schemes Edge-based N-scheme', - ang = 'Only for Edge-based N-scheme',), - ), # fin b_max - -# ------------------------------------ - b_traitement = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or ( Advection_Of_H == True and Type_Of_Advection_H in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme'])", -# ------------------------------------ - -# ------------------------------------ - Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Priority to prescribed values","Priority to fluxes"], - fr = 'Utilise pour les schemas SUPG, PSI et N, \n\ -si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct', - ang = 'Used so far only with the SUPG, PSI and N schemes.\n\ -if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',), - - ), # fin b_traitement - ), # Fin Type_Of_Advection - - -#PNPNPN -# recalculer la liste de 4 -# Attention bloc selon le type de convection -# ------------------------------------ -# SUPG = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ -# Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ), # Fin de SUPG - -# ------------------------------------ - Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0, -# ------------------------------------ - fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\ -Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\ -et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\ -importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\ -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. \n\ -This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\ -Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\ -more stable. The resulting solutions, however, become artificially smoothed. \n\ -This parameter sets the extent of mass-lumping that is performed on h.'), - -# ------------------------------------ - Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 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.'), - -# ------------------------------------ - Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'o',typ = 'R',defaut = 0, -# ------------------------------------ - fr = 'Applique a la matrice de masse', - ang = 'To be applied to the mass matrix',), -# ------------------------------------ - Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1., -# ------------------------------------ - fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites', - ang = 'Values less than 1 suppress spurious oscillations'), - -# ------------------------------------ - 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 \n\ -au cours de plusieurs sous-iterations.\n\ -A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\ -Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\ -Cette technique permet d''ameliorer la prise en compte des non linearites.', - ang = 'Used for updating, within one time step, the advection and propagation field.\n\ -upon the first sub-iteration, \n\ -these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\ -the results of the previous sub-iteration is used to update the advection and propagation field.\n\ -The non-linearities can be taken into account through this technique.',), - - - ), # fin Advection - -#PNPNPN Il faut recalculer le MCSIMP Propagation -# ------------------------------------ - Propagation = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Initial_Guess_For_H = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero', 'Previous', 'Extrapolation'], - defaut = 'Previous', - fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ -accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ -aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', - ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of H, \n\ -upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ -Thus, the convergence can be speeded up when the system is being solved.',), - - -# ------------------------------------ - Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Permet de lineariser l''etape de propagation; \n\ -par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.', - ang = 'Provided for linearizing the propagation step; \n\ -e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ), - -# ------------------------------------ - b_linear = BLOC(condition = "Linearized_Propagation == True ", -# ------------------------------------ -# ------------------------------------ - Mean_Depth_For_Linearization = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0, -# ------------------------------------ - fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.', - ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'), - -# ------------------------------------ - Initial_Guess_For_U = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero', 'Previous', 'Extrapolation'], - defaut = 'Previous', - fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ -accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ -aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', - ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, \n\ -upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ -Thus, the convergence can be speeded up when the system is being solved.',), - - ), # fin b_linear - - ), # fin Propagation - - -# ------------------------------------ - Diffusion = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Diffusion_Of_Velocity = SIMP( statut='o',typ=bool, -# ------------------------------------ - defaut=False , - 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.', - ), -# ------------------------------------ - b_Diffu = BLOC(condition = 'Diffusion_Of_Velocity == True', -# ------------------------------------ -# ------------------------------------ - Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0, -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses', - ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',), - -# ------------------------------------ - Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut=1 , - into=['Diffusion in the form div( nu grad(U))','Diffusion in the form 1/h div ( h nu grad(U) )'], - 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) )',), - - ), # fin b_Diffu - ), # fin Diffusion -# ------------------------------------ - Discretization_Implicitation = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Discretizations_In_Space = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Linear", "Quasi-bubble", "Quadratic"], - defaut = "Linear",), - -# ------------------------------------ - Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55, -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf. Note de principe).\n\ -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).\n\ -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 d''implicitation sur la vitesse dans l''etape de propagation (cf. Note de principe).\n\ -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).\n\ -Values below 0.5 result in an unstable condition.'), - - ), # fin Discretization_Implicitation - - -# ------------------------------------ - Tidal=FACT(statut='f', -# ------------------------------------ - Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True, -# ------------------------------------ - fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y 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'), - -# ------------------------------------ - b_tidal_flats = BLOC(condition = 'Tidal_Flats == True', -# ------------------------------------ -# ------------------------------------ - Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",], - defaut="Equations solved everywhere with correction on tidal flats",), - -# ------------------------------------ - b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"', -# ------------------------------------ -# ------------------------------------ - Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = [ 'No treatment', 'Smoothing', 'Flux control'], - defaut = 'Smoothing' ,), - ), # fin bloc b_option_tidal_flats - -# ------------------------------------ - 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',), - -# ------------------------------------ - Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 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 ',), - - -# ------------------------------------ - H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau 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)\n\ -This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',), - -# ------------------------------------ - b_clipping = BLOC(condition = 'H_Clipping == True', -# ------------------------------------ -# ------------------------------------ - 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.',), - ), # fin b_clipping - ), # fin bloc b_tidal_flats - ), # fin bloc tidal - -# ------------------------------------ - Various = FACT( -# ------------------------------------ - -# ------------------------------------ - Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Euler explicite", - into = ["Euler explicite","Order 2 in time"],), - -# ------------------------------------ - Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Strong" , - into = ['Strong','Weak',],), - - ),# fin Various - - -)# fin NUMERICAL_PARAMETERS - -# ----------------------------------------------------------------------- -PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - UIinfo = { "groupes" : ( "CACHE", )}, -# ------------------------------------ - Friction_Setting = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Friction_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', ';;All Files (*)'), - fr = 'fichier de donnees pour le frottement', - ang = 'friction data file',), - -# ------------------------------------ - Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Nodal" , - into = ("Nodal", "Average"),), - -# ------------------------------------ - Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = 'No friction' , - into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.', - ang = 'Selects the type of formulation used for the bottom friction.',), - -# ------------------------------------ - b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'", -# ------------------------------------ -# ------------------------------------ - 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',), - ), # Fin b_Law_Friction - -# ------------------------------------ - b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'", -# ------------------------------------ -# ------------------------------------ - 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 ', - ang = 'Manning default value for the friction law of Colebrook-White ',), - ), # Fin b_Colebrooke_White - -# ------------------------------------ - 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',), - -# ------------------------------------ - b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True', -# ------------------------------------ -# ------------------------------------ - 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',), - ), # Fin b_Non_Sub - -# ------------------------------------ - Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "No friction" , - into = ("No friction", "Haaland", "Chezy", "Strickler", "Manning", "Nikuradse", "Log law", "Colebrook-white"), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.', - ang = 'Selects the type of formulation used for the friction on lateral boundaries.',), - - -# ------------------------------------ - b_Fric = BLOC(condition = 'Law_Of_Friction_On_Lateral_Boundaries != "No friction"', -# ------------------------------------ - -# PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries -# ------------------------------------ - 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\n\ - sur les bords du domaine. meme convention que pour le coefficient de frottement', - ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',), - -# ------------------------------------ - 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',), - ), - -# ------------------------------------ - Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False, -# ------------------------------------ - fr = 'Declenche l''appel 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',), - -# ------------------------------------ - b_def_zone = BLOC (condition = 'Definition_Of_Zones == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"), -# ------------------------------------ - ), # fin b_def_zone - - ), # Fin du bloc Friction -# ------------------------------------ - Meteorology = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Wind = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte ou non des effets du vent.', - ang = 'Determines whether the wind effects are to be taken into account or not.'), - -# ------------------------------------ - b_Wind = BLOC(condition = "Wind == True", -# ------------------------------------ -# ------------------------------------ - Wind_Velocity_Along_X = SIMP(statut = 'o',typ = 'R', defaut = 0., -# ------------------------------------ - fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).', - ang = 'Wind velocity, component along x axis (m/s).',), - -# ------------------------------------ - Wind_Velocity_Along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0., -# ------------------------------------ - fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).', - ang = 'Wind velocity, component along y axis (m/s).',), - -# ------------------------------------ - Threshold_Depth_For_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0., -# ------------------------------------ - fr = 'Retire la force due au vent dans les petites profondeurs', - ang = 'Wind is not taken into account for small depths' ), - -# ------------------------------------ - Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 , -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d entrainement du vent (cf. Note de principe).', - ang = 'Sets the value of the wind driving coefficient. Refer to principle note.',), - -# ------------------------------------ - Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 , -# ------------------------------------ - into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"], - fr = 'donne les options pour introduire le vent', - ang = 'gives option for managing the wind'), - -# ------------------------------------ - file_For_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "give formated file 3"), - ), # fin bloc file_For_wind - -# ------------------------------------ - speed_For_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"', -# ------------------------------------ -# ------------------------------------ - Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) , -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent', - ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',), - ), # speed_For_wind - - ), # fin b_Wind - -# ------------------------------------ - Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False, -# ------------------------------------ - fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.', - ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'), - -# ------------------------------------ - b_air = BLOC(condition = "Air_Pressure == True", -# ------------------------------------ -# ------------------------------------ - 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',), - ), # fin b_air - -# ------------------------------------ - Rain_Or_Evaporation = SIMP(statut = 'o',typ = bool, -# ------------------------------------ - defaut = False, - fr = 'Pour ajouter un apport ou une perte d''eau en surface.', - ang = 'to add or remove water at the free surface. ',), - -# ----------------------------------- - b_Rain = BLOC(condition = "Rain_Or_Evaporation == True", -# ------------------------------------ -# ------------------------------------ - Rain_Or_Evaporation_In_Mm_Per_Day = SIMP(statut = 'o',typ = 'I',defaut = 0.), -# ------------------------------------ - ), # fin b_Rain - - ), # fin Meteorology - -# ------------------------------------ - Wave = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - 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.'), - -# ------------------------------------ - b_Wave = BLOC(condition = "Wave_Driven_Currents == True", -# ------------------------------------ -# ------------------------------------ - 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'), - ), # fin b_Wave - ), # fin Wave - - - -# ------------------------------------ - Parameters_Estimation = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"], -# ------------------------------------ - fr = 'Liste des parametres a estimer', - ang = 'List of parameter to be estimated',), - -# ------------------------------------ - Identification_Method = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."], - defaut = 'GRadient simple',), - -# ------------------------------------ - 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', ), - -# ------------------------------------ - Cost_Function = SIMP(statut = "f",typ = 'TXM', -# ------------------------------------ - defaut = 'Computed with h, u , v', - into = ['Computed with h, u , v', 'Computed with c, u , v'],), - -# ------------------------------------ - Tolerances_For_Identification = FACT( statut = 'o', -# ------------------------------------ -# PNPNPN recalculer en liste de 4 reels -# ------------------------------------ - Tolerance_For_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur H", - ang = "absolute precision on H",), -# ------------------------------------ - Tolerance_For_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur U", - ang = "absolute precision on U",), -# ------------------------------------ - Tolerance_For_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur V", - ang = "absolute precision on V",), -# ------------------------------------ - Tolerance_For_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4, -# ------------------------------------ - fr = "precision relative sur la fonction cout", - ang = "relative precision on the cost function",), - ),# fin Tolerances_For_Identification - - ), # fin fact Parameters_Estimation - -# ------------------------------------ - Sources = FACT( statut = 'f', -# ------------------------------------ -# ------------------------------------ - Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,), -# ------------------------------------ -# Attention a la sortie a reformatter. voir page 68 du user manuel V7 - -# ------------------------------------ - sources_exists = BLOC(condition = "Number_Of_Sources!= 0", -# ------------------------------------ - -# ------------------------------------ - Sources_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier contenant les informations variables en temps des sources', - ang = 'Name of the file containing time-dependent information on sources',), - -#PNPNPNPN saisir autant de source que le nombre -# ------------------------------------ - Source = FACT(statut = 'o', -# ------------------------------------ - max = "**", -# ------------------------------------ - Abscissae_Of_Sources = SIMP( statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - 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 = Tuple(2),validators = VerifTypeTuple(('R','R')), - 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 = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs des debits des sources.', - ang = 'values of water discharge of sources',), - -# ------------------------------------ - Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - 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 = 'f', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Vitesses du courant a chacune des sources', - ang = 'Velocities at the sources',), - - ), # Fin du Fact Source - -# ------------------------------------ - Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"], -# ------------------------------------ - fr = 'Source portee par une base elements finis Source portee par une fonction de Dirac', - ang = 'Source term multiplied by a finite element basis, Source term multiplied by a Dirac function',), - - ),#fin bloc source - exits - ),#fin MC source - exits - - -# ------------------------------------ - Coriolis_Settings = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - 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.',), - -# ------------------------------------------------------- - 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 \n\ -par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s \n\ -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,\n\ -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. \n\ -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',), - ), #fin Coriolis_Settings - - - -# ------------------------------------ - Various = FACT( statut = 'f', -# ------------------------------------ -# ------------------------------------ - Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000., -# ------------------------------------ - fr = 'Fixe la valeur de la masse volumique de l eau.', - ang = 'set the value of water density', - ), - -# ------------------------------------ - Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81, -# ------------------------------------ - fr = 'Fixe la valeur de l acceleration de la pesanteur.', - ang = 'Set the value of the acceleration due to gravity.', - ), - -# ------------------------------------ - Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte de la force de trainee de structures verticales', - ang = 'drag forces from vertical structures are taken into account',), - -# ------------------------------------ - maskob = BLOC (condition = 'Vertical_Structures == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "subroutine DRAGFO must then be implemented"), - ), # fin maskob - ), - -# ----------------------------------------------------------------------- - Secondary_Currents_Settings = FACT( statut='f', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Secondary_Currents = SIMP( statut='o',typ=bool, -# ----------------------------------------------------------------------- - defaut=False , - fr = 'Pour prendre en compte les courants secondaires', - ang= 'Using the parametrisation for secondary currents', - ), - -# ----------------------------------------------------------------------- - b_currents_exists = BLOC(condition = "Secondary_Currents == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Production_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=7.071 , - fr = 'Une constante dans les termes de creation de Omega', - ang= 'A constant in the production terms of Omega',), - -# ----------------------------------------------------------------------- - Dissipation_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=0.5 , - fr = 'Coefficient de dissipation de Omega', - ang= 'Coefficient of dissipation term of Omega',), - - ), # fin b_currents_exists - ), # fin Secondary_Currents_Settings - -# ------------------------------------ - Tsunami = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------------------------- - Option_For_Tsunami_Generation = SIMP( statut='o',typ='I', defaut=0 , -# ------------------------------------------------------- - fr = '', - ang= '',), - -# ------------------------------------------------------- - Physical_Characteristics_Of_The_Tsunami = SIMP( statut='o',typ='R', -# ------------------------------------------------------- - min=10,max=10, - defaut=(100.0, 210000.0, 75000.0, 13.6, 81.0, 41.0, 110.0, 0.0, 0.0, 3.0) , - fr = '', - ang= '',), - ), #fin Tsunami - -)# fin PHYSICAL_PARAMETERS - -# ----------------------------------------------------------------------- -OUTPUT_FILES = PROC(nom = "OUTPUT_FILES",op = None, -# ----------------------------------------------------------------------- - -# ------------------------------------ - Graphic_And_Listing_Printouts = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM', -# ------------------------------------ - into=[ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", - "Free surface elevation (m)", "Bottom elevation (m)", "Froude number ", "Scalar flowrate of fluid (m2/s)", - "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", - "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along X axis (m2/s)", "Flowrate along Y axis (m2/s)", - "Scalar velocity (m/s)", "Wind along X axis (m/s)", "Wind along Y axis (m/s)", "Air pressure (Pa)", - "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"), - -# ------------------------------------ - Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\ - dans le FICHIER DES RESULTATS.', - ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,), - -# ------------------------------------ - Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.', - ang = 'Determines the number of time steps after which the results are first written into the listing.'), - - -# ------------------------------------ - Results_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee PERIODE POUR LES SORTIES GRAPHIQUES.', - ang = 'Name of the file into which the computation results shall be written, the periodicity being given by GRAPHIC PRINTOUT PERIOD.',), - -# ------------------------------------ - Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin', -# ------------------------------------ - fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5' , - ang = 'Results file format. Possible values are:\n \ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5' , - ), - -# ------------------------------------ - Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine la periode en nombre de pas de temps d''impression des variables', - ang = 'Determines, in number of time steps, the printout period for the variables',), - -# ------------------------------------ - Listing_Printout = SIMP( statut='o',typ=bool, defaut=True , -# ------------------------------------ - fr = 'Sortie des resultats sur support papier. Si on met False, le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME : La Valeur False est 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. Value False Not recommended for use.', - ), - -# ------------------------------------ - Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM', -# ------------------------------------ - into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", - "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)", - "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", - "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)", - "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)", - "Friction coefficient", "Drift along x (m)", "Drift along y (m)", "Courant number", - "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"] -,homo="SansOrdreNiDoublon"), - - ),# fin Listing_Graphic_Printouts - -# ------------------------------------ - Formatted_Results_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier','All Files (*)',), - fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \ -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.',), - - -# ------------------------------------ - Binary_Results_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', ';;All Files (*)',), - fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\ -Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.", - ang = "Additional binary-coded result file made available to the user. \n\ -The results to be entered into this file shall be written on channel 28.",), - - -# ------------------------------------ - Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - defaut = True, - fr = 'Si Vrai, impression des conditions initiales dans les resultats', - ang = 'If True, output of initial conditions in the results'), - -# ------------------------------------ - 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', - ), - - -# ------------------------------------ - Information_About_Solver = SIMP(typ = bool, statut = 'f', -# ------------------------------------ - defaut = False, - fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.", - ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",), - -# ------------------------------------ - Mass_Balance = SIMP( statut='o',typ=bool, -# ------------------------------------ - defaut=False , - fr = 'Determine si l on effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : \n\ -- les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) \n\ -- l erreur relative sur la masse pour ce pas de temps.\n\ -En fin de listing, on trouve l erreur relative sur la masse pour l ensemble du calcul.\n\ -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.\n\ -This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries,\n\ -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.', - ), - -# ------------------------------------ - Controls = FACT( statut='f', -# ------------------------------------ -# ------------------------------------ - Control_Sections = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')), -# ------------------------------------ - 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',), - -# ------------------------------------ - 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 l impermeabilite sous forme faible', - ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',), - -# ------------------------------------ - Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), -# ------------------------------------ - fr = 'sections input file, partitioned', - ang = 'sections input file, partitioned',), - -# ------------------------------------ - Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), -# ------------------------------------ - fr = 'sections output file, written by the master', - ang = 'sections output file, written by the master',), - - ),# fin controls -# ------------------------------------ - Fourier = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Fourier_Analysis_Periods = SIMP( statut='o', -# ------------------------------------ - max='**', typ = 'R', - fr = 'Liste des periodes que lon veut analyser', - ang= 'List of periods to be analysed',), - -# ------------------------------------ - Time_Range_For_Fourier_Analysis = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2), validators = VerifTypeTuple(('R','R')), - defaut=(0.0, 0.0) , - fr = 'Pour le calcul du marnage et de la phase de la maree', - ang= 'For computing tidal range and phase of tide', - ), - -# ------------------------------------ - List_Of_Points = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2), validators = VerifTypeTuple(('I','I')), - fr = 'Liste de points remarquables pour les impressions', - ang= 'List of remarkable points for printouts',), - -# ------------------------------------ - Names_Of_Points = SIMP( statut='o',typ='TXM', -# ------------------------------------ - min=2,max=2 , - fr = 'Noms des points remarquables pour les impressions', - ang= 'Names of remarkable points for printouts', - ), - - ),# fin fourier -) # FIN OUTPUT_FILES - - -# ----------------------------------------------------------------------- -CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None, -# ----------------------------------------------------------------------- - -# Attention calculer le logique BREACH - -# ------------------------------------ - 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)',), -# ------------------------------------ - culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0", -# ------------------------------------ -# ------------------------------------ - Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de description des siphons presents dans le modele', - ang = 'Description of culvert existing in the model',), - ), # fin bloc culvert_exists - -# ------------------------------------ - 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\n\ -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 \n\ -and their features are given in the tubes data file (see written documentation)',), -# ------------------------------------ - b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0", -# ------------------------------------ -# ------------------------------------ - Tubes_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de description des buses/ponts presents dans le modele', - ang = 'Description of tubes/bridges existing in the model',), - ), # in bloc b_Tubes - -# ------------------------------------ - Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0, -# ------------------------------------ - fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\ -Ces seuils doivent etre decrits comme des frontieres du domaine de calcul', - ang = 'Number of weirs that will be treated by boundary conditions.', - ), -# ------------------------------------ - b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0", -# ------------------------------------ -# ------------------------------------ - Weirs_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de description des seuils presents dans le modele', - ang = 'Description of weirs existing in the model',), - -# ------------------------------------ - Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", - "General (New solution with sources points)"], - defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", - fr = 'Méthode de traitement des seuils ', - ang = 'Method for treatment of weirs',), - ),# fin b_Weirs - -# ------------------------------------ - Breach = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.', - ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',), - -# ------------------------------------ - b_Breaches = BLOC (condition = 'Breach == True', -# ------------------------------------ -# ------------------------------------ - Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de description des breches', - ang = 'Description of breaches',), - ), # fin b_Breaches - - -) # Fin CONSTRUCTION_WORKS_MODELLING - - -# ----------------------------------------------------------------------- -GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - UIinfo = { "groupes" : ( "CACHE", )}, -# ------------------------------------ - Location = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Origin_Coordinates = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('I','I')),defaut = (0,0), - fr = 'Valeur en metres, utilise pour eviter les trop grands nombres, transmis dans le format Selafin mais pas d autre traitement pour l instant', - ang= 'Value in metres, used to avoid large real numbers, added in Selafin format, but so far no other treatment',), - - -# ------------------------------------ - Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False, -# ------------------------------------ - fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).', - ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'), - -# ------------------------------------ - b_Spher = BLOC(condition = 'Spherical_Coordinates == True', -# ------------------------------------ -# ------------------------------------ - Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48., -# ------------------------------------ - fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.', - ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\ -is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'), - -# ------------------------------------ - Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Mercator","Latitude longitude"]), - ), # fin b_Spher - -# ------------------------------------ - b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False', -# ------------------------------------ -# ------------------------------------ - Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"], - defaut = "Cartesian, not georeferenced",), - ), # fin b_Spher_faux - - ), # Fin de Location -# ------------------------------------ - Time = FACT(statut = 'o', -# ------------------------------------ - regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'), - EXCLUS('Number_Of_Time_Steps','Duration'), - ), - -# ----------------------------------------------------------------------- - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ----------------------------------------------------------------------- - defaut = "Choose between Keywords 'Number_Of_Time_Steps' or 'Duration'"), - -# ------------------------------------ - Time_Step = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 1, - fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', - ang = 'Specifies the number of time steps performed when running the code.'), - -# ------------------------------------ - Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I', -# ------------------------------------ - fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', - ang = 'Specifies the number of time steps performed when running the code.'), - -# ------------------------------------ - Duration = SIMP(statut = 'f',typ = 'R', -# ------------------------------------ - fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\ -On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\ -Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur', - ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\ -The nearest integer to (duration/time step) is taken. If NUMBER OF TIME STEPS is also given, the greater value is taken',), - -# PNPN -# Attention, on laisse la règle mais il est possible d avoir les 2 en entrées --> attention au convert -# ------------------------------------ - 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'), - -# ------------------------------------ - b_var_time = BLOC(condition = "Variable_Time_Step == True" , -# ------------------------------------ -# ------------------------------------ - Desired_Courant_Number = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Nombre de Courant souhaite ', - ang = 'Desired Courant number',), - ), - -# ------------------------------------ - Original_Date_Of_Time = FACT( statut = 'o', -# ------------------------------------ - fr = "Permet de fixer la date d'origine 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.', - Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900), - Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12, defaut = 1), - Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),), - -# ------------------------------------ - Original_Hour_Of_Time = FACT( statut = 'o', -# ------------------------------------ - fr = "Permet de fixer l'heure d'origine 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 the tide generating force.', - Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0), - Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), - Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), - ), - -# ------------------------------------ - Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o', -# ------------------------------------ - typ = bool,defaut = False), - -# ------------------------------------ - b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" , -# ------------------------------------ -# ------------------------------------ - Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')), -# ------------------------------------ - fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\ - 1- U et V 2- H 3- T ", - ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\ - 1- U and V 2- H 3- T ',), - ), # fin b_stop - -# ------------------------------------ - Control_Of_Limits = SIMP(statut = 'o', -# ------------------------------------ - typ = bool, defaut = False, - fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees', - ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',), - -# ------------------------------------ - b_limit = BLOC(condition = "Control_Of_Limit == True" , - Limit_Values = FACT(statut = 'o', -# Attention : 1 seul MC ds Telemac -# ------------------------------------ - fr = 'valeurs mini et maxi acceptables min puis max', - ang = 'min and max acceptable values ', - -# ------------------------------------ - Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)), -# ------------------------------------ - Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), -# ------------------------------------ - Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), -# ------------------------------------ - Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), - ),), # fin Fact et b_limit - ), # Fin de Time - -# Attention il faut recalculer en sortie : il faut 0 ou 1 et non un boolean -# ------------------------------------ - Debugger = SIMP(typ = bool , statut = 'o', -# ------------------------------------ - defaut = False, - fr= 'Pour imprimer la sequence des appels, mettre 1', - ang = 'If 1, calls of subroutines will be printed in the listing',), - -) # Fin GENERAL_PARAMETERS - - -# ----------------------------------------------------------------------- -TURBULENCE = PROC(nom = "TURBULENCE",op = None, -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity", -# ----------------------------------------------------------------------- - into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"), - fr = 'Pour Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\ -Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence', - ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\ -When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',), - -# ------------------------------------ - b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"', -# ------------------------------------ -# ------------------------------------ - Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 1.E-6, - fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\ -Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.', - ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\ -this value may have a significant effect both on the shapes and sizes of recirculation zones.',), - ), # fin b_turbu_const - -# ------------------------------------ - b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"', -# ------------------------------------ -# ------------------------------------ - Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6), - fr = 'coefficients longitudinal et transversal dans la formule de Elder.', - ang = 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2',), - ), # fin bloc b_turbu_elder - -# ----------------------------------------------------------------------- - Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 , -# ----------------------------------------------------------------------- - fr = 'Fixe la precision demandee sur k pour le test d arret 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.',), - -# ----------------------------------------------------------------------- - Time_Step_Reduction_For_K_Epsilon_Model = SIMP( statut = 'f',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).\n\ -Utilisation deconseillee', - ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\ -Not recommended for use.',), - -# ----------------------------------------------------------------------- - 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.',), - -# ----------------------------------------------------------------------- - Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = 'Rough' , - into = ('Smooth', 'Rough'), - fr = 'Permet de choisir le regime de turbulence aux parois ', - ang = 'Provided for selecting the type of friction on the walls',), - -# ----------------------------------------------------------------------- - Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = "Conjugate gradient" , - into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation", - "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)", - "GMRES", "Direct"), - fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon', - ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',), - -# ----------------------------------------------------------------------- - b_gmres = BLOC(condition = 'Solver_For_K_Epsilon_Model == "GMRES"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Option_For_The_Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'I', -# ----------------------------------------------------------------------- - defaut = 2 ,val_min = 2,val_max = 15, - fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)', - ang = 'dimension of the krylov space try values between 2 and 7',), - ), # fin bloc b_gmres - -# ----------------------------------------------------------------------- - Preconditioning_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = 'Diagonal' , - into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"), - fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon', - ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.', - ), -# ----------------------------------------------------------------------- - Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True, -# ----------------------------------------------------------------------- - fr = 'Donne le nombre d iterations du solveur de l etape 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.', - ), -)# fin TURBULENCE - - - - -# ----------------------------------------------------------------------- -PARTICLE_TRANSPORT = PROC(nom = "PARTICLE_TRANSPORT",op = None, -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0, -# ----------------------------------------------------------------------- - fr = 'Permet d''effectuer un suivi de flotteurs', - ang = 'Number of drogues in the computation.',), - -# ----------------------------------------------------------------------- - 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',), - -# ----------------------------------------------------------------------- - algae_exists = BLOC(condition = "Algae_Transport_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Algae_Type = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"], - defaut = "Sphere", - fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)', - ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',), - -# ----------------------------------------------------------------------- - Diameter_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',), - ), # fin algae - - -# ----------------------------------------------------------------------- - 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',), - -# ----------------------------------------------------------------------- - oil_exists = BLOC(condition = "Oil_Spill_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ----------------------------------------------------------------------- - fr = 'Contient les donnees pour le modele de derive de nappes', - ang = 'Contains data for the oil spill model',), - ), # fin oil_exists - -# ----------------------------------------------------------------------- - drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ----------------------------------------------------------------------- - fr = 'Fichier de resultat avec les positions des flotteurs', - ang = 'Results file with positions of drogues',), - -# ----------------------------------------------------------------------- - Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1, -# ----------------------------------------------------------------------- - fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\ -N affecte pas la qualite du calcul de la trajectoire', - ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',), - ),#fin drogues ou algae - - -# ----------------------------------------------------------------------- - 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_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 , -# ----------------------------------------------------------------------- - fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents', - ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',), - -# ----------------------------------------------------------------------- - b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ----------------------------------------------------------------------- - defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"), - ), # fin b_cons - -)# fin PARTICULE -# ----------------------------------------------------------------------- -TRACERS = PROC(nom = "TRACERS",op = None, -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Tracers_Setting = FACT(statut = 'o', -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Number_Of_Tracers = SIMP( statut='o',typ='I', -# ----------------------------------------------------------------------- - defaut=0 , - fr = 'Definit le nombre de traceurs.', - ang= 'Defines the number of tracers',), -#PNPNPN Recalculer Names_Of_Tracers et Initial_Values_Of_Tracers comme des listes -# pour Names_Of_Tracers = Names_Of_Tracers+Names_Of_Unit -# il faut faire un validateur (la chaine doit faire 16 caracteres evtuellement complete par des blancs) - -# ------------------------------------ - Tracer = FACT(statut = 'o', max="**", -# ------------------------------------ -# ----------------------------------------------------------------------- - Name_Of_Tracer = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - fr = 'Noms des traceurs en 16 caracteres', - ang= 'Name of tracers in 32 characters',), - -# ----------------------------------------------------------------------- - Name_Of_Unit = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - fr = 'Noms de l unité en 16 caracteres', - ang= 'Name of unit in 16 characters',), - - b_Computation_Continued = BLOC(condition = 'Computation_Continued == True', -#PNPNPN Attention: global_jdc ne fonctionne pas bien : pas de propagation si chgt de valeur de Computation_Continued -# ----------------------------------------------------------------------- - Initial_Values_Of_Tracers = SIMP( statut='o', -# ----------------------------------------------------------------------- - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - defaut=(0.0, 0.0) , - fr = 'Fixe la valeur initiale du traceur.', - ang= 'Sets the initial value of the tracer.',), - - ), # fin b_Computation_Continued -# ------------------------------------ - Boundary_Conditions = FACT( statut = 'f', -# ------------------------------------ -# ----------------------------------------------------------------------- - Prescribed_Tracers_Values = SIMP( statut='o', -# ----------------------------------------------------------------------- - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la partie du manuel consacree aux conditions aux limites', - ang= 'Tracer values prescribed at the inflow boundaries. Read the manual section dealing with the boundary conditions',), - ), # fin Boundary_Conditions - ), # fin tracer - -# ----------------------------------------------------------------------- - 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',), - -# ----------------------------------------------------------------------- - b_Density_Effects = BLOC(condition = 'Density_Effects == True', -# ----------------------------------------------------------------------- -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut='the first Tracer must be the salinity expressed in kg/m3'), - -# ----------------------------------------------------------------------- - Mean_Temperature = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=20.0 , - fr = 'temperature de reference pour le calcul des effets de densite ', - ang= 'reference temperature for density effects',), - - ), # fin b_Density_Effects - - ), # fin b_Tracers_Settings -# ----------------------------------------------------------------------- - Solving = FACT( statut='o', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - defaut='1="conjugate gradient"' , - into =('1="conjugate gradient"', '2="conjugate residual"', '3="conjugate gradient on a normal equation"', - '4="minimum error"', '5="squared conjugate gradient"', '6="cgstab"', '7="gmres "', '8="direct"'),), - -# ----------------------------------------------------------------------- - Solver_Option_For_Tracers_Diffusion = 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',), - -# ----------------------------------------------------------------------- - Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - defaut='2="diagonal"' , - 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 traceur. Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT.', - ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING', - ), - ), # fin_Solving - -# ----------------------------------------------------------------------- - Accuracy = FACT( statut='o', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Accuracy_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', defaut=1e-06 , -# ----------------------------------------------------------------------- - fr = 'Fixe la precision demandee pour le calcul de la diffusion du traceur.', - ang= 'Sets the required accuracy for computing the tracer diffusion.',), - -# ----------------------------------------------------------------------- - Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', defaut=60 , -# ----------------------------------------------------------------------- - fr = 'Limite le nombre diterations du solveur a chaque pas de temps pour le calcul de la diffusion du traceur.', - ang= 'Limits the number of solver iterations at each time step for the diffusion of tracer.',), - - ), # fin Accuracy -# ----------------------------------------------------------------------- - Sources = FACT( statut='o', -# ----------------------------------------------------------------------- -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "La longueur de la liste doit etre nb de source * nb de tracers"), -# ----------------------------------------------------------------------- - Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', max='**' , -# ----------------------------------------------------------------------- - fr = 'Valeurs des traceurs a chacune des sources', - ang= 'Values of the tracers at the sources',), - ), # fin Sources -# ----------------------------------------------------------------------- - Metereology = FACT( statut='o', -# ----------------------------------------------------------------------- -# en fait, c'est une liste de Tuple de 2. Il faudrait caluler la taille en fonction du Nombre de sources -# ----------------------------------------------------------------------- - Values_Of_Tracers_In_The_Rain = SIMP( -# ----------------------------------------------------------------------- - statut='o',typ='R',defaut=0, max=2 , fr = '', ang= '',), - ), # fin Metereology - -# ----------------------------------------------------------------------- - Numerical = FACT( statut='o', -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Implicitation_Coefficient_Of_Tracers = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=0.6 , - fr = 'Fixe la valeur du coefficient dimplicitation du traceur', - ang= 'Sets the value of the implicitation coefficient for the tracer',), - -# ----------------------------------------------------------------------- - 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.',), - -# ------------------------------------ - b_Diffusion_Of_Tracers = BLOC(condition = 'Diffusion_Of_Tracers == True', -# ------------------------------------ -# ------------------------------------ - Coefficient_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', -# ------------------------------------ - defaut=1e-06 , - fr = 'Fixe la valeur du coefficient de diffusion du traceur. Linfluence de ce parametre sur levolution du traceur dans le temps est importante.', - ang= 'Sets the value of the tracer diffusivity.',), - -# ------------------------------------ - Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut='Diffusion in the form div( nu grad(T))' , - into=[ 'Diffusion in the form div( nu grad(T))', 'Diffusion in the form 1/h div ( h nu grad(T))',],), - ), # fin b_Diffusion_Of_Tracers - -# ------------------------------------ - Scheme_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut="CHARACTERISTICS" , - into =("NO ADVECTION", "CHARACTERISTICS", "EXPLICIT + SUPG", "EXPLICIT LEO POSTMA", "EXPLICIT + MURD SCHEME N", - "EXPLICIT + MURD SCHEME PSI", "LEO POSTMA FOR TIDAL FLATS", "N-SCHEME FOR TIDAL FLATS"), - fr = 'Choix du schema de convection pour les traceurs, remplace FORME DE LA CONVECTION', - ang= 'Choice of the advection scheme for the tracers, replaces TYPE OF ADVECTION',), - -# ------------------------------------ - Scheme_Option_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut='explicit' , - into=['explicit','predictor-corrector for tracers'], - fr = 'Si present remplace et a priorite sur : OPTION POUR LES CARACTERISTIQUES OPTION DE SUPG Si schema PSI : 1=explicite 2=predicteur-correcteur pour les traceurs', - ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for tracers',), - -# ------------------------------------ - Mass_Lumping_On_Tracers = SIMP ( statut='o',typ='R', -# ------------------------------------ - defaut=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.',), - - ), # fin Numerical -# ----------------------------------------------------------------------- - Degradation = FACT( statut='o', -# ----------------------------------------------------------------------- - -# PN Attention, il faut recalculer Law_Of_Tracers_Degradation -# et les coefficients. -# Question : pourquoi 2 et pas selon le nb de tracer -# Est ce que ce $ va sous tracer ? -# ----------------------------------------------------------------------- - Law1_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - into=["NO DEGRADATION","F(T90) LAW"], - defaut="NO DEGRADATION", - fr = 'Prise en compte dune loi de decroissance des traceurs', - ang= 'Take in account a law for tracers decrease',), - -# ----------------------------------------------------------------------- - b_Law1 = BLOC(condition = 'Law1_Of_Tracers_Degradation == "F(T90) LAW"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - fr = 'Coefficient 1 de la loi de decroissance des traceurs', - ang= 'Coefficient 1 of law for tracers decrease',), - ),# fin b_Law1 - -# ----------------------------------------------------------------------- - Law2_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - into=["NO DEGRADATION","F(T90) LAW"], - defaut="NO DEGRADATION", - fr = 'Prise en compte dune loi de decroissance des traceurs', - ang= 'Take in account a law for tracers decrease',), - -# ----------------------------------------------------------------------- - b_Law2 = BLOC(condition = 'Law2_Of_Tracers_Degradation == "F(T90) LAW"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Coefficient_2_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - fr = 'Coefficient 2 de la loi de decroissance des traceurs', - ang= 'Coefficient 2 of law for tracers decrease',), - ),# fin b_Law2 - ), # fin Degradation - -)# fin TRACERS - - -Ordre_Des_Commandes = ( 'INITIALIZATION', 'BOUNDARY_CONDITIONS','GENERAL_PARAMETERS', 'PHYSICAL_PARAMETERS', 'NUMERICAL_PARAMETERS', -'TURBULENCE', 'TRACERS', 'PARTICLE_TRANSPORT', 'CONSTRUCTION_WORKS_MODELLING', 'TIDE_PARAMETERS', 'OUTPUT_FILES') diff --git a/ts/a.py b/ts/a.py deleted file mode 100644 index 3e93a25c..00000000 --- a/ts/a.py +++ /dev/null @@ -1,8 +0,0 @@ -liste=l.split() -if len(liste) > 1 : - txt="" - for e in liste: - txt+='_'+e - txt=txt[1:] -else : - txt=l diff --git a/ts/dicoparser.py b/ts/dicoparser.py deleted file mode 100644 index 751673ed..00000000 --- a/ts/dicoparser.py +++ /dev/null @@ -1,160 +0,0 @@ - -import shlex - -DICO_EXT = '.dico' - -class DicoParser: - def __init__( self, theFileName, theStartAttr, theIndexAttr ): - if theFileName=='': - return - if not theFileName.endswith( DICO_EXT ): - theFileName += DICO_EXT - aFile = open( theFileName ) - self.data = self.parse( aFile.read(), theStartAttr, theIndexAttr ) - aFile.close() - - def parse( self, theText, theStartAttr, theIndexAttr ): - aTokenList = self.parse_tokens( theText ) - self.expand_values( aTokenList ) - aList = self.convert_to_tuples( aTokenList ) - return self.convert_to_blocks( aList, theStartAttr, theIndexAttr ) - - def parse_tokens( self, theText ): - theText = theText.replace( "''", "`" ) - aLexer = shlex.shlex( theText ) - aLexer.commenters = '/' - aLexer.quotes = '\'"' - aLexer.wordchars = aLexer.wordchars + '-.' - aTokenList = [] - for aToken in aLexer: - #print aToken - if aToken[0]=="'" and aToken[-1]=="'": - aToken = aToken[1:-1] - elif aToken[0]=='"' and aToken[-1]=='"': - aToken = aToken[1:-1] - if aToken=='`': - aToken = '' - aToken = aToken.replace( "`", "'" ) - aToken = aToken.replace( "\n", "" ) - aToken = self.simplify_spaces( aToken ) - #print aToken - aTokenList.append( aToken ) - return aTokenList - - def simplify_spaces( self, theToken ): - return ' '.join( theToken.split() ) - - def expand_values( self, theList ): - for i in xrange( 0, len( theList ) ): - if '=' in theList[i] and theList[i]!='=': - aTokenList = self.parse_tokens( theList[i] ) - aSubItemsList = self.convert_to_tuples( aTokenList ) - if( len( aSubItemsList ) == 0 ): - print theList[i] - theList[i] = aSubItemsList[0] # we assume that only one '=' in the subitem - - def convert_to_tuples( self, theList ): - aPairsList = [] - aKey = '' - i = 0 - n = len( theList ) - while i 0 and i0: - aData[aBlockKey] = aBlock - aBlockKey = '' - aBlock = {} - elif aKey==theIndexAttr: - #print "__index__" - aBlockKey = aValue - #print aBlockKey - aBlock[aKey] = aValue - #print aData - if len(aBlock)>0: - aData[aBlockKey] = aBlock - return aData - - def are_equal( self, theStrDico, theStrCata ): - return theStrDico == self.to_dico_str( theStrCata ) - - def to_dico_str( self, theStrCata ): - aCata = theStrCata.replace( '_', ' ' ) - aCata = aCata.upper() - return aCata - - def to_cata_str( self, theStrDico ): - aWordsList = theStrDico.split() - aCata = [] - for aWord in aWordsList: - aWord = aWord.lower() - aWord = aWord[0].upper() + aWord[1:] - aCata.append( aWord ) - return ' '.join( aCata ) - - def search_in_block( self, theBlock, theAttrTr ): - #print 'search_in_block:', theAttrTr - return theBlock[theAttrTr] - - def search( self, theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ): - anIndexText = self.to_dico_str( theIndexText ) - if not anIndexText in self.data: - return '' - - if theAttrCh=='': - return self.search_in_block( self.data[anIndexText], theAttrTr ) - - aDataCh = self.search_in_block( self.data[anIndexText], theAttrCh ) - aDataChTr = self.search_in_block( self.data[anIndexText], theAttrChTr ) - if isinstance( theChoiceText, basestring ): - aChoiceText = self.to_dico_str( theChoiceText ) - else: - aChoiceText = theChoiceText - #print 'Choice text:', aChoiceText - #print 'Choice data:', aDataCh - #print 'Choice tr data:', aDataChTr - if isinstance( aDataCh, basestring ) and aDataCh==aChoiceText: - return aDataChTr - - for i in xrange( 0, len(aDataCh) ): - if isinstance( aDataCh[i], tuple ): - aKey, aValue = aDataCh[i] - elif isinstance( aDataCh[i], basestring ): - aKey = '' - aValue = aDataCh[i] - #print aKey, aValue - if aValue==aChoiceText: - if isinstance( aDataChTr[i], tuple ): - aKeyTr, aValueTr = aDataChTr[i] - elif isinstance( aDataChTr[i], basestring ): - aKeyTr = '' - aValueTr = aDataChTr[i] - return aValueTr - return '' - - def translate( self, theIndexText, theAttrTr, theChoiceText='', theAttrCh='', theAttrChTr='' ): - aTrText = self.search( theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ) - #print aTrText - return self.to_cata_str( aTrText ) diff --git a/ts/main.ts b/ts/main.ts deleted file mode 100644 index f192f4e8..00000000 --- a/ts/main.ts +++ /dev/null @@ -1,1614 +0,0 @@ - - - - - - - Values_Of_Tracers_In_The_Rain - - - Valeurs_Des_Traceurs_Dans_La_Pluie - - - - - Threshold_Depth_For_Receding_Procedure - - - Profondeur_Limite_Pour_Procedure_De_Ressuyage - - - - - Title - - - Titre - - - - - Spatial_Projection_Type - - - Type_De_Projection_Spatiale - - - - - Stochastic_Diffusion_Model - - - Modele_De_Diffusion_Stochastique - - - - - Drogues_File - - - Fichier_Des_Flotteurs - - - - - Origin_Coordinates - - - Coordonnees_De_L'origine - - - - - Velocities_Of_The_Sources_Along_X - - - Vitesses_Des_Sources_Selon_X - - - - - Velocities_Of_The_Sources_Along_Y - - - Vitesses_Des_Sources_Selon_Y - - - - - Finite_Volume_Scheme - - - Schema_En_Volumes_Finis - - - - - Density_Of_Algae - - - Masse_Volumique_Des_Algues - - - - - Geometry_File - - - Fichier_De_Geometrie - - - - - Turbulence_Model - - - Modele_De_Turbulence - - - - - Oil_Spill_Model - - - Modele_De_Nappes_D'hydrocarbures - - - - - Definition_Of_Zones - - - Definition_De_Zones - - - - - Rain_Or_Evaporation - - - Pluie_Ou_Evaporation - - - - - Water_Density - - - Masse_Volumique_De_L'eau - - - - - Sources_File - - - Fichier_Des_Sources - - - - - Friction_Coefficient - - - Coefficient_De_Frottement - - - - - Roughness_Coefficient_Of_Boundaries - - - Coefficient_De_Rugosite_Des_Bords - - - - - Option_For_Tidal_Boundary_Conditions - - - Option_Pour_Les_Conditions_Aux_Limites_De_Maree - - - - - Coefficient_To_Calibrate_Tidal_Velocities - - - Coefficient_De_Calage_Des_Vitesses_De_Courant - - - - - Initial_Time_Set_To_Zero - - - Remise_A_Zero_Du_Temps - - - - - Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers - - - Maximum_D'iterations_Pour_La_Diffusion_Des_Traceurs - - - - - Binary_Results_File - - - Fichier_De_Resultats_Binaire - - - - - Number_Of_Drogues - - - Nombre_De_Flotteurs - - - - - Air_Pressure - - - Pression_Atmospherique - - - - - Mean_Depth_For_Linearization - - - Profondeur_Moyenne_Pour_La_Linearisation - - - - - Control_Of_Limits - - - Controle_Des_Limites - - - - - Free_Surface_Gradient_Compatibility - - - Compatibilite_Du_Gradient_De_Surface_Libre - - - - - Prescribed_Tracers_Values - - - Valeurs_Imposees_Des_Traceurs - - - - - defaut - - - Saint-venant_Ef - - - - - Velocity_Diffusivity - - - Coefficient_De_Diffusion_Des_Vitesses - - - - - Time_Step - - - Pas_De_Temps - - - - - Validation - - - Validation - - - - - Wind - - - Vent - - - - - Density_Effects - - - Effets_De_Densite - - - - - Implicitation_Coefficient_Of_Tracers - - - Coefficient_D'implicitation_Des_Traceurs - - - - - Formatted_Results_File - - - Fichier_De_Resultats_Formate - - - - - Debugger - - - Debugger - - - - - Equations - - - Equations - - - - - Original_Date_Of_Time - - - Date_De_L'origine_Des_Temps - - - - - Number_Of_Private_Arrays - - - Nombre_De_Tableaux_Prives - - - - - Prescribed_Elevations - - - Cotes_Imposees - - - - - Number_Of_Time_Steps - - - Nombre_De_Pas_De_Temps - - - - - Wind_Velocity_Along_X - - - Vitesse_Du_Vent_Suivant_X - - - - - Variables_To_Be_Printed - - - Variables_A_Imprimer - - - - - Preconditioning - - - Preconditionnement - - - - - Reference_File_Format - - - Format_Du_Fichier_De_Reference - - - - - Type_Of_Sources - - - Type_Des_Sources - - - - - Tidal_Flats - - - Bancs_Decouvrants - - - - - Ascii_Database_For_Tide - - - Base_Ascii_De_Donnees_De_Maree - - - - - Sections_Output_File - - - Fichier_De_Sortie_Des_Sections_De_Controle - - - - - Mean_Temperature - - - Temperature_Moyenne - - - - - Initial_Elevation - - - Cote_Initiale - - - - - Tubes_Data_File - - - Fichier_De_Donnees_Des_Buses - - - - - Boundary_Conditions_File - - - Fichier_Des_Conditions_Aux_Limites - - - - - Breach - - - Breche - - - - - Treatment_Of_The_Linear_System - - - Traitement_Du_Systeme_Lineaire - - - - - Coefficient_Of_Wind_Influence - - - Coefficient_D'influence_Du_Vent - - - - - List_Of_Points - - - Liste_De_Points - - - - - Listing_Printout_Period - - - Periode_Pour_Les_Sorties_Listing - - - - - Initial_Guess_For_H - - - Ordre_Du_Tir_Initial_Pour_H - - - - - Geometry_File_Format - - - Format_Du_Fichier_De_Geometrie - - - - - Coefficient_1_For_Law_Of_Tracers_Degradation - - - Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs - - - - - Number_Of_Lagrangian_Drifts - - - Nombre_De_Derives_Lagrangiennes - - - - - Weirs_Data_File - - - Fichier_De_Donnees_Des_Seuils - - - - - Rain_Or_Evaporation_In_Mm_Per_Day - - - Pluie_Ou_Evaporation_En_Mm_Par_Jour - - - - - Solver - - - Solveur - - - - - Maximum_Number_Of_Friction_Domains - - - Nombre_Maximum_De_Domaines_De_Frottement - - - - - Elements_Masked_By_User - - - Elements_Masques_Par_L'utilisateur - - - - - Control_Sections - - - Sections_De_Controle - - - - - Depth_In_Friction_Terms - - - Hauteur_Dans_Les_Termes_De_Frottement - - - - - Solver_Accuracy - - - Precision_Du_Solveur - - - - - Wave_Driven_Currents - - - Courants_De_Houle - - - - - Number_Of_Culverts - - - Nombre_De_Siphons - - - - - Liquid_Boundaries_File - - - Fichier_Des_Frontieres_Liquides - - - - - Maximum_Number_Of_Iterations_For_Identification - - - Maximum_D'iterations_Pour_L'identification - - - - - Coefficient_For_Diffusion_Of_Tracers - - - Coefficient_De_Diffusion_Des_Traceurs - - - - - Option_For_The_Diffusion_Of_Velocities - - - Option_Pour_La_Diffusion_Des_Vitesses - - - - - Coefficient_To_Calibrate_Tidal_Range - - - Coefficient_De_Calage_Du_Marnage - - - - - Binary_Data_File_1 - - - Fichier_De_Donnees_Binaire_1 - - - - - Binary_Data_File_2 - - - Fichier_De_Donnees_Binaire_2 - - - - - Minor_Constituents_Inference - - - Interpolation_De_Composantes_Mineures - - - - - Implicitation_For_Velocity - - - Implicitation_Pour_La_Vitesse - - - - - Continuity_Correction - - - Correction_De_Continuite - - - - - Original_Hour_Of_Time - - - Heure_De_L'origine_Des_Temps - - - - - Law_Of_Friction_On_Lateral_Boundaries - - - Loi_De_Frottement_Sur_Les_Parois_Laterales - - - - - Propagation - - - Propagation - - - - - Solver_For_Diffusion_Of_Tracers - - - Solveur_Pour_La_Diffusion_Des_Traceurs - - - - - Discretizations_In_Space - - - Discretisations_En_Espace - - - - - Solver_Option - - - Option_Du_Solveur - - - - - Advection_Of_H - - - Convection_De_H - - - - - Output_Of_Initial_Conditions - - - Sortie_Des_Conditions_Initiales - - - - - Record_Number_For_Restart - - - Enregistrement_Pour_Suite_De_Calcul - - - - - Accuracy_For_Diffusion_Of_Tracers - - - Precision_Pour_La_Diffusion_Des_Traceurs - - - - - Initial_Guess_For_U - - - Ordre_Du_Tir_Initial_Pour_U - - - - - Advection_Of_K_And_Epsilon - - - Convection_De_K_Et_Epsilon - - - - - Identification_Method - - - Methode_D'identification - - - - - Names_Of_Points - - - Noms_Des_Points - - - - - Zone_Number_In_Geographic_System - - - Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique - - - - - Matrix_Storage - - - Stockage_Des_Matrices - - - - - Algae_Type - - - Type_Des_Algues - - - - - Thickness_Of_Algae - - - Epaisseur_Des_Algues - - - - - Newmark_Time_Integration_Coefficient - - - Coefficient_D'integration_En_Temps_De_Newmark - - - - - Friction_Data_File - - - Fichier_De_Donnees_Pour_Le_Frottement - - - - - Implicitation_For_Diffusion_Of_Velocity - - - Implicitation_Pour_La_Diffusion_Des_Vitesses - - - - - Limit_Values - - - Valeurs_Limites - - - - - Advection - - - Convection - - - - - Binary_Database_1_For_Tide - - - Base_Binaire_1_De_Donnees_De_Maree - - - - - Results_File - - - Fichier_Des_Resultats - - - - - Algae_Transport_Model - - - Modele_De_Transport_Des_Algues - - - - - Treatment_Of_Negative_Depths - - - Traitement_Des_Hauteurs_Negatives - - - - - Option_For_The_Diffusion_Of_Tracers - - - Option_Pour_La_Diffusion_Des_Traceurs - - - - - Ordinates_Of_Sources - - - Ordonnees_Des_Sources - - - - - Coriolis_Coefficient - - - Coefficient_De_Coriolis - - - - - Water_Discharge_Of_Sources - - - Debits_Des_Sources - - - - - Advection_Of_U_And_V - - - Convection_De_U_Et_V - - - - - Variables_For_Graphic_Printouts - - - Variables_Pour_Les_Sorties_Graphiques - - - - - Geographic_System - - - Systeme_Geographique - - - - - Coriolis - - - Coriolis - - - - - Desired_Courant_Number - - - Nombre_De_Courant_Souhaite - - - - - Latitude_Of_Origin_Point - - - Latitude_Du_Point_Origine - - - - - Time_Range_For_Fourier_Analysis - - - Bornes_En_Temps_Pour_L'analyse_De_Fourier - - - - - Graphic_Printout_Period - - - Periode_Pour_Les_Sorties_Graphiques - - - - - Tide_Generating_Force - - - Force_Generatrice_De_La_Maree - - - - - Preconditioning_For_Diffusion_Of_Tracers - - - Preconditionnement_Pour_La_Diffusion_Des_Traceurs - - - - - Number_Of_Tubes - - - Nombre_De_Buses - - - - - Vertical_Structures - - - Structures_Verticales - - - - - Stop_If_A_Steady_State_Is_Reached - - - Arret_Si_Un_Etat_Permanent_Est_Atteint - - - - - Number_Of_Weirs - - - Nombre_De_Seuils - - - - - Listing_Printout - - - Sortie_Listing - - - - - Previous_Computation_File - - - Fichier_Du_Calcul_Precedent - - - - - Fortran_File - - - Fichier_Fortran - - - - - Sections_Input_File - - - Fichier_Des_Sections_De_Controle - - - - - Binary_Database_2_For_Tide - - - Base_Binaire_2_De_Donnees_De_Maree - - - - - Results_File_Format - - - Format_Du_Fichier_Des_Resultats - - - - - Accuracy_Of_K - - - Precision_Sur_K - - - - - Tidal_Model_File - - - Fichier_Du_Modele_De_Maree - - - - - Fourier_Analysis_Periods - - - Periodes_D'analyse_De_Fourier - - - - - H_Clipping - - - Clipping_De_H - - - - - Tolerances_For_Identification - - - Precisions_Pour_L'identification - - - - - Previous_Computation_File_Format - - - Format_Du_Fichier_Du_Calcul_Precedent - - - - - Prescribed_Flowrates - - - Debits_Imposes - - - - - Bottom_Topography_File - - - Fichier_Des_Fonds - - - - - Implicitation_For_Depth - - - Implicitation_Pour_La_Hauteur - - - - - Cost_Function - - - Fonction_Cout - - - - - Diffusion_Of_Tracers - - - Diffusion_Des_Traceurs - - - - - Formatted_Data_File_1 - - - Fichier_De_Donnees_Formate_1 - - - - - Formatted_Data_File_2 - - - Fichier_De_Donnees_Formate_2 - - - - - Computation_Continued - - - Suite_De_Calcul - - - - - Breaches_Data_File - - - Fichier_De_Donnees_Des_Breches - - - - - Diffusion_Of_Velocity - - - Diffusion_Des_Vitesses - - - - - Type_Of_Advection - - - Forme_De_La_Convection - - - - - Solver_Option_For_Tracers_Diffusion - - - Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs - - - - - Advection_Of_Tracers - - - Convection_Des_Traceurs - - - - - Printout_Period_For_Drogues - - - Periode_Pour_Les_Sorties_De_Flotteurs - - - - - Option_For_The_Treatment_Of_Tidal_Flats - - - Option_De_Traitement_Des_Bancs_Decouvrants - - - - - Physical_Characteristics_Of_The_Tsunami - - - Parametres_Physiques_Du_Tsunami - - - - - Maximum_Number_Of_Iterations_For_K_And_Epsilon - - - Maximum_D'iterations_Pour_K_Et_Epsilon - - - - - Tidal_Data_Base - - - Base_De_Donnees_De_Maree - - - - - Maximum_Number_Of_Iterations_For_Solver - - - Maximum_D'iterations_Pour_Le_Solveur - - - - - Number_Of_Tracers - - - Nombre_De_Traceurs - - - - - Threshold_Depth_For_Wind - - - Profondeur_Limite_Pour_Le_Vent - - - - - Gravity_Acceleration - - - Acceleration_De_La_Pesanteur - - - - - Option_For_Characteristics - - - Option_Pour_Les_Caracteristiques - - - - - Spacing_Of_Roughness_Elements - - - Espacement_Des_Elements_De_Frottement - - - - - Parallel_Processors - - - Processeurs_Paralleles - - - - - Harmonic_Constants_File - - - Fichier_Des_Constantes_Harmoniques - - - - - Spherical_Coordinates - - - Coordonnees_Spheriques - - - - - Parameter_Estimation - - - Estimation_De_Parametre - - - - - Linearized_Propagation - - - Propagation_Linearisee - - - - - Accuracy_Of_Epsilon - - - Precision_Sur_Epsilon - - - - - Diameter_Of_Roughness_Elements - - - Diametre_Des_Elements_De_Frottement - - - - - Number_Of_First_Time_Step_For_Graphic_Printouts - - - Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques - - - - - Threshold_For_Negative_Depths - - - Seuil_Pour_Les_Profondeurs_Negatives - - - - - Coefficient_To_Calibrate_Sea_Level - - - Coefficient_De_Calage_Du_Niveau_De_Mer - - - - - Wind_Velocity_Along_Y - - - Vitesse_Du_Vent_Suivant_Y - - - - - Information_About_Solver - - - Informations_Sur_Le_Solveur - - - - - Initial_Conditions - - - Conditions_Initiales - - - - - Culvert_Data_File - - - Fichier_De_Donnees_Des_Siphons - - - - - Maximum_Number_Of_Iterations_For_Advection_Schemes - - - Maximum_D'iterations_Pour_Les_Schemas_De_Convection - - - - - Longitude_Of_Origin_Point - - - Longitude_Du_Point_Origine - - - - - Law_Of_Bottom_Friction - - - Loi_De_Frottement_Sur_Le_Fond - - - - - Option_For_Tsunami_Generation - - - Option_Pour_La_Generation_De_Tsunami - - - - - Type_Of_Weirs - - - Type_Des_Seuils - - - - - Record_Number_In_Wave_File - - - Numero_De_L'enregistrement_Dans_Le_Fichier_De_Houle - - - - - Abscissae_Of_Sources - - - Abscisses_Des_Sources - - - - - Values_Of_The_Tracers_At_The_Sources - - - Valeurs_Des_Traceurs_Des_Sources - - - - - Treatment_Of_Fluxes_At_The_Boundaries - - - Traitement_Des_Flux_Aux_Frontieres - - - - - Printing_Cumulated_Flowrates - - - Impression_Du_Cumul_Des_Flux - - - - - Bottom_Smoothings - - - Lissages_Du_Fond - - - - - Initial_Depth - - - Hauteur_Initiale - - - - - Minimum_Value_Of_Depth - - - Valeur_Minimum_De_H - - - - - Reference_File - - - Fichier_De_Reference - - - - - Turbulence_Model_For_Solid_Boundaries - - - Regime_De_Turbulence_Pour_Les_Parois - - - - - Duration - - - Duree_Du_Calcul - - - - - Stop_Criteria - - - Criteres_D'arret - - - - - Prescribed_Velocities - - - Vitesses_Imposees - - - - - Initial_Values_Of_Tracers - - - Valeurs_Initiales_Des_Traceurs - - - - - Compatible_Computation_Of_Fluxes - - - Calcul_Compatible_Des_Flux - - - - diff --git a/ts/prefs.py b/ts/prefs.py deleted file mode 100644 index 87710926..00000000 --- a/ts/prefs.py +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -code="TELEMAC" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) -if os.path.join(os.path.dirname(os.path.abspath(__file__)),'..') not in sys.path: - sys.path.insert(0,os.path.join(os.path.dirname(os.path.abspath(__file__)),'..')) diff --git a/ts/telemac2dv6p3.dico b/ts/telemac2dv6p3.dico deleted file mode 100644 index 578f26b7..00000000 --- a/ts/telemac2dv6p3.dico +++ /dev/null @@ -1,5687 +0,0 @@ -&DYN -/ -/!RUBRIQUE 'ENTREES-SORTIES, FICHIERS' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'ENTREES-SORTIES, GENERALITES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'PARAMETRES NUMERIQUES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'PARAMETRES NUMERIQUES, SOLVEUR' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'EQUATIONS' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'EQUATIONS, CONDITIONS LIMITES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'EQUATIONS, CONDITIONS INITIALES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'EQUATIONS, SOURCES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/!RUBRIQUE 'CONSTANTES PHYSIQUES' -/!BACKGROUND 'LightGray' -/!FOREGROUND 'Brown' -/---SYSTEME-TELEMAC-V6P3------------------------------TELEMAC-2D------------- -/ -/Signification des differents mode d'acquisition/restitution -/des fichiers vis a vis du parallelisme : -/ -/ - "SCAL" : -/ Meme fichier pour tous les processeurs lu par tous. -/ Seule la version du maitre est consideree apres calcul. -/ -/ - "SELAFIN" : -/ Le fichier est "decompose/regroupe en sous-domaines" avec les outils -/ "partel/gretel" (dans le mode par defaut "parallelisme automatique") -/ Chaque processeur dispose d'un fichier prive. -/ - "SELAFIN-GEOM" : -/ idem SELAFIN mais pour le fichier de geometrie ='FICHIER DE GEOMETRIE' -/ (usage par le regroupeur GRETEL en parallelisme) -/ -/ - "PARAL" : -/ Le fichier est duplique avant calcul ("LIT") pour chaque processeur -/ (avec une extension numerique), sauf s'il pre-existe avec cette -/ extension numerique : il est alors utilise (copie). -/ En mode "non automatique" : les fichiers lus doivent pre-exister avec -/ leur extension numerique. -/ S'il s'agit d'un fichier resultat ("ECR"), le fichier est restitue -/ avec son extension numerique (fichier specifique a chaque processeur). -/ -/ - "CONLIM" : -/ Cette valeur designe le fichier des "conditions aux limites" -/ (utilise par le decoupeur "partel"). -/ -/ - "SECTION" : -/ Sections input file, to be treated in parallel by partel in -/ a similar way as CONLIM !jaj #### -/ -/---SYSTEME-TELEMAC-V6P3------------------------DeltaCAD-/-Septembre-2003---- - -NOM = 'FICHIER DE GEOMETRIE' -NOM1 = 'GEOMETRY FILE' -TYPE = CARACTERE -INDEX = 6 -MNEMO = 'T2D_FILES(T2DGEO)%NAME' -TAILLE = 0 -SUBMIT = 'T2DGEO-READ-01;T2DGEO;OBLIG;BIN;LIT;SELAFIN-GEOM' -/DEFAUT = ' ' -/DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -COMPORT = -'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") -IS VALEUR (red)' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -AIDE = 'Nom du fichier contenant le maillage du calcul a realiser.' -AIDE1 = 'Name of the file containing the mesh. This file may also -contain the topography and the friction coefficients.' - -NOM = 'CONTROLE DES LIMITES' -NOM1 = 'CONTROL OF LIMITS' -TYPE = LOGIQUE -INDEX = 23 -MNEMO = 'VERLIM' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' -COMPORT = 'Affichage ("VALEURS LIMITES") IS VALEUR ()' -NIVEAU = 2 -AIDE = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME -S''ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' -AIDE1 = 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF -THE LIMITS ON U,V,H, OR T ARE TRESPASSED' - -NOM = 'VALEURS LIMITES' -NOM1 = 'LIMIT VALUES' -TYPE = REEL -INDEX = 15 -MNEMO = '' -TAILLE = 8 -DEFAUT = -1000.;9000.;-1000.;1000.;-1000.;1000.;-1000.;1000. -DEFAUT1 = -1000.;9000.;-1000.;1000.;-1000.;1000.;-1000.;1000. -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' -COMPORT = -'Foreground ("ENTREES-SORTIES, GENERALITES*CONTROLE") -IS VALEUR (red)' -NIVEAU = 2 -AIDE = 'Utilise avec le mot-cle CONTROLE DES LIMITES - valeurs mini et maxi acceptables pour H,U,V et T dans l''ordre - suivant : min(H) max(H) min(U) max(U) - min(V) max(V) min(T) max(T)' -AIDE1 = 'To be used with the key-word CONTROL OF LIMITS - min and max acceptable values for H,U,V et T in the following - order : min(H) max(H) min(U) max(U) - min(V) max(V) min(T) max(T)' - -NOM = 'PERIODE POUR LES SORTIES GRAPHIQUES' -NOM1 = 'GRAPHIC PRINTOUT PERIOD' -TYPE = ENTIER -INDEX = 1 -MNEMO = 'LEOPRD' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -COMPORT = -'Foreground ("ENTREES-SORTIES, GRAPHIQUES ET LISTING") -IS VALEUR (red)' -NIVEAU = 1 -AIDE = 'Determine la periode en nombre de pas de temps d''impression -des ''VARIABLES POUR LES SORTIES GRAPHIQUES'' (voir ce mot-cle) -dans le FICHIER DES RESULTATS.' -AIDE1 = 'Determines, in number of time steps, the printout period for -the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' - -NOM = 'PERIODE DE SORTIE LISTING' -NOM1 = 'LISTING PRINTOUT PERIOD' -TYPE = ENTIER -INDEX = 2 -MNEMO = 'LISPRD' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'Determine la periode en nombre de pas de temps d''impression -des ''VARIABLES A IMPRIMER'' (voir ce mot-cle) Pour la mise au point, -il faut savoir que la sortie des resultats est effectuee -systematiquement sur le fichier de retour d''execution du code -(actuellement accessible par le menu 3.f de SPF sur IBM, et dans -le fichier !CAS.SORTIE sur station de travail)' -AIDE1 = 'Determines, in number of time steps, the printout period of -the VARIABLES TO BE PRINTED -The results are systematically printed out on the listing file -(file CAS.SORTIE at the workstation).' - -NOM = 'NOMBRE DE PAS DE TEMPS' -NOM1 = 'NUMBER OF TIME STEPS' -TYPE = ENTIER -INDEX = 3 -MNEMO = 'NIT' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES*DUREE DU CALCUL") -IS VALEUR (blue)' -NIVEAU = 1 -AIDE = 'Definit le nombre de pas de temps effectues lors de -l''execution du code.' -AIDE1 = 'Specifies the number of time steps performed when running -the code.' - -NOM = 'ENTIER LIBRE 1' -NOM1 = 'FREE INTEGER 1' -TYPE = ENTIER -INDEX = 4 -MNEMO = 'ICONV' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = -13 -AIDE = 'Non active pour l''instant' -AIDE1 = 'So far not implemented' - -NOM = 'FORME DE LA CONVECTION' -NOM1 = 'TYPE OF ADVECTION' -TYPE = ENTIER -INDEX = 5 -MNEMO = 'ICONVF' -TAILLE = 4 -DEFAUT = 1;5;1;1 -DEFAUT1 = 1;5;1;1 -CHOIX = -'1="CARACTERISTIQUES"'; -'2="SUPG"'; -'3="SCHEMA N CONSERVATIF"' ; -'4="SCHEMA N CONSERVATIF"' ; -'5="SCHEMA PSI CONSERVATIF"'; -'6="SCHEMA PSI NON CONSERVATIF"'; -'7="SCHEMA N IMPLICITE NON CONSERVATIF"'; -'13="SCHEMA N PAR SEGMENTS"'; -'14="SCHEMA N PAR SEGMENTS"' -CHOIX1 = -'1="CHARACTERISTICS"'; -'2="SUPG"'; -'3="CONSERVATIVE N-SCHEME"'; -'4="CONSERVATIVE N-SCHEME"'; -'5="CONSERVATIVE PSI-SCHEME"'; -'6="NON CONSERVATIVE PSI SCHEME"'; -'7="IMPLICIT NON CONSERVATIVE N SCHEME"'; -'13="EDGE-BASED N-SCHEME"'; -'14="EDGE-BASED N-SCHEME"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'FORME DE LA CONVECTION' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'TYPE OF ADVECTION' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES*FORME DE LA CONVECTION") -IS VALEUR (blue)' -NIVEAU = 1 -AIDE = 'Choix du schema de convection pour chaque variable -ces coefficients sont respectivement appliques a -1) U et V 2) H 3) T 4) K ET EPSILON -1 : caracteristiques sur h -2 : SUPG -3 : Schema N conservatif -4 : Schema N conservatif -5 : Schema PSI conservatif -6 : Schema PSI non conservatif -7 : schema N implicite non conservatif -13 : Schema N par segment -14 : Schema N par segment -Second integer must be 5' -AIDE1 = 'Choice of advection schemes for every variable -These coefficients are applied respectively to -1) U et V 2) H 3) T 4) K and EPSILON -1: characteristics -2: SUPG -3: Conservative N-scheme -4: Conservative N-scheme -5: Conservative PSI-scheme -6 : Non conservative PSI scheme -7 : Implicit non conservative N scheme -13 : Edge-based N-scheme -14 : Edge-based N-scheme -Second integer must be 5' - -NOM = 'PRECONDITIONNEMENT' -NOM1 = 'PRECONDITIONING' -TYPE = ENTIER -INDEX = 14 -MNEMO = 'IPRECO' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -CHOIX = '2="diagonal"'; '0="aucun"'; -'3="diagonal condensee"'; '7="crout"';'11="gauss-seidel"'; -'14="diagonal et crout"'; '21="diagonal condense et crout"' -CHOIX1 = '2="diagonal"'; '0="no preconditioning"'; -'3="diagonal condensee"'; '7="crout"';'11="gauss-seidel"'; -'14="diagonal and crout"'; '21="diagonal condensed and crout"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES*GENERAL") -IS VALEUR (blue)' -NIVEAU = 2 -AIDE = 'Permet de preconditionner le systeme de l''etape de propagation -afin d''accelerer la convergence lors de sa resolution. - - 0 : pas de preconditionnement; - - 2 : preconditionnement diagonal. - - 3 : preconditionnement diagonal-bloc - - 7 : preconditionnement de Crout par element ou segment - -11 : preconditionnement de Gauss-Seidel par element ou segment -Certains preconditionnements sont cumulables -(les diagonaux 2 ou 3 avec les autres) -Pour cette raison on ne retient que les nombres premiers pour -designer les preconditionnements. Si l''on souhaite en cumuler -plusieurs on formera le produit des options correspondantes.' -AIDE1 = 'Choice of the preconditioning in the propagation step linear -system that the convergence is speeded up when it is being solved. - 0: no preconditioning - 2: diagonal preconditioning - 3: diagonal preconditioning with the condensed matrix - 7: Crout''s preconditioning per element or segment -11: Gauss-Seidel''s preconditioning per element or segment -Some operations (either 2 or 3 diagonal preconditioning) can be -performed concurrently with the others. -Only prime numbers are therefore kept to denote the preconditioning -operations. When several of them are to be performed concurrently, -the product of relevant options shall be made.' - -NOM = 'MAXIMUM D''ITERATIONS POUR LE SOLVEUR' -NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER' -TYPE = ENTIER -INDEX = 10 -MNEMO = 'NITMAX' -TAILLE = 0 -DEFAUT = 100 -DEFAUT1 = 100 -RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES, SOLVEUR") -IS VALEUR (blue)' -NIVEAU = 2 -AIDE = 'Les algorithmes utilises pour la resolution de l''etape de -propagation etant iteratifs; il est necessaire de limiter le nombre -d''iterations autorisees. -Remarque : un maximum de 40 iterations par pas de temps semble -raisonnable.' -AIDE1 = '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.' - -NOM = 'ORDRE DU TIR INITIAL POUR H' -NOM1 = 'INITIAL GUESS FOR H' -TYPE = ENTIER -INDEX = 15 -MNEMO = 'IORDRH' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1=precedent'; -'0=zero'; -'2=extrapolation' -CHOIX1 = '1=previous'; -'0=zero'; -'2=extrapolation' -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR") -IS VALEUR (blue)' -NIVEAU = 2 -AIDE = 'Tir initial du solveur de l''etape de propagation. -Offre la possibilite de modifier la valeur i -nitiale de DH, -accroissement de H, a chaque iteration, -dans l''etape de propagation en utilisant les valeurs -finales de cette variable aux pas de temps precedents. Ceci peut -permettre d''accelerer 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).' -AIDE1 = '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)' - -NOM = 'MAXIMUM D''ITERATIONS POUR K ET EPSILON' -NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR K AND EPSILON' -TYPE = ENTIER -INDEX = 13 -MNEMO = 'NKEMAX' -TAILLE = 0 -DEFAUT = 50 -DEFAUT1 = 50 -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -COMPORT = -'Foreground ("PARAMETRES NUMERIQUES, MODELE K-EPSILON") -IS VALEUR (blue)' -NIVEAU = 2 -AIDE = 'Fixe le nombre maximum d''iterations accepte lors de la -resolution du systeme diffusion-termes sources du modele k-epsilon.' -AIDE1 = 'Sets the maximum number of iterations that are acceptable when -solving the diffusion source-terms step of the k-epsilon model.' - -NOM = 'LOI DE FROTTEMENT SUR LE FOND' -NOM1 = 'LAW OF BOTTOM FRICTION' -TYPE = ENTIER -INDEX = 8 -MNEMO = 'KFROT' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -CHOIX = '0="PAS DE FROTTEMENT"'; -'1="HAALAND"'; -'2="CHEZY"'; -'3="STRICKLER"'; -'4="MANNING"'; -'5="NIKURADSE"' -CHOIX1 = '0="NO FRICTION"'; -'1="HAALAND"'; -'2="CHEZY"'; -'3="STRICKLER"'; -'4="MANNING"'; -'5="NIKURADSE"' -RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' -RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' -COMPORT = -'Foreground ("EQUATIONS*FROTTEMENT ET LISSAGE") -IS VALEUR (brown)' -NIVEAU = 1 -AIDE = '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 ' -AIDE1 = '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: Haaland''s formula -2: CHEZY''s formula -3: STRICKLER''s formula -4: MANNING''s formula -5: NIKURADSE''s formula ' - -NOM = 'MAXIMUM D''ITERATIONS POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF TRACERS' -TYPE = ENTIER -INDEX = 9 -MNEMO = 'NITDIF' -TAILLE = 0 -DEFAUT = 60 -DEFAUT1 = 60 -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -COMPORT = -'Foreground ("EQUATIONS*TRACEUR*OPTIONS TRACEUR") IS VALEUR (brown)' -NIVEAU = 2 -AIDE = 'Limite le nombre d''iterations du solveur a chaque pas -de temps pour le calcul de la diffusion du traceur.' -AIDE1 = 'Limits the number of solver iterations at each time step for -the diffusion of tracer.' - -NOM = 'SOLVEUR POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'SOLVER FOR DIFFUSION OF TRACERS' -TYPE = ENTIER -INDEX = 11 -MNEMO = 'SLVTRA%SLV' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="gradient conjuge"'; -'2="residu conjuge"'; -'3="gradient conjuge sur equation normale"'; -'4="erreur minimale"'; -'5="gradient conjuge carre"'; -'6="cgstab"'; -'7="gmres (voir ausi option du solveur)"'; -'8="direct"' -CHOIX1 = '1="conjugate gradient"'; -'2="conjugate residual"'; -'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"' -RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' -NIVEAU = 2 -AIDE = '1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue -sur equation normale 4 : erreur minimale 5 : gradient conjugue carre' -AIDE1 = '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' - -NOM = 'OPTION DE PROPAGATION' -NOM1 = 'PROPAGATION OPTION' -TYPE = ENTIER -INDEX = 12 -MNEMO = 'OPTPRO' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -RUBRIQUE = 'EQUATIONS';'PROPAGATION' -RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' -COMPORT = -'Foreground ("EQUATIONS*PROPAGATION") IS VALEUR (brown)' -NIVEAU = -13 -AIDE = 'Non active pour l''instant.' -AIDE1 = 'Not yet implemented.' - -NOM = 'ENTIER LIBRE 17' -NOM1 = 'FREE INTEGER 17' -TYPE = ENTIER -INDEX = 17 -MNEMO = 'STDGEO' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -NIVEAU = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -AIDE = ' ' -AIDE1 = ' ' - -NOM = 'ENTIER LIBRE 18' -NOM1 = 'FREE INTEGER 18' -TYPE = ENTIER -INDEX = 18 -MNEMO = 'STDRES' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -NIVEAU = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -AIDE = ' ' -AIDE1 = ' ' - -NOM = 'SOLVEUR' -NOM1 = 'SOLVER' -TYPE = ENTIER -INDEX = 19 -MNEMO = 'ISOLVE' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -CHOIX = '3="equation normale"'; -'1="gradient conjuge"'; -'2="residu conjuge"'; -'4="erreur minimale"'; -'6="cgstab"'; -'7="gmres"'; -'8="direct"' -CHOIX1 = '3="conjugate gradient on a normal equation"'; -'1="conjugate gradient"'; -'2="conjugate residual"'; -'4="minimum error"'; -'6="cgstab"'; -'7="gmres"'; -'8="direct"' -RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' -NIVEAU = 2 -AIDE = 'Permet de choisir le solveur utilise pour la resolution de -l''etape de propagation. Toutes les methodes proposees actuellement -s''apparentent au Gradient Conjugue. Ce sont : - 1 : gradient conjugue - 2 : residu conjugue - 3 : gradient conjugue sur equation normale - 4 : erreur minimale - 5 : gradient conjugue carre (non programme) - 6 : gradient conjugue carre stabilise (cgstab) - 7 : gmres (voir aussi option du solveur) - 8 : direct' -AIDE1 = 'Makes it possible to select the solver used for solving the -propagation step. All the currently available methods are variations -of the Conjugate Gradient method. They are as follows: -1: conjugate gradient -2: conjugate residual -3: conjugate gradient on a normal equation -4: minimum error -5: conjugate gradient squared (not implemented) -6: conjugate gradient squared stabilised (cgstab) -7: gmres (see option for solver) -8: direct' - -NOM = 'ENTIER LIBRE 20' -NOM1 = 'FREE INTEGER 20' -TYPE = ENTIER -INDEX = 20 -MNEMO = 'STDPRE' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -NIVEAU = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -AIDE = ' ' -AIDE1 = ' ' - -NOM = 'NOMBRE DE SOUS-ITERATIONS POUR LES NON-LINEARITES' -NOM1 = 'NUMBER OF SUB-ITERATIONS FOR NON-LINEARITIES' -TYPE = ENTIER -INDEX = 21 -MNEMO = 'NSOUSI' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '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 d''ameliorer la prise en compte des -non linearites.' -AIDE1 = '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.' - -NOM = 'NUMERO DU PREMIER PAS DE TEMPS POUR LES SORTIES GRAPHIQUES' -NOM1 = 'NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS' -TYPE = ENTIER -INDEX = 22 -MNEMO = 'PTINIG' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 2 -AIDE = 'Determine le nombre de pas de temps a partir duquel debute -l''ecriture des resultats dans le ''FICHIER DES RESULTATS''.' -AIDE1 = 'Determines the number of time steps after which the results -are first written into the RESULTS FILE.' - -NOM = 'NUMERO DU PREMIER PAS DE TEMPS POUR LES SORTIES LISTING' -NOM1 = 'NUMBER OF FIRST TIME STEP FOR LISTING PRINTOUTS' -TYPE = ENTIER -INDEX = 23 -MNEMO = 'PTINIL' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 2 -AIDE = 'Determine le nombre de pas de temps a partir duquel debute -l''ecriture des resultats dans le listing.' -AIDE1 = 'Determines the number of time steps after which the results -are first written into the listing.' - -NOM = 'PRECONDITIONNEMENT POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'PRECONDITIONING FOR DIFFUSION OF TRACERS' -TYPE = ENTIER -INDEX = 24 -MNEMO = 'IPREDI' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -CHOIX = '2="diagonal"'; '0="aucun"'; -'3="diagonal condensee"'; '7="crout"'; -'14="diagonal et crout"'; '21="diagonal condense et crout"' -CHOIX1 = '2="diagonal"'; '0="no preconditioning "'; -'3="diagonal condensed"'; '7="crout"'; -'14="diagonal and crout"'; '21="diagonal condensed and crout"' -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 2 -AIDE = 'Permet de preconditionner le systeme relatif au traceur. -Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT. - 0 : pas de preconditionnement; - 2 : preconditionnement diagonal. - 3 : preconditionnement diagonal avec la matrice conde' -AIDE1 = '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: Crout''s preconditioning per element.' - -NOM = 'SOLVEUR POUR LE MODELE K-EPSILON' -NOM1 = 'SOLVER FOR K-EPSILON MODEL' -TYPE = ENTIER -INDEX = 25 -MNEMO = 'ISOLKE' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="gradient conjugue"'; -'2="residu conjuge"'; -'3="gradient conjugue sur equation normal"'; -'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"' -CHOIX1 = '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"' -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' -COMPORT = -'Foreground ("EQUATIONS*MODELE DE TURBULENCE*MODELE K-EPSILON") -IS VALEUR (brown)' -NIVEAU = 2 -AIDE = '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' -AIDE1 = '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' - -NOM = 'PRECONDITIONNEMENT POUR LE MODELE K-EPSILON' -NOM1 = 'PRECONDITIONING FOR K-EPSILON MODEL' -TYPE = ENTIER -INDEX = 26 -MNEMO = 'IPREKE' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -CHOIX = '2="diagonal"'; '0="aucun"'; -'3="diagonal condensee"'; '7="crout"'; -'14="diagonal et crout"'; '21="diagonal condense et crout"' -CHOIX1 = '2="diagonal"'; '0="no preconditioning"'; -'3="diagonal condensed"'; '7="crout"'; -'14="diagonal and crout"'; '21="diagonal condensed and crout"' -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -NIVEAU = 2 -AIDE = '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.' -AIDE1 = '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: Crout''s preconditioning per element' - -NOM = 'REGIME DE TURBULENCE POUR LES PAROIS' -NOM1 = 'TURBULENCE MODEL FOR SOLID BOUNDARIES' -TYPE = ENTIER -INDEX = 27 -MNEMO = 'LISRUG' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -CHOIX = '1=lisse'; '2=rugueux' -CHOIX1 = '1=smooth'; '2=rough' -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL' -NIVEAU = 1 -AIDE = 'Permet de choisir le regime de turbulence aux parois - 1 : regime turbulent lisse. - 2 : regime turbulent rugueux.' -AIDE1 = 'Provided for selecting the type of friction on the walls - 1: smooth - 2: rough' - -NOM = 'NOMBRE DE FLOTTEURS' -NOM1 = 'NUMBER OF DROGUES' -TYPE = ENTIER -INDEX = 28 -MNEMO = 'NFLOT' -CONTROLE = 0 ; 10 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 2 -AIDE = 'Permet d''effectuer un suivi de flotteurs' -AIDE1 = 'Number of drogues in the computation. -The user must then fill the subroutine FLOT specifying -the coordinates of the starting points, their departure -and arrival times. -The trajectory of drogues is recorded in the BINARY RESULTS -FILE that must be given in the steering file' - -NOM = 'PERIODE POUR LES SORTIES DE FLOTTEURS' -NOM1 = 'PRINTOUT PERIOD FOR DROGUES' -TYPE = ENTIER -INDEX = 29 -MNEMO = 'FLOPRD' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 2 -AIDE = 'Nombre de pas de temps entre 2 sorties de positions de -flotteurs dans le fichier des resultats binaire supplementaire -N affecte pas la qualite du calcul de la trajectoire' -AIDE1 = 'Number of time steps between 2 outputs of drogues -positions in the binary file' - -NOM = 'NOMBRE DE DERIVES LAGRANGIENNES' -NOM1 = 'NUMBER OF LAGRANGIAN DRIFTS' -TYPE = ENTIER -INDEX = 30 -MNEMO = 'NFLAG' -CONTROLE = 0; 10 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Permet d''effectuer simultanement plusieurs calculs de derives -lagrangiennes initiees a des pas differents' -AIDE1 = 'Provided for performing several computations of lagrangian -drifts starting at different times. -Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word' - -NOM = 'LISSAGES DU FOND' -NOM1 = 'BOTTOM SMOOTHINGS' -TYPE = ENTIER -INDEX = 31 -MNEMO = 'LISFOND' -TAILLE = 0 -CONTROLE = 0 ; 10 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' -RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' -NIVEAU = 2 -AIDE = 'Nombre de lissages effectues sur la topographie. -chaque lissage, effectue a l''aide d''une matrice de masse, -est conservatif. -Utilise lorsque les donnees de bathymetrie donnent des resultats -trop irreguliers apres interpolation.' -AIDE1 ='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.' - -NOM = 'OPTION DU SOLVEUR POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'SOLVER OPTION FOR TRACERS DIFFUSION' -TYPE = ENTIER -INDEX = 32 -MNEMO = 'ISOLDI' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 2 -AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de -l''espace de KRILOV (valeurs conseillees entre 2 et 15)' -AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE -TRY VALUES BETWEEN 2 AND 15' - -NOM = 'OPTION DU SOLVEUR' -NOM1 = 'SOLVER OPTION' -TYPE = ENTIER -INDEX = 33 -MNEMO = 'ISOLVE' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' -NIVEAU = 2 -AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de -l''espace de KRILOV (valeurs conseillees entre 2 et 15)' -AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE -TRY VALUES BETWEEN 2 AND 15' - -NOM = 'OPTION DU SOLVEUR POUR LE MODELE K-EPSILON' -NOM1 = 'OPTION FOR THE SOLVER FOR K-EPSILON MODEL' -TYPE = ENTIER -INDEX = 34 -MNEMO = 'ISOLKE' -TAILLE = 0 -DEFAUT = 2 -DEFAUT1 = 2 -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' -NIVEAU = 2 -AIDE = 'si le solveur est GMRES (7) le mot cle est la dimension de -l''espace de KRILOV (valeurs conseillees entre 2 et 15)' -AIDE1 = 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE -TRY VALUES BETWEEN 2 AND 15' - -NOM = 'PAS DE TEMPS' -NOM1 = 'TIME STEP' -TYPE = REEL -INDEX = 1 -MNEMO = 'DT' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1 = 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 1 -AIDE = 'Definit le pas de temps en secondes. -Remarque : Pour une bonne precision; il est souhaitable de choisir -le pas de temps de telle sorte que le nombre de Courant de propagation -soit inferieur a 2 ; voir 3. -Ceci peut etre realisable en hydraulique fluviale ; mais ne l''est -pratiquement jamais en hydraulique maritime ou l''on peut atteindre -des valeurs de 50.' -AIDE1 = 'Specifies the time step in seconds.' - -NOM = 'ZERO' -NOM1 = 'ZERO' -TYPE = REEL -INDEX = 3 -MNEMO = 'ZERO' -TAILLE = 0 -DEFAUT = 1.E-12 -DEFAUT1 = 1.E-12 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = -13 -AIDE = 'Non active pour l''instant.' -AIDE1 = 'Not yet implemented' - -NOM = 'COEFFICIENT DE FROTTEMENT' -NOM1 = 'FRICTION COEFFICIENT' -TYPE = REEL -INDEX = 4 -MNEMO = 'FFON' -TAILLE = 0 -DEFAUT = 50. -DEFAUT1 = 50. -RUBRIQUE = 'EQUATIONS';'FROTTEMENT ET LISSAGE' -RUBRIQUE1 = 'EQUATIONS';'FRICTION AND SMOOTHINGS' -NIVEAU = 1 -AIDE = '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' -AIDE1 = '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' - -NOM = 'COEFFICIENT D''INFLUENCE DU VENT' -NOM1 = 'COEFFICIENT OF WIND INFLUENCE' -TYPE = REEL -INDEX = 6 -MNEMO = 'FAIR' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' -RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' -COMPORT = -'Foreground ("EQUATIONS*VENT*VALEURS NUMERIQUES") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Fixe la valeur du coefficient d''entrainement du vent (cf. -Note de principe).' -AIDE1 = 'Sets the value of the wind driving coefficient. -Refer to principle note.' - -NOM = 'VITESSE DU VENT SUIVANT X' -NOM1 = 'WIND VELOCITY ALONG X' -TYPE = REEL -INDEX = 7 -MNEMO = 'FUAIR' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' -RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' -NIVEAU = 1 -AIDE = 'Composante de la vitesse du vent suivant l''axe des x (m/s).' -AIDE1 = 'Wind velocity, component along x axis (m/s).' - -NOM = 'VITESSE DU VENT SUIVANT Y' -NOM1 = 'WIND VELOCITY ALONG Y' -TYPE = REEL -INDEX = 8 -MNEMO = 'FVAIR' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS';'VENT';'VALEURS NUMERIQUES' -RUBRIQUE1 = 'EQUATIONS';'WIND';'NUMERICS VALUES' -NIVEAU = 1 -AIDE = 'Composante de la vitesse du vent suivant l''axe des y (m/s).' -AIDE1 = 'Wind velocity, component along y axis (m/s).' - -NOM = 'VENT' -NOM1 = 'WIND' -TYPE = LOGIQUE -INDEX = 14 -MNEMO = 'VENT' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'EQUATIONS';'VENT' -RUBRIQUE1 = 'EQUATIONS';'WIND' -COMPORT = -'Affichage ("EQUATIONS*VENT*VALEURS NUMERIQUES") IS VALEUR ()'; -'Foreground ("EQUATIONS*VENT") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Prise en compte ou non des effets du vent.' -AIDE1 = 'Determines whether the wind effects are to be taken into -account or not.' - -NOM = 'VALEURS INITIALES DES TRACEURS' -NOM1 = 'INITIAL VALUES OF TRACERS' -TYPE = REEL -INDEX = 9 -MNEMO = 'TRAC0' -TAILLE = 2 -DEFAUT = 0.;0. -DEFAUT1 = 0.;0. -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 1 -AIDE = 'Fixe la valeur initiale du traceur.' -AIDE1 = 'Sets the initial value of the tracer.' - -NOM = 'COEFFICIENT DE DIFFUSION DES TRACEURS' -NOM1 = 'COEFFICIENT FOR DIFFUSION OF TRACERS' -TYPE = REEL -INDEX = 10 -MNEMO = 'DIFNU' -TAILLE = 0 -DEFAUT = 1.E-6 -DEFAUT1 = 1.E-6 -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 1 -AIDE = 'Fixe la valeur du coefficient de diffusion du traceur. -L''influence de ce parametre sur l''evolution du traceur dans -le temps est importante.' -AIDE1 = 'Sets the value of the tracer diffusivity.' - -NOM = 'PRECISION POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'ACCURACY FOR DIFFUSION OF TRACERS' -TYPE = REEL -INDEX = 11 -MNEMO = 'EPSDIF' -TAILLE = 0 -DEFAUT = 1.E-6 -DEFAUT1 = 1.E-6 -RUBRIQUE = 'EQUATIONS';'SOLVEUR' -RUBRIQUE1 = 'EQUATIONS';'SOLVER' -COMPORT = -'Foreground ("EQUATIONS*SOLVEUR") IS VALEUR (brown)' -NIVEAU = 2 -AIDE = 'Fixe la precision demandee pour le calcul de la diffusion -du traceur.' -AIDE1 = 'Sets the required accuracy for computing the tracer -diffusion.' - -NOM = 'COEFFICIENT D''IMPLICITATION DES TRACEURS' -NOM1 = 'IMPLICITATION COEFFICIENT OF TRACERS' -TYPE = REEL -INDEX = 12 -MNEMO = 'TETADF' -TAILLE = 0 -DEFAUT = 0.6 -DEFAUT1 = 0.6 -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 2 -AIDE = 'Fixe la valeur du coefficient d''implicitation du traceur' -AIDE1 = 'Sets the value of the implicitation coefficient for the tracer' - -NOM = 'COEFFICIENT DE DIFFUSION DES VITESSES' -NOM1 = 'VELOCITY DIFFUSIVITY' -TYPE = REEL -INDEX = 13 -MNEMO = 'PROPNU' -TAILLE = 0 -DEFAUT = 1.E-6 -DEFAUT1 = 1.E-6 -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'VISCOSITE CONSTANTE' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'CONSTANT VISCOSITY' -COMPORT = -'Foreground ("EQUATIONS*MODELE DE TURBULENCE*VISCOSITE CONSTANTE") -IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Fixe de facon uniforme pour l''ensemble du domaine; -la valeur du coefficient de diffusion de viscosite globale (dynamique + -turbulente). Cette valeur peut avoir une influence non negligeable sur -la forme et la taille des recirculations.' -AIDE1 = '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.' - -NOM = 'MODELE DE TURBULENCE' -NOM1 = 'TURBULENCE MODEL' -TYPE = ENTIER -INDEX = 7 -MNEMO = 'ITURB' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="VISCOSITE CONSTANTE"';'2="ELDER"';'3="MODELE K-EPSILON"' -;'4="SMAGORINSKI"' -CHOIX1 = '1="CONSTANT VISCOSITY"';'2="ELDER"';'3="K-EPSILON MODEL"' -;'4="SMAGORINSKI"' -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL' -COMPORT = 'Affichage -("COEFFICIENT DE DIFFUSION DES VITESSES") -IS VALEUR (#"MODELE DE TURBULENCE" - 3)'; -'Affichage -("EQUATIONS*MODELE DE TURBULENCE*MODELE K-EPSILON") IS VALEUR -(#"MODELE DE TURBULENCE" - 1)'; -'Foreground ("EQUATIONS*MODELE DE TURBULENCE") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = '3 choix sont possibles actuellement : viscosite constante (1) -modele de Elder (2) ou modele k-epsilon (3). -Attention : si on choisit l''option 1 -il ne faut pas oublier d''ajuster la valeur du mot-cle COEFFICIENT DE -DIFFUSION DES VITESSES. -si on choisit l''option 2 -il ne faut pas oublier d''ajuster les deux valeurs du mot-cle : -COEFFICIENTS ADIMENSIONNELS DE DISPERSION -Si on choisit l''option 3; -ce meme parametre doit retrouver sa vraie valeur physique car elle est -utilisee comme telle dans le modele de turbulence' -AIDE1 = 'The current alternatives are as follows: constant viscosity (1) -elder''s 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.' - -NOM = 'PRECISION DU SOLVEUR' -NOM1 = 'SOLVER ACCURACY' -TYPE = REEL -INDEX = 14 -MNEMO = 'EPSI1' -TAILLE = 0 -DEFAUT = 1.E-4 -DEFAUT1 = 1.E-4 -RUBRIQUE = 'PARAMETRES NUMERIQUES, SOLVEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, SOLVER' -NIVEAU = 2 -AIDE = 'Precision demandee pour la resolution de l''etape de propagation - (cf. Note de principe).' -AIDE1 = 'Required accuracy for solving the propagation step -(refer to Principle note).' - -NOM = 'PROFONDEUR LIMITE POUR PROCEDURE DE RESSUYAGE' -NOM1 = 'THRESHOLD DEPTH FOR RECEDING PROCEDURE' -TYPE = REEL -INDEX = 16 -MNEMO = 'HREC' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Si > 0., declenche la procedure de ressuyage qui evite -le franchissement parasite des digues mal discretisees' -AIDE1 = 'If > 0., will trigger the receding procedure that -avoids overwhelming of dykes which are too loosely -discretised ' - -NOM = 'IMPLICITATION POUR LA HAUTEUR' -NOM1 = 'IMPLICITATION FOR DEPTH' -TYPE = REEL -INDEX = 17 -MNEMO = 'TETAC' -TAILLE = 0 -DEFAUT = 0.55 -DEFAUT1 = 0.55 -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -CONTROLE = 0.5 -AIDE = 'Fixe la valeur du coefficient d''implicitation sur C dans -l''etape de propagation (cf. Note de principe). -Les valeurs inferieures a 0.5 donnent un schema instable.' -AIDE1 = '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.' - -NOM = 'IMPLICITATION POUR LA VITESSE' -NOM1 = 'IMPLICITATION FOR VELOCITY' -TYPE = REEL -INDEX = 18 -MNEMO = 'TETAU' -TAILLE = 0 -DEFAUT = 0.55 -DEFAUT1 = 0.55 -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'Fixe la valeur du coefficient d''implicitation sur la vitesse -dans l''etape de propagation (cf. Note de principe). -Les valeurs inferieures a 0.5 donnent un schema instable.' -AIDE1 = '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.' - -NOM = 'IMPLICITATION POUR LA DIFFUSION DES VITESSES' -NOM1 = 'IMPLICITATION FOR DIFFUSION OF VELOCITY' -TYPE = REEL -INDEX = 19 -MNEMO = 'TETAD' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1 = 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'Fixe la valeur du coefficient d''implicitation sur les termes de -diffusion des vitesses' -AIDE1 = 'Sets the value of the implicitation coefficient for -the diffusion of velocity' - -NOM = 'MASS-LUMPING SUR H' -NOM1 = 'MASS-LUMPING ON H' -TYPE = REEL -INDEX = 20 -MNEMO = 'AGGLOC' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'TELEMAC offre la possibilite d''effectuer 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 d''accelerer 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.' -AIDE1 = '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.' - -NOM = 'MASS-LUMPING SUR LA VITESSE' -NOM1 = 'MASS-LUMPING ON VELOCITY' -TYPE = REEL -INDEX = 21 -MNEMO = 'AGGLOU' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'Fixe le taux de mass-lumping effectue sur la vitesse.' -AIDE1 = 'Sets the amount of mass-lumping that is performed on -the velocity.' - -NOM = 'VALEUR MINIMUM DE H' -NOM1 = 'MINIMUM VALUE OF DEPTH' -TYPE = REEL -INDEX = 22 -MNEMO = 'HMIN' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 3 -AIDE = 'Fixe la valeur minimale de a lorsque l''option CLIPPING -DE H est activee.' -AIDE1 = 'Sets the minimum H value when option H CLIPPING is -implemented. Not fully implemented.' - -NOM = 'REDUCTION DU PAS DE TEMPS POUR LE MODELE K-EPSILON' -NOM1 = 'TIME STEP REDUCTION FOR K-EPSILON MODEL' -TYPE = REEL -INDEX = 23 -MNEMO = 'REDUC' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1 = 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -NIVEAU = 3 -AIDE = 'Coefficient reducteur du pas de temps pour le modele k-epsilon -(qui est normalement identique a celui du systeme hydrodynamique). -Utilisation deconseillee' -AIDE1 = 'Time step reduction coefficient for k-epsilon model -(which is normally same the same as that of the hydrodynamic system) -Not recommended for use.' - -NOM = 'PRECISION SUR K' -NOM1 = 'ACCURACY OF K' -TYPE = REEL -INDEX = 24 -MNEMO = 'EPSIK' -TAILLE = 0 -DEFAUT = 1.E-9 -DEFAUT1 = 1.E-9 -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -NIVEAU = 2 -AIDE = 'Fixe la precision demandee sur k pour le test d''arret dans -l''etape de diffusion et termes sources du modele k-epsilon.' -AIDE1 = 'Sets the required accuracy for computing k in the diffusion -and source terms step of the k-epsilon model.' - -NOM = 'PRECISION SUR EPSILON' -NOM1 = 'ACCURACY OF EPSILON' -TYPE = REEL -INDEX = 25 -MNEMO = 'EPSIE' -TAILLE = 0 -DEFAUT = 1.E-9 -DEFAUT1 = 1.E-9 -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -NIVEAU = 2 -AIDE = 'Fixe la precision demandee sur epsilon pour le test d''arret dan -s l''etape de diffusion et termes sources de k et epsilon.' -AIDE1 = 'Sets the required accuracy for computing epsilon in -the diffusion and source-terms step of the k-epsilon model.' - -NOM = 'PROFONDEUR MOYENNE POUR LA LINEARISATION' -NOM1 = 'MEAN DEPTH FOR LINEARIZATION' -TYPE = REEL -INDEX = 26 -MNEMO = 'HAULIN' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS';'HAUTEUR' -RUBRIQUE1 = 'EQUATIONS';'HIGHT' -COMPORT = -'Foreground ("EQUATIONS*HAUTEUR") IS VALEUR (brown)' -NIVEAU = 2 -AIDE = 'Fixe la hauteur d''eau autour de laquelle s''effectue la -linearisation lorsque l''option PROPAGATION LINEARISEE est choisie.' -AIDE1 = 'Sets the water depth about which the linearization is made when -the LINEARIZED PROPAGATION OPTION is selected.' - -NOM = 'COEFFICIENT DE RUGOSITE DES BORDS' -NOM1 = 'ROUGHNESS COEFFICIENT OF BOUNDARIES' -TYPE = REEL -INDEX = 29 -MNEMO = 'SB' -TAILLE = 0 -DEFAUT = 100. -DEFAUT1 = 100. -RUBRIQUE = 'EQUATIONS' -RUBRIQUE1 = 'EQUATIONS' -NIVEAU = 1 -AIDE = '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' -AIDE1 = 'Sets the value of the friction coefficient of the solid boundary -with the bed roughness option. Same meaning than friction coefficient' - -NOM = 'DEBITS IMPOSES' -NOM1 = 'PRESCRIBED FLOWRATES' -TYPE = REEL -INDEX = 30 -MNEMO = 'DEBIT' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -COMPORT = -'Foreground ("EQUATIONS, CONDITIONS LIMITES") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = ' Valeurs des debits imposes aux frontieres liquides entrantes. -Lire la partie du mode d''emploi consacree aux conditions aux limites' -AIDE1 = 'Values of prescribed flowrates at the inflow boundaries. -The section about boundary conditions is to be read in the manual' - -NOM = 'COTES IMPOSEES' -NOM1 = 'PRESCRIBED ELEVATIONS' -TYPE = REEL -INDEX = 31 -MNEMO = 'COTES' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -NIVEAU = 1 -AIDE = 'Valeurs des cotes imposees aux frontieres liquides entrantes. -Lire la partie du mode d''emploi consacree aux conditions aux limites' -AIDE1 = 'Values of prescribed elevations at the inflow boundaries. -The section about boundary conditions is to be read in the manual' - -NOM = 'VITESSES IMPOSEES' -NOM1 = 'PRESCRIBED VELOCITIES' -TYPE = REEL -INDEX = 32 -MNEMO = 'VITES' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -COMPORT = -'Foreground ("EQUATIONS, CONDITIONS LIMITES") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Valeurs des vitesses imposees aux frontieres liquides entrantes. -Lire la partie du mode d''emploi consacree aux conditions aux limites' -AIDE1 ='Values of prescribed velocities at the liquid inflow boundaries. -Refer to the section dealing with the boundary conditions' - -NOM = 'COTE INITIALE' -NOM1 = 'INITIAL ELEVATION' -TYPE = REEL -INDEX = 33 -MNEMO = 'COTINI' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' -RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' -COMPORT = -'Foreground ("EQUATIONS, CONDITIONS INITIALES") IS VALEUR (brown)' -NIVEAU = 1 -CONTROLE = -427.; 8848. -AIDE = 'Valeur utilisee avec l''option : - CONDITIONS INITIALES - COTE CONSTANTE' -AIDE1 ='Value to be used with the option : -INITIAL CONDITIONS -CONSTANT ELEVATION' - -NOM = 'HAUTEUR INITIALE' -NOM1 = 'INITIAL DEPTH' -TYPE = REEL -INDEX = 34 -MNEMO = 'HAUTINI' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' -RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' -NIVEAU = 1 -CONTROLE = 0; 20 -AIDE = 'Valeur utilisee avec l''option : -CONDITIONS INITIALES :-HAUTEUR CONSTANTE-' -AIDE1 = 'Value to be used along with the option: - INITIAL CONDITIONS -CONSTANT DEPTH-' - -NOM = 'VALEURS IMPOSEES DES TRACEURS' -NOM1 = 'PRESCRIBED TRACERS VALUES' -TYPE = REEL -INDEX = 35 -MNEMO = 'TRACER' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -NIVEAU = 1 -AIDE = 'Valeurs du traceur imposees aux frontieres liquides entrantes. -Lire la partie du mode d''emploi consacree aux conditions aux limites' -AIDE1 = 'Tracer values prescribed at the inflow boundaries. -Read the usermanual section dealing with the boundary conditions' - -NOM = 'ABSCISSES DES SOURCES' -NOM1 = 'ABSCISSAE OF SOURCES' -TYPE = REEL -INDEX = 36 -MNEMO = 'XSCE' -CONTROLE = -10000 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Valeurs des abscisses des sources de debit et de traceur.' -AIDE1 = 'abscissae of sources of flowrate and/or tracer' - -NOM = 'ORDONNEES DES SOURCES' -NOM1 = 'ORDINATES OF SOURCES' -TYPE = REEL -INDEX = 37 -MNEMO = 'YSCE' -CONTROLE = -10000 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Valeurs des ordonnees des sources de debit et de traceur.' -AIDE1 = 'ordinates of sources of flowrate and/or tracer' - -NOM = 'DEBITS DES SOURCES' -NOM1 = 'WATER DISCHARGE OF SOURCES' -TYPE = REEL -INDEX = 38 -MNEMO = 'DSCE' -CONTROLE = 0 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Valeurs des debits des sources.' -AIDE1 = 'values of water discharge of sources' - -NOM = 'VALEURS DES TRACEURS DES SOURCES' -NOM1 = 'VALUES OF THE TRACERS AT THE SOURCES' -TYPE = REEL -INDEX = 39 -MNEMO = 'TSCE' -CONTROLE = 0 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Valeurs des traceurs a chacune des sources' -AIDE1 = 'Values of the tracers at the sources' - -NOM = 'VITESSES DES SOURCES SELON X' -NOM1 = 'VELOCITIES OF THE SOURCES ALONG X' -TYPE = REEL -INDEX = 43 -MNEMO = 'USCE' -CONTROLE = 0 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Vitesses du courant a chacune des sources. Si elles ne sont pas -donnees, on considere que la vitesse est celle du courant' -AIDE1 = 'Velocities at the sources. If they are not given, the velocity -of the flow at this location is taken' - -NOM = 'VITESSES DES SOURCES SELON Y' -NOM1 = 'VELOCITIES OF THE SOURCES ALONG Y' -TYPE = REEL -INDEX = 44 -MNEMO = 'VSCE' -CONTROLE = 0 ; 10000 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Vitesses du courant a chacune des sources' -AIDE1 = 'Velocities at the sources' - -NOM = 'COEFFICIENTS DE DECENTREMENT' -NOM1 = 'UPWIND COEFFICIENTS' -TYPE = REEL -INDEX = 40 -MNEMO = 'COSUPG' -CONTROLE = 0 ; 10 -TAILLE = 4 -DEFAUT = 1.;1.;1.;1 -DEFAUT1 = 1.;1.;1.;1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 3 -AIDE = 'Coefficients utilises par la methode S.U.P.G. -ces coefficients sont respectivement appliques a - 1) U et V - 2) H ou C - 3) T - 4) K ET EPSILON ' -AIDE1 = '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 ' - -NOM = 'CRITERES D''ARRET' -NOM1 = 'STOP CRITERIA' -TYPE = REEL -INDEX = 41 -MNEMO = 'CRIPER' -CONTROLE = 0 ; 10 -TAILLE = 3 -DEFAUT = 1.E-4;1.E-4;1.E-4 -DEFAUT1= 1.E-4;1.E-4;1.E-4 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Criteres d''arret pour un ecoulement permanent -ces coefficients sont respectivement appliques a - 1) U et V - 2) H - 3) T -A utiliser avec le mot-cle : ARRET SI UN ETAT PERMANENT EST ATTEINT' -AIDE1 = 'Stop criteria for a steady state -These coefficients are applied respectively to - 1) U and V - 2) H - 3) T -To be used with the key-word: STOP IF A STEADY STATE IS REACHED' - - -NOM = 'DUREE DU CALCUL' -NOM1 = 'DURATION' -TYPE = REEL -INDEX = 45 -MNEMO = 'DUREE' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1= 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 1 -AIDE = 'duree de la simulation. alternative au parametre nombre de pas -de temps. On en deduit le nombre de pas de temps en prenant l''entier le -plus proche de (duree du calcul/pas de temps). Si le nombre de pas de -temps est aussi donne, on prend la plus grande valeur' -AIDE1 = 'duration of simulation. May be used instead of the parameter -NUMBER OF TIME STEPS. The nearest integer to (duration/time step) is -taken. -If NUMBER OF TIME STEPS is also given, the greater value is taken' - -NOM = 'NORD' -NOM1 = 'NORTH' -TYPE = REEL -INDEX = 46 -MNEMO = 'NORD' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1= 0. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 2 -AIDE = 'Direction du nord en degres, par rapport a l''axe des y -dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres -et trente minutes.' -AIDE1 = 'Angle of the North with the y axis, in degrees. 10.5 means -10 degrees and 30 minutes.' - -NOM = 'TITRE' -NOM1 = 'TITLE' -TYPE = CARACTERE -INDEX = 1 -MNEMO = 'TITCAS' -TAILLE = 0 -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -COMPORT = -'Foreground ("ENTREES-SORTIES, GENERALITES*CALCUL") -IS VALEUR (red)' -NIVEAU = 1 -AIDE = 'Titre du cas etudie. Ce titre figurera sur les dessins.' -AIDE1 = 'Title of the case being considered. This title shall be marked -on the drawings.' - -NOM = 'VARIABLES POUR LES SORTIES GRAPHIQUES' -NOM1 = 'VARIABLES FOR GRAPHIC PRINTOUTS' -TYPE = CARACTERE -INDEX = 2 -MNEMO = 'SORTIE' -TAILLE = 0 -DEFAUT = 'U,V,H,B' -DEFAUT1 = 'U,V,H,B' -CHOIX = 'U="vitesse suivant l''axe des x (m/s)"'; -'V="vitesse suivant l''axe des y (m/s)"'; -'C="celerite des onde (m/s)"'; -'H="hauteur d''eau (m)"'; -'S="cote de surface libre (m)"'; -'B="cote du fond (m)"'; -'F="nombre de Froude "'; -'Q="debit scalaire du fluide (m2/s)"'; -'T1="traceur 1, etc. "'; -'K="energie turbulente du modele k-epsilon (J/kg)"'; -'E="dissipation de l''energie turbulente (W/kg)"'; -'D="viscosite turbulente du modele k-epsilon (m2/s)"'; -'I="debit suivant l''axe des x (m2/s)"'; -'J="debit suivant l''axe des y (m2/s)"'; -'M="vitesse scalaire (m/s)"'; -'X="vent suivant l''axe des x (m/s)"'; -'Y="vent suivant l''axe des y (m/s)"'; -'P="pression atmospherique (Pa)"'; -'W="coefficient de frottement sur le fond "'; -'A="derive en x (m)"'; -'G="derive en y (m)"'; -'L="nombre de Courant "'; -'N="variable supplementaire N "'; -'O="variable supplementaire O "'; -'R="variable supplementaire R "'; -'Z="variable supplementaire Z "'; -'MAXZ="cote maximum "'; -'TMXZ="temps de la cote maximum "'; -'MAXV="vitesse maximum "'; -'TMXV="temps de la vitesse maximum "'; -'US="vitesse de frottement "' -CHOIX1= 'U="velocity along x axis (m/s)"'; -'V="velocity along y axis (m/s)"'; -'C="wave celerity (m/s)"'; -'H="water depth (m)"'; -'S="free surface elevation (m)"'; -'B="bottom elevation (m)"'; -'F="Froude number "'; -'Q="scalar flowrate of fluid (m2/s)"'; -'T1="tracer 1 etc. "'; -'K="turbulent kinetic energy in k-epsilon model (J/kg)"'; -'E="dissipation of turbulent energy (W/kg)"'; -'D="turbulent viscosity of k-epsilon model (m2/s)"'; -'I="flowrate along x axis (m2/s)"'; -'J="flowrate along y axis (m2/s)"'; -'M="scalar velocity (m/s)"'; -'X="wind along x axis (m/s)"'; -'Y="wind along y axis (m/s)"'; -'P="air pressure (Pa)"'; -'W="friction coefficient"'; -'A="drift along x (m)"'; -'G="drift along y (m)"'; -'L="Courant number "'; -'N="supplementary variable N "'; -'O="supplementary variable O "'; -'R="supplementary variable R "'; -'Z="supplementary variable Z "'; -'MAXZ="maximum elevation"'; -'TMXZ="time of maximum elevation "'; -'MAXV="maximum velocity"'; -'TMXV="time of maximum velocity"'; -'US="friction velocity "' -COMPOSE=',' -APPARENCE = 'packing IS XmPACK_COLUMN' ; - 'numColumns IS 26';'LISTE IS EDITABLE' -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'Noms des variables que l''utilisateur veut ecrire dans -le fichier des resultats. -Chaque variable est representee par une lettre. -Le choix des separateurs est libre. -Les possibilites offertes sont les suivantes : - - U : vitesse suivant l''axe des x (m/s), - - V : vitesse suivant l''axe des y (m/s), - - C : celerite des ondes (m/s), - - H : hauteur d''eau (m), - - S : cote de surface libre (m), - - B : cote du fond (m), - - F : nombre de Froude, - - Q : debit scalaire du fluide (m2/s), - - T : traceur, - - K : energie turbulente du modele k-epsilon (J/kg), - - E : dissipation de l''energie turbulente (W/kg), - - D : viscosite turbulente du modele k-epsilon (m2/s), - - I : debit suivant l''axe des x (m2/s), - - J : debit suivant l''axe des y (m2/s), - - M : vitesse scalaire (m/s), - - X : vent suivant l''axe des x (m/s), - - Y : vent suivant l''axe des y (m/s), - - P : pression atmospherique (Pa), - - W : coefficient de frottement sur le fond, - - A : derive en x (m), - - G : derive en y (m), - - L : coefficient de frottement sur le fond. -L''utilisateur dispose egalement de 4 champs libres, qu''il peut -utiliser pour ecrire dans le fichier des resultats des variables -qu''il cree lui-meme. Ces variables propres a l''utlisateur doivent -etre calculees dans le sous-programme PRERES et le nom que l''on -desire leur donner doit etre ecrit dans le sous-programme NOMVAR. -Ces 7 champs sont : - - N, O, R, Z qui correspondent aux tableaux PRIVE(1,1), PRIVE(1,2), -PRIVE(1,3), PRIVE(1,4). A la difference des variables -precedentes, celles-ci sont conservees dans tout le programme, et -peuvent donc etre reutilisees. -Dans ce dernier cas ne pas oublier de donner une taille -suffisante au tableau PRIVE (dans le programme principal). -Il est ainsi possible de limiter, par exemple, la taille des fichiers -de resultats pour de tres gros calculs. Cependant, il faut etre -conscient du fait que, dans l''eventualite d''une reprise de calcul, -le code doit disposer, dans le fichier des resultats, des informations -necessaires a sa poursuite, a savoir : - - les vitesses U et V, - - les hauteurs d''eau H, - - les cotes du fond B. -Toutefois, TELEMAC peut recalculer certaines de ces variables a partir -d''autres qui lui seront fournies (par exemple, il recalculera H a -partir de S et B).' -AIDE1 = 'Names of variables the user wants to write into the results -file. Each variable is represented by a letter. The separators can be -freely selected. -The available capabilities are as follows: - U : velocity along x axis (m/s), - V : velocity along y axis (m/s), - C : wave celerity (m/s), - H : water depth (m), - S : free surface elevation (m), - B : bottom elevation (m), - F : Froude number, - Q : scalar flowrate of fluid (m2/s), - T : tracer - K : turbulent kinetic energy in k-epsilon model (J/kg), - E : dissipation of turbulent energy (W/kg), - D : turbulent viscosity of k-epsilon model (m2/s), - I : flowrate along x axis (m2/s), - J : flowrate along y axis (m2/s), - M : scalar velocity (m/s), - X : wind along x axis (m/s) - Y : wind along y axis (m/s), - P : air pressure (Pa), - W : friction coefficient , - A : drift along x, - G : drift along y, - L : nombre de courant. - -four other variables are also made available to the user who may use -them for writing into the file the results of variables he creates -himself. These user-specific variables should be computed in the -subroutine PRERES and their desired name should be written -into the subroutine NOMVAR. -These seven variables are as follows: - -N, O, R, Z which correspond to arrays PRIVE(1,1) up to PRIVE(1, -Unlike the preceding variables, they are preserved throughout the -program, so that they can be used again. -In the latter case, do not forget to provide the array PRIVE with -sufficiently large dimensions (in FORTRAN file). -With this key-word, one can limit the size of the RESULTS FILE. -It should be kept in mind, however, that if a computation has to be -continued, the RESULTS FILE should contain the appropriate information -for running the code,i.e.: - - velocities U and V, - - water depths H, - - bottom elevations B. -TELEMAC, however, can compute some of these variables from others -for example, it will compute H from S and B.' - -NOM = 'VARIABLES A IMPRIMER' -NOM1 = 'VARIABLES TO BE PRINTED' -TYPE = CARACTERE -INDEX = 3 -MNEMO = 'VARIMP' -TAILLE = 0 -DEFAUT = ' ' -DEFAUT1 = ' ' -/CHOIX = '" "="pas de variables"'; -CHOIX = 'U="vitesse suivant l''axe des x (m/s)"'; -'V="vitesse suivant l''axe des y (m/s)"'; -'C="celerite des ondes (m/s)"'; -'H="hauteur d''eau (m)"'; -'S="cote de surface libre (m)"'; -'B="cote du fond (m)"'; -'F="nombre de Froude"'; -'Q="debit scalaire du fluide (m2/s)"'; -'T="traceur"'; -'K="energie turbulente du modele k-epsilon (J/kg)"'; -'E="dissipation de l''energie turbulente (W/kg)"'; -'D="viscosite turbulente du modele k-epsilon (m2/s)"'; -'I="debit suivant l''axe des x (m2/s)"'; -'J="debit suivant l''axe des y (m2/s)"'; -'M="vitesse scalaire (m/s)"'; -'X="vent suivant l''axe des x (m/s)"'; -'Y="vent suivant l''axe des y (m/s)"'; -'P="pression atmospherique (Pa)"'; -'W="coefficient de frottement sur le fond"'; -'A="derive en x (m)"'; -'G="derive en y (m)"'; -'L="nombre de courants "'; -'N="variable supplementaire N"'; -'O="variable supplementaire O"'; -'R="variable supplementaire R"'; -'Z="variable supplementaire Z"' -CHOIX1 = 'U="velocity along x axis (m/s)"'; -'V="velocity along y axis (m/s)"'; -'C="wave celerity (m/s)"'; -'H="water depth (m)"'; -'S="free surface elevation (m)"'; -'B="bottom elevation (m)"'; -'F="Froude number"'; -'Q="scalar flowrate of fluid (m2/s)"'; -'T="tracer"'; -'K="turbulent kinetic energy in k-epsilon model (J/kg)"'; -'E="dissipation of turbulent energy (W/kg)"'; -'D="turbulent viscosity of k-epsilon model (m2/s)"'; -'I="flowrate along x axis (m2/s)"'; -'J="flowrate along y axis (m2/s)"'; -'M="scalar velocity (m/s)"'; -'X="wind along x axis (m/s)"'; -'Y="wind along y axis (m/s)"'; -'P="air pressure (Pa)"'; -'W="friction coefficient"'; -'A="drift along x (m)"'; -'G="drift along y (m)"'; -'L="nombre de courants "'; -'N="supplementary variable N"'; -'O="supplementary variable O"'; -'R="supplementary variable R"'; -'Z="supplementary variable Z"' -COMPOSE=',' -APPARENCE = 'packing IS XmPACK_COLUMN' ; 'numColumns IS 26' ; -'LISTE IS EDITABLE' - -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'Nom des variables que l''utilisateur desire ecrire a l''ecran. -Meme possibilites que pour les sorties graphiques.' -AIDE1 = '' - -NOM = 'USER CRAY' -NOM1 = 'USER CRAY' -TYPE = CARACTERE -INDEX = 4 -MNEMO = '' -TAILLE = 0 -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -COMPORT = -'Foreground ("ENTREES-SORTIES, GENERALITES*ENVIRONNEMENT") -IS VALEUR (red)' -NIVEAU = 2 -AIDE = 'Userid CRAY de l''utilisateur.' -AIDE1 = 'User''s identity on CRAY.' - -NOM = 'MOT DE PASSE CRAY' -NOM1 = 'PASSWORD' -TYPE = CARACTERE -INDEX = 5 -MNEMO = '' -TAILLE = 0 -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Mot de passe associe a l''USER CRAY.' -AIDE1 = 'Password related to USER CRAY.' - -NOM = 'FICHIER FORTRAN' -NOM1 = 'FORTRAN FILE' -TYPE = CARACTERE -INDEX = 7 -MNEMO = 'NOMFOR' -SUBMIT = 'INUTILE;t2dfort.f;FACUL;ASC;LIT;FORTRAN' -DEFAUT = 'DEFAUT' -DEFAUT1 = 'DEFAUT' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -AIDE = 'Nom du fichier FORTRAN a soumettre.' -AIDE1 = 'Name of FORTRAN file to be submitted.' - -NOM = 'FICHIER DES PARAMETRES' -NOM1 = 'STEERING FILE' -TYPE = CARACTERE -INDEX = 8 -MNEMO = 'NOMCAS' -SUBMIT = 'INUTILE;T2DCAS;OBLIG;ASC;LIT;CAS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Nom du fichier contenant les parametres du calcul a realiser.' -AIDE1 = 'Name of the file containing the parameters of the computation -Written by the user.' - -NOM = 'FICHIER DES CONDITIONS AUX LIMITES' -NOM1 = 'BOUNDARY CONDITIONS FILE' -TYPE = CARACTERE -INDEX = 9 -MNEMO = 'T2D_FILES(T2DLIM)%NAME' -SUBMIT = 'T2DLIM-READ-07;T2DCLI;OBLIG;ASC;LIT;CONLIM' -/DEFAUT = ' ' -/DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -APPARENCE = 'LISTE IS FICHIER' -NIVEAU = 1 -AIDE = 'Nom du fichier contenant les types de conditions aux limites. -Ce fichier est rempli de facon automatique par le mailleur au moyen de -couleurs affectees aux noeuds des frontieres du domaine de calcul.' -AIDE1 = 'Name of the file containing the types of boundary conditions. -This file is filled automatically by the mesh generator through -through colours that are assigned to the boundary nodes.' - -NOM = 'FICHIER DU CALCUL PRECEDENT' -NOM1 = 'PREVIOUS COMPUTATION FILE' -TYPE = CARACTERE -INDEX = 10 -MNEMO = 'T2D_FILES(T2DPRE)%NAME' -SUBMIT = 'T2DPRE-READ-04;T2DPRE;FACUL;BIN;LIT;SELAFIN' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Nom d''un fichier contenant les resultats d''un calcul precedent -realise sur le meme maillage et dont le dernier pas de temps enregistre -va fournir les conditions initiales pour une suite de de calcul.' -AIDE1 = 'Name of a file containing the results of an earlier computation -which was made on the same mesh. The last recorded time step will provid -the initial conditions for the new computation.' - -NOM = 'FICHIER DES RESULTATS' -NOM1 = 'RESULTS FILE' -TYPE = CARACTERE -INDEX = 11 -MNEMO = 'T2D_FILES(T2DRES)%NAME' -/ READWRITE CAR RELU EN CAS DE VALIDATION -SUBMIT = 'T2DRES-READWRITE-08;T2DRES;OBLIG;BIN;ECR;SELAFIN' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Nom du fichier dans lequel seront ecrits les resultats du calcul -avec la periodicite donnee par le mot cle ''PERIODE POUR LES SORTIES -GRAPHIQUES''.' -AIDE1 = 'Name of the file into which the computation results shall be -written, -the periodicity being given by the key-word: -GRAPHIC PRINTOUT PERIOD.' - -NOM = 'NUMERO DE VERSION' -NOM1 = 'RELEASE' -TYPE = CARACTERE -INDEX = 12 -MNEMO = '' -TAILLE = 0 -DEFAUT = 'V6P3' -DEFAUT1 = 'V6P3' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = -3 -AIDE = 'Numero de version des bibliotheques utilisees par TELEMAC. -SUR UNE STATION DE TRAVAIL -5 versions sont donnees correspondant a : -TELEMAC,DAMO,UTILE,BIEF,HP' -AIDE1 = 'version number of the libraries used by TELEMAC. -ON A WORKSTATION -5 numbers are given, corresponding to the libraries called: -TELEMAC,DAMO,UTILE,BIEF,HP' - -NOM = 'TEMPS MACHINE CRAY' -NOM1 = 'CPU TIME' -TYPE = CARACTERE -INDEX = 13 -MNEMO = '' -DEFAUT = '10' -DEFAUT1 = '10' -NIVEAU = 2 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -AIDE = 'Temps CPU (en secondes) alloue pour la realisation du calcul. -Attention; il s''agit bien d''une chaine de caracteres.' -AIDE1 = 'C.P.U. time (in seconds) allowed for making the computation. -Please note that this keyword is a string of characters.' - -NOM = 'PLACE MEMOIRE CRAY' -NOM1 = 'MEMORY SPACE' -TYPE = CARACTERE -INDEX = 14 -MNEMO = '' -TAILLE = 0 -DEFAUT = '1500000W' -DEFAUT1 = '1500000W' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Place memoire (en mots de 8 octets) reservee en machine pour la -realisation du calcul.' -AIDE1 = 'Storage capacity (in words of 8 bytes) reserved in machine for -making the computation.' - -NOM = 'FICHIER DES FONDS' -NOM1 = 'BOTTOM TOPOGRAPHY FILE' -TYPE = CARACTERE -INDEX = 15 -MNEMO = 'T2D_FILES(T2DFON)%NAME' -SUBMIT = 'T2DFON-READ-23;T2DFON;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Nom du fichier eventuel contenant la bathymetrie associee au -maillage. -Si ce mot-cle est utilise; c''est cette bathymetrie qui sera utilisee -pour le calcul.' -AIDE1 = 'Name of the possible file containing the bathymetric data. -Where this keyword is used, these bathymetric data shall be used in -the computation.' - -NOM = 'NUMERO DE COMPTE' -NOM1 = 'ACCOUNT NUMBER' -TYPE = CARACTERE -INDEX = 16 -MNEMO = ' ' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 2 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -AIDE = 'Numero du compte calcul sur lequel sera impute le cout -du calcul.' -AIDE1 = 'Account number to which the cost of computation shall be -charged.' - -NOM = 'FICHIER DE DONNEES BINAIRE 1' -NOM1 = 'BINARY DATA FILE 1' -TYPE = CARACTERE -INDEX = 17 -MNEMO = 'T2D_FILES(T2DBI1)%NAME' -/WITH WAVE FORCING, IS A SELAFIN FILE -SUBMIT = 'T2DBI1-READ-24;T2DBI1;FACUL;BIN;LIT;SELAFIN' -/SUBMIT = 'NBI1-READ-24;T2DBI1;FACUL;BIN;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de donnees code en binaire mis a la disposition -de l''utilisateur. -Les donnees de ce fichier seront a lire sur le canal 24.' -AIDE1 = 'Binary-coded data file made available to the user. -The data in this file shall be read on channel 24.' - -NOM = 'FICHIER DE DONNEES BINAIRE 2' -NOM1 = 'BINARY DATA FILE 2' -TYPE = CARACTERE -INDEX = 18 -MNEMO = 'T2D_FILES(T2DBI2)%NAME' -TAILLE = 0 -SUBMIT = 'T2DBI2-READ-25;T2DBI2;FACUL;BIN;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de donnees code en binaire mis a la disposition -de l''utilisateur. -Les donnees de ce fichier seront a lire sur le canal 25.' -AIDE1 = 'Binary-coded data file made available to the user. -The data in this file shall be read on channel 25.' - -NOM = 'FICHIER DE DONNEES FORMATE 1' -NOM1 = 'FORMATTED DATA FILE 1' -TYPE = CARACTERE -INDEX = 19 -MNEMO = 'T2D_FILES(T2DFO1)%NAME' -SUBMIT = 'T2DFO1-READ-26;T2DFO1;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de donnees formate mis a la disposition de -l''utilisateur. -Les donnees de ce fichier seront a lire sur le canal 26.' -AIDE1 = 'Formatted data file made available to the user. -The data in this file shall be read on channel 26.' - -NOM = 'FICHIER DE DONNEES FORMATE 2' -NOM1 = 'FORMATTED DATA FILE 2' -TYPE = CARACTERE -INDEX = 20 -MNEMO = 'T2D_FILES(T2DFO2)%NAME' -SUBMIT = 'T2DFO2-READ-27;T2DFO2;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de donnees formate mis a la disposition de -l''utilisateur. -Les donnees de ce fichier seront a lire sur le canal 27.' -AIDE1 = 'Formatted data file made available to the user. -The data in this file shall be read on channel 27.' - -NOM = 'DESTINATION' -NOM1 = 'DESTINATION' -TYPE = CARACTERE -INDEX = 21 -MNEMO = '' -DEFAUT = 'CHE43A' -DEFAUT1 = 'CHE43A' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Nom eventuel d''une station de travail sur laquelle -l''utilisateur desire rediriger le fichier des resultats du calcul.' -AIDE1 = 'Possible name of a workstation to which the user wants -to reroute the result file.' - -NOM = 'USER SUR LA DESTINATION' -NOM1 = 'USER ON DESTINATION' -TYPE = CARACTERE -INDEX = 22 -MNEMO = '' -TAILLE = 0 -DEFAUT = 'JMH' -DEFAUT1 = 'JMH' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Nom de l''USER de l''utilisateur sur la station de travail -ou l''on desire rediriger le fichier de resultts.' -AIDE1 = 'User''s name of USER at the workstation onto which the -results file shall desirebly be rerouted.' - -NOM = 'NOMS DES VARIABLES CLANDESTINES' -NOM1 = 'NAMES OF CLANDESTINE VARIABLES' -TYPE = CARACTERE -INDEX = 23 -MNEMO = 'VARCLA' -TAILLE = 2 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Noms de variables qui ne sont pas utilisees par TELEMAC; -mais qui doivent etre conservees lors de son execution. -Ceci peut etre utilise entre autres lors du couplage de TELEMAC -avec un autre code. -Les variables clandestines sont alors des variables propres a l''autre -code et sont rendues dans le fichier de resultats.' -AIDE1 = '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.' - - -NOM = 'FICHIER DE RESULTATS BINAIRE' -NOM1 = 'BINARY RESULTS FILE' -TYPE = CARACTERE -INDEX = 24 -MNEMO = 'T2D_FILES(T2DRBI)%NAME' -SUBMIT = 'T2DRBI-WRITE-28;T2DRBI;FACUL;BIN;ECR;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de resultats code en binaire mis a la disposition -de l''utilisateur. Les resultats a placer dans ce fichier seront a -ecrire sur le canal 28.' -AIDE1 = 'Additional binary-coded result file made available -to the user. The results to be entered into this file shall be written -on channel 28.' - -NOM = 'FICHIER DE RESULTATS FORMATE' -NOM1 = 'FORMATTED RESULTS FILE' -TYPE = CARACTERE -INDEX = 25 -MNEMO = 'T2D_FILES(T2DRFO)%NAME' -SUBMIT = 'T2DRFO-WRITE-29;T2DRFO;FACUL;ASC;ECR;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats formate mis a la disposition de -l''utilisateur. -Les resultats a placer dans ce fichier seront a ecrire sur -le canal 29.' -AIDE1 = 'Formatted file of results made available to the user. -The results to be entered into this file shall be written -on channel 29.' - -NOM = 'CONDITIONS INITIALES' -NOM1 = 'INITIAL CONDITIONS' -TYPE = CARACTERE -INDEX = 26 -MNEMO = 'CDTINI' -DEFAUT = 'COTE NULLE' -DEFAUT1 = 'ZERO ELEVATION' -NIVEAU = 1 -CHOIX = '"COTE NULLE"'; '"COTE CONSTANTE"'; -'"HAUTEUR NULLE"'; '"HAUTEUR CONSTANTE"'; '"PARTICULIERES"' ; -'"ALTIMETRIE SATELLITE TPXO"' -CHOIX1 = '"ZERO ELEVATION"'; '"CONSTANT ELEVATION"'; -'"ZERO DEPTH"'; '"CONSTANT DEPTH"'; '"SPECIAL"' ; -'"TPXO SATELLITE ALTIMETRY"' -RUBRIQUE = 'EQUATIONS, CONDITIONS INITIALES' -RUBRIQUE1 = 'EQUATIONS, INITIAL CONDITIONS' -AIDE = 'Permet de definir les conditions initiales sur -les hauteurs d''eau. -Les valeurs possibles sont : - - COTE NULLE. Initialise la cote de surface libre a 0. - Les hauteurs d''eau initiales sont alors retrouvees en - faisant la difference entre les cotes de surface libre - et du fond. - - COTE CONSTANTE .Initialise la cote de surface libre a la - valeur donnee par le mot-cle COTE INITIALE. Les hauteurs - d''eau initiales sont calculees comme precedemment. - - HAUTEUR NULLE .Initialise les hauteurs d''eau a 0. - - HAUTEUR CONSTANTE. Initialise les hauteurs d''eau a la valeur - donnee par le mot-cle HAUTEUR INITIALE. - - PARTICULIERES. Les conditions initiales sur la hauteur d''eau - doivent etre precisees dans le sous-programme CONDIN. - - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur - d''eau et les vitesses sont etiblies sur la base des donnees - satellite TPXO dont les 8 premiers constistuents ont ete extrait - et sauves dans le fichier BASE DE DONNEES DE MAREE.' -AIDE1 = 'Makes it possible to define the initial conditions with -the water depth. -The possible values are as follows: - - ZERO ELEVATION-. Initializes the free surface elevation to 0. -The initial water depths are then found by computing the difference -between the free surface and the bottom. - - CONSTANT ELEVATION-. Initializes the water elevation to the value -given by the keyword -INITIAL ELEVATION-. The initial water depths -are computed as in the previous case. - - ZERO DEPTH-. Initializes the water depths to 0. - - CONSTANT DEPTH-. Initializes the water depths to the value given -by the key-word -INITIAL DEPTH-. - - SPECIAL-. The initial conditions with the water depth should be -stated in the CONDIN subroutine. - - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and -velocities are established from the TPXO satellite program data, the harmonic -constituents of which are stored in the TIDE DATA BASE file.' - -NOM = 'FORMAT DU FICHIER DE GEOMETRIE' -NOM1 = 'GEOMETRY FILE FORMAT' -TYPE = CARACTERE -INDEX = 27 -MNEMO = '????' -DEFAUT = 'SERAFIN ' -DEFAUT1 = 'SERAFIN ' -NIVEAU = 2 -CHOIX = 'SERAFIN ';'SERAFIND';'MED ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES' -AIDE = 'Format du fichier de geometrie. -Les valeurs possibles sont : -- SERAFIN : format standard simple precision pour Telemac; -- SERAFIND: format standard double precision pour Telemac; -- MED : format MED base sur HDF5' -AIDE1 = 'Geometry file format. -Possible values are: -- SERAFIN : classical single precision format in Telemac; -- SERAFIND: classical double precision format in Telemac; -- MED : MED format based on HDF5' - -NOM = 'FORMAT DU FICHIER DES RESULTATS' -NOM1 = 'RESULTS FILE FORMAT' -TYPE = CARACTERE -INDEX = 28 -MNEMO = '?????' -DEFAUT = 'SERAFIN ' -DEFAUT1 = 'SERAFIN ' -CHOIX = 'SERAFIN ';'SERAFIND';'MED ' -NIVEAU = 2 -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES' -AIDE = 'Format du fichier de resultats. -Les valeurs possibles sont : -- SERAFIN : format standard simple precision pour Telemac; -- SERAFIND: format standard double precision pour Telemac; -- MED : format MED base sur HDF5' -AIDE1 = 'Results file format. Possible values are: -- SERAFIN : classical single precision format in Telemac; -- SERAFIND: classical double precision format in Telemac; -- MED : MED format based on HDF5' - -NOM = 'FORMAT DU FICHIER DU CALCUL PRECEDENT' -NOM1 = 'PREVIOUS COMPUTATION FILE FORMAT' -TYPE = CARACTERE -INDEX = 29 -MNEMO = '?????' -DEFAUT = 'SERAFIN ' -DEFAUT1 = 'SERAFIN ' -CHOIX = 'SERAFIN ';'SERAFIND';'MED ' -NIVEAU = 2 -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES' -AIDE = 'Format du fichier de resultats du calcul precedent. -Les valeurs possibles sont : -- SERAFIN : format standard simple precision pour Telemac; -- SERAFIND: format standard double precision pour Telemac; -- MED : format MED base sur HDF5' -AIDE1 = 'Previous computation results file format. -Possible values are: -- SERAFIN : classical single precision format in Telemac; -- SERAFIND: classical double precision format in Telemac; -- MED : MED format based on HDF5' - -NOM = 'BIBLIOTHEQUES' -NOM1 = 'LIBRARIES' -TYPE = CARACTERE -INDEX = 30 -MNEMO = '' -TAILLE = 0 -DEFAUT =' ' -DEFAUT1 =' ' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Obsolete' -AIDE1 = 'Obsolete' - -NOM = 'PRIORITE' -NOM1 = 'PRIORITY' -TYPE = CARACTERE -INDEX = 31 -MNEMO = '' -TAILLE = 0 -CHOIX = 'JOUR';'NUIT';'WEEK-END' -DEFAUT = 'JOUR' -DEFAUT1 = 'JOUR' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Utilise par la procedure de lancement sur station de travail' -AIDE1 = 'Utilise par la procedure de lancement sur station de travail' - - -NOM = 'SUITE DE CALCUL' -NOM1 = 'COMPUTATION CONTINUED' -TYPE = LOGIQUE -INDEX = 1 -MNEMO = 'DEBU' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Determine si le calcul en cours est independant de tout autre -resultat ou est une reprise effectuee a partir du resultat d''un calcul -precedent. -NON : Il s''agit du premier passage pour ce calcul et il est necessaire -de definir un jeu complet de conditions initiales -OUI : Il s''agit d''une 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, l''ensemble 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, d''ajouter 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.' -AIDE1 = '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.' - -NOM = 'DIFFUSION DES TRACEURS' -NOM1 = 'DIFFUSION OF TRACERS' -TYPE = LOGIQUE -INDEX = 11 -MNEMO = 'DIFT' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la diffusion du traceur passif.' -AIDE1 = 'The diffusion of the passive tracer is taken into account -or ignored.' - -NOM = 'SORTIE LISTING' -NOM1 = 'LISTING PRINTOUT' -TYPE = LOGIQUE -INDEX = 3 -MNEMO = 'LISTIN' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'Sortie des resultats sur support papier. -Si l''on met NON le listing ne contient que l''entete et la mention -FIN NORMALE DU PROGRAMME -Commande a eviter' -AIDE1 = '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.' - -NOM = 'DIFFUSION DES VITESSES' -NOM1 = 'DIFFUSION OF VELOCITY' -TYPE = LOGIQUE -INDEX = 4 -MNEMO = 'DIFVIT' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'DIFFUSION DES VITESSES' -RUBRIQUE1 = 'EQUATIONS';'DIFFUSION OF VELOCITY' -COMPORT = -'Foreground ("EQUATIONS*DIFFUSION DES VITESSES") IS VALEUR (brown)' -NIVEAU = 2 -AIDE = 'Permet de decider si l''on prend ou non en compte la diffusion -des vitesses.' -AIDE1 = 'Makes it possible to decide whether the diffusion of velocity -(i.e. viscosity) is taken into account or not.' - -NOM = 'PRESSION ATMOSPHERIQUE' -NOM1 = 'AIR PRESSURE' -TYPE = LOGIQUE -INDEX = 5 -MNEMO = 'ATMOS' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'EQUATIONS';'PRESSION ATMOSPHERIQUE' -RUBRIQUE1 = 'EQUATIONS';'AIR PRESSURE' -COMPORT = -'Foreground ("EQUATIONS*PRESSION ATMOSPHERIQUE") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Permet de decider si l''on prend ou non en compte l''influence -d''un champ de pression.' -AIDE1 = 'Provided to decide whether the influence of an atmosphere field -is taken into account or not.' - -NOM = 'CONVECTION' -NOM1 = 'ADVECTION' -TYPE = LOGIQUE -INDEX = 6 -MNEMO = 'CONV' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'CONVECTION' -RUBRIQUE1 = 'EQUATIONS';'ADVECTION' -COMPORT = -'Foreground ("EQUATIONS*CONVECTION") IS VALEUR (brown)' -NIVEAU = 2 -AIDE = '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 ...' -AIDE1 = 'Are the advection terms taken into account or not? -If YES, some advection terms can still be deleted using the keywords --ADVECTION OF ..-' - -NOM = 'CONVECTION DE U ET V' -NOM1 = 'ADVECTION OF U AND V' -TYPE = LOGIQUE -INDEX = 7 -MNEMO = 'CONVV(1)' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'CONVECTION' -RUBRIQUE1 = 'EQUATIONS';'ADVECTION' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la convection de U et V.' -AIDE1= 'The advection of U and V is taken into account or ignored.' - -NOM = 'CONVECTION DE H' -NOM1 = 'ADVECTION OF H' -TYPE = LOGIQUE -INDEX = 8 -MNEMO = 'CONVV(2)' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'CONVECTION' -RUBRIQUE1 = 'EQUATIONS';'ADVECTION' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la convection de H. -Il s''agit en fait dans la version 2.0 de la convection de C' -AIDE1 = 'The advection of H is taken into account or ignored. -Actually, in version 2.0, the matter is about C advection.' - -NOM = 'CONVECTION DES TRACEURS' -NOM1 = 'ADVECTION OF TRACERS' -TYPE = LOGIQUE -INDEX = 9 -MNEMO = 'CONVV(3)' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'CONVECTION' -RUBRIQUE1 = 'EQUATIONS';'ADVECTION' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la convection du traceur passif.' -AIDE1 = 'The advection of the passive tracer is taken into account -or ignored.' - -NOM = 'CONVECTION DE K ET EPSILON' -NOM1 = 'ADVECTION OF K AND EPSILON' -TYPE = LOGIQUE -INDEX = 10 -MNEMO = 'CONVV(4)' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'MODELE DE TURBULENCE';'MODELE K-EPSILON' -RUBRIQUE1 = 'EQUATIONS';'TURBULENCE MODEL';'K-EPSILON MODEL' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la convection de k et epsilon.' -AIDE1 ='The k and epsilon advection is taken into account or ignored.' - -NOM = 'PROPAGATION' -NOM1 = 'PROPAGATION' -TYPE = LOGIQUE -INDEX = 12 -MNEMO = 'PROPA' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'EQUATIONS';'PROPAGATION' -RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' -NIVEAU = 2 -AIDE = 'Prise en compte ou non de la propagation de la vitesse et de la -hauteur d''eau. -La diffusion etant contenue dans cette etape sera supprimee aussi.' -AIDE1 = 'Determines whether the propagation step is taken into account -or not. -The diffusion being included in that step will be deleted as well.' - -NOM = 'CORIOLIS' -NOM1 = CORIOLIS -TYPE = LOGIQUE -INDEX = 13 -MNEMO = 'CORIOL' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'EQUATIONS';'CORIOLIS' -RUBRIQUE1 = 'EQUATIONS';'CORIOLIS' -COMPORT = -'Foreground ("EQUATIONS*CORIOLIS") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = 'Prise en compte ou non de la force de Coriolis.' -AIDE1 = 'The Coriolis force is taken into account or ignored.' - -NOM = 'INFORMATIONS SUR LE SOLVEUR' -NOM1 = 'INFORMATION ABOUT SOLVER' -TYPE = LOGIQUE -INDEX = 15 -MNEMO = 'INFOGR' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 2 -AIDE = 'Donne a chaque pas de temps le nombre d''iterations necessaires -a la convergence du solveur de l''etape de propagation.' -AIDE1 = 'if YES, prints the number of iterations that have been necessar -to get the solution of the linear system.' - -NOM = 'BILAN DE MASSE' -NOM1 = 'MASS-BALANCE' -TYPE = LOGIQUE -INDEX = 16 -MNEMO = 'BILMAS' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'Determine si l''on 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 l''ensemble des parois du domaine (liquides -ou solides) -- l''erreur relative sur la masse pour ce pas de temps. -En fin de listing, on trouve l''erreur relative sur la masse pour -l''ensemble du calcul. -Il ne s''agit que d''un calcul indicatif car il n''existe pas -d''expression compatible du debit en formulation c,u,v.' -AIDE1 = '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.' - -NOM = 'CLIPPING DE H' -NOM1 = 'H CLIPPING' -TYPE = LOGIQUE -INDEX = 17 -MNEMO = 'CLIPH' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'Determine si l''on desire ou non limiter par valeur inferieure -la hauteur d''eau H (dans le cas des bancs decouvrants par exemple).' -AIDE1 = '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.' - -NOM = 'COORDONNEES SPHERIQUES' -NOM1 = 'SPHERICAL COORDINATES' -TYPE = LOGIQUE -INDEX = 18 -MNEMO = 'SPHERI' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'EQUATIONS';'COORDONNEES SPHERIQUES' -RUBRIQUE1 = 'EQUATIONS';'SPHERICAL COORDINATES' -COMPORT = -'Foreground ("EQUATIONS*COORDONNEES SPHERIQUES") IS VALEUR (brown)' -NIVEAU = 1 -AIDE = '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 l''ordonnee y = 0.' -AIDE1 = '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.' - -NOM = 'PROPAGATION LINEARISEE' -NOM1 = 'LINEARIZED PROPAGATION' -TYPE = LOGIQUE -INDEX = 20 -MNEMO = 'PROLIN' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'EQUATIONS';'PROPAGATION' -RUBRIQUE1 = 'EQUATIONS';'PROPAGATION' -NIVEAU = 3 -AIDE = 'Permet de lineariser l''etape de propagation; -par exemple lors de la realisation de cas tests pour lesquels on dispose -d''une solution analytique dans le cas linearise.' -AIDE1 = 'Provided for linearizing the propagation step, e.g. when -performing test-cases for which an analytical solution in the linearized -case is available.' - -NOM = 'VALIDATION' -NOM1 = 'VALIDATION' -TYPE = LOGIQUE -INDEX = 21 -MNEMO = 'VALID' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = '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.' -AIDE1 = '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.' - -NOM = 'INFORMATIONS SUR LE MODELE K-EPSILON' -NOM1 = 'INFORMATION ABOUT K-EPSILON MODEL' -TYPE = LOGIQUE -INDEX = 22 -MNEMO = 'INFOKE' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'PARAMETRES NUMERIQUES, MODELE K-EPSILON' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, K-EPSILON MODEL' -NIVEAU = 2 -AIDE = 'Donne le nombre d''iterations du solveur de l''etape de -diffusion et termes sources du modele k-epsilon.' -AIDE1 = 'Gives the number of iterations of the solver in the diffusion -and source terms step of the k-epsilon model.' - -NOM = 'BANCS DECOUVRANTS' -NOM1 = 'TIDAL FLATS' -TYPE = LOGIQUE -INDEX = 24 -MNEMO = 'BANDEC' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'permet de supprimer les tests sur les bancs decouvrants, dans -les cas ou l''on est certain qu''il n''y en aura pas. -En cas de doute : oui' -AIDE1 = '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' - -NOM = 'ARRET SI UN ETAT PERMANENT EST ATTEINT' -NOM1 = 'STOP IF A STEADY STATE IS REACHED' -TYPE = LOGIQUE -INDEX = 25 -MNEMO = 'STOPER' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'A UTILISER AVEC LE MOT-CLE : CRITERES D''ARRET' -AIDE1 = 'TO BE USED WITH THE KEY-WORD: STOP CRITERIA' - -NOM = 'ELEMENTS MASQUES PAR L''UTILISATEUR' -NOM1 = 'ELEMENTS MASKED BY USER' -TYPE = LOGIQUE -INDEX = 26 -MNEMO = 'MSKUSE' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB' -AIDE1 = 'IF YES REWRITE SUBROUTINE MASKOB' - -NOM = 'EFFETS DE DENSITE' -NOM1 = 'DENSITY EFFECTS' -TYPE = LOGIQUE -INDEX = 27 -MNEMO = 'ROVAR' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE - LE TRACEUR EST ALORS LA SALINITE' -AIDE1 = 'THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT - THE TRACER IS THEN THE SALINITY' - -NOM = 'OPTION DE TRAITEMENT DES BANCS DECOUVRANTS' -NOM1 = 'OPTION FOR THE TREATMENT OF TIDAL FLATS' -TYPE = INTEGER -INDEX = 35 -MNEMO = 'OPTBAN' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '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)' -AIDE1 = '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)' - -NOM = 'LONGUEUR DU VECTEUR' -NOM1 = 'VECTOR LENGTH' -TYPE = INTEGER -INDEX = 36 -MNEMO = 'LVMAC' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 3 -AIDE = 'LONGUEUR DU VECTEUR POUR LES MACHINES VECTORIELLES' -AIDE1 = 'VECTOR LENGTH ON VECTOR MACHINES' - -NOM = 'OPTION DE SUPG' -NOM1 = 'SUPG OPTION' -TYPE = INTEGER -INDEX = 37 -MNEMO = 'OPTSUP' -TAILLE = 4 -DEFAUT = 2;2;2;2 -DEFAUT1 = 2;2;2;2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '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 ' -AIDE1 ='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 ' - -NOM = 'ORDRE DU TIR INITIAL POUR U' -NOM1 = 'INITIAL GUESS FOR U' -TYPE = INTEGER -INDEX = 38 -MNEMO = 'IORDRU' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '0=zero' ; '1=precedent'; '2=extrapolation' -CHOIX1 = '0=zero' ; '1=previous'; '2=extrapolation' -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 2 -AIDE = 'Tir initial du solveur de l''etape de propagation. -Offre la possibilite de modifier la valeur initiale de U, a chaque -iteration, dans l''etape de propagation en utilisant les valeurs -finales de cette variable aux pas de temps precedents. Ceci peut -permettre d''accelerer 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)' -AIDE1 = '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)' - -NOM = 'ENREGISTREMENT POUR SUITE DE CALCUL' -NOM1 = 'RECORD NUMBER FOR RESTART' -TYPE = ENTIER -INDEX = 39 -MNEMO = 'START_RECORD' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'En cas de suite de calcul, numero de l''enregistrement -de depart dans le fichier du calcul precedent. 0 signifie -qu''on prend le dernier enregistrement' -AIDE1 ='In case of COMPUTATION CONTINUED, record number to -start from in the PREVIOUS COMPUTATION FILE' - -NOM = 'MASSE VOLUMIQUE DE L''EAU' -NOM1 = 'WATER DENSITY' -TYPE = REEL -INDEX = 27 -MNEMO = 'ROEAU' -TAILLE = 0 -DEFAUT = 1000. -DEFAUT1 = 1000. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'Fixe la valeur de la masse volumique de l''eau.' -AIDE1 = 'set the value of water density' - -NOM = 'LATITUDE DU POINT ORIGINE' -NOM1 = 'LATITUDE OF ORIGIN POINT' -TYPE = REEL -INDEX = 28 -MNEMO = 'LAMBD0' -TAILLE = 0 -DEFAUT = 48. -DEFAUT1 = 48. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'Determine l''origine utilisee pour le calcul de latitudes -lorsque l''on effectue un calcul en coordonnees spheriques.' -AIDE1 = '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.' - -NOM = 'TEMPERATURE MOYENNE' -NOM1 = 'MEAN TEMPERATURE' -TYPE = REEL -INDEX = 42 -MNEMO = 'TREF' -CONTROLE = 0.; 100. -TAILLE = 0 -DEFAUT = 20. -DEFAUT1= 20. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE - A UTILISER AVEC LE MOT-CLE "EFFETS DE DENSITE"' -AIDE1 = 'REFERENCE TEMPERATURE FOR DENSITY EFFECTS - TO BE USED WITH THE KEY-WORD "DENSITY EFFECTS"' - -NOM = 'ACCELERATION DE LA PESANTEUR' -NOM1 = 'GRAVITY ACCELERATION' -TYPE = REEL -INDEX = 2 -MNEMO = 'GRAV' -TAILLE = 0 -DEFAUT = 9.81 -DEFAUT1 = 9.81 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -COMPORT = -'Foreground ("CONSTANTES PHYSIQUES") IS VALEUR (yellow)' -NIVEAU = 1 -AIDE = 'Fixe la valeur de l''acceleration de la pesanteur.' -AIDE1 = 'Set the value of the acceleration due to gravity.' - -NOM = 'COEFFICIENT DE CORIOLIS' -NOM1 = 'CORIOLIS COEFFICIENT' -TYPE = REEL -INDEX = 5 -MNEMO = 'FCOR' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = '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' -AIDE1 = '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' -/ -/ -/ -/ -/ NOUVEAUTES 3.1 -/ -/ -/ -/ -NOM = 'DISCRETISATIONS EN ESPACE' -NOM1 = 'DISCRETIZATIONS IN SPACE' -TYPE = ENTIER -INDEX = 16 -MNEMO = 'DISCRE' -TAILLE = 4 -DEFAUT = 11;11;11;11 -DEFAUT1 = 11;11;11;11 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 13 -AIDE = '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' -AIDE1 = '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' - -NOM = 'STOCKAGE DES MATRICES' -NOM1 = 'MATRIX STORAGE' -TYPE = ENTIER -INDEX = 40 -MNEMO = 'OPTASS' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -CHOIX = '1="EBE classique"'; -'3="Stockage par segments"' -CHOIX1 = '1="classical EBE"'; -'3="Edge-based storage"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '1 : EBE classique 3 : Stockage par segments' -AIDE1 = '1 : classical EBE 3 : Edge-based storage' - -NOM = 'COEFFICIENTS ADIMENSIONNELS DE DISPERSION' -NOM1 = 'NON-DIMENSIONAL DISPERSION COEFFICIENTS' -TYPE = REEL -INDEX = 47 -MNEMO = 'ELDER' -CONTROLE = 0 ; 10 -TAILLE = 2 -DEFAUT = 6. ; 0.6 -DEFAUT1= 6. ; 0.6 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'coefficients longitudinal et transversal dans la formule de -Elder. Utilises uniquement avec le modele de turbulence 2' -AIDE1 = 'Longitudinal and transversal coefficients in elder s formula. - Used only with turbulence model number 2' - -NOM = 'DICTIONNAIRE' -NOM1 = 'DICTIONARY' -TYPE = CARACTERE -INDEX = 100 -MNEMO = '' -SUBMIT = 'INUTILE;T2DDICO;OBLIG;ASC;LIT;DICO' -DEFAUT = 'telemac2d.dico' -DEFAUT1 = 'telemac2d.dico' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = -3 -AIDE ='Dictionnaire des mots cles.' -AIDE1 ='Key word dictionary.' - -NOM = 'DATE DE L''ORIGINE DES TEMPS' -NOM1 = 'ORIGINAL DATE OF TIME' -TYPE = INTEGER -INDEX = 41 -MNEMO = 'MARDAT' -TAILLE = 3 -DEFAUT = 1900;1;1 -DEFAUT1 = 1900;1;1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Permet de fixer la date d''origine des temps du modele lors -de la prise en compte de la force generatrice de la maree.' -AIDE1 ='Give the date of the time origin of the model when taking into -account the tide generating force.' - -NOM = 'HEURE DE L''ORIGINE DES TEMPS' -NOM1 = 'ORIGINAL HOUR OF TIME' -TYPE = INTEGER -INDEX = 42 -MNEMO = 'MARTIM' -TAILLE = 3 -DEFAUT = 0;0;0 -DEFAUT1 = 0;0;0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Permet de fixer l''heure d''origine des temps du modele lors -de la prise en compte de la force generatrice de la maree.' -AIDE1 ='Give the time of the time origin of the model when taking into -account of the tide generator force.' - -NOM = 'LONGITUDE DU POINT ORIGINE' -NOM1 = 'LONGITUDE OF ORIGIN POINT' -TYPE = REEL -INDEX = 48 -MNEMO = 'PHI0' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1= 0. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 2 -AIDE = 'Fixe la valeur de la longitude du point origine du modele, -lors de l''utilisation de la force generatrice de la maree.' -AIDE1 = 'Give the value of the longitude of the origin point -of the model, when taking into account of the tide generator force.' - -NOM = 'FORCE GENERATRICE DE LA MAREE' -NOM1 = 'TIDE GENERATING FORCE' -TYPE = LOGIQUE -INDEX = 28 -MNEMO = 'MAREE' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Active la prise en compte de la force generatrice de la maree' -AIDE1 = 'The tide generating force is taken into account. ' - -NOM = 'MASS-LUMPING SUR LES TRACEURS' -NOM1 = 'MASS-LUMPING ON TRACERS' -TYPE = REEL -INDEX = 49 -MNEMO = 'AGGLOT' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 2 -AIDE = 'Fixe le taux de mass-lumping effectue sur le traceur.' -AIDE1 = 'Sets the amount of mass-lumping that is performed on - the tracer.' - -NOM = 'CORRECTION DE CONTINUITE' -NOM1 = 'CONTINUITY CORRECTION' -TYPE = LOGIQUE -INDEX = 29 -MNEMO = 'CORCON' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Corrige les vitesses sur les points avec hauteur imposee ou -l''equation de continuite n''a pas ete resolue' -AIDE1 = 'Correction of the velocities on points with a prescribed -elevation, where the continuity equation has not been solved' - -/ NOUVEAUTES 3.2 - -NOM = 'REMISE A ZERO DU TEMPS' -NOM1 = 'INITIAL TIME SET TO ZERO' -TYPE = LOGIQUE -INDEX = 30 -MNEMO = 'RAZTIM' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Remet le temps a zero en cas de suite de calcul' -AIDE1 = 'Initial time set to zero in case of restart' - -NOM = 'PRODUIT MATRICE-VECTEUR' -NOM1 = 'MATRIX-VECTOR PRODUCT' -TYPE = ENTIER -INDEX = 43 -MNEMO = 'PRODUC' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '1 : classique 2 : frontal -attention, avec 2, il faut une numerotation speciale des points' -AIDE1 = '1 : classic 2 : frontal -beware, with option 2, a special numbering of points is required' - -NOM = 'SECTIONS DE CONTROLE' -NOM1 = 'CONTROL SECTIONS' -TYPE = INTEGER -INDEX = 44 -MNEMO = 'CTRLSC' -TAILLE = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Couples de points (numeros globaux dans le maillage) entre -lesquels les debits instantanes et cumules seront donnes.' -AIDE1 ='Couples of points (global numbers in the mesh) defining sections - where the instantaneous and cumulated discharges will be given' - - - -NOM = 'NOMBRE DE SEUILS' -NOM1 = 'NUMBER OF WEIRS' -TYPE = ENTIER -INDEX = 45 -MNEMO = 'NWEIRS' -CONTROLE = 0; 100 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = '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)' -AIDE1 = '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)' - -NOM = 'NOMBRE DE SIPHONS' -NOM1 = 'NUMBER OF CULVERTS' -TYPE = ENTIER -INDEX = 46 -MNEMO = 'NSIPH' -CONTROLE = 0; 100 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = '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)' -AIDE1 = '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)' - -NOM = 'OPTION POUR LES FRONTIERES LIQUIDES' -NOM1 = 'OPTION FOR LIQUID BOUNDARIES' -TYPE = ENTIER -INDEX = 47 -MNEMO = 'FRTYPE' -CONTROLE = 1;2 -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -NIVEAU = 1 -AIDE = 'On donne 1 entier par frontiere liquide - 1 : conditions aux limites classiques - 2 : methode de Thompson avec calcul de caracteristiques' -AIDE1 = 'One integer per liquid boundary is given - 1 : classical boundary conditions - 2 : Thompson method based on characteristics' - -NOM = 'BIBLIOTHEQUE PVM1' -NOM1 = 'PVM1 LIBRARY' -TYPE = CARACTERE -INDEX = 32 -MNEMO = '' -TAILLE = 0 -/CHOIX= '1="conditions aux limites classiques"'; -/ '2="methode de Thompson avec calcul de caracteristiques"' -/CHOIX1 = '1="classical boundary conditions"'; -/ '2="Thompson method based on characteristics"' -DEFAUT = ' ' -DEFAUT1 = ' ' -CHOIX = '" "="pas de biliotheque"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' -CHOIX1 = '" "="no library"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="PVM1 library"' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Utilise par la procedure de lancement sur station de travail' -AIDE1 = 'Utilise par la procedure de lancement sur station de travail' - - -NOM = 'BIBLIOTHEQUE PVM2' -NOM1 = 'PVM2 LIBRARY' -TYPE = CARACTERE -INDEX = 33 -MNEMO = '' -TAILLE = 0 -DEFAUT = ' ' -DEFAUT1 = ' ' -CHOIX = '" "="pas de biliotheque"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a"="bibliotheque PVM2"' -CHOIX1 = '" "="no library"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a"="PVM2 library"' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -NIVEAU = 2 -AIDE = 'Utilise par la procedure de lancement sur station de travail' -AIDE1 = 'Utilise par la procedure de lancement sur station de travail' - - -NOM = 'NOM DU CRAY' -NOM1 = 'CRAY NAME' -TYPE = CARACTERE -INDEX = 35 -DEFAUT = 'clcraya' -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'ENVIRONNEMENT' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATION ENVIRONMENT' -AIDE = '' -AIDE1 = '' - -/ NOUVEAUTES 4.0 - -NOM = 'PRECONDITIONNEMENT C-U' -NOM1 = 'C-U PRECONDITIONING' -TYPE = LOGIQUE -INDEX = 31 -MNEMO = 'PRECCU' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Changement de variable de H en C dans le systeme lineaire final' -AIDE1 = 'Change of variable from H to C in the final linear system' - -NOM = 'PAS DE TEMPS VARIABLE' -NOM1 = 'VARIABLE TIME-STEP' -TYPE = LOGIQUE -INDEX = 32 -MNEMO = 'DTVARI' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = 'Pas de temps variable pour avoir un nombre de courant souhaite' -AIDE1 = 'Variable time-step to get a given Courant number' - -NOM = 'TRAITEMENT DU SYSTEME LINEAIRE' -NOM1 = 'TREATMENT OF THE LINEAR SYSTEM' -TYPE = ENTIER -INDEX = 48 -MNEMO = 'SOLSYS' -CONTROLE = 1;2 -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 =1 -CHOIX = '1="traitement couple"';'2="Equation d''onde"' -CHOIX1 = '1="coupled"';'2="Wave equation"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = '1 : Traitement couple 2 : equation d onde' -AIDE1 = '1 : Coupled 2 : wave equation' - -NOM = 'NOMBRE DE COURANT SOUHAITE' -NOM1 = 'DESIRED COURANT NUMBER' -TYPE = REEL -INDEX = 50 -MNEMO = 'CFLWTD' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1 = 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 2 -AIDE = 'Nombre de Courant souhaite en cas de pas de temps variable' -AIDE1 = 'Desired Courant number when VARIABLE TIME-STEP is set to YES' - -NOM = 'PROCESSEURS PARALLELES' -NOM1 = 'PARALLEL PROCESSORS' -TYPE = ENTIER -INDEX = 49 -MNEMO = 'NCSIZE' -CONTROLE = 0;256 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = '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... ' -AIDE1 = '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....' - -NOM = 'EQUATIONS' -NOM1 = 'EQUATIONS' -TYPE = CARACTERE -INDEX = 36 -MNEMO = 'EQUA' -DEFAUT = 'SAINT-VENANT EF' -DEFAUT1 = 'SAINT-VENANT EF' -CHOIX = '"SAINT-VENANT EF"';'"SAINT-VENANT VF"';'"BOUSSINESQ"' -CHOIX1 = '"SAINT-VENANT EF"';'"SAINT-VENANT VF"';'"BOUSSINESQ"' -NIVEAU = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -AIDE = 'CHOIX DES EQUATIONS A RESOUDRE : SAINT-VENANT ELEMENTS FINIS, -SAINT-VENANT VOLUMES FINIS OU BOUSSINESQ 20 CARACTERES' -AIDE1 = 'CHOICE OF EQUATIONS TO SOLVE : SAINT-VENANT FINITE ELEMENTS, -SAINT-VENANT FINITE VOLUMES OR BOUSSINESQ 20 CHARACTERS' - -NOM = 'PROFILS DE VITESSE' -NOM1 = 'VELOCITY PROFILES' -TYPE = INTEGER -INDEX = 50 -MNEMO = 'PROVEL' -TAILLE = 2 -CHOIX='1="Profil normal constant"';'2="u et v dans le fichier - conlim"';'3="Vitesse normale donnee dans ubor dans le fichier - conlim"';'4="vitesse en racine carree de h"'; -'5="vitesse en racine carree de h, variante"' -CHOIX1='1="constant normal profile"';'2="u and v given in the - conlim file"';'3="normal velocity given in ubor in the conlim - file"';'4="velocity proportional to square root of depth"'; -'5="velocity proportional to square root of depth, variant"' -RUBRIQUE = 'EQUATIONS, CONDITIONS LIMITES' -RUBRIQUE1 = 'EQUATIONS, BOUNDARY CONDITIONS' -NIVEAU = 1 -AIDE = '1:profil normal constant - 2:u et v donnes dans le fichier conditions aux limites - 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' -AIDE1= '1:constant normal profile - 2:u and v given in the boudary conditions file - 3:normal velocity given in ubor in the conlim file - 4:sqrt(depth) profile - 5:sqrt(depth) profile, variant' - -NOM = 'OPTION POUR LA DIFFUSION DES TRACEURS' -NOM1 = 'OPTION FOR THE DIFFUSION OF TRACERS' -TYPE = INTEGER -INDEX = 51 -MNEMO = 'OPDTRA' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="div( nu grad(T) )"'; -'2="1/h div ( h nu grad(T)"' -CHOIX1= '1="div( nu grad(T) )"'; -'2="1/h div ( h nu grad(T)"' -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 1 -AIDE = '1: Diffusion de la forme div( nu grad(T) ) - 2: Diffusion de la forme 1/h div ( h nu grad(T) )' -AIDE1= '1: Diffusion in the form div( nu grad(T) ) - 2: Diffusion in the form 1/h div ( h nu grad(T) )' - -NOM = 'OPTION POUR LA DIFFUSION DES VITESSES' -NOM1 = 'OPTION FOR THE DIFFUSION OF VELOCITIES' -TYPE = INTEGER -INDEX = 52 -MNEMO = 'OPDVIT' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="div( nu grad(U) )"'; -'2="1/h div ( h nu grad(U)"' -CHOIX1= '1="div( nu grad(U) )"'; -'2="1/h div ( h nu grad(U)"' -RUBRIQUE = 'PARAMETRES NUMERIQUES, VITESSE-CELERITE-HAUTEUR' -RUBRIQUE1 = 'NUMERICAL PARAMETERS, VELOCITY-CELERITY-HIGHT' -NIVEAU = 1 -AIDE = '1: Diffusion de la forme div( nu grad(U) ) - 2: Diffusion de la forme 1/h div ( h nu grad(U) )' -AIDE1= '1: Diffusion in the form div( nu grad(U) ) - 2: Diffusion in the form 1/h div ( h nu grad(U) )' - -NOM = 'TYPE DES SOURCES' -NOM1 = 'TYPE OF SOURCES' -TYPE = ENTIER -INDEX = 53 -MNEMO = 'OPTSOU' -CONTROLE = 1;2 -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 =1 -CHOIX = '1="Normal"';'2="Dirac"' -CHOIX1= '1="Normal"';'2="Dirac"' -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 2 -AIDE = '1: Source portee par une base elements finis - 2: Source portee par une fonction de Dirac' -AIDE1= '1: Source term multiplied by a finite element basis - 2: Source term multiplied by a Dirac function' - -/ NOUVEAUTES 5.0 - -NOM = 'NOMBRE DE TABLEAUX PRIVES' -NOM1 = 'NUMBER OF PRIVATE ARRAYS' -TYPE = ENTIER -INDEX = 54 -MNEMO = 'NPRIV' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Nombre de tableaux mis a disposition de l utilisateur' -AIDE1 = 'Number of arrays for own user programming' - -NOM = 'LANGUE' -NOM1 = 'LANGUAGE' -TYPE = ENTIER -INDEX = 55 -MNEMO = 'LNG' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 2 -CHOIX = '1="FRANCAIS"';'2="ANGLAIS"' -CHOIX1 = '1="FRANCAIS"';'2="ANGLAIS"' -RUBRIQUE = 'GENERAL' -RUBRIQUE1 = 'GENERAL' -NIVEAU = 1 -AIDE = '1 : FRANCAIS 2 : ANGLAIS' -AIDE1 = '1: FRENCH 2: ENGLISH' - -NOM = 'FICHIER DE REFERENCE' -NOM1 = 'REFERENCE FILE' -TYPE = CARACTERE -INDEX = 37 -MNEMO = 'T2D_FILES(T2DREF)%NAME' -SUBMIT = 'T2DREF-READ-22;T2DREF;FACUL;BIN;LIT;SELAFIN' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a -ecrire sur le canal 22.' -AIDE1 = 'Binary-coded result file for validation. The results to be entered into this file shall be written -on channel 22.' - -NOM = 'FICHIER DES FRONTIERES LIQUIDES' -NOM1 = 'LIQUID BOUNDARIES FILE' -TYPE = CARACTERE -INDEX = 38 -MNEMO = 'T2D_FILES(T2DIMP)%NAME' -SUBMIT = 'T2DIMP-READ-12;T2DIMP;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de variations en temps des conditions aux limites. -Les donnees de ce fichier seront a lire sur le canal 12.' -AIDE1 = 'Variations in time of boundary conditions. Data of this file are read -on channel 12.' - -NOM = 'COURANTS DE HOULE' -NOM1 = 'WAVE DRIVEN CURRENTS' -TYPE = LOGIQUE -INDEX = 33 -MNEMO = 'COUROU' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Active la prise en compte des courants de houle' -AIDE1 = 'Wave driven currents are taken into account. ' - -NOM = 'NUMERO DE L''ENREGISTREMENT DANS LE FICHIER DE HOULE' -NOM1 = 'RECORD NUMBER IN WAVE FILE' -TYPE = ENTIER -INDEX = 56 -MNEMO = 'NPTH' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Numero d enregistrement dans le fichier des courants de houle' -AIDE1 = 'Record number to read in the wave driven currents file' - -/ NOUVEAUTES 5.1 - -NOM = 'STRUCTURES VERTICALES' -NOM1 = 'VERTICAL STRUCTURES' -TYPE = LOGIQUE -INDEX = 34 -MNEMO = 'VERTIC' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Prise en compte de la force de trainee de structures verticales -(il faut alors remplir la subroutine DRAGFO)' -AIDE1 = 'drag forces from vertical structures are taken into account. -(subroutine DRAGFO must then be implemented) ' - -NOM = 'SORTIE DES CONDITIONS INITIALES' -NOM1 = 'OUTPUT OF INITIAL CONDITIONS' -TYPE = LOGIQUE -INDEX = 35 -MNEMO = 'OUTINI' -TAILLE = 0 -DEFAUT = OUI -DEFAUT1 = YES -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Si OUI, impression des conditions initiales dans les resultats' -AIDE1 = 'If YES, output of initial conditions in the results' - -/ NOUVEAUTES 5.2 - -NOM = 'DOSSIER DE COUPLAGE' -NOM1 = 'COUPLING DIRECTORY' -TYPE = CARACTERE -INDEX = 39 -MNEMO = 'DOSSIER_COUPLAGE' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Nom complet du dossier d echange des fichiers - pour couplage de codes' -AIDE1 = 'Name with full path of the directory where the files will - be exchanged for coupling' - -NOM = 'COUPLAGE AVEC' -NOM1 = 'COUPLING WITH' -TYPE = CARACTERE -INDEX = 40 -MNEMO = 'COUPLING, IN BIEF' -DEFAUT = ' ' -DEFAUT1 = ' ' -CHOIX = '"SISYPHE"';'"TOMAWAC"';'"DELWAQ"' -CHOIX1 = '"SISYPHE"';'"TOMAWAC"';'"DELWAQ"' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = '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' -AIDE1 = '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' - -NOM = 'ESTIMATION DE PARAMETRE' -NOM1 = 'PARAMETER ESTIMATION' -TYPE = CARACTERE -INDEX = 60 -MNEMO = 'ESTIME' -DEFAUT = ' ' -DEFAUT1 = ' ' -CHOIX = '"FROTTEMENT"';'"FROTTEMENT, PERMANENT"' -CHOIX1 = '"FRICTION"';'"FROTTEMENT, STEADY"' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Liste des parametres a estimer, choix : FROTTEMENT - ou FROTTEMENT, PERMANENT' -AIDE1 = 'List of parameter to be estimated, choice : FRICTION - or FRICTION, STEADY' - -NOM = 'DEFINITION DE ZONES' -NOM1 = 'DEFINITION OF ZONES' -TYPE = LOGIQUE -INDEX = 36 -MNEMO = 'DEFZON' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Declenche l''appel a def_zones, pour donner - un numero de zone a chaque point' -AIDE1 = 'Triggers the call to def_zones - to give a zone number to every point' - -NOM = 'METHODE D''IDENTIFICATION' -NOM1 = 'IDENTIFICATION METHOD' -TYPE = ENTIER -INDEX = 57 -MNEMO = 'OPTID' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '0="plan d''experience"'; -'1="gradient simple"'; -'2="gradient conj"'; -'3="interp. de Lagrange"' -CHOIX1 = '0="list of tests"'; -'1="gradient simple"'; -'2="conj gradient"'; -'3="Lagrange interp."' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '0 : plan d''experience 1 : gradient simple - 2 : gradient conj. 3 : interp. de Lagrange' -AIDE1 = '0 : list of tests 1: gradient - 2 : conj. gradient 3 : lagrange interp.' - -NOM = 'PERIODES D''ANALYSE DE FOURIER' -NOM1 = 'FOURIER ANALYSIS PERIODS' -TYPE = REEL -INDEX = 51 -MNEMO = 'PERIAF' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS, SOURCES' -RUBRIQUE1 = 'EQUATIONS, SOURCE TERMS' -NIVEAU = 1 -AIDE = 'Liste des periodes que l''on veut analyser' -AIDE1 = 'List of periods to be analysed' - -NOM = 'LISTE DE POINTS' -NOM1 = 'LIST OF POINTS' -TYPE = INTEGER -INDEX = 58 -MNEMO = 'LIST_PTS' -TAILLE = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Liste de points remarquables pour les impressions' -AIDE1= 'List of remarkable points for printouts' - -NOM = 'NOMS DES POINTS' -NOM1 = 'NAMES OF POINTS' -TYPE = CARACTERE -INDEX = 61 -MNEMO = 'NAME_PTS' -TAILLE = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Noms des points remarquables pour les impressions' -AIDE1= 'Names of remarkable points for printouts' - -NOM = 'FONCTION COUT' -NOM1 = 'COST FUNCTION' -TYPE = ENTIER -INDEX = 59 -MNEMO = 'OPTCOST' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '1 : calculee sur h, u , v 2 : calculee avec c, u , v' -AIDE1 = '1: computed with h, u , v 2: computed with c, u , v' - -NOM = 'MAXIMUM D''ITERATIONS POUR L''IDENTIFICATION' -NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR IDENTIFICATION' -TYPE = ENTIER -INDEX = 60 -MNEMO = 'MAXEST' -TAILLE = 0 -DEFAUT = 20 -DEFAUT1 = 20 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'chaque iteration comprend au moins un - calcul direct et un calcul adjoint' -AIDE1 = 'every iteration implies at least a direct and - an adjoint computation' - -NOM = 'PERIODE DE COUPLAGE POUR SISYPHE' -NOM1 = 'COUPLING PERIOD FOR SISYPHE' -TYPE = ENTIER -INDEX = 61 -MNEMO = 'PERCOU' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'pour eviter de faire le couplage a chaque pas de temps' -AIDE1 = 'to avoid coupling at every time-step' - -NOM = 'PRECISIONS POUR L''IDENTIFICATION' -NOM1 = 'TOLERANCES FOR IDENTIFICATION' -TYPE = REEL -INDEX = 52 -MNEMO = 'TOLEST' -TAILLE = 4 -DEFAUT = 1.E-3;1.E-3;1.E-3;1.E-4 -DEFAUT1 = 1.E-3;1.E-3;1.E-3;1.E-4 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '4 nombres : precision absolue sur H, U, V, - et precision relative sur la fonction cout' -AIDE1 = '4 numbers: absolute precision on H, U V, - and relative precision on the cost function' -/ -/ NOUVEAUTES 5.3 -/ -NOM = 'SCHEMA EN VOLUMES FINIS' -NOM1 = 'FINITE VOLUME SCHEME' -TYPE = ENTIER -INDEX = 62 -MNEMO = 'OPTVF' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '0="schema de Roe"'; -'1="schéma cinetique ordre 1"'; -'2="schéma cinetique ordre 2"' ; -'3="schéma Zokagoa ordre 1"'; -'4="schéma Tchamen ordre 1"'; -'5="schéma HLLC ordre 1"'; -'6="schéma WAF ordre 2"' -CHOIX1 = '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"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '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' -AIDE1 = '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' -/ -/ NOUVEAUTES 5.4 -/ -NOM = 'FICHIER DES PARAMETRES DE SISYPHE' -NOM1 = 'SISYPHE STEERING FILE' -TYPE = CARACTERE -INDEX = 62 -MNEMO = 'PAS DE MNEMO' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier des parametres de Sisyphe en cas de couplage interne' -AIDE1 = 'Sisyphe parameter file in case of internal coupling' -/ -/ NOUVEAUTES 5.5 -/ -NOM = 'DONNEES POUR LE FROTTEMENT' -NOM1 = 'FRICTION DATA' -TYPE = LOGIQUE -INDEX = 37 -MNEMO = 'FRICTB' -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'Lois de frottements definies par zone' -AIDE1 = 'Friction law defined by area' - -NOM = 'NOMBRE MAXIMUM DE DOMAINES DE FROTTEMENT' -NOM1 = 'MAXIMUM NUMBER OF FRICTION DOMAINS' -TYPE = INTEGER -INDEX = 63 -MNEMO = 'NZONMX' -DEFAUT = 10 -DEFAUT1 = 10 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'nombre maximal de zones pouvant etre definies pour le -frottement. Peut etre augmente si necessaire' -AIDE1 = 'maximal number of zones defined for the friction. -Could be increased if needed' - -NOM = 'FICHIER DE DONNEES POUR LE FROTTEMENT' -NOM1 = 'FRICTION DATA FILE' -TYPE = CARACTERE -INDEX = 63 -MNEMO = 'T2D_FILES(T2DCOF)%NAME' -SUBMIT = 'T2DCOF-READ-35;T2DCOF;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'fichier de donnees pour le frottement' -AIDE1 = 'friction data file' - -NOM = 'VALEUR PAR DEFAUT DU MANNING POUR LA LOI DE COLEBROOK-WHITE' -NOM1 = 'MANNING DEFAULT VALUE FOR COLEBROOK-WHITE LAW' -TYPE = REEL -INDEX = 53 -MNEMO = 'NDEF' -DEFAUT = 0.02 -DEFAUT1 = 0.02 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'valeur par defaut du manning pour la loi de frottement de -Colebrook-White (loi numero 7)' -AIDE1 = 'Manning default value for the friction law of Colebrook-White -(law number 7)' - -NOM = 'FROTTEMENT POUR LA VEGETATION NON SUBMERGEE' -NOM1 = 'NON-SUBMERGED VEGETATION FRICTION' -TYPE = LOGIQUE -INDEX = 38 -MNEMO = 'LINDNER' -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'calcul du frottement du a la vegetation non submergee' -AIDE1 = 'friction calculation of the non-submerged vegetation' - -NOM = 'DIAMETRE DES ELEMENTS DE FROTTEMENT' -NOM1 = 'DIAMETER OF ROUGHNESS ELEMENTS' -TYPE = REEL -INDEX = 54 -MNEMO = 'DP' -DEFAUT = 0.006 -DEFAUT1 = 0.006 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'diametre des elements de frottements' -AIDE1 = 'diameter of roughness element' - -NOM = 'ESPACEMENT DES ELEMENTS DE FROTTEMENT' -NOM1 = 'SPACING OF ROUGHNESS ELEMENTS' -TYPE = REEL -INDEX = 55 -MNEMO = 'SP' -DEFAUT = 0.14 -DEFAUT1 = 0.14 -NIVEAU = 1 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -AIDE = 'espacement des elements de frottement' -AIDE1 = 'spacing of rouhness element' - -NOM = 'IMPRESSION DU CUMUL DES FLUX' -NOM1 = 'PRINTING CUMULATED FLOWRATES' -TYPE = LOGIQUE -INDEX = 39 -MNEMO = 'CUMFLO' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -NIVEAU = 1 -AIDE = 'IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE' -AIDE1 = 'PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS' - -NOM = 'CALCUL COMPATIBLE DES FLUX' -NOM1 = 'COMPATIBLE COMPUTATION OF FLUXES' -TYPE = LOGIQUE -INDEX = 40 -MNEMO = 'COMFLU' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE -AVEC L''IMPERMEABILITE SOUS FORME FAIBLE' -AIDE1 = 'FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE -WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION' -/ -/ NOUVEAUTES 5.6 -/ -NOM = 'PROFONDEUR LIMITE POUR LE VENT' -NOM1 = 'THRESHOLD DEPTH FOR WIND' -TYPE = REEL -INDEX = 56 -MNEMO = 'HWIND' -DEFAUT = 1. -DEFAUT1 = 1. -NIVEAU = 1 -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -AIDE = 'Retire la force due au vent dans les petites profondeurs' -AIDE1 = 'Wind is not taken into account for small depths' -/ -NOM = 'SEUIL POUR LES PROFONDEURS NEGATIVES' -NOM1 = 'THRESHOLD FOR NEGATIVE DEPTHS' -TYPE = REEL -INDEX = 57 -MNEMO = 'HNEG' -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'CONSTANTES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL CONSTANTS' -NIVEAU = 1 -AIDE = 'En dessous du seuil, les hauteurs negatives sont lissees' -AIDE1 = 'Below the threshold the negative depths are smoothed' -/ -/ FOR COMPATIBILITY WITH TELEMAC-3D -/ SEE TREATMENT IN LECDON_TELEMAC2D -/ -NOM = 'PERIODE POUR LES SORTIES LISTING' -NOM1 = 'LISTING PRINTOUT PERIOD' -TYPE = INTEGER -INDEX = 64 -MNEMO = 'LISPRD' -DEFAUT = 1 -DEFAUT1 = 1 -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -AIDE = 'Determine la periode en nombre de pas de temps d''impression -des ''VARIABLES A IMPRIMER'' (voir ce mot-cle) Pour la mise au point, -il faut savoir que la sortie des resultats est effectuee -systematiquement sur le fichier de retour d''execution du code -(actuellement accessible par le menu 3.f de SPF sur IBM, et dans -le fichier !CAS.SORTIE sur station de travail)' -AIDE1 = 'Determines, in number of time steps, the printout period of -the VARIABLES TO BE PRINTED -The results are systematically printed out on the listing file -(file CAS.SORTIE at the workstation).' -/ -/ -NOM = 'COORDONNEES DE L''ORIGINE' -NOM1 = 'ORIGIN COORDINATES' -TYPE = ENTIER -INDEX = 65 -MNEMO = 'I_ORIG,J_ORIG' -TAILLE = 2 -DEFAUT = 0;0 -DEFAUT1 = 0;0 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' -NIVEAU = 2 -AIDE = 'Valeur en metres, utilise pour eviter les trops grands nombres, transmis -dans le format Selafin mais pas d''autre traitement pour l''instant' -AIDE1 = 'Value in metres, used to avoid large real numbers, -added in Selafin format, but so far no other treatment' -/ -/ NOUVEAUTES 5.7 -/ -NOM = 'PERIODE DE SORTIE POUR DELWAQ' -NOM1 = 'DELWAQ PRINTOUT PERIOD' -TYPE = ENTIER -INDEX = 66 -MNEMO = 'WAQPRD' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' -NIVEAU = 2 -AIDE = 'Periode de sortie des resultats pour Delwaq' -AIDE1 = 'Printout period for Delwaq file' -/ -NOM = 'FICHIER DELWAQ DES VOLUMES' -NOM1 = 'VOLUMES DELWAQ FILE' -TYPE = CARACTERE -INDEX = 64 -MNEMO = 'T2D_FILES(T2DSOU)%NAME' -SUBMIT = 'T2DDL1-WRITE-36;T2DDL1;FACUL;BIN;ECR;DELWAQPTS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DES SURFACES DE FLUX' -NOM1 = 'EXCHANGE AREAS DELWAQ FILE' -TYPE = CARACTERE -INDEX = 65 -MNEMO = 'T2D_FILES(T2DDL2)%NAME' -SUBMIT = 'T2DDL2-WRITE-37;T2DDL2;FACUL;BIN;ECR;DELWAQSEG' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DES FLUX VERTICAUX' -NOM1 = 'VERTICAL FLUXES DELWAQ FILE' -TYPE = CARACTERE -INDEX = 66 -MNEMO = 'T2D_FILES(T2DDL3)%NAME' -SUBMIT = 'T2DDL3-WRITE-38;T2DDL3;FACUL;BIN;ECR;DELWAQSEG' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DE LA SALINITE' -NOM1 = 'SALINITY DELWAQ FILE' -TYPE = CARACTERE -INDEX = 67 -MNEMO = 'T2D_FILES(T2DDL4)%NAME' -SUBMIT = 'T2DDL4-WRITE-39;T2DDL4;FACUL;BIN;ECR;DELWAQPTS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DES SURFACES DU FOND' -NOM1 = 'BOTTOM SURFACES DELWAQ FILE' -TYPE = CARACTERE -INDEX = 68 -MNEMO = 'T2D_FILES(T2DDL5)%NAME' -SUBMIT = 'T2DDL5-WRITE-40;T2DDL5;FACUL;BIN;ECR;DELWAQMET' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DES ECHANGES ENTRE NOEUDS' -NOM1 = 'EXCHANGES BETWEEN NODES DELWAQ FILE' -TYPE = CARACTERE -INDEX = 69 -MNEMO = 'T2D_FILES(T2DDL6)%NAME' -SUBMIT = 'T2DDL6-WRITE-41;T2DDL6;FACUL;BIN;ECR;DELWAQMET' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DES DISTANCES ENTRE NOEUDS' -NOM1 = 'NODES DISTANCES DELWAQ FILE' -TYPE = CARACTERE -INDEX = 70 -MNEMO = 'T2D_FILES(T2DDL7)%NAME' -SUBMIT = 'T2DDL7-WRITE-42;T2DDL7;FACUL;BIN;ECR;DELWAQMET' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DE LA TEMPERATURE' -NOM1 = 'TEMPERATURE DELWAQ FILE' -TYPE = CARACTERE -INDEX = 72 -MNEMO = 'T2D_FILES(T2DDL8)%NAME' -SUBMIT = 'T2DDL8-WRITE-43;T2DDL8;FACUL;BIN;ECR;DELWAQPTS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DE LA VITESSE' -NOM1 = 'VELOCITY DELWAQ FILE' -TYPE = CARACTERE -INDEX = 76 -MNEMO = 'T2D_FILES(T2DDL9)%NAME' -SUBMIT = 'T2DDL9-WRITE-33;T2DDL9;FACUL;BIN;ECR;DELWAQPTS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DELWAQ DE LA DIFFUSION' -NOM1 = 'DIFFUSIVITY DELWAQ FILE' -TYPE = CARACTERE -INDEX = 77 -MNEMO = 'T2D_FILES(T2DL10)%NAME' -SUBMIT = 'T2DL10-WRITE-34;T2DL10;FACUL;BIN;ECR;DELWAQPTS' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'FICHIER DE COMMANDE DELWAQ' -NOM1 = 'DELWAQ STEERING FILE' -TYPE = CARACTERE -INDEX = 71 -MNEMO = 'T2D_FILES(T2DL11)%NAME' -SUBMIT = 'T2DL11-WRITE-44;T2DL11;FACUL;ASC;ECR;DELWAQHYD' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier de resultats pour le couplage avec Delwaq' -AIDE1 = 'Results file for coupling with Delwaq' -/ -NOM = 'COMPATIBILITE DU GRADIENT DE SURFACE LIBRE' -NOM1 = 'FREE SURFACE GRADIENT COMPATIBILITY' -TYPE = REEL -INDEX = 58 -MNEMO = 'TETAZCOMP' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1= 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 1 -AIDE = 'Des valeurs inferieures a 1 suppriment les oscillations -parasites' -AIDE1 = 'Values less than 1 suppress spurious oscillations' -/ -NOM = 'BORNES EN TEMPS POUR L''ANALYSE DE FOURIER' -NOM1 = 'TIME RANGE FOR FOURIER ANALYSIS' -TYPE = REEL -INDEX = 59 -MNEMO = 'TAFBGN,TAFEND' -TAILLE = 2 -DEFAUT = 0.;0. -DEFAUT1= 0.;0. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 1 -AIDE = 'Pour le calcul du marnage et de la phase de la maree' -AIDE1 = 'For computing tidal range and phase of tide' -/ -/ NOUVEAUTES 5.8 (SAUF DEUX FICHIERS POUR DELWAQ MIS CI-DESSUS) -/ -NOM = 'NOMBRE DE TRACEURS' -NOM1 = 'NUMBER OF TRACERS' -TYPE = ENTIER -INDEX = 67 -MNEMO = 'NTRAC' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'EQUATIONS, TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER' -NIVEAU = 1 -/COMPORT = 'Affichage ("EQUATIONS*TRACEUR*OPTIONS TRACEUR") -/IS VALEUR ()'; -/'Foreground ("EQUATIONS*TRACEUR") IS VALEUR (brown)' -AIDE = 'Definit le nombre de traceurs.' -AIDE1 = 'Defines the number of tracers' -/ -NOM = 'NOMS DES TRACEURS' -NOM1 = 'NAMES OF TRACERS' -TYPE = CARACTERE -INDEX = 74 -MNEMO = 'NAMETRAC' -TAILLE = 2 -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -COMPORT = -'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") -IS BRUT (red)' -AIDE = 'Noms des traceurs en 32 caracteres, 16 pour le nom - 16 pour l''unite' -AIDE1 = 'Name of tracers in 32 characters, 16 for the name, - 16 for the unit.' -/ -NOM = 'SALINITE POUR DELWAQ' -NOM1 = 'SALINITY FOR DELWAQ' -TYPE = LOGIQUE -INDEX = 41 -MNEMO = 'SALI_DEL' -DEFAUT = NON -DEFAUT1 = NO -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -AIDE = 'Decide de la sortie de la salinite pour Delwaq' -AIDE1 = 'Triggers output of salinity for Delwaq' -/ -NOM = 'TEMPERATURE POUR DELWAQ' -NOM1 = 'TEMPERATURE FOR DELWAQ' -TYPE = LOGIQUE -INDEX = 42 -MNEMO = 'TEMP_DEL' -DEFAUT = NON -DEFAUT1 = NO -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -AIDE = 'Decide de la sortie de la temperature pour Delwaq' -AIDE1 = 'Triggers output of temperature for Delwaq' -/ -NOM = 'VITESSE POUR DELWAQ' -NOM1 = 'VELOCITY FOR DELWAQ' -TYPE = LOGIQUE -INDEX = 43 -MNEMO = 'VELO_DEL' -DEFAUT = NON -DEFAUT1 = NO -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -AIDE = 'Decide de la sortie de la vitesse pour Delwaq' -AIDE1 = 'Triggers output of velocity for Delwaq' -/ -NOM = 'DIFFUSION POUR DELWAQ' -NOM1 = 'DIFFUSIVITY FOR DELWAQ' -TYPE = LOGIQUE -INDEX = 44 -MNEMO = 'DIFF_DEL' -DEFAUT = NON -DEFAUT1 = NO -NIVEAU = 1 -RUBRIQUE = 'ENTREES-SORTIES, GRAPHIQUES ET LISTING' -RUBRIQUE1 = 'INPUT-OUTPUT, GRAPHICS AND LISTING' -AIDE = 'Decide de la sortie du coefficient de diffusion pour Delwaq' -AIDE1 = 'Triggers output of diffusion for Delwaq' -/ -/ NOUVEAUTES 5.9 -/ -NOM = 'COURBES DE TARAGE' -NOM1 = 'STAGE-DISCHARGE CURVES' -TYPE = ENTIER -INDEX = 68 -MNEMO = 'STA_DIS_CURVES' -TAILLE = 2 -CHOIX = '0="non"';'1="Z(Q)"';'non programme 2="Q(Z)"' -CHOIX1 = '0="no"';'1="Z(Q)"';'not programmed 2="Q(Z)"' -RUBRIQUE = 'CONDITIONS LIMITES' -RUBRIQUE1 = 'BOUNDARY CONDITIONS' -NIVEAU = 1 -AIDE = 'Indique si une courbe de tarage doit etre utilisee -pour une frontiere 0:non 1:Z(Q) 2: Q(Z) (2 non programme)' -AIDE1 = 'Says if a discharge-elevation curve must be used -for a given boundary :NO 1:Z(Q) 2: Q(Z) (2 not programmed)' -/ -NOM = 'FICHIER DES COURBES DE TARAGE' -NOM1 = 'STAGE-DISCHARGE CURVES FILE' -TYPE = CARACTERE -INDEX = 73 -MNEMO = 'T2D_FILES(T2DMAB)%NAME' -TAILLE = 0 -SUBMIT = 'T2DMAB-READ-11;T2DMAB;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -COMPORT = -'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") -IS VALEUR (red)' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -AIDE = 'Nom du fichier contenant les courbes de tarage' -AIDE1 = 'Name of the file containing stage-discharge curves' -/ -NOM = 'FICHIER DES SOURCES' -NOM1 = 'SOURCES FILE' -TYPE = CARACTERE -INDEX = 75 -MNEMO = 'T2D_FILES(T2DVEF)%NAME' -TAILLE = 0 -SUBMIT = 'T2DVEF-READ-10;T2DVEF;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -COMPORT = -'Foreground ("ENTREES-SORTIES, FICHIERS*NOMS") -IS VALEUR (red)' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -AIDE = 'Nom du fichier contenant les informations variables -en temps des sources' -AIDE1 = 'Name of the file containing time-dependent -information on sources' -/ -NOM = 'DEBUGGER' -NOM1 = 'DEBUGGER' -TYPE = INTEGER -INDEX = 69 -MNEMO = 'DEBUG' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE= 'Pour imprimer la sequence des appels, mettre 1' -AIDE1 = 'If 1, calls of subroutines will be printed in the listing' -/ -NOM = 'TRAITEMENT DES HAUTEURS NEGATIVES' -NOM1 = 'TREATMENT OF NEGATIVE DEPTHS' -TYPE = INTEGER -INDEX = 70 -MNEMO = 'OPT_HNEG' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE= 'Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1 - 0 : pas de traitement 1 : lissage 2 : limitation des flux' -AIDE1 = 'Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1 - 0: no treatment 1:smoothing 2:flux control' -/ -NOM = 'FORMAT DU FICHIER DE REFERENCE' -NOM1 = 'REFERENCE FILE FORMAT' -TYPE = CARACTERE -INDEX = 78 -MNEMO = '?????' -DEFAUT = 'SERAFIN ' -DEFAUT1 = 'SERAFIN ' -CHOIX = 'SERAFIN ';'SERAFIND';'MED ' -CHOIX1 = 'SERAFIN ';'SERAFIND';'MED ' -NIVEAU = 2 -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES' -AIDE = 'Format du fichier de resultats du calcul precedent. -Les valeurs possibles sont : -- SERAFIN : format standard simple precision pour Telemac; -- SERAFIND: format standard double precision pour Telemac; -- MED : format MED base sur HDF5' -AIDE1 = 'Previous computation results file format. -Possible values are: -- SERAFIN : classical single precision format in Telemac; -- SERAFIND: classical double precision format in Telemac; -- MED : MED format based on HDF5' -/ -/ NOUVEAUTES 6.0 -/ -NOM = 'HAUTEUR DANS LES TERMES DE FROTTEMENT' -NOM1 = 'DEPTH IN FRICTION TERMS' -TYPE = ENTIER -INDEX = 71 -MNEMO = 'HFROT' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="nodale"';'2="moyenne"' -CHOIX1 = '1="nodal"';'2="average"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = '1 : nodale 2 : moyenne' -AIDE1 = '1: nodal 2: average' -/ -// jaj #### added -/ -NOM = 'FICHIER DES SECTIONS DE CONTROLE' -NOM1 = 'SECTIONS INPUT FILE' -TYPE = CARACTERE -INDEX = 79 -MNEMO = 'T2D_FILES%ADR(T2DSEC)' -SUBMIT = 'NSCS-READ-45;T2DSEC;FACUL;ASC;LIT;SECTION' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -AIDE = 'sections input file, partitioned' -AIDE1 = 'sections input file, partitioned' - -NOM = 'FICHIER DE SORTIE DES SECTIONS DE CONTROLE' -NOM1 = 'SECTIONS OUTPUT FILE' -TYPE = CARACTERE -INDEX = 80 -MNEMO = 'T2D_FILES%ADR(T2DSEO)' -SUBMIT = 'NSEO-WRITE-46;T2DSEO;FACUL;ASC;ECR;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'sections output file, written by the master' -AIDE1 = 'sections output file, written by the master' -/ -// end of jaj #### added -/ -NOM = 'FICHIER DE COMMANDES HYDROCARBURES' -NOM1 = 'OILSPILL STEERING FILE' -TYPE = CARACTERE -INDEX = 81 -MNEMO = 'T2D_FILES(T2DMIG)' -SUBMIT = 'NMIG-READ-47;T2DMIG;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Contient les donnees pour le modele de derive de nappes' -AIDE1 = 'Contains data for the oil spill model' - -NOM = 'MODELE DE NAPPES D''HYDROCARBURES' -NOM1 = 'OIL SPILL MODEL' -TYPE = LOGIQUE -INDEX = 45 -MNEMO = 'SPILL_MODEL' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'CONTROL' -NIVEAU = 1 -AIDE = 'POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS -CE CAS LE FICHIER DE COMMANDES MIGRHYCAR EST NECESSAIRE' -AIDE1 = 'WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE -THE MIGRHYCAR STEERING FILE IS NEEDED' -/ -/ VERSION 6.1 -/ -NOM = 'LOI DE FROTTEMENT SUR LES PAROIS LATERALES' -NOM1 = 'LAW OF FRICTION ON LATERAL BOUNDARIES' -TYPE = ENTIER -INDEX = 72 -MNEMO = 'KFROTL' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -CHOIX = '0="PAS DE FROTTEMENT"'; -'1="HAALAND"'; -'2="CHEZY"'; -'3="STRICKLER"'; -'4="MANNING"'; -'5="NIKURADSE"'; -'6="LOG LAW"'; -'7="COLEBROOK-WHITE"' -CHOIX1 = '0="NO FRICTION"'; -'1="HAALAND"'; -'2="CHEZY"'; -'3="STRICKLER"'; -'4="MANNING"'; -'5="NIKURADSE"'; -'6="LOG LAW"'; -'7="COLEBROOK-WHITE"' -RUBRIQUE = 'EQUATIONS';'FROTTEMENT' -RUBRIQUE1 = 'EQUATIONS';'FRICTION' -NIVEAU = 1 -AIDE = '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' -AIDE1 = '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: NIKURADSE''s formula -6 : law log -7 : Colebrook-White' - -NOM = 'FICHIER DES PARAMETRES DE TOMAWAC' -NOM1 = 'TOMAWAC STEERING FILE' -TYPE = CARACTERE -INDEX = 82 -MNEMO = 'PAS DE MNEMO' -DEFAUT = ' ' -DEFAUT1 = ' ' -NIVEAU = 1 -APPARENCE = 'LISTE IS FICHIER' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -AIDE = 'Fichier des parametres de Tomawac en cas de couplage interne' -AIDE1 = 'Tomawac parameter file in case of internal coupling' - -NOM = 'PERIODE DE COUPLAGE POUR TOMAWAC' -NOM1 = 'COUPLING PERIOD FOR TOMAWAC' -TYPE = ENTIER -INDEX = 73 -MNEMO = 'PERCOU_WAC' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'pour eviter de faire le couplage a chaque pas de temps' -AIDE1 = 'to avoid coupling at every time-step' - -NOM = 'COEFFICIENT D''INTEGRATION EN TEMPS DE NEWMARK' -NOM1 = 'NEWMARK TIME INTEGRATION COEFFICIENT' -TYPE = REEL -INDEX = 60 -MNEMO = 'GAMMA' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1= 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES';'DUREE DU CALCUL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'DURATION' -NIVEAU = 1 -AIDE = '1. : Euler explicite 0.5 : ordre 2 en temps' -AIDE1 = '1. : Euler explicit 0.5 : order 2 in time' - -NOM = 'TRAITEMENT DES FLUX AUX FRONTIERES' -NOM1 = 'TREATMENT OF FLUXES AT THE BOUNDARIES' -TYPE = INTEGER -INDEX = 74 -MNEMO = 'DIRFLU' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1= 1 -CHOIX='1="Priorite aux valeurs imposees"';'2="Priorite aux flux"' -CHOIX1='1="Priority to prescribed values"';'2="Priority to fluxes"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouve -pas exactement les valeurs imposees des traceurs, -mais le flux est correct' -AIDE1= 'Used so far only with the SUPG, PSI and N schemes. -With option 2, Dirichlet prescribed values are not obeyed, -but the fluxes are correct' - -NOM = 'OPTION POUR LES CONDITIONS AUX LIMITES DE MAREE' -NOM1 = 'OPTION FOR TIDAL BOUNDARY CONDITIONS' -TYPE = INTEGER -INDEX = 75 -MNEMO = 'TIDALTYPE' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1= 0 -CHOIX= -'0="Pas de maree"'; -'1="Maree reelle (methodologie recommandee)"'; -'2="Maree de vive-eau exceptionnelle (coef. presque 120)"'; -'3="Maree de vive-eau moyenne (coef. presque 95)"'; -'4="Maree moyenne (coef. presque 70)"'; -'5="Maree de morte-eau moyenne (coef. presque 45)"'; -'6="Maree de morte-eau exceptionnelle (coef. presque 20)"'; -'7="Maree reelle (methodologie d avant 2010)"' -CHOIX1= -'0="No tide"'; -'1="Real tide (recommended methodology)"'; -'2="Astronomical tide"'; -'3="Mean spring tide"'; -'4="Mean tide"'; -'5="Mean neap tide"'; -'6="Astronomical neap tide"'; -'7="Real tide (methodology before 2010)"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Option pour les conditions aux limites de maree. -Pour des marees reelles, l option 1 est recommandee. -Calage possible par les mots-cles COEFFICIENT POUR CALAGE EN MARNAGE -et COEFFICIENT POUR CALAGE EN NIVEAU.' -AIDE1= 'Option for tidal boundary conditions. -For real tides, option 1 is recommended. -Possible calibration with keywords COEFFICIENT TO ADJUST TIDAL RANGE -and COEFFICIENT TO ADJUST SEA LEVEL.' - -NOM = 'FICHIER DES CONSTANTES HARMONIQUES' -NOM1 = 'HARMONIC CONSTANTS FILE' -TYPE = CARACTERE -INDEX = 83 -MNEMO = 'T2D_FILES(T2DHAR)' -SUBMIT = 'NHAR-READWRITE-13;T2DHAR;FACUL;ASC;ECRLIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Constantes harmoniques extraites du fichier du modele de maree' -AIDE1 = 'Harmonic constants extracted from the tidalmodel file' - -NOM = 'FICHIER DU MODELE DE MAREE' -NOM1 = 'TIDAL MODEL FILE' -TYPE = CARACTERE -INDEX = 84 -MNEMO = 'T2D_FILES(T2DTID)' -SUBMIT = 'NTID-READ-14;T2DTID;FACUL;BIN;LIT;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de geometrie du modele dont sont extraites -les constantes harmoniques' -AIDE1 = 'Geometry file of the model from which harmonic constituents -are extracted' - -NOM = 'BASE ASCII DE DONNEES DE MAREE' -NOM1 = 'ASCII DATABASE FOR TIDE' -TYPE = CARACTERE -INDEX = 85 -MNEMO = 'T2D_FILES(T2DBDD)' -SUBMIT = 'NBDD-READ-15;T2DBDD;FACUL;ASC;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Base de donnees de constantes harmoniques -tirees du fichier du modele de maree. -Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE' -AIDE1 = 'Tide data base of harmonic constituents -extracted from the tidal model file. -Old name in 6.1 version: TIDE DATA BASE' -/ -/ VERSION 6.2 -/ -NOM = 'PLUIE OU EVAPORATION' -NOM1 = 'RAIN OR EVAPORATION' -TYPE = LOGIQUE -INDEX = 19 -MNEMO = 'RAIN' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Pour ajouter un apport ou une perte d''eau en surface. -Voir le mot-cle PLUIE OU EVAPORATION EN MM PAR JOUR' -AIDE1 = 'to add or remove water at the free surface. See the key-word -RAIN OR EVAPORATION IN MM PER DAY' -/ -NOM = 'PLUIE OU EVAPORATION EN MM PAR JOUR' -NOM1 = 'RAIN OR EVAPORATION IN MM PER DAY' -TYPE = REAL -INDEX = 61 -MNEMO = 'RAIN_MMPD' -TAILLE = 0 -DEFAUT = 0.D0 -DEFAUT1 = 0.D0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Pour ajouter un apport ou une perte d''eau en surface' -AIDE1 = 'to add or remove water at the free surface' -/ -NOM = 'BASE BINAIRE 1 DE DONNEES DE MAREE' -NOM1 = 'BINARY DATABASE 1 FOR TIDE' -TYPE = CARACTERE -INDEX = 86 -MNEMO = 'T2D_FILES(T2DBB1)' -SUBMIT = 'NBB1-READ-16;T2DBB1;FACUL;BIN;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Base de donnees binaire 1 tiree du fichier du modele de maree. - Dans le cas des donnees satellitaires de TPXO, ce fichier correspond - aux donnees de niveau d''eau, par exemple h_tpxo7.2' -AIDE1 = 'Binary database 1 extracted from the tidal model file. - In the case of the TPXO satellite altimetry model, this file should - be for free surface level, for instance h_tpxo7.2' - -NOM = 'BASE BINAIRE 2 DE DONNEES DE MAREE' -NOM1 = 'BINARY DATABASE 2 FOR TIDE' -TYPE = CARACTERE -INDEX = 87 -MNEMO = 'T2D_FILES(T2DBB2)' -SUBMIT = 'NBB2-READ-17;T2DBB2;FACUL;BIN;LIT;PARAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Base de donnees binaire 2 tiree du fichier du modele de maree. - Dans le cas des donnees satellitaires de TPXO, ce fichier correspond - aux donnees de vitesse de marrees, par exemple u_tpxo7.2' -AIDE1 = 'Binary database 2 extracted from the tidal model file. - In the case of the TPXO satellite altimetry model, this file should - be for tidal velocities, for instance u_tpxo7.2' - -NOM = 'OPTION POUR LA GENERATION DE TSUNAMI' -NOM1 = 'OPTION FOR TSUNAMI GENERATION' -TYPE = INTEGER -INDEX = 76 -MNEMO = 'OPTTSUNAMI' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1= 0 -CHOIX= -'0="Pas de Tsunami"'; -'1="Generation d''un Tsunami sur la base du modele de Okada 1992"' -CHOIX1= -'0="No Tsunami"'; -'1="Tsunami generated on the basis of the Okada model 1992"' -RUBRIQUE = 'PARAMETRES PHYSIQUES, CONDITIONS INITIALES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS, INITIAL CONDITIONS' -NIVEAU = 1 -AIDE = '' -/'Option pour la generation de Tsunami. -/Pour l''instant, seul de modele de Okada est programme. -/Les parametres physiques du modele chosit sont definis avec -/PARAMETRES PHYSIQUES DU TSUNAMI.' -AIDE1= '' -/'Option for the generation of Tsunami. -/Only the Okada model 1992 is programmed. -/The physical characteristics of the chosen Tsunami are set in -/PHYSICAL CHARACTERISTICS OF THE TSUNAMI.' - -NOM = 'PARAMETRES PHYSIQUES DU TSUNAMI' -NOM1 = 'PHYSICAL CHARACTERISTICS OF THE TSUNAMI' -TYPE = REEL -INDEX = 62 -MNEMO = 'COETSUNAMI' -TAILLE = 10 -DEFAUT = 100.;210000.;75000.;13.6;81.;41.;110.;0.;0.;3. -DEFAUT1= 100.;210000.;75000.;13.6;81.;41.;110.;0.;0.;3. -RUBRIQUE = 'PARAMETRES PHYSIQUES, CONDITIONS INITIALES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS, INITIAL CONDITIONS' -NIVEAU = 1 -AIDE = '' -/'Parametres physiques du modele de generation de tsunami' -AIDE1 = '' -/'Physical characteristics of the chosen Tsunami model: -/ - the focal depth (HH), -/ - the fault length (L), -/ - the fault width (W) -/ - the dislocation (D), -/ - the strike direction (TH), -/ - the dip angle (DL), -/ - the slip (RD), -/ - the epicentre latitude (Y0) and -/ - the epicentre longitude (X0) -/ - the ellipse ( WxL ) area of influence' - -NOM = 'VALEURS DES TRACEURS DANS LA PLUIE' -NOM1 = 'VALUES OF TRACERS IN THE RAIN' -TYPE = REEL -INDEX = 63 -MNEMO = 'TRAIN' -TAILLE = 2 -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = '' -AIDE1 = '' - -NOM = 'NOMBRE DE BUSES' -NOM1 = 'NUMBER OF TUBES' -TYPE = ENTIER -INDEX = 6 -MNEMO = 'NBUSE' -CONTROLE = 0; 100 -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 2 -AIDE = '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)' -AIDE1 = '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)' - -NOM = 'FICHIER DE DONNEES DES SEUILS' -NOM1 = 'WEIRS DATA FILE' -TYPE = CARACTERE -INDEX = 88 -MNEMO = 'T2D_FILES(T2DSEU)%NAME' -SUBMIT = 'T2DSEU-READ-18;T2DSEU;FACUL;ASC;LIT;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de description des seuils presents dans le modele' -AIDE1 = 'Description of weirs existing in the model' - -NOM = 'FICHIER DE DONNEES DES SIPHONS' -NOM1 = 'CULVERT DATA FILE' -TYPE = CARACTERE -INDEX = 89 -MNEMO = 'T2D_FILES(T2DSIP)%NAME' -SUBMIT = 'T2DSIP-READ-19;T2DSIP;FACUL;ASC;LIT;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de description des siphons presents dans le modele' -AIDE1 = 'Description of culvert existing in the model' - -NOM = 'FICHIER DE DONNEES DES BUSES' -NOM1 = 'TUBES DATA FILE' -TYPE = CARACTERE -INDEX = 90 -MNEMO = 'T2D_FILES(T2DBUS)%NAME' -SUBMIT = 'T2DBUS-READ-20;T2DBUS;FACUL;ASC;LIT;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de description des buses/ponts presents dans le modele' -AIDE1 = 'Description of tubes/bridges existing in the model' - -NOM = 'COEFFICIENT DE CALAGE DU MARNAGE' -NOM1 = 'COEFFICIENT TO CALIBRATE TIDAL RANGE' -TYPE = REEL -INDEX = 64 -MNEMO = 'CTIDE' -TAILLE = 0 -DEFAUT = 1. -DEFAUT1 = 1. -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Coefficient pour ajuster le marnage de l''onde de maree -aux frontieres maritimes' -AIDE1 = 'Coefficient to calibrate the tidal range of tidal wave -at tidal open boundary conditions' - -NOM = 'COEFFICIENT DE CALAGE DES VITESSES DE COURANT' -NOM1 = 'COEFFICIENT TO CALIBRATE TIDAL VELOCITIES' -TYPE = REEL -INDEX = 65 -MNEMO = 'CTIDEV' -TAILLE = 0 -DEFAUT = 999999. -DEFAUT1 = 999999. -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Coefficient pour ajuster les composantes de vitesse -de l''onde de maree aux frontieres maritimes. -La valeur par defaut 999999. signifie que c''est la racine carree -du COEFFICIENT DE CALAGE DU MARNAGE qui est prise' -AIDE1 = 'Coefficient to calibrate the tidal velocities of tidal wave -at tidal open boundary conditions. -Default value 999999. means that the square root of -COEFFICIENT TO CALIBRATE TIDAL RANGE is taken' - -NOM = 'COEFFICIENT DE CALAGE DU NIVEAU DE MER' -NOM1 = 'COEFFICIENT TO CALIBRATE SEA LEVEL' -TYPE = REEL -INDEX = 66 -MNEMO = 'MSL' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Coefficient pour ajuster le niveau de mer' -AIDE1 = 'Coefficient to calibrate the sea level' - -NOM = 'BASE DE DONNEES DE MAREE' -NOM1 = 'TIDAL DATA BASE' -TYPE = ENTIER -INDEX = 77 -MNEMO = 'TIDALDB' -TAILLE = 0 -DEFAUT = -1 -DEFAUT1 = -1 -CHOIX= -'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LA BASE PARMI LES CHOIX POSSIBLES"'; -'1="JMJ"'; -'2="TPXO"'; -'3="LEGOS-NEA"'; -'4="FES2004"' -CHOIX1= -'-1="NO DEFAULT VALUE. CHOOSE THE BASE AMONG THE POSSIBLE CHOICES"'; -'1="JMJ"'; -'2="TPXO"'; -'3="LEGOS-NEA"'; -'4="FES2004"' -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin -dans les mots-cles BASE DE DONNEES DE MAREE et FICHIER DU MODELE DE MAREE. -Pour TPXO et LEGOS-NEA, l''utilisateur doit telecharger -les fichiers de constantes harmoniques sur internet. -Pour FES2004 : pas encore disponible' -AIDE1 = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords -TIDE DATA BASE and TIDAL MODEL FILE. -For TPXO and LEGOS-NEA, the user have to download -files of harmonic constituents on the internet. -For FES2004: not yet available' - -NOM = 'SYSTEME GEOGRAPHIQUE' -NOM1 = 'GEOGRAPHIC SYSTEM' -TYPE = ENTIER -INDEX = 78 -MNEMO = 'GEOSYST' -TAILLE = 0 -DEFAUT = -1 -DEFAUT1 = -1 -CHOIX= -'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LE SYSTEME PARMI LES CHOIX POSSIBLES"'; -'0="DEFINI PAR L''UTILISATEUR"'; -'1="WGS84 LONGITUDE/LATITUDE EN DEGRES REELS"'; -'2="WGS84 NORD UTM"'; -'3="WGS84 SUD UTM"'; -'4="LAMBERT"'; -'5="MERCATOR POUR TELEMAC"' -CHOIX1= -'-1="NO DEFAULT VALUE. CHOOSE THE SYSTEM AMONG THE POSSIBLE CHOICES"'; -'0="DEFINED BY USER"'; -'1="WGS84 LONGITUDE/LATITUDE IN REAL DEGREES"'; -'2="WGS84 NORTHERN UTM"'; -'3="WGS84 SOUTHERN UTM"'; -'4="LAMBERT"'; -'5="MERCATOR FOR TELEMAC"' -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Systeme de coordonnees geographiques dans lequel est construit -le modele numerique. -Indiquer la zone correspondante avec le mot-cle ' -AIDE1 = 'Geographic coordinates system in which the numerical model is built. -Indicate the corresponding zone with the keyword ' - -NOM = 'NUMERO DE FUSEAU OU PROJECTION DANS LE SYSTEME GEOGRAPHIQUE' -NOM1 = 'ZONE NUMBER IN GEOGRAPHIC SYSTEM' -TYPE = ENTIER -INDEX = 79 -MNEMO = 'NUMZONE' -TAILLE = 0 -DEFAUT = -1 -DEFAUT1 = -1 -CHOIX= -'-1="PAS DE VALEUR PAR DEFAUT. CHOISIR LE NUMERO PARMI LES CHOIX POSSIBLES"'; -'1="LAMBERT 1 NORD"'; -'2="LAMBERT 2 CENTRE"'; -'3="LAMBERT 3 SUD"'; -'4="LAMBERT 4 CORSE"'; -'22="LAMBERT 2 ETENDU"'; -'30="ZONE UTM, PAR EXEMPLE"' -CHOIX1= -'-1="NO DEFAULT VALUE. CHOOSE THE NUMBER AMONG THE POSSIBLE CHOICES"'; -'1="LAMBERT 1 NORTH"'; -'2="LAMBERT 2 CENTER"'; -'3="LAMBERT 3 SOUTH"'; -'4="LAMBERT 4 CORSICA"'; -'22="LAMBERT 2 EXTENDED"'; -'30="UTM ZONE, E.G."' -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Numero de zone (fuseau ou type de projection) -lors de l''utilisation d''une projection plane. -Indiquer le systeme geographique dans lequel est construit le modele numerique -avec le mot-cle SYSTEME GEOGRAPHIQUE' -AIDE1 = 'Number of zone when using a plane projection. -Indicate the geographic system in which the numerical model is built -with the keyword GEOGRAPHIC SYSTEM' - -NOM = 'INTERPOLATION DE COMPOSANTES MINEURES' -NOM1 = 'MINOR CONSTITUENTS INFERENCE' -TYPE = LOGIQUE -INDEX = 46 -MNEMO = 'INTMICON' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 1 -AIDE = 'Pour la base de donnees TPXO uniquement. -Interpolation de composantes harmoniques mineures -a partir de celles lues dans les fichiers d''entree -lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE -et BASE BINAIRE 2 DE DONNEES DE MAREE' -AIDE1 = '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' - -NOM = 'LOI DE DEGRADATION DES TRACEURS' -NOM1 = 'LAW OF TRACERS DEGRADATION' -TYPE = ENTIER -INDEX = 80 -MNEMO = 'LOITRAC' -TAILLE = 2 -DEFAUT = 0;0 -DEFAUT1 = 0;0 -CHOIX= -'0="PAS DE DEGRADATION"'; -'1="LOI EN F(T90)"' -CHOIX1= -'0="NO DEGRADATION"'; -'1="F(T90) LAW"' -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 1 -AIDE = 'Prise en compte d''une loi de decroissance des traceurs' -AIDE1 = 'Take in account a law for tracers decrease' - -NOM = 'COEFFICIENT 1 DE LA LOI DE DEGRADATION DES TRACEURS' -NOM1 = 'COEFFICIENT 1 FOR LAW OF TRACERS DEGRADATION' -TYPE = REAL -INDEX = 67 -MNEMO = 'COEF1TRAC' -TAILLE = 2 -RUBRIQUE = 'EQUATIONS';'TRACEUR';'OPTIONS TRACEUR' -RUBRIQUE1 = 'EQUATIONS';'TRACER';'TRACER OPTIONS' -NIVEAU = 1 -AIDE = 'Coefficient 1 de la loi de decroissance des traceurs' -AIDE1 = 'Coefficient 1 of law for tracers decrease' - -NOM = 'BRECHE' -NOM1 = 'BREACH' -TYPE = LOGIQUE -INDEX = 2 -MNEMO = 'BRECHE' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 1 -AIDE = '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.' -AIDE1 = '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.' - -NOM = 'FICHIER DE DONNEES DES BRECHES' -NOM1 = 'BREACHES DATA FILE' -TYPE = CARACTERE -INDEX = 91 -MNEMO = 'T2D_FILES(T2DBRC)%NAME' -SUBMIT = 'T2DBUS-READ-21;T2DBRC;FACUL;ASC;LIT;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de description des breches' -AIDE1 = 'Description of breaches' -/ -/ VERSION 6.3 -/ -NOM = 'FICHIER DES FLOTTEURS' -NOM1 = 'DROGUES FILE' -TYPE = CARACTERE -INDEX = 92 -MNEMO = 'T2D_FILES(T2DFLO)%NAME' -SUBMIT = 'T2DFLO-WRITE-09;T2DFLO;FACUL;ASC;ECR;SCAL' -DEFAUT = ' ' -DEFAUT1 = ' ' -RUBRIQUE = 'ENTREES-SORTIES, FICHIERS';'NOMS' -RUBRIQUE1 = 'INPUT-OUTPUT, FILES';'NAMES' -NIVEAU = 1 -AIDE = 'Fichier de resultat avec les positions des flotteurs' -AIDE1 = 'Results file with positions of drogues' - -NOM = 'TYPE DE PROJECTION SPATIALE' -NOM1 = 'SPATIAL PROJECTION TYPE' -TYPE = ENTIER -INDEX = 81 -MNEMO = 'PROTYP' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="CARTESIEN, NON GEOREFERENCE"'; - '2="MERCATOR"'; - '3="LATITUDE LONGITUDE"' -CHOIX1 = '1="CARTESIAN, NOT GEOREFERENCED"'; - '2="MERCATOR"'; - '3="LATITUDE LONGITUDE"' -CONTROLE = 1 ; 3 -RUBRIQUE = 'EQUATIONS';'GENERAL' -RUBRIQUE1 = 'EQUATIONS';'GENERAL' -NIVEAU = 1 -AIDE = 'Option 2 ou 3 obligatoire pour les coordonnees spheriques' -AIDE1 = 'Option 2 or 3 mandatory for spherical coordinates' - -NOM = 'MODELE DE TRANSPORT DES ALGUES' -NOM1 = 'ALGAE TRANSPORT MODEL' -TYPE = LOGIQUE -INDEX = 47 -MNEMO = 'ALGAE' -TAILLE = 0 -DEFAUT = NON -DEFAUT1 = NO -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Si oui, les flotteurs seront des algues' -AIDE1 = 'If yes, the floats or particles will be algae' - -NOM = 'DIAMETRE DES ALGUES' -NOM1 = 'DIAMETRE OF ALGAE' -TYPE = REAL -INDEX = 68 -MNEMO = 'DALGAE' -TAILLE = 0 -DEFAUT = 0.1 -DEFAUT1 = 0.1 -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Diametre des algues en m' -AIDE1 = 'Diametre of algae in m' - -NOM = 'MASSE VOLUMIQUE DES ALGUES' -NOM1 = 'DENSITY OF ALGAE' -TYPE = REAL -INDEX = 69 -MNEMO = 'RALGAE' -TAILLE = 0 -DEFAUT = 1050. -DEFAUT1 = 1050. -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Masse volumique des algues en kg/m3' -AIDE1 = 'Density of algae in kg/m3' - -NOM = 'EPAISSEUR DES ALGUES' -NOM1 = 'THICKNESS OF ALGAE' -TYPE = REAL -INDEX = 70 -MNEMO = 'EALGAE' -TAILLE = 0 -DEFAUT = 0.01 -DEFAUT1 = 0.01 -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Epaisseur des algues en m' -AIDE1 = 'Thickness of algae in m' - -NOM = 'TYPE DES ALGUES' -NOM1 = 'ALGAE TYPE' -TYPE = ENTIER -INDEX = 82 -MNEMO = 'ALGTYP' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX = '1="SPHERE"'; - '2="IRIDAEA FLACCIDA (PROCHE DES ULVES)"'; - '3="PELVETIOPSIS LIMITATA"'; - '4="GIGARTINA LEPTORHYNCHOS"' -CHOIX1= '1="SPHERE"'; - '2="IRIDAEA FLACCIDA (CLOSE TO ULVA)"'; - '3="PELVETIOPSIS LIMITATA"'; - '4="GIGARTINA LEPTORHYNCHOS"' -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Type des algues. Pour le choix 1 les algues seront -modelisees comme des spheres, pour les autres choix voir Gaylord -et al. (1994).' -AIDE1 = 'Algae type. For choice 1 the algae particles will be -modeled as spheres, and for the other choices see Gaylord et -al. (1994)' - -NOM = 'OPTION POUR LES CARACTERISTIQUES' -NOM1 = 'OPTION FOR CHARACTERISTICS' -TYPE = ENTIER -INDEX = 83 -MNEMO = 'OPTCHA' -TAILLE = 0 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX='1="fortes"';'2="faibles"' -CHOIX1='1="strong"';'2="weak"' -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = '1: forme forte 2: forme faible' -AIDE1 = '1: strong form 2: weak form' - -NOM = 'MAXIMUM D''ITERATIONS POUR LES SCHEMAS DE CONVECTION' -NOM1 = 'MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES' -TYPE = ENTIER -INDEX = 84 -MNEMO = 'MAXADV' -TAILLE = 0 -DEFAUT = 10 -DEFAUT1 = 10 -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Seulement pour schemes 13 et 14' -AIDE1 = 'Only for schemes 13 and 14' - -NOM = 'MODELE DE DIFFUSION STOCHASTIQUE' -NOM1 = 'STOCHASTIC DIFFUSION MODEL' -TYPE = ENTIER -INDEX = 85 -MNEMO = 'STOCHA' -TAILLE = 0 -DEFAUT = 0 -DEFAUT1 = 0 -CHOIX='0="Pas de modele"';'1="??"';'2="??"' -CHOIX1='0="No model"';'1="??"';'2="??"' -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Pour les particules : flotteurs, algues, hydrocarbures' -AIDE1 = 'Meant for particles: drogues, algae, oil spills' - -NOM = 'NOMBRE DE POINTS DE GAUSS POUR LES CARACTERISTIQUES FAIBLES' -NOM1 = 'NUMBER OF GAUSS POINTS FOR WEAK CHARACTERISTICS' -TYPE = ENTIER -INDEX = 86 -MNEMO = 'NGAUSS' -TAILLE = 0 -DEFAUT = 3 -DEFAUT1 = 3 -CHOIX='1="1 point"';'3="3 points"';'6="6 points"' -CHOIX1='1="1 point"';'3="3 points"';'6="6 points"' -RUBRIQUE = 'PARAMETRES NUMERIQUES' -RUBRIQUE1 = 'NUMERICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Voir les release notes 6.3' -AIDE1 = 'See release notes 6.3' - -NOM = 'MASS-LUMPING POUR LES CARACTERISTIQUES FAIBLES' -NOM1 = 'MASS-LUMPING FOR WEAK CHARACTERISTICS' -TYPE = REAL -INDEX = 71 -MNEMO = 'AGGLOW' -TAILLE = 0 -DEFAUT = 0. -DEFAUT1 = 0. -RUBRIQUE = 'PARAMETRES PHYSIQUES' -RUBRIQUE1 = 'PHYSICAL PARAMETERS' -NIVEAU = 2 -AIDE = 'Applique a la matrice de masse' -AIDE1 = 'To be applied to the mass matrix' - -NOM = 'TYPE DES SEUILS' -NOM1 = 'TYPE OF WEIRS' -TYPE = ENTIER -INDEX = 87 -MNEMO = 'TYPSEUIL' -TAILLE = 1 -DEFAUT = 1 -DEFAUT1 = 1 -CHOIX= -'1="HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique avec bord)"'; -'2="GENERALE (Nouvelle solution avec pts sources)"' -CHOIX1= -'1="HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM (Historical solution with bord)"'; -'2="GENERAL (New solution with sources points)"' -RUBRIQUE = 'PARAMETRES NUMERIQUES';'GENERAL' -RUBRIQUE1 = 'NUMERICAL PARAMETERS';'GENERAL' -NIVEAU = 1 -AIDE = 'Méthode de traitement des seuils' -AIDE1 = 'Method for treatment of weirs' - -/ -/ POUR LES LANCEURS PERL : -/ - -NOM = 'LISTE DES FICHIERS' -NOM1 = 'LIST OF FILES' -TYPE = CARACTERE -INDEX = 99 -MNEMO = '' -TAILLE = 43 -DEFAUT = 'FICHIER DES PARAMETRES'; - 'DICTIONNAIRE'; - 'FICHIER FORTRAN'; - 'FICHIER DE GEOMETRIE'; - 'FICHIER DES CONDITIONS AUX LIMITES'; - 'FICHIER DES RESULTATS'; - 'FICHIER DU CALCUL PRECEDENT'; - 'FICHIER DES FONDS'; - 'FICHIER DE DONNEES BINAIRE 1'; - 'FICHIER DE DONNEES BINAIRE 2'; - 'FICHIER DE DONNEES FORMATE 1'; - 'FICHIER DE DONNEES FORMATE 2'; - 'FICHIER DE RESULTATS BINAIRE'; - 'FICHIER DE RESULTATS FORMATE'; - 'FICHIER DE REFERENCE'; - 'FICHIER DES FRONTIERES LIQUIDES'; - 'FICHIER DE DONNEES POUR LE FROTTEMENT'; - 'FICHIER DELWAQ DES VOLUMES'; - 'FICHIER DELWAQ DES SURFACES DE FLUX'; - 'FICHIER DELWAQ DES FLUX VERTICAUX'; - 'FICHIER DELWAQ DE LA SALINITE'; - 'FICHIER DELWAQ DES SURFACES DU FOND'; - 'FICHIER DELWAQ DES ECHANGES ENTRE NOEUDS'; - 'FICHIER DELWAQ DES DISTANCES ENTRE NOEUDS'; - 'FICHIER DELWAQ DE LA TEMPERATURE'; - 'FICHIER DELWAQ DE LA VITESSE'; - 'FICHIER DELWAQ DE LA DIFFUSION'; - 'FICHIER DE COMMANDE DELWAQ'; - 'FICHIER DES COURBES DE TARAGE'; - 'FICHIER DES SOURCES'; - 'FICHIER DES SECTIONS DE CONTROLE'; - 'FICHIER DE SORTIE DES SECTIONS DE CONTROLE'; - 'FICHIER DE COMMANDES HYDROCARBURES'; - 'FICHIER DES CONSTANTES HARMONIQUES'; - 'FICHIER DU MODELE DE MAREE'; - 'BASE ASCII DE DONNEES DE MAREE'; - 'BASE BINAIRE 1 DE DONNEES DE MAREE'; - 'BASE BINAIRE 2 DE DONNEES DE MAREE'; - 'FICHIER DE DONNEES DES SEUILS'; - 'FICHIER DE DONNEES DES SIPHONS'; - 'FICHIER DE DONNEES DES BUSES'; - 'FICHIER DE DONNEES DES BRECHES'; - 'FICHIER DES FLOTTEURS' -DEFAUT1 ='STEERING FILE'; - 'DICTIONARY'; - 'FORTRAN FILE'; - 'GEOMETRY FILE'; - 'BOUNDARY CONDITIONS FILE'; - 'RESULTS FILE'; - 'PREVIOUS COMPUTATION FILE'; - 'BOTTOM TOPOGRAPHY FILE'; - 'BINARY DATA FILE 1'; - 'BINARY DATA FILE 2'; - 'FORMATTED DATA FILE 1'; - 'FORMATTED DATA FILE 2'; - 'BINARY RESULTS FILE'; - 'FORMATTED RESULTS FILE'; - 'REFERENCE FILE'; - 'LIQUID BOUNDARIES FILE'; - 'FRICTION DATA FILE'; - 'VOLUMES DELWAQ FILE'; - 'EXCHANGE AREAS DELWAQ FILE'; - 'VERTICAL FLUXES DELWAQ FILE'; - 'SALINITY DELWAQ FILE'; - 'VELOCITY DELWAQ FILE'; - 'DIFFUSIVITY DELWAQ FILE'; - 'BOTTOM SURFACES DELWAQ FILE'; - 'EXCHANGES BETWEEN NODES DELWAQ FILE'; - 'NODES DISTANCES DELWAQ FILE'; - 'TEMPERATURE DELWAQ FILE'; - 'DELWAQ STEERING FILE'; - 'STAGE-DISCHARGE CURVES FILE'; - 'SOURCES FILE'; - 'SECTIONS INPUT FILE'; - 'SECTIONS OUTPUT FILE'; - 'OILSPILL STEERING FILE'; - 'HARMONIC CONSTANTS FILE'; - 'TIDAL MODEL FILE'; - 'ASCII DATABASE FOR TIDE'; - 'BINARY DATABASE 1 FOR TIDE'; - 'BINARY DATABASE 2 FOR TIDE'; - 'WEIRS DATA FILE'; - 'CULVERT DATA FILE'; - 'TUBES DATA FILE'; - 'BREACHES DATA FILE'; - 'DROGUES FILE' -RUBRIQUE = 'FICHIERS' -RUBRIQUE1 = 'FILES' -NIVEAU = 1 -AIDE = 'Noms des fichiers exploites par le code' -AIDE1= 'File names of the used files' -// -//----Librairies du code------------------------------------------- -// -//Conventions de notation : -// VVV = version -// MMM = mode (debug ou non) -// PPP = plateforme -// LLL = extension d'une librairie ("a" ou "lib") -// | = separateur dans un path (/ sous Unix, \ sous NT) -// -// ex : "telemac2d|tel2d_VVV|PPP|telemac2dMMMVVV.LLL" - -NOM = 'DESCRIPTION DES LIBRAIRIES' -NOM1 = 'DESCRIPTION OF LIBRARIES' -TYPE = CARACTERE -INDEX = 54 -MNEMO = 'LINKLIBS' -TAILLE = 8 -DEFAUT = 'builds|PPP|lib|telemac2dMMMVVV.LLL'; -'builds|PPP|lib|sisypheMMMVVV.LLL'; -'builds|PPP|lib|tomawacMMMVVV.LLL'; -'builds|PPP|lib|dredgesimMMMVVV.LLL'; -'builds|PPP|lib|biefMMMVVV.LLL'; -'builds|PPP|lib|damoMMMVVV.LLL'; -'builds|PPP|lib|parallelMMMVVV.LLL'; -'builds|PPP|lib|specialMMMVVV.LLL' - -DEFAUT1 = 'builds|PPP|lib|telemac2dMMMVVV.LLL'; -'builds|PPP|lib|sisypheMMMVVV.LLL'; -'builds|PPP|lib|tomawacMMMVVV.LLL'; -'builds|PPP|lib|dredgesimMMMVVV.LLL'; -'builds|PPP|lib|biefMMMVVV.LLL'; -'builds|PPP|lib|damoMMMVVV.LLL'; -'builds|PPP|lib|parallelMMMVVV.LLL'; -'builds|PPP|lib|specialMMMVVV.LLL' - -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Description des librairies de T2D' -AIDE1 = 'LIBRARIES description' - -//----Executable par defaut du code--------------------------------- -// -//Conventions de notation : -// VVV = version -// MMM = mode (debug ou non) -// PPP = plateforme -// | = separateur dans un path (/ sous Unix, \ sous NT) -// -// ex : "telemac2d|tel2d_VVV|PPP|telemac2dMMMVVV.LLL" - -NOM = 'EXECUTABLE PAR DEFAUT' -NOM1 = 'DEFAULT EXECUTABLE' -TYPE = CARACTERE -INDEX = 57 -MNEMO = 'EXEDEF' -TAILLE = 1 -DEFAUT = 'builds|PPP|bin|telemac2dMMMVVV.exe' -DEFAUT1 = 'builds|PPP|bin|telemac2dMMMVVV.exe' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Executable par defaut de T2D' -AIDE1 = 'Default executable for T2D' - -NOM = 'EXECUTABLE PARALLELE PAR DEFAUT' -NOM1 = 'DEFAULT PARALLEL EXECUTABLE' -TYPE = CARACTERE -INDEX = 58 -MNEMO = 'EXEDEFPARA' -TAILLE = 1 -DEFAUT = 'builds|PPP|bin|telemac2dMMMVVV.exe' -DEFAUT1 = 'builds|PPP|bin|telemac2dMMMVVV.exe' -RUBRIQUE = 'ENTREES-SORTIES, GENERALITES';'CALCUL' -RUBRIQUE1 = 'INPUT-OUTPUT, INFORMATION';'COMPUTATIONAL INFORMATION' -NIVEAU = 1 -AIDE = 'Executable parallele par defaut de T2D' -AIDE1 = 'Default parallel executable for T2D' - diff --git a/ts/test_cata.py b/ts/test_cata.py deleted file mode 100644 index 748fd68d..00000000 --- a/ts/test_cata.py +++ /dev/null @@ -1,22 +0,0 @@ -from Accas import * -import types - -JdC = JDC_CATA (code = 'MAP', - execmodul = None, - ) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_interfaceBody_mesh -# ====================================================================== -INITIALIZATION=PROC(nom="INITIALIZATION",op=None, -Control_Of_Limits = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME SARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES', - ang= 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF THE LIMITS ON U,V,H, OR T ARE TRESPASSED', - ), - -Limit_Values = SIMP( statut='o',typ='R', - defaut=(-1000.0, 9000.0, -1000.0, 1000.0, -1000.0, 1000.0, -1000.0, 1000.0) , - max=8 , - fr = 'Utilise avec le mot-cle CONTROLE DES LIMITES valeurs mini et maxi acceptables pour H,U,V et T dans lordre suivant : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', - ang= 'To be used with the key-word CONTROL OF LIMITS min and max acceptable values for H,U,V et T in the following order : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', - ) ) diff --git a/ts/test_dicoparser.py b/ts/test_dicoparser.py deleted file mode 100644 index c3ac9dfb..00000000 --- a/ts/test_dicoparser.py +++ /dev/null @@ -1,140 +0,0 @@ - -import dicoparser -import unittest - -class Test1( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - t = d.parse_tokens( """ - / comment - TYPE = LOGIQUE - INDEX = 23 - MNEMO = 'VERLIM' - MNEMO1 = '' - NOM = 'CONTROLE DES LIMITES' - RUBRIQUE1 = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' - CHOIX1 = '0="list of tests"'; - '1="gradient simple"'; - '2="conj gradient"'; - '3="Lagrange interp."' - AIDE = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME - S''ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' - DEFAUT = -1000.;9000.;-1000. -""" ) - self.assertEqual( len(t), 39 ) - self.assertEqual( t[0], 'TYPE' ) - self.assertEqual( t[1], '=' ) - self.assertEqual( t[2], 'LOGIQUE' ) - self.assertEqual( t[3], 'INDEX' ) - self.assertEqual( t[4], '=' ) - self.assertEqual( t[5], '23' ) - self.assertEqual( t[6], 'MNEMO' ) - self.assertEqual( t[7], '=' ) - self.assertEqual( t[8], 'VERLIM' ) - self.assertEqual( t[9], 'MNEMO1' ) - self.assertEqual( t[10], '=' ) - self.assertEqual( t[11], '' ) - self.assertEqual( t[12], 'NOM' ) - self.assertEqual( t[13], '=' ) - self.assertEqual( t[14], 'CONTROLE DES LIMITES' ) - self.assertEqual( t[15], 'RUBRIQUE1' ) - self.assertEqual( t[16], '=' ) - self.assertEqual( t[17], 'ENTREES-SORTIES, GENERALITES' ) - self.assertEqual( t[18], ';' ) - self.assertEqual( t[19], 'CONTROLE' ) - self.assertEqual( t[20], 'CHOIX1' ) - self.assertEqual( t[21], '=' ) - self.assertEqual( t[22], '0="list of tests"' ) - self.assertEqual( t[23], ';' ) - self.assertEqual( t[24], '1="gradient simple"' ) - self.assertEqual( t[25], ';' ) - self.assertEqual( t[26], '2="conj gradient"' ) - self.assertEqual( t[27], ';' ) - self.assertEqual( t[28], '3="Lagrange interp."' ) - self.assertEqual( t[29], 'AIDE' ) - self.assertEqual( t[30], '=' ) - self.assertEqual( t[31], 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) - self.assertEqual( t[32], 'DEFAUT' ) - self.assertEqual( t[33], '=' ) - self.assertEqual( t[34], '-1000.' ) - self.assertEqual( t[35], ';' ) - self.assertEqual( t[36], '9000.' ) - self.assertEqual( t[37], ';' ) - self.assertEqual( t[38], '-1000.' ) - - d.expand_values( t ) - self.assertEqual( t[24], ( '1', 'gradient simple' ) ) - self.assertEqual( t[26], ( '2', 'conj gradient' ) ) - self.assertEqual( t[28], ( '3', 'Lagrange interp.' ) ) - - lst = d.convert_to_tuples( t ) - self.assertEqual( len(lst), 9 ) - self.assertEqual( lst[0], ( 'TYPE', 'LOGIQUE' ) ) - self.assertEqual( lst[1], ( 'INDEX', '23' ) ) - self.assertEqual( lst[2], ( 'MNEMO', 'VERLIM' ) ) - self.assertEqual( lst[3], ( 'MNEMO1', '' ) ) - self.assertEqual( lst[4], ( 'NOM', 'CONTROLE DES LIMITES' ) ) - self.assertEqual( lst[5], ( 'RUBRIQUE1', ['ENTREES-SORTIES, GENERALITES', 'CONTROLE'] ) ) - self.assertEqual( lst[6], ( 'CHOIX1', [('0','list of tests'), ('1','gradient simple'), ('2','conj gradient'), ('3','Lagrange interp.') ] ) ) - self.assertEqual( lst[7], ( 'AIDE', 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) ) - self.assertEqual( lst[8], ( 'DEFAUT', ['-1000.', '9000.', '-1000.' ] ) ) - -class Test2( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind_In_Summer' ), True ) - self.assertEqual( d.are_equal( 'HELLO', 'Bonjour' ), False ) - self.assertEqual( d.are_equal( 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER', 'Maximum_Number_Of_Iterations_For_Solver' ), True ) - #self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind' ), True ) #TODO: check the specification about this issue - -class Test3( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( 'test', 'NOM', 'NOM1' ) - #print d.data.keys() - #for aKey, aValue in d.data['TYPE OF ADVECTION'].iteritems(): - # print aKey, aValue - - self.assertEqual( d.data['TYPE OF ADVECTION'].keys(), ['AIDE', 'NOM', 'DEFAUT1', 'INDEX', 'NIVEAU', 'TAILLE', 'CHOIX1', 'RUBRIQUE1', 'MNEMO', 'NOM1', 'AIDE1', 'COMPORT', 'DEFAUT', 'CHOIX', 'RUBRIQUE', 'TYPE' ] ) - self.assertEqual( d.translate( 'Control_Of_Limits', 'NOM' ), 'Controle Des Limites' ) - self.assertEqual( d.translate( 'Type_Of_Advection', 'NOM' ), 'Forme De La Convection' ) - self.assertEqual( d.translate( 'Type_Of_Advection', '', 'Characteristics', 'CHOIX1', 'CHOIX' ), 'Caracteristiques' ) - -class Test4( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( 'telemac2dv6p3.dico', 'NOM', 'NOM1' ) - self.assertEqual( d.translate( 'Reference_File_Format', 'NOM' ), 'Format Du Fichier De Reference' ) - self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'CHOIX1', 'CHOIX' ), 'Serafin' ) - self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'DEFAUT1', 'DEFAUT' ), 'Serafin' ) - self.assertEqual( d.translate( 'Destination', '', 'CHE43A', 'DEFAUT1', 'DEFAUT' ), 'Che43a' ) - self.assertEqual( d.translate( 'Destination', '', 0.0, 'DEFAUT1', 'DEFAUT' ), '' ) - self.assertEqual( d.translate( 'Destination', '', (1,2,3), 'DEFAUT1', 'DEFAUT' ), '' ) - -class Test5( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - t = d.parse_tokens( """ -CHOIX = '" "="pas de biliotheque"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' -""" ) - self.assertEqual( len(t), 5 ) - self.assertEqual( t[0], 'CHOIX' ) - self.assertEqual( t[1], '=' ) - self.assertEqual( t[2], '" "="pas de biliotheque"' ) - self.assertEqual( t[3], ';' ) - self.assertEqual( t[4], '"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' ) - - -t1 = Test1() -t1.runTest() - -t2 = Test2() -t2.runTest() - -t3 = Test3() -t3.runTest() - -t4 = Test4() -t4.runTest() - -t5 = Test5() -t5.runTest() diff --git a/ts/test_translator.py b/ts/test_translator.py deleted file mode 100644 index 186d89b2..00000000 --- a/ts/test_translator.py +++ /dev/null @@ -1,19 +0,0 @@ -#! /usr/bin/env python -import prefs - -from translator import * -import unittest - -class Test1( unittest.TestCase ): - def runTest(self): - self.assertEqual( normalize( 'a_b' ), 'a__b' ) - self.assertEqual( normalize( 'a b' ), 'a_b' ) - self.assertEqual( normalize( 'a b' ), 'a__b' ) - self.assertEqual( normalize( 'a__b' ), 'a____b' ) - -t1 = Test1() -t1.runTest() - -#translate( 'telemac2dv6p3', 'test_cata', 'test' ) -#translate( 'telemac2dv6p3', 'Telemac_Cata_nouveau', 'test' ) -translate( 'telemac2dv6p3', 'Telemac_Cata', 'main', 'not_translated.txt' ) diff --git a/ts/translator.py b/ts/translator.py deleted file mode 100755 index 77793423..00000000 --- a/ts/translator.py +++ /dev/null @@ -1,89 +0,0 @@ - -import copy -from tsparser import * -from Accas import * -from Noyau import * -from dicoparser import * - -def normalize( theTranslation ): - aTranslation = theTranslation - if '_' in aTranslation: - aTranslation = '__'.join( aTranslation.split( '_' ) ) - - aTranslation = aTranslation.replace( ' ', '_' ) - return aTranslation - -def translate( theDicoFile, theCataFile, theTSFile, theNotTranslatedFile = '' ): - - SPECIAL = ['into', 'defaut'] - DICO = DicoParser( theDicoFile, 'NOM', 'NOM1' ) - PARSER = TSParser() - - def is_ok( theName, theObject ): - ok = isinstance( theObject, N_ENTITE.ENTITE ) or theName in SPECIAL - return ok - - def name_to_attr( theName ): - if theName=='into': - return 'CHOIX' - else: - return theName.upper() - - def dico_tr( theObject, theName, theParentObj, theParentName ): - #print "dicotr:", theObject, theName, theParentObj, theParentName - aTrans = '' - if theName in SPECIAL: - if theObject!=None: - #print theName, theObject - anAttrTr = name_to_attr( theName ) - anAttr = anAttrTr + '1' - if isinstance( theObject, basestring ): - #print theParentName, theName, theObject, '=>', - aTrans = DICO.translate( theParentName, '', theObject, anAttr, anAttrTr ) - #print aTrans - elif isinstance( theObject, tuple ): - #print theParentName, theName - for anItem in theObject: - #print anItem - if isinstance( anItem, basestring ) and '=' in anItem: - aList = DICO.convert_to_tuples( DICO.parse_tokens( anItem ) ) - #print " ", aList - for aListItem in aList: - if isinstance( aListItem, tuple ): - aKey, aValue = aListItem - #print " ", aValue, '=>', - aTrans = DICO.translate( theParentName, '', aValue, anAttr, anAttrTr ) - #print aTrans - #print - pass - - else: - #print theName, '=>', - aTrans = DICO.translate( theName, 'NOM' ) - #print aTrans - - aTrans = normalize( aTrans ) - return '', aTrans - - def sub( theObject ): - aDict = {} - if hasattr( theObject, 'entites' ): - aDict = copy.copy( theObject.entites ); - for s in SPECIAL: - if hasattr( theObject, s ): - aDict[s] = getattr( theObject, s ) - return aDict - - PARSER.check_object = is_ok - PARSER.translation = dico_tr - PARSER.sub_objects = sub - PARSER.parse( theCataFile, theTSFile ) - - if len( theNotTranslatedFile ) > 0: - PARSER.saveNotTranslated( theNotTranslatedFile ) - - #print - #print "Translations:" - #for key, value in p.data[''].iteritems(): - # print key, "=>", value - diff --git a/ts/tsparser.py b/ts/tsparser.py deleted file mode 100644 index afdeeae8..00000000 --- a/ts/tsparser.py +++ /dev/null @@ -1,127 +0,0 @@ - -import os.path -from xml.etree import ElementTree as ET -from xml.etree.ElementTree import * -from xml.dom import minidom -import re - -def get_file_name( theScript, theFileName, theExtension ): - anExt = '.'+theExtension - if theFileName=='': - return theScript+anExt - if theFileName.lower().endswith( anExt ): - return theFileName - else: - return theFileName + anExt - -class TSParser: - def __init__( self ): - self.data = {} - self.check_object = None # the function to check if the object is suitable for translation - self.translation = None # the function to translate the object's name - self.sub_objects = None # the function to get sub-objects of the given object - self.not_translated = {} - - def add( self, theContext, theSource, theTranslation ): - if len(theSource)==0 or len(theTranslation)==0: - return - if not theContext in self.data: - self.data[theContext] = {} - self.data[theContext][theSource] = theTranslation - - def saveXML( self, theFileName, theEncoding, theDocType, theRootElem ): - aRoughRepr = ET.tostring( theRootElem, theEncoding ) - aDoc = minidom.parseString( aRoughRepr ) - aDocType = minidom.getDOMImplementation( '' ).createDocumentType( theDocType, '', '' ) - aDoc.insertBefore( aDocType, aDoc.documentElement ) - anXmlRepr = aDoc.toprettyxml( indent=' ' ) - anXmlLines = anXmlRepr.split( '\n' )[1:] - anXmlRepr = '\n'.join( anXmlLines ) - anExpr = re.compile( '>\n\s+([^<>\s].*?)\n\s+\g<1> 0: - self.add( aContext, aName, aTranslation ) - elif self.isOK( '', anObject ) and len( aName ) > 0: - #print anObject, aName - self.not_translated[aName] = '' - - aSubObjects = {} - if self.sub_objects: - aSubObjects = self.sub_objects( anObject ) - self.parseObjects( aSubObjects, anObject, aName ) - - def saveNotTranslated( self, theFileName ): - aFile = open( theFileName, 'w' ) - aNotTranslated = self.not_translated.keys() - aNotTranslated.sort() - for aKey in aNotTranslated: - aFile.write( aKey + '\n' ) - aFile.close()