]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Wed, 18 Jan 2012 10:58:02 +0000 (10:58 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Wed, 18 Jan 2012 10:58:02 +0000 (10:58 +0000)
Aster/configuration_ASTER.py
Editeur/utils.py
InterfaceQT4/monChoixCode.py
InterfaceQT4/monChoixMap.py
InterfaceQT4/qtEficas.py
InterfaceQT4/readercata.py
InterfaceQT4/viewManager.py
MAP/catalogues_MAP.ini
Openturns_Study/OpenTURNS_Cata_Study_V8.py
generator/generator_cuve2dg.py

index 379a7b4554d2b5e5dac72274c987ad072d28542f..3307f10aafd48d5fde974f97f2469b5c31791931 100644 (file)
@@ -245,16 +245,16 @@ class CONFIG(CONFIGbase):
       self.rep_ini = repIni
       self.fic_ini = os.path.join(self.repIni,self.fichier)
       self.titre = 'Parametres necessaires a la configuration d\'EFICAS'
-      self.texte_ini = "Voici les paramètres que requiert Eficas"
+      self.texte_ini = "Voici les parametres que requiert Eficas"
       self.commande = self.creation_fichier_ini_si_possible
-      self.labels={"savedir"       : "Répertoire initial pour Open/Save des fichiers",
-                   "rep_travail"   : "Répertoire de travail",
-                   "rep_mat"       : "Répertoire materiaux",
-                   "path_doc"      : "Chemin d'accès à la doc Aster",
+      self.labels={"savedir"       : "Repertoire initial pour Open/Save des fichiers",
+                   "rep_travail"   : "Repertoire de travail",
+                   "rep_mat"       : "Repertoire materiaux",
+                   "path_doc"      : "Chemin d'acces a la doc Aster",
                    "exec_acrobat"  : "Ligne de commande Acrobat Reader",
                    "catalogues"    : "Versions du code ",
                    "isdeveloppeur" : "Niveau de message ",
-                   "path_cata_dev" : "Chemin d'accès aux catalogues développeurs"}
+                   "path_cata_dev" : "Chemin d'acces aux catalogues developpeurs"}
 
                    
       self.types ={"savedir":"rep", "rep_travail":"rep","rep_mat":"rep",
@@ -282,7 +282,7 @@ class CONFIG(CONFIGbase):
   def save_params(self):
   #--------------------------------------
   # sauvegarde
-  # les nouveaux paramètres dans le fichier de configuration utilisateur
+  # les nouveaux parametres dans le fichier de configuration utilisateur
   #
       l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc','savedir')
       texte=""
@@ -322,13 +322,13 @@ class CONFIGStyle(CONFIGbase):
       self.rep_ini = repIni
       self.fic_ini = os.path.join(self.repIni,self.fichier)
       self.titre = "Parametres d affichage"
-      self.texte_ini = "Voici les paramètres configurables :  "
+      self.texte_ini = "Voici les parametres configurables :  "
       self.commande = self.creation_fichier_ini_si_possible
       self.labels={"background":"couleur du fonds", 
                    "foreground":"couleur de la police standard" ,
                    "standard":" police et taille standard",
-                   "standard_italique":"police utilisée pour l'arbre ",
-                   "standard_gras_souligne":"police utilisée pour le gras souligné",
+                   "standard_italique":"police utilisee pour l'arbre ",
+                   "standard_gras_souligne":"police utilisee pour le gras souligne",
                    "canvas_italique":"police italique",
                    "standard_gras":"gras",
                   }
index ca20260a900c3ed0b278bca1769f25a4bff15fa0..93d521506b911bdc3af53279427fa1ed65b3982d 100644 (file)
@@ -28,7 +28,7 @@ import codecs,types
 
 def substract_list(liste1,liste2):
   """ 
-      Enlève tous les éléments de liste2 présents dans liste1 et retourne liste1
+      Enleve tous les elements de liste2 presents dans liste1 et retourne liste1
   """
   for item in liste2:
     try:
@@ -39,12 +39,12 @@ def substract_list(liste1,liste2):
 
 def get_rep_user():
   """
-      Détermine sur quelle plate-forme s'exécute Eficas et recherche
-      le répertoire de l'utilisateur /$home/Eficas_install
+      Determine sur quelle plate-forme s'execute Eficas et recherche
+      le repertoire de l'utilisateur /$home/Eficas_install
   """
   if os.name not in ('posix','nt'):
-    print "Système non reconnu par Eficas"
-    print "Prévenir la maintenance"
+    print "Systeme non reconnu par Eficas"
+    print "Prevenir la maintenance"
     sys.exit(0)
   if os.name == 'nt':
     try:
@@ -57,13 +57,13 @@ def get_rep_user():
     rep_user_eficas= os.path.join(os.environ['HOME'],'.Eficas_install')
   if os.path.exists(rep_user_eficas):
     if os.path.isfile(rep_user_eficas) :
-      print "Un fichier de nom %s existe déjà : impossible de créer un répertoire de même nom" %rep_user_eficas
+      print "Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom" %rep_user_eficas
       sys.exit(0)
   else :
     try:
       os.mkdir(rep_user_eficas)
     except:
-      print "Création du répertoire %s impossible\n Vérifiez vos droits d'accès" %rep_user_eficas
+      print "Creation du repertoire %s impossible\n Verifiez vos droits d'acces" %rep_user_eficas
   return rep_user_eficas
 
 def read_file(file):
@@ -81,7 +81,7 @@ def read_file(file):
 
 def save_in_file(file,text,dir=None):
   """
-      crée le fichier file (ou l'écrase s'il existe) et écrit text dedans
+      cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans
       retourne 1 si OK 0 sinon
   """
   try :
@@ -106,29 +106,29 @@ def stripPath(pathAndFile):
 
 def init_rep_cata_dev(fic_cata,rep_goal):
   """ 
-      Initialise le répertoire des catalogues développeurs (chemin d'accès donné
+      Initialise le repertoire des catalogues developpeurs (chemin d'acces donne
       dans le fichier eficas.ini cad :
-        - le crée s'il n'existe pas encore
-        - copie dedans les 3 fichiers nécessaires :
-          * __init__.py (pour que ce répertoire puisse être interprété comme un package)
-          * entete.py (pour réaliser les import nécessaires à l'interprétation des catalogues)
+        - le cree s'il n'existe pas encore
+        - copie dedans les 3 fichiers necessaires :
+          * __init__.py (pour que ce repertoire puisse etre interprete comme un package)
+          * entete.py (pour realiser les import necessaires a l'interpretation des catalogues)
           * declaration_concepts.py (idem)
-        - crée le fichier cata_developpeur.py qui sera par la suite importé
+        - cree le fichier cata_developpeur.py qui sera par la suite importe
   """
   try :
     if not os.path.isdir(rep_goal) :
       os.mkdir(rep_goal)
     #texte_entete = get_entete_cata(fic_cata)
     texte_entete=""
-    # rep_goal doit contenir les catalogues du développeur sous la forme *.capy
-    # il faut créer le catalogue développeur par concaténation de entete,declaration_concepts
+    # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy
+    # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts
     # et de tous ces fichiers
     cur_dir = os.getcwd()
     os.chdir(rep_goal)
     l_cata_dev = glob.glob('*.capy')
     if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py')
     if len(l_cata_dev) :
-      # des catalogues développeurs sont effectivement présents : on crée cata_dev.py dans rep_goal
+      # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal
       str = ''
       str = str + texte_entete+'\n'
       for file in l_cata_dev :
@@ -137,7 +137,7 @@ def init_rep_cata_dev(fic_cata,rep_goal):
     os.chdir(cur_dir)
   except:
     traceback.print_exc()
-    print "Impossible de transférer les fichiers requis dans :",rep_goal
+    print "Impossible de transferer les fichiers requis dans :",rep_goal
 
 def get_entete_cata(fic_cata):
   """ Retrouve l'entete du catalogue """
index 0a81b985110277dcc93049ed3242da05e78d297c..d91aa3da5d95e78df19faac702b772ec4b872084 100644 (file)
@@ -44,6 +44,10 @@ class MonChoixCode(Ui_ChoixCode,QDialog):
       self.verifieInstall()
       self.code=None
       self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
+      self.connect(self.pB_cancel,SIGNAL("clicked()"),self.sortie)
+
+  def sortie(self):
+      QDialog.reject(self)
 
   def verifieInstall(self):
       self.groupCodes=QButtonGroup(self)
@@ -51,7 +55,6 @@ class MonChoixCode(Ui_ChoixCode,QDialog):
           nom='rB_'+code
           bouton=getattr(self,nom)
           dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
-          print dirCode
           try :
              l=os.listdir(dirCode)
              self.groupCodes.addButton(bouton)
@@ -65,4 +68,5 @@ class MonChoixCode(Ui_ChoixCode,QDialog):
       codeUpper=code.upper()
       self.parentAppli.code=codeUpper
       sys.path.insert(0,os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)))
+      print sys.path
       self.close()
index 0cdbac6b93a733207e139bacc81b7a6b45a4a8cc..208595aa908fee838449c7ad365b54c08103d103 100644 (file)
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -29,13 +28,13 @@ from PyQt4.QtCore import *
 
 
 labels = {
-"s_oxides_st_1" : "Determination de l'allure de l'interface d'un oxyde donné \npour un niveau a determiner d'irradiation" ,
+"s_oxides_st_1" : "Determination de l'allure de l'interface d'un oxyde donn \npour un niveau a determiner d'irradiation" ,
 "s_oxides_st_2" : "Estimation du champ mecanique dans une couche de zircone" ,
-"s_oxides_mt_1" : "Estimation du champ mecanique dans une couche de zircone \nprésentant des défauts et de l'énergie élastique relaxée",
-"s_scc_st_1"    : "Analyse morphologique et mécanique d'une couche d'oxydes",
-"s_scc_st_2"    : "Analyse statistique de données locales et expérimentales \nou numériques",
-"s_scc_st_3"     : "taux de couverture des joints de grains par des précipités",
-"s_polymers_st_1"   : "Estimation numérique 3D de la diffusion effective des gaz dans les polymères chargés",
+"s_oxides_mt_1" : "Estimation du champ mecanique dans une couche de zircone \npresentant des defauts et de l'energie elastique relaxee",
+"s_scc_st_1"    : "Analyse morphologique et mecanique d'une couche d'oxydes",
+"s_scc_st_2"    : "Analyse statistique de donnees locales et experimentales \nou numeriques",
+"s_scc_st_3"     : "taux de couverture des joints de grains par des precipites",
+"s_polymers_st_1"   : "Estimation numerique 3D de la diffusion effective des gaz dans les polymeres charges",
 "s_rpv2"   : "Essai Pascale",
 "s_DIC"   : "Essai Felix",
          }
@@ -45,6 +44,7 @@ dico={"oxides" : {"irradiation"            : "s_oxides_st_1",
                    "mecanique avec defaut" : "s_oxides_mt_1"},
       "scc" : {"analyse morphologique" : "s_scc_st_1",
                "analyse statistique"   : "s_scc_st_2",
+               "analyse 3d"   : "s_scc_pn",
                "taux de couverture"    : "s_scc_st_3"},
       "concrete" : {},
       "polycristals" : {"essai Pascale" : "s_rpv2",},
@@ -72,9 +72,6 @@ class MonRadioBouton(QRadioButton) :
 
 class MonChoixMap(Ui_ChoixMap,QtGui.QDialog):
   """
-  Classe définissant le panel associé aux mots-clés qui demandent
-  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
-  discrètes
   """
   def __init__(self, choixCata,parentQT=None,parentAppli=None):
       QtGui.QDialog.__init__(self,parentQT)
index 72562810682766b195ffebe3507b59179165c99b..f794b062a3f2edf21085f6878039d52e8aa4654d 100644 (file)
@@ -25,6 +25,7 @@ class Appli(Ui_Eficas,QMainWindow):
 
         self.VERSION_EFICAS="Eficas QT4 V6.4"
         self.salome=salome
+        self.listeAEnlever=[]
         self.ihm="QT"
        self.top = self    #(pour CONFIGURATION)
         self.QWParent=None #(Pour lancement sans IHM)
@@ -32,8 +33,15 @@ class Appli(Ui_Eficas,QMainWindow):
         self.dict_reels={}
 
         self.multi=multi
+<<<<<<< qtEficas.py
+        self.RepIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'../Editeur/icons')
+        if self.multi == False :
+             self.definitCode(code,ssCode)
+             if code==None: return
+=======
         self.RepIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'../Editeur/icons')
         if self.multi == False :self.definitCode(code,ssCode)
+>>>>>>> 1.5.4.3.2.17
         eficas_root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
         self.ajoutIcones()
 
@@ -58,6 +66,7 @@ class Appli(Ui_Eficas,QMainWindow):
            widgetChoix = MonChoixCode(self)
            ret=widgetChoix.exec_()
         import sys
+        if self.code == None:return # pour le cancel de la fenetre choix code
         name='prefs_'+self.code
         prefsCode=__import__(name)
 
@@ -456,6 +465,8 @@ class Appli(Ui_Eficas,QMainWindow):
               sys.path.remove(aEnlever)
             except :
               pass
+        #for pathCode in self.listeAEnlever:
+        #      sys.path.remove(pathCode)
               
 
 
index faa27690b999415537c763f55d8a66b22f4e66b9..dcb3a0a62b9bfd0931c7971266f68a1e64b33285 100644 (file)
@@ -34,7 +34,6 @@ import types
 # Modules Eficas
 from Noyau.N_CR import CR
 from Editeur.catadesc import CatalogDescription
-from Editeur.utils  import init_rep_cata_dev
 
 import analyse_catalogue
 import analyse_catalogue_initial
@@ -220,6 +219,8 @@ class READERCATA:
       nom_cata = os.path.splitext(os.path.basename(cata))[0]
       rep_cata = os.path.dirname(cata)
       sys.path[:0] = [rep_cata]
+      self.appliEficas.listeAEnlever.append(rep_cata)
+     
       
       if sys.modules.has_key(nom_cata):
         del sys.modules[nom_cata]
index 70b50f533cf9dec1e2a8c9ea2c3e43bc9a0f3d5a..a70b4fed5d681c06b0a01129fe539554651f738a 100644 (file)
@@ -53,6 +53,7 @@ class MyTabview:
        if fichier is None:
             if self.appliEficas.multi==True : 
                self.appliEficas.definitCode(None,None)
+               if self.appliEficas.code == None:return
             fichier = QFileDialog.getOpenFileName(self.appliEficas,
                         self.appliEficas.trUtf8('Ouvrir Fichier'),
                         self.appliEficas.CONFIGURATION.savedir,
@@ -147,6 +148,7 @@ class MyTabview:
    def newEditor(self,include=0):
        if self.appliEficas.multi==True : 
            self.appliEficas.definitCode(None,None)
+           if self.appliEficas.code == None:return
        maPage=self.getEditor(include=include)
 
    def newIncludeEditor(self):
index 4ae6a38e4f1c637229fb4560fb5ff97cdb8c69e2..7385dfb4f7ff0bf37ec768bd8ac1221a16e03b55 100644 (file)
@@ -8,8 +8,13 @@ catalogues = (
 # (code, ssCode, catalogue, formatOut, formatIN)
   ('MAP','s_polymers_st_1_V1',os.path.join(rep_cata,'s_polymers_st_1_V1.py'),'s_polymers_st_1','MAP'),
   ('MAP','s_scc_st_2_V1',os.path.join(rep_cata,'s_scc_st_2_V1.py'),'s_scc_st_2','MAP'),
+  ('MAP','s_scc_st_2_V1',os.path.join(rep_cata,'s_scc_st_2_V1.py'),'s_scc_pn','MAP'),
   ('MAP','s_rpv2_V0',os.path.join(rep_cata,'s_rpv2_V0.py'),'s_rpv2','MAP'),
   ('MAP','s_DIC_V1',os.path.join(rep_cata,'s_DIC_V1.py'),'s_DIC','MAP'),
+<<<<<<< catalogues_MAP.ini
+  ('MAP','s_scc_3d',os.path.join(rep_cata,'s_scc_3d_analysis.py'),'s_DIC','MAP'),
+=======
   ('MAP','c_transverse_empty_python_V1',os.path.join(MAP_DIRECTORY,'components/transverse/c_transverse_empty_python/deploy/c_transverse_empty_python_eficas.py'),'c_transverse_empty_python','MAP'),
+>>>>>>> 1.2.4.1.2.2
 )
 
index e19a5a3f481d9dfaad9dea82d431601445c585af..076e162ab8ab3379a5915734ffe7fe146f386009 100644 (file)
@@ -63,6 +63,10 @@ JdC = JDC_CATA ( code = 'OPENTURNS_STUDY',
                             ),
                  ) # Fin JDC_CATA
 
+specter_path= PROC(nom="specter_path",op=None,
+                fr="A class for the definition of a file",
+                path= SIMP(statut='o',typ='TXM',defaut='/home/A28637/SVN_MAP/trunk/vendor/PERFORM_20110225/perfect_dev/tools/bin/specter',),
+                )
 
 # --------------------------------------------------
 # fin entete
index e109c493b979e8f46589c08416f56a8f8c095582..f4e38f53d73ab74357fba24f5e016d18cf90095e 100644 (file)
@@ -70,10 +70,13 @@ class Cuve2dgGenerator(PythonGenerator):
         "FichierDataIn"    : "DATARESUME_FILE",
         "FichierTempSigma" : "TEMPSIG_FILE",
         "FichierCSV"       : "CSV_FILE",
-        "FichierCREARE" : "CREARE_FILE",
+        "FichierRESTART" : "RESTART_FILE",
+        "FichierEXTR" : "EXTR_FILE",
+        "ChoixPlugin" : "CHOIPLUG",
         "GrandeurEvaluee" : "GRANDEUR",
         "IncrementTemporel" : "INCRTPS",
         "IncrementMaxTemperature" : "DTPREC",
+        "ChoixExtractionTransitoires" : "CHOIEXTR",
         "IncrementMaxTempsAffichage" : "DTARCH",
         "TraitementGeometrie" : "TYPEGEOM",
         "RayonInterne" : "RINT",
@@ -87,6 +90,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreNoeudsMaillage" : "NBNO",
         "TypeInitial" : "TYPEDEF",
         "Orientation" : "ORIEDEF",
+        "Position" : "POSDEF",
         "ProfondeurRadiale" : "PROFDEF",
         "ProfondeurRadiale_mess" : "PROFDEF_MESSAGE",
         "ModeCalculLongueur" : "OPTLONG",
@@ -140,7 +144,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreEcartTypeRTndt" : "nbectDRTNDT",
         "NombreEcartTypeRTndt_mess" : "nbectDRTNDT_MESSAGE",
         "ModeleTenacite" : "MODELKIC",
-        "NBRE_CARACTERISTIQUE" : "NBCARAC",
+        "NombreCaracteristique" : "NBCARAC",
         "NbEcartType_MoyKIc" : "nbectKIc",
         "NbEcartType_MoyKIc_mess" : "nbectKIc_MESSAGE",
         "PalierDuctile_KIc" : "KICPAL",
@@ -157,6 +161,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "C1" : "C1",
         "C2" : "C2",
         "C3" : "C3",
+        "ChoixCorrectionLongueur" : "CHOIXCL",
         "AttnCorrBeta" : "ATTNCORRBETA",
         "CorrIrwin" : "CORRIRWIN",
         "ArretDeFissure" : "ARRETFISSURE",
@@ -165,6 +170,9 @@ class Cuve2dgGenerator(PythonGenerator):
         "NbEcartType_MoyKIa" : "nbectKIa",
         "PalierDuctile_KIa" : "KIAPAL",
         "CoefficientVariation_KIa" : "KIACDV",
+        "ChoixCoefficientChargement" : "CHOIXSIGM",
+        "CoefficientDuctile" : "COEFSIGM1",
+        "CoefficientFragile" : "COEFSIGM2",
         "InstantInitialisation" : "INSTINIT",
         "ConditionLimiteThermiqueREV" : "KTHREV",
         "TemperatureDeformationNulleREV" : "TREFREV",
@@ -177,8 +185,10 @@ class Cuve2dgGenerator(PythonGenerator):
         "TypeConditionLimiteThermique" : "TYPCLTH",
         "Instant_1" : "INSTANT1",
         "Instant_2" : "INSTANT2",
+        "Instant_3" : "INSTANT3",
         "DebitAccumule" : "QACCU",
         "DebitInjectionSecurite" : "QIS",
+        "TempInjectionSecurite" : "TIS",
         "TempInjectionSecurite_mess" : "TIS_MESSAGE",
         "DiametreHydraulique" : "DH",
         "DiametreHydraulique_mess" : "DH_MESSAGE",
@@ -188,12 +198,80 @@ class Cuve2dgGenerator(PythonGenerator):
         "HauteurCaracConvectionNaturelle_mess" : "DELTA_MESSAGE",
         "CritereConvergenceRelative" : "EPS",
         "CoefficientsVestale" : "COEFVESTALE",
-        "VolumeMelange_CREARE" : "VM",
-        "VolumeMelange_CREARE_mess" : "VM_MESSAGE",
+        "VolumeMelange_CREARE" : "VMTAB",
         "TemperatureInitiale_CREARE" : "T0",
         "TemperatureInitiale_CREARE_mess" : "T0_MESSAGE",
         "SurfaceEchange_FluideStructure" : "SE",
         "SurfaceEchange_FluideStructure_mess" : "SE_MESSAGE",
+        "InstantPerteCirculationNaturelle" : "INST_PCN",
+         }
+
+      # Ce dictionnaire liste le nom des valeurs proposées utilisees dans le script
+      self.valeurproposee = {
+         "Aucune impression" : "0",
+         "Temps total" : "1",
+         "Temps intermediaires" : "2",
+        "Facteur de marge KIc/KCP" : "FM_KICSURKCP",
+        "Marge KIc-KI" : "MARGE_KI",
+        "Marge KIc-KCP" : "MARGE_KCP",
+        "Topologie" : "GEOMETRIE",
+        "Maillage" : "MAILLAGE",
+        "Defaut Sous Revetement" : "DSR",
+        "Defaut Decale" : "DECALE",
+        "Defaut Debouchant" : "DEBOUCHANT",
+        "Longitudinale" : "LONGITUD",
+        "Circonferentielle" : "CIRCONF",
+        "Virole" : "VIROLE",
+        "Joint soude" : "JSOUDE",
+        "Valeur" : "VALEUR",
+        "Fonction affine de la profondeur" : "FCTAFFINE",
+        "Valeur normalisee" : "NORMALISE",
+        "A" : "A",
+        "B" : "B",
+        "A et B" : "BOTH",
+        "Exponentiel sans revetement k=9.7 (Reglementaire)" : "Reglementaire",
+        "Exponentiel sans revetement k=12.7 (France)" : "France",
+        "Exponentiel sans revetement k=0. (ValeurImposee)" : "ValeurImposee",
+        "Donnees francaises du palier CPY (SDM)" : "SDM",
+        "Regulatory Guide 1.99 rev 2 (USNRC)" : "USNRC",
+        "Dossier 900 MWe AP9701 rev 2 (REV_2)" : "REV_2",
+        "Lissage du modele ajuste (SDM_Lissage)" : "SDM_Lissage",
+        "Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)" : "GrandeDev",
+        "Grand developpement (GD_Cuve)" : "GD_Cuve",
+        "Exponentiel sans revetement k=9.7 (Reglementaire CUVE1D)" : "Cuve1D",
+        "RTndt de la cuve a l instant de l analyse" : "RTNDT",
+        "Modele d irradiation" : "FLUENCE",
+        "Formule de FIM/FIS Lefebvre modifiee" : "LEFEBnew",
+        "Metal de Base : formule de FIM/FIS Houssin" : "HOUSSIN",
+        "Metal de Base : formule de FIM/FIS Persoz" : "PERSOZ",
+        "Metal de Base : formule de FIM/FIS Lefebvre" : "LEFEBVRE",
+        "Metal de Base : Regulatory Guide 1.00 rev 2" : "USNRCmdb",
+        "Joint Soude : formulation de FIM/FIS Brillaud" : "BRILLAUD",
+        "Joint Soude : Regulatory Guide 1.00 rev 2" : "USNRCsoud",
+        "RCC-M/ASME coefficient=2" : "RCC-M",
+        "RCC-M/ASME coefficient=2 CUVE1D" : "RCC-M_simpl",
+        "RCC-M/ASME coefficient=2.33 (Houssin)" : "Houssin_RC",
+        "RCC-M/ASME avec KI=KIpalier" : "RCC-M_pal",
+        "RCC-M/ASME avec KI~exponentiel" : "RCC-M_exp",
+        "Weibull basee sur la master cuve" : "Wallin",
+        "Weibull basee sur la master cuve (REME)" : "REME",
+        "Weibull n\xb01 (etude ORNL)" : "ORNL",
+        "Weibull n\xb02" : "WEIB2",
+        "Weibull n\xb03" : "WEIB3",
+        "Weibull generalisee" : "WEIB-GEN",
+        "Exponentielle n\xb01 (Frama)" : "Frama",
+        "Exponentielle n\xb02 (LOGWOLF)" : "LOGWOLF",
+        "Quantile" : "QUANTILE",
+        "Ordre" : "ORDRE",
+        "Enthalpie" : "ENTHALPIE",
+        "Chaleur" : "CHALEUR",
+        "Temperature imposee en paroi" : "TEMP_IMPO",
+        "Flux de chaleur impose en paroi" : "FLUX_REP",
+        "Temperature imposee du fluide et coefficient echange" : "ECHANGE",
+        "Debit massique et temperature d injection de securite" : "DEBIT",
+        "Temperature imposee du fluide et debit d injection de securite" : "TEMP_FLU",
+        "Courbe APRP" : "APRP",
+        "Calcul TEMPFLU puis DEBIT" : "TFDEBIT",
          }
 
       # Ce dictionnaire liste le commentaire des variables utilisees dans le script
@@ -202,10 +280,13 @@ class Cuve2dgGenerator(PythonGenerator):
         "FichierDataIn"    : "sortie du fichier recapitulatif des donnees d entree {OUI ; NON}",
         "FichierTempSigma" : "sortie des fichiers temperature et contraintes {OUI ; NON}",
         "FichierCSV" : "sortie du fichier resultat template_DEFAILLCUVE.CSV {OUI ; NON}",
-        "FichierCREARE" : "sortie du fichier Tfluide et Coef Echange {OUI ; NON}",
+        "FichierRESTART" : "sortie du fichier de re-demarrage",
+        "FichierEXTR" : "sortie du fichier d extraction des transitoires",
+        "ChoixPlugin" : "choix d'un repertoire de plug-in",
         "GrandeurEvaluee" : "choix de la grandeur sous critere evaluee {FM_KICSURKCP ; MARGE_KI ; MARGE_KCP}",
         "IncrementTemporel" : "increment temporel pour l analyse PROBABILISTE (si DETERMINISTE, fixer a 1)",
         "IncrementMaxTemperature" : "increment max de temp/noeud/instant (degC)",
+        "ChoixExtractionTransitoires" : "choix d'extraction de transitoires de temp et contraintes",
         "IncrementMaxTempsAffichage" : "increment max de temps pour affichage (s)",
         "TraitementGeometrie" : "traitement de la geometrie de la cuve : {GEOMETRIE, MAILLAGE}",
         "RayonInterne" : "rayon interne (m)",
@@ -219,6 +300,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreNoeudsMaillage" : "nbre de noeuds dans l'epaisseur de la cuve",
         "TypeInitial" : "type initial du defaut : DEBOUCHANT=Defaut Debouchant, DSR=Defaut Sous Revetement, DECALE=Defaut Decale",
         "Orientation" : "orientation (LONGITUD / CIRCONF)",
+        "Position" : "Position du defaut (VIROLE / JSOUDE)",
         "ProfondeurRadiale" : "profondeur radiale ou encore hauteur (m)",
         "ProfondeurRadiale_mess" : "affichage ecran de la profondeur radiale ou encore hauteur (m)",
         "ModeCalculLongueur" : "option pour definir la longueur du defaut (VALEUR pour une valeur fixe, FCTAFFINE pour une fct affine de la profondeur)",
@@ -255,7 +337,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "Azimut_45deg" : "fluence a l'azimut 45 (10^19 n/cm)",
         "TypeIrradiation" : "type irradiation : {RTNDT, FLUENCE}",
         "RTNDT" : "RTNDT finale (degC)",
-        "ModeleIrradiation" : "modele d irradiation : {HOUSSIN, PERSOZ, LEFEBVRE, USNRCmdb} pour virole et {BRILLAUD,USNRCsoud} pour jointsoude",
+        "ModeleIrradiation" : "modele d irradiation : LEFEBnew, ou {HOUSSIN, PERSOZ, LEFEBVRE, USNRCmdb} pour virole et {BRILLAUD,USNRCsoud} pour jointsoude",
         "TeneurCuivre" : "teneur en cuivre (%)",
         "TeneurCuivre_mess" : "affichage ecran de la teneur en cuivre (%)",
         "TeneurNickel" : "teneur en nickel (%)",
@@ -271,7 +353,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreEcartTypeRTndt" : "Nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE (en DETERMINISTE, fixer a 2.)",
         "NombreEcartTypeRTndt_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE",
         "ModeleTenacite" : "modele de tenacite : {RCC-M, RCC-M_pal, RCC-M_exp, RCC-M_simpl, Houssin_RC, Wallin, REME, ORNL, Frama, WEIB3, WEIB2, LOGWOLF, WEIB-GEN}",
-        "NBRE_CARACTERISTIQUE" : "Nb caracteristique : ORDRE ou QUANTILE",
+        "NombreCaracteristique" : "Nb caracteristique : ORDRE ou QUANTILE",
         "NbEcartType_MoyKIc" : "Nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE (en DETERMINISTE, fixer a -2.)",
         "NbEcartType_MoyKIc_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE",
         "PalierDuctile_KIc" : "palier deterministe de K1c (MPa(m^0.5))",
@@ -288,6 +370,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "C1" : "",
         "C2" : "",
         "C3" : "",
+        "ChoixCorrectionLongueur" : "Activation ou non de la correction de longueur {OUI ; NON}",
         "AttnCorrBeta" : "Attenuation de la correction plastique : {OUI, NON} ==> uniquement pour DSR ou DECALE",
         "CorrIrwin" : "Correction plastique IRWIN : {OUI, NON} ==> uniquement pour DEBOUCHANT",
         "ArretDeFissure" : "prise en compte de l arret de fissure {OUI, NON} (en PROBABILISTE, fixer a NON)",
@@ -296,6 +379,9 @@ class Cuve2dgGenerator(PythonGenerator):
         "NbEcartType_MoyKIa" : "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma)",
         "PalierDuctile_KIa" : "palier deterministe de K1a quand modele RCC-M  (MPa(m^0.5))",
         "CoefficientVariation_KIa" : "coef de variation de la loi normale de K1a",
+        "ChoixCoefficientChargement" : "prise en compte de coefficients sur le chargement (OUI/NON)",
+        "CoefficientDuctile" : "coefficient multiplicateur pour rupture ductile",
+        "CoefficientFragile" : "coefficient multiplicateur pour rupture fragile",
         "InstantInitialisation" : "instant initial (s)",
         "ConditionLimiteThermiqueREV" : "Option 'ENTHALPIE' ou 'CHALEUR'",
         "TemperatureDeformationNulleREV" : "temperature de deformation nulle (degC)",
@@ -306,10 +392,12 @@ class Cuve2dgGenerator(PythonGenerator):
         "TemperaturePourCoefDilatThermMDB" : "temperature de definition du coefficient de dilatation thermique (degC)",
         "CoefficientPoissonMDB" : "coefficient de Poisson",
         "TypeConditionLimiteThermique" : "Type de condition thermique en paroi interne {TEMP_IMPO,FLUX_REP,ECHANGE,DEBIT,TEMP_FLU,APRP}",
-        "Instant_1" : "Borne inferieure de l intervalle de temps du 2nd palier T1",
+        "Instant_1" : "Borne superieure de l intervalle de temps du 1er palier TACCU",
         "Instant_2" : "Borne superieure de l intervalle de temps du 2nd palier T1",
+        "Instant_3" : "Borne superieure de l intervalle de temps du 3eme palier TIS",
         "DebitAccumule" : "Debit accumule (en m3/h)",
         "DebitInjectionSecurite" : "Debit injection de securite (en m3/h)",
+        "TempInjectionSecurite" : "Temperature injection de securite (en degC)",
         "TempInjectionSecurite_mess" : "affichage ecran de la temperature injection de securite",
         "DiametreHydraulique" : "Diametre hydraulique (m)",
         "DiametreHydraulique_mess" : "affichage ecran du diametre hydraulique (m)",
@@ -319,12 +407,12 @@ class Cuve2dgGenerator(PythonGenerator):
         "HauteurCaracConvectionNaturelle_mess" : "affichage ecran de la hauteur caracteristique convection naturelle (m)",
         "CritereConvergenceRelative" : "Critere convergence relative (-)",
         "CoefficientsVestale" : "Application des coefs de Vestale {OUI;NON}",
-        "VolumeMelange_CREARE" : "Volume de melange CREARE (m3)",
-        "VolumeMelange_CREARE_mess" : "affichage ecran du volume de melange CREARE (m3)",
+        "VolumeMelange_CREARE" : "Transitoire de volume de melange CREARE (m3)",
         "TemperatureInitiale_CREARE" : "Temperature initiale CREARE (degC)",
         "TemperatureInitiale_CREARE_mess" : "affichage ecran de la temperature initiale CREARE (degC)",
         "SurfaceEchange_FluideStructure" : "Surface d'echange fluide/structure (m2)",
         "SurfaceEchange_FluideStructure_mess" : "affichage ecran de la surface d'echange fluide/structure (m2)",
+        "InstantPerteCirculationNaturelle" : "Instant de perte de circulation naturelle",
          }
 
       # Ce dictionnaire liste la valeur par defaut des variables utilisees dans le script
@@ -333,10 +421,13 @@ class Cuve2dgGenerator(PythonGenerator):
         "FichierDataIn" : "NON",
         "FichierTempSigma" : "NON",
         "FichierCSV" : "NON",
-        "FichierCREARE" : "NON",
+        "FichierRESTART" : "NON",
+        "FichierEXTR" : "NON",
+        "ChoixPlugin" : "NON",
         "GrandeurEvaluee" : "FM_KICSURKCP",
         "IncrementTemporel" : "1",
         "IncrementMaxTemperature" : "0.1",
+        "ChoixExtractionTransitoires" : "NON",
         "IncrementMaxTempsAffichage" : "1000.",
         "TraitementGeometrie" : "GEOMETRIE",
         "RayonInterne" : "1.994",
@@ -349,7 +440,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "LigamentExterneMin_mess" : "NON",
         "NombreNoeudsMaillage" : "300",
         "TypeInitial" : "DSR",
-        "Orientation" : "LONGITUD",
+        "Position" : "VIROLE",
         "ProfondeurRadiale" : "0.006",
         "ProfondeurRadiale_mess" : "NON",
         "ModeCalculLongueur" : "VALEUR",
@@ -402,7 +493,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreEcartTypeRTndt" : "2.",
         "NombreEcartTypeRTndt_mess" : "NON",
         "ModeleTenacite" : "RCC-M",
-        "NBRE_CARACTERISTIQUE" : "QUANTILE",
+        "NombreCaracteristique" : "Quantile",
         "NbEcartType_MoyKIc" : "-2.",
         "NbEcartType_MoyKIc_mess" : "NON",
         "PalierDuctile_KIc" : "195.",
@@ -419,6 +510,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "C1" : "4.",
         "C2" : "0.",
         "C3" : "0.",
+        "ChoixCorrectionLongueur" : "OUI",
         "AttnCorrBeta" : "NON",
         "CorrIrwin" : "NON",
         "ArretDeFissure" : "NON",
@@ -427,6 +519,9 @@ class Cuve2dgGenerator(PythonGenerator):
         "NbEcartType_MoyKIa" : "0.",
         "PalierDuctile_KIa" : "0.",
         "CoefficientVariation_KIa" : "0.",
+        "ChoixCoefficientChargement" : "NON",
+        "CoefficientDuctile" : "1.0",
+        "CoefficientFragile" : "1.0",
         "InstantInitialisation" : "-1.",
         "ConditionLimiteThermiqueREV" : "CHALEUR",
         "TemperatureDeformationNulleREV" : "20.",
@@ -439,8 +534,10 @@ class Cuve2dgGenerator(PythonGenerator):
         "TypeConditionLimiteThermique" : "TEMP_IMPO",
         "Instant_1" : "21.",
         "Instant_2" : "45.",
+        "Instant_3" : "5870.",
         "DebitAccumule" : "2.3",
         "DebitInjectionSecurite" : "0.375",
+        "TempInjectionSecurite" : "9.",
         "TempInjectionSecurite_mess" : "NON",
         "DiametreHydraulique" : "0.3816",
         "DiametreHydraulique_mess" : "NON",
@@ -450,12 +547,12 @@ class Cuve2dgGenerator(PythonGenerator):
         "HauteurCaracConvectionNaturelle_mess" : "NON",
         "CritereConvergenceRelative" : "0.00001",
         "CoefficientsVestale" : "NON",
-        "VolumeMelange_CREARE" : "14.9",
-        "VolumeMelange_CREARE_mess" : "NON",
+#       "VolumeMelange_CREARE" : "14.9",
         "TemperatureInitiale_CREARE" : "250.",
         "TemperatureInitiale_CREARE_mess" : "NON",
         "SurfaceEchange_FluideStructure" : "0.",
         "SurfaceEchange_FluideStructure_mess" : "NON",
+        "InstantPerteCirculationNaturelle" : "400.",
          }
 
       # Ce dictionnaire liste la rubrique d'appartenance des variables utilisees dans le script
@@ -464,10 +561,13 @@ class Cuve2dgGenerator(PythonGenerator):
         "FichierDataIn" : "OPTIONS",
         "FichierTempSigma" : "OPTIONS",
         "FichierCSV" : "OPTIONS",
-        "FichierCREARE" : "OPTIONS",
+        "FichierRESTART" : "OPTIONS",
+        "FichierEXTR" : "OPTIONS",
+        "ChoixPlugin" : "OPTIONS",
         "GrandeurEvaluee" : "OPTIONS",
         "IncrementTemporel" : "OPTIONS",
         "IncrementMaxTemperature" : "OPTIONS",
+        "ChoixExtractionTransitoires" : "OPTIONS",
         "IncrementMaxTempsAffichage" : "OPTIONS",
         "TraitementGeometrie" : "DONNEES DE LA CUVE",
         "RayonInterne" : "DONNEES DE LA CUVE",
@@ -481,6 +581,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreNoeudsMaillage" : "DONNEES DE LA CUVE",
         "TypeInitial" : "CARACTERISTIQUES DU DEFAUT",
         "Orientation" : "CARACTERISTIQUES DU DEFAUT",
+        "Position" : "CARACTERISTIQUES DU DEFAUT",
         "ProfondeurRadiale" : "CARACTERISTIQUES DU DEFAUT",
         "ProfondeurRadiale_mess" : "CARACTERISTIQUES DU DEFAUT",
         "ModeCalculLongueur" : "CARACTERISTIQUES DU DEFAUT",
@@ -533,7 +634,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "NombreEcartTypeRTndt" : "MODELES",
         "NombreEcartTypeRTndt_mess" : "MODELES",
         "ModeleTenacite" : "MODELES",
-        "NBRE_CARACTERISTIQUE" : "MODELES",
+        "NombreCaracteristique" : "MODELES",
         "NbEcartType_MoyKIc" : "MODELES",
         "NbEcartType_MoyKIc_mess" : "MODELES",
         "PalierDuctile_KIc" : "MODELES",
@@ -550,6 +651,7 @@ class Cuve2dgGenerator(PythonGenerator):
         "C1" : "MODELES",
         "C2" : "MODELES",
         "C3" : "MODELES",
+        "ChoixCorrectionLongueur" : "MODELES",
         "AttnCorrBeta" : "MODELES",
         "CorrIrwin" : "MODELES",
         "ArretDeFissure" : "MODELES",
@@ -558,6 +660,9 @@ class Cuve2dgGenerator(PythonGenerator):
         "NbEcartType_MoyKIa" : "MODELES",
         "PalierDuctile_KIa" : "MODELES",
         "CoefficientVariation_KIa" : "MODELES",
+        "ChoixCoefficientChargement" : "ETAT INITIAL",
+        "CoefficientDuctile" : "ETAT INITIAL",
+        "CoefficientFragile" : "ETAT INITIAL",
         "InstantInitialisation" : "ETAT INITIAL",
         "ConditionLimiteThermiqueREV" : "CARACTERISTIQUES DU REVETEMENT",
         "TemperatureDeformationNulleREV" : "CARACTERISTIQUES DU REVETEMENT",
@@ -570,8 +675,10 @@ class Cuve2dgGenerator(PythonGenerator):
         "TypeConditionLimiteThermique" : "TRANSITOIRE",
         "Instant_1" : "TRANSITOIRE",
         "Instant_2" : "TRANSITOIRE",
+        "Instant_3" : "TRANSITOIRE",
         "DebitAccumule" : "TRANSITOIRE",
         "DebitInjectionSecurite" : "TRANSITOIRE",
+        "TempInjectionSecurite" : "TRANSITOIRE",
         "TempInjectionSecurite_mess" : "TRANSITOIRE",
         "DiametreHydraulique" : "TRANSITOIRE",
         "DiametreHydraulique_mess" : "TRANSITOIRE",
@@ -582,16 +689,17 @@ class Cuve2dgGenerator(PythonGenerator):
         "CritereConvergenceRelative" : "TRANSITOIRE",
         "CoefficientsVestale" : "TRANSITOIRE",
         "VolumeMelange_CREARE" : "TRANSITOIRE",
-        "VolumeMelange_CREARE_mess" : "TRANSITOIRE",
         "TemperatureInitiale_CREARE" : "TRANSITOIRE",
         "TemperatureInitiale_CREARE_mess" : "TRANSITOIRE",
         "SurfaceEchange_FluideStructure" : "TRANSITOIRE",
         "SurfaceEchange_FluideStructure_mess" : "TRANSITOIRE",
+        "InstantPerteCirculationNaturelle" : "TRANSITOIRE",
          }
 
-   def gener(self,obj,format='brut',config=None):
+   def gener(self,obj,format='brut'):
       self.text=''
       self.textCuve=''
+      self.texteTFDEBIT=''
       self.dico_mot={}
       self.dico_genea={}
       self.text=PythonGenerator.gener(self,obj,format)
@@ -606,8 +714,7 @@ class Cuve2dgGenerator(PythonGenerator):
        s=PythonGenerator.generMCSIMP(self,obj)
        return s
 
-   def writeDefault(self, fn):
-      filename = fn[:fn.rfind(".")] + '.don'
+   def writeCuve2DG(self, filename, file2):
       print "je passe dans writeCuve2DG"
       self.genereTexteCuve()
       f = open( filename, 'wb')
@@ -618,6 +725,13 @@ class Cuve2dgGenerator(PythonGenerator):
       ftmp.write( self.texteCuve )
       ftmp.close()
 
+      self.genereTexteTFDEBIT()
+      f2 = open( file2, 'wb')
+      print self.texteTFDEBIT
+      f2.write( self.texteTFDEBIT )
+      f2.close()
+
+
    def entete(self):
       '''
       Ecrit l'entete du fichier data_template
@@ -721,47 +835,63 @@ class Cuve2dgGenerator(PythonGenerator):
 
       self.texteCuve += self.sousRubrique('Impression a l ecran', '')
       if self.dico_mot.has_key('NiveauImpression'):
-         if str(self.dico_mot["NiveauImpression"])=='Aucune impression':
-            self.texteCuve += self.affecteValeur('NiveauImpression', '0')
-         if str(self.dico_mot["NiveauImpression"])=='Temps total':
-            self.texteCuve += self.affecteValeur('NiveauImpression', '1')
-         if str(self.dico_mot["NiveauImpression"])=='Temps intermediaires':
-            self.texteCuve += self.affecteValeur('NiveauImpression', '2')
+         self.texteCuve += self.affecteValeur('NiveauImpression', self.valeurproposee[str(self.dico_mot["NiveauImpression"])])
 
       self.texteCuve += self.sousRubrique('Generation de fichiers', '')
       self.texteCuve += self.ecritVariable('FichierDataIn')
       self.texteCuve += self.ecritVariable('FichierTempSigma')
       self.texteCuve += self.ecritVariable('FichierCSV')
-      self.texteCuve += self.ecritVariable('FichierCREARE')
+      self.texteCuve += self.ecritVariable('FichierRESTART')
+      self.texteCuve += self.ecritVariable('FichierEXTR')
+      self.texteCuve += self.ecritVariable('ChoixPlugin')
 
       self.texteCuve += self.sousRubrique('Grandeur evaluee', '')
       if self.dico_mot.has_key('GrandeurEvaluee'):
-         if str(self.dico_mot["GrandeurEvaluee"])=='Facteur de marge KIc/KCP':
-            self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'FM_KICSURKCP')
-         if str(self.dico_mot["GrandeurEvaluee"])=='Marge KIc-KI':
-            self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'MARGE_KI')
-         if str(self.dico_mot["GrandeurEvaluee"])=='Marge KIc-KCP':
-            self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'MARGE_KCP')
+         self.texteCuve += self.affecteValeur('GrandeurEvaluee', self.valeurproposee[str(self.dico_mot["GrandeurEvaluee"])])
 
       self.texteCuve += self.sousRubrique('Divers', '')
       self.texteCuve += self.ecritVariable('IncrementTemporel')
       self.texteCuve += self.ecritVariable('IncrementMaxTemperature')
+
+      #self.texteCuve += self.ecritVariable('ChoixExtractionTransitoires')
+      if self.dico_mot.has_key('ChoixExtractionTransitoires'):
+         self.texteCuve += self.ecritVariable('ChoixExtractionTransitoires')
+         if str(self.dico_mot["ChoixExtractionTransitoires"])=='OUI':
+            if self.dico_mot.has_key('ListeAbscisses'):
+               self.texteCuve += "# liste des abscisses pour ecriture des transitoires de T et SIG (5 ou moins)"+"\n"
+               self.imprime(1,(self.dico_mot["ListeAbscisses"]))
+               self.texteCuve+="#"+"\n"
+            else :
+               print "Warning ==> Dans la rubrique OPTIONS, fournir ListeAbscisses."
+               self.texteCuve += "# liste des abscisses pour ecriture des transitoires de T et SIG (5 ou moins)"+"\n"
+               self.texteCuve += "  1.994\n"
+               self.texteCuve += "  2.000\n"
+               self.texteCuve+="#"+"\n"
+         else :
+            self.texteCuve+="#"+"\n"
+
       self.texteCuve += self.ecritVariable('IncrementMaxTempsAffichage')
       if self.dico_mot.has_key('ListeInstants'):
          self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
          self.imprime(1,(self.dico_mot["ListeInstants"]))
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+         self.texteCuve+="#"+"\n"
       else :
          print "Warning ==> Dans la rubrique OPTIONS, fournir ListeInstants."
          self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
          self.texteCuve += "  0.\n"
          self.texteCuve += "  1.\n"
+         self.texteCuve+="#"+"\n"
 
 
       # Rubrique DONNEES DE LA CUVE
       self.texteCuve += self.rubrique('DONNEES DE LA CUVE')
       if self.dico_mot.has_key('TraitementGeometrie'):
+         self.texteCuve += self.affecteValeur('TraitementGeometrie', self.valeurproposee[str(self.dico_mot["TraitementGeometrie"])])
          if str(self.dico_mot["TraitementGeometrie"])=='Topologie':
-            self.texteCuve += self.affecteValeur('TraitementGeometrie', 'GEOMETRIE')
             self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
             self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
             self.texteCuve+="#                         (REXT, REXT_MESSAGE),"+"\n"
@@ -781,7 +911,6 @@ class Cuve2dgGenerator(PythonGenerator):
             self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
          if str(self.dico_mot["TraitementGeometrie"])=='Maillage':
-            self.texteCuve += self.affecteValeur('TraitementGeometrie', 'MAILLAGE')
             self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
             self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
             self.texteCuve+="#                         (REXT, REXT_MESSAGE),"+"\n"
@@ -817,12 +946,7 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve += self.rubrique('CARACTERISTIQUES DU DEFAUT')
 
       if self.dico_mot.has_key('TypeInitial'):
-         if str(self.dico_mot["TypeInitial"])=='Defaut Sous Revetement':
-            self.texteCuve += self.affecteValeur('TypeInitial', 'DSR')
-         if str(self.dico_mot["TypeInitial"])=='Defaut Decale':
-            self.texteCuve += self.affecteValeur('TypeInitial', 'DECALE')
-         if str(self.dico_mot["TypeInitial"])=='Defaut Debouchant':
-            self.texteCuve += self.affecteValeur('TypeInitial', 'DEBOUCHANT')
+         self.texteCuve += self.affecteValeur('TypeInitial', self.valeurproposee[str(self.dico_mot["TypeInitial"])])
       else :
          self.texteCuve += self.affecteValeurDefaut('TypeInitial')
 
@@ -840,51 +964,53 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="#"+"\n"
 
       if self.dico_mot.has_key('Orientation'):
-         if str(self.dico_mot["Orientation"])=='Longitudinale':
-            self.texteCuve += self.affecteValeur('Orientation', 'LONGITUD')
-         if str(self.dico_mot["Orientation"])=='Circonferentielle':
-            self.texteCuve += self.affecteValeur('Orientation', 'CIRCONF')
+         self.texteCuve += self.affecteValeur('Orientation', self.valeurproposee[str(self.dico_mot["Orientation"])])
       else :
          self.texteCuve += self.affecteValeurDefaut('Orientation')
         
+      if self.dico_mot.has_key('Position'):
+         self.texteCuve += self.affecteValeur('Position', self.valeurproposee[str(self.dico_mot["Position"])])
+      else :
+         self.texteCuve += self.affecteValeurDefaut('Position')
+        
       self.texteCuve+="#"+"\n"
       self.texteCuve += self.ecritVariable('ProfondeurRadiale')
       self.texteCuve += self.ecritVariable('ProfondeurRadiale_mess')
 
       self.texteCuve+="#"+"\n"
-      if self.dico_mot.has_key('ModeCalculLongueur'):
-         if str(self.dico_mot["ModeCalculLongueur"])=='Valeur':
-            self.texteCuve += self.affecteValeur('ModeCalculLongueur', 'VALEUR')
-            self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
-            self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
-            self.texteCuve += self.ecritVariable('Longueur')
-            self.texteCuve += self.ecritVariable('Longueur_mess')
-         if str(self.dico_mot["ModeCalculLongueur"])=='Fonction affine de la profondeur':
-            self.texteCuve += self.affecteValeur('ModeCalculLongueur', 'FCTAFFINE')
-            self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
-            self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
-            self.texteCuve += self.ecritVariable('CoefDirecteur')
-            self.texteCuve += self.ecritVariable('CoefDirecteur_mess')
-            self.texteCuve += self.ecritVariable('Constante')
-      else :
-         self.texteCuve += self.affecteValeurDefaut('ModeCalculLongueur')
-         self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
-         self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
-         self.texteCuve += self.affecteValeurDefaut('Longueur')
-         self.texteCuve += self.affecteValeurDefaut('Longueur_mess')
+      if self.dico_mot.has_key('TypeInitial'):
+         if str(self.dico_mot["TypeInitial"])!='Defaut Debouchant':
+            if self.dico_mot.has_key('ModeCalculLongueur'):
+               self.texteCuve += self.affecteValeur('ModeCalculLongueur', self.valeurproposee[str(self.dico_mot["ModeCalculLongueur"])])
+               if str(self.dico_mot["ModeCalculLongueur"])=='Valeur':
+                  self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
+                  self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
+                  self.texteCuve += self.ecritVariable('Longueur')
+                  self.texteCuve += self.ecritVariable('Longueur_mess')
+               if str(self.dico_mot["ModeCalculLongueur"])=='Fonction affine de la profondeur':
+                  self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
+                  self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
+                  self.texteCuve += self.ecritVariable('CoefDirecteur')
+                  self.texteCuve += self.ecritVariable('CoefDirecteur_mess')
+                  self.texteCuve += self.ecritVariable('Constante')
+            else :
+               self.texteCuve += self.affecteValeurDefaut('ModeCalculLongueur')
+               self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
+               self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
+               self.texteCuve += self.affecteValeurDefaut('Longueur')
+               self.texteCuve += self.affecteValeurDefaut('Longueur_mess')
 
       if self.dico_mot.has_key('TypeInitial'):
-         if str(self.dico_mot["TypeInitial"])!='Defaut Sous Revetement':
+         if str(self.dico_mot["TypeInitial"])=='Defaut Decale':
             self.texteCuve+="#"+"\n"
             if self.dico_mot.has_key('ModeCalculDecalage'):
+               self.texteCuve += self.affecteValeur('ModeCalculDecalage', self.valeurproposee[str(self.dico_mot["ModeCalculDecalage"])])
                if str(self.dico_mot["ModeCalculDecalage"])=='Valeur normalisee':
-                  self.texteCuve += self.affecteValeur('ModeCalculDecalage', 'NORMALISE')
                   self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
                   self.texteCuve+="# - Si VALEUR,    fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
                   self.texteCuve += self.ecritVariable('DecalageNormalise')
                   self.texteCuve += self.ecritVariable('DecalageNormalise_mess')
                if str(self.dico_mot["ModeCalculDecalage"])=='Valeur':
-                  self.texteCuve += self.affecteValeur('ModeCalculDecalage', 'VALEUR')
                   self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
                   self.texteCuve+="# - Si VALEUR,    fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
                   self.texteCuve += self.ecritVariable('DecalageRadial')
@@ -904,40 +1030,16 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve += self.ecritVariable('Altitude_mess')
       self.texteCuve+="#"+"\n"
       if self.dico_mot.has_key('Pointe'):
-         if str(self.dico_mot["Pointe"])=='A':
-            self.texteCuve += self.affecteValeur('Pointe', 'A')
-         if str(self.dico_mot["Pointe"])=='B':
-            self.texteCuve += self.affecteValeur('Pointe', 'B')
-         if str(self.dico_mot["Pointe"])=='A et B':
-            self.texteCuve += self.affecteValeur('Pointe', 'BOTH')
-      else :
-         self.texteCuve += self.affecteValeurDefaut('Pointe')
+         self.texteCuve += self.affecteValeur('Pointe', self.valeurproposee[str(self.dico_mot["Pointe"])])
+      #else :
+      #   self.texteCuve += self.affecteValeurDefaut('Pointe')
 
       # Rubrique MODELES FLUENCE, IRRADIATION, TENACITE
       self.texteCuve += self.rubrique('MODELES FLUENCE, IRRADIATION, TENACITE')
       self.texteCuve += self.sousRubrique('Modele d attenuation de la fluence dans l epaisseur','A.')
 
       if self.dico_mot.has_key('ModeleFluence'):
-         if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=9.7 (Reglementaire)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'Reglementaire')
-         if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=12.7 (France)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'France')
-         if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=0. (ValeurImposee)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'ValeurImposee')
-         if str(self.dico_mot["ModeleFluence"])=='Donnees francaises du palier CPY (SDM)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'SDM')
-         if str(self.dico_mot["ModeleFluence"])=='Regulatory Guide 1.99 rev 2 (USNRC)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'USNRC')
-         if str(self.dico_mot["ModeleFluence"])=='Dossier 900 MWe AP9701 rev 2 (REV_2)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'REV_2')
-         if str(self.dico_mot["ModeleFluence"])=='Lissage du modele ajuste (SDM_Lissage)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'SDM_Lissage')
-         if str(self.dico_mot["ModeleFluence"])=='Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'GrandeDev')
-         if str(self.dico_mot["ModeleFluence"])=='Grand developpement (GD_Cuve)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'GD_Cuve')
-         if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=9.7 (Reglementaire CUVE1D)':
-            self.texteCuve += self.affecteValeur('ModeleFluence', 'Cuve1D')
+         self.texteCuve += self.affecteValeur('ModeleFluence', self.valeurproposee[str(self.dico_mot["ModeleFluence"])])
       else :
          self.texteCuve += self.affecteValeurDefaut('ModeleFluence')
 
@@ -969,47 +1071,35 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve += self.sousRubrique('Irradiation','B.')
 
       if self.dico_mot.has_key('TypeIrradiation'):
+         self.texteCuve += self.affecteValeur('TypeIrradiation', self.valeurproposee[str(self.dico_mot["TypeIrradiation"])])
 
          if str(self.dico_mot["TypeIrradiation"])=='RTndt de la cuve a l instant de l analyse':
-            self.texteCuve += self.affecteValeur('TypeIrradiation', 'RTNDT')
             self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
             self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
             self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('RTNDT')
 
          if str(self.dico_mot["TypeIrradiation"])=='Modele d irradiation':
-            self.texteCuve += self.affecteValeur('TypeIrradiation', 'FLUENCE')
             self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
             self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
             self.texteCuve+="#"+"\n"
             if self.dico_mot.has_key('ModeleIrradiation'):
-               if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Houssin':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'HOUSSIN')
-               if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Persoz':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'PERSOZ')
-               if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Lefebvre':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'LEFEBVRE')
-               if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : Regulatory Guide 1.00 rev 2':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'USNRCmdb')
-               if str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : formulation de FIM/FIS Brillaud':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'BRILLAUD')
-               if str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : Regulatory Guide 1.00 rev 2':
-                  self.texteCuve += self.affecteValeur('ModeleIrradiation', 'USNRCsoud')
+               self.texteCuve += self.affecteValeur('ModeleIrradiation', self.valeurproposee[str(self.dico_mot["ModeleIrradiation"])])
             else :
               self.texteCuve += self.affecteValeurDefaut('ModeleIrradiation')
-            self.texteCuve+="# - pour tout modele,                       fournir (CU, CU_MESSAGE),"+"\n"
-            self.texteCuve+="#                                                   (NI, NI_MESSAGE),"+"\n"
-            self.texteCuve+="# - si HOUSSIN, PERSOZ, LEFEBVRE, BRILLAUD, fournir (P, P_MESSAGE)"+"\n"
-            self.texteCuve+="# - pour tout modele,                       fournir (RTimoy, RTimoy_MESSAGE),"+"\n"
-            self.texteCuve+="# - si USNRCsoud ou USNRCmdb,               fournir (RTicov, RTicov_MESSAGE)"+"\n"
-            self.texteCuve+="#                                                   (USectDRT, USectDRT_MESSAGE)"+"\n"
-            self.texteCuve+="# - pour tout modele,                       fournir (nbectDRTNDT, nbectDRTNDT_MESSAGE)"+"\n"
+            self.texteCuve+="# - pour tout modele,                                 fournir (CU, CU_MESSAGE),"+"\n"
+            self.texteCuve+="#                                                             (NI, NI_MESSAGE),"+"\n"
+            self.texteCuve+="# - si HOUSSIN, PERSOZ, LEFEBVRE, BRILLAUD, LEFEBnew, fournir (P, P_MESSAGE)"+"\n"
+            self.texteCuve+="# - pour tout modele,                                 fournir (RTimoy, RTimoy_MESSAGE),"+"\n"
+            self.texteCuve+="# - si USNRCsoud ou USNRCmdb,                         fournir (RTicov, RTicov_MESSAGE)"+"\n"
+            self.texteCuve+="#                                                             (USectDRT, USectDRT_MESSAGE)"+"\n"
+            self.texteCuve+="# - pour tout modele,                                 fournir (nbectDRTNDT, nbectDRTNDT_MESSAGE)"+"\n"
             self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('TeneurCuivre')
             self.texteCuve += self.ecritVariable('TeneurCuivre_mess')
             self.texteCuve += self.ecritVariable('TeneurNickel')
             self.texteCuve += self.ecritVariable('TeneurNickel_mess')
-            if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Houssin' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Persoz' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Lefebvre' or str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : formulation de FIM/FIS Brillaud':
+            if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Houssin' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Persoz' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Lefebvre' or str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : formulation de FIM/FIS Brillaud' or str(self.dico_mot["ModeleIrradiation"])=='Formule de FIM/FIS Lefebvre modifiee':
                self.texteCuve += self.ecritVariable('TeneurPhosphore')
                self.texteCuve += self.ecritVariable('TeneurPhosphore_mess')
             self.texteCuve += self.ecritVariable('MoyenneRTndt')
@@ -1032,32 +1122,7 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="# tenacite d amorcage"+"\n"
 
       if self.dico_mot.has_key('ModeleTenacite'):
-         if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M')
-         if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2 CUVE1D':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_simpl')
-         if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2.33 (Houssin)':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'Houssin_RC')
-         if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME avec KI=KIpalier':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_pal')
-         if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME avec KI~exponentiel':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_exp')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'Wallin')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve (REME)':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'REME')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'ORNL')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB2')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB3')
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB-GEN')
-         if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb01 (Frama)':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'Frama')
-         if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb02 (LOGWOLF)':
-            self.texteCuve += self.affecteValeur('ModeleTenacite', 'LOGWOLF')
+         self.texteCuve += self.affecteValeur('ModeleTenacite', self.valeurproposee[str(self.dico_mot["ModeleTenacite"])])
       else :
          self.texteCuve += self.affecteValeurDefaut('ModeleTenacite')
       self.texteCuve+="# - si RCC-M, RCC-M_pal, Houssin_RC, fournir (nbectKIc, nbectKIc_MESSAGE), KICPAL, KICCDV"+"\n"
@@ -1074,11 +1139,17 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="#               b(T) = B1 + B2*exp[B3*(T-RTNDT)]"+"\n"
       self.texteCuve+="#               c(T) = C1 + C2*exp[C3*(T-RTNDT)]"+"\n"
       self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Correction de la longueur"+"\n"
+      self.texteCuve += self.ecritVariable('ChoixCorrectionLongueur')
+      self.texteCuve+="#"+"\n"
       if self.dico_mot.has_key('ModeleTenacite'):
-         if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02' :
-            self.texteCuve += self.ecritVariable('NBRE_CARACTERISTIQUE')
-            self.texteCuve+="# - Si CARAC = QUANTILE, fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
-            self.texteCuve+="# - Si CARAC = ORDRE,    fournir (fractKIc, fractKIc_MESSAGE)"+"\n"
+         if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' or str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve (REME)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02' or str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee' :
+            if self.dico_mot.has_key('NombreCaracteristique'):
+               self.texteCuve += self.affecteValeur('NombreCaracteristique', self.valeurproposee[str(self.dico_mot["NombreCaracteristique"])])
+            else :
+               self.texteCuve += self.affecteValeurDefaut('NombreCaracteristique')
+            self.texteCuve+="# - Si NBCARAC = QUANTILE, fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
+            self.texteCuve+="# - Si NBCARAC = ORDRE,    fournir (fractKIc, fractKIc_MESSAGE)"+"\n"
 
          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2' or str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME avec KI=KIpalier' or str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2.33 (Houssin)' :
             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
@@ -1091,10 +1162,10 @@ class Cuve2dgGenerator(PythonGenerator):
             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
 
          if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve (REME)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02' or str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' or str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee':
-            if str(self.dico_mot["NBRE_CARACTERISTIQUE"])=='QUANTILE' :
+            if str(self.dico_mot["NombreCaracteristique"])=='Quantile' :
                self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
                self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
-            if str(self.dico_mot["NBRE_CARACTERISTIQUE"])=='ORDRE' :
+            if str(self.dico_mot["NombreCaracteristique"])=='Ordre' :
                self.texteCuve += self.ecritVariable('Fractile_KIc')
                self.texteCuve += self.ecritVariable('Fractile_KIc_mess')
 
@@ -1120,6 +1191,8 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="#"+"\n"
       self.texteCuve+="# Correction plastique"+"\n"
 
+      #DTV if self.dico_mot.has_key('TypeInitial'):
+      #DTV    if str(self.dico_mot["TypeInitial"])!='Defaut Debouchant':
       if self.dico_mot.has_key('CorrectionPlastique'):
          if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA (pour DSR et defaut decale)':
             self.texteCuve += self.affecteValeur('AttnCorrBeta','NON')
@@ -1152,12 +1225,16 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="# Profil radial de la temperature initiale dans la cuve"+"\n"
       self.texteCuve+="# abscisse (m) / temp initiale dans la cuve"+"\n"
       self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
+      if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+         self.texteCuve+="#BLOC_TFDEBIT"+"\n"
       if self.dico_mot.has_key('ProfilRadial_TemperatureInitiale'):
          self.imprime(2,(self.dico_mot["ProfilRadial_TemperatureInitiale"]))
          self.texteCuve += self.amontAval('Amont_TemperatureInitiale','Aval_TemperatureInitiale')
       else :
          self.texteCuve+="    1.9940    287."+"\n"
          self.texteCuve+="CC"+"\n"
+      if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+         self.texteCuve+="#BLOC_TFDEBIT"+"\n"
 
       self.texteCuve+="#"+"\n"
       self.texteCuve+="# Profils radiaux des contraintes residuelles dans la cuve"+"\n"
@@ -1170,6 +1247,15 @@ class Cuve2dgGenerator(PythonGenerator):
          self.texteCuve+="1.994     0. 0.  0."+"\n"
          self.texteCuve+="CC"+"\n"
 
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Prise en compte de coefficients sur les contraintes"+"\n"
+      self.texteCuve += self.ecritVariable('ChoixCoefficientChargement')
+      if str(self.dico_mot["ChoixCoefficientChargement"])=='OUI':
+         self.texteCuve += self.ecritVariable('CoefficientDuctile')
+         self.texteCuve += self.ecritVariable('CoefficientFragile')
+      else :
+         self.texteCuve+="#"+"\n"
+
       self.texteCuve+="#"+"\n"
       self.texteCuve+="# Instant initial"+"\n"
       self.texteCuve += self.ecritVariable('InstantInitialisation')
@@ -1177,7 +1263,10 @@ class Cuve2dgGenerator(PythonGenerator):
       # Rubrique CARACTERISTIQUES DU REVETEMENT
       self.texteCuve += self.rubrique('CARACTERISTIQUES DU REVETEMENT')
 
-      self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueREV')
+      if self.dico_mot.has_key('ConditionLimiteThermiqueREV'):
+         self.texteCuve += self.affecteValeur('ConditionLimiteThermiqueREV', self.valeurproposee[str(self.dico_mot["ConditionLimiteThermiqueREV"])])
+      else :
+         self.texteCuve += self.affecteValeurDefaut('ConditionLimiteThermiqueREV')
       self.texteCuve+="# - si CHALEUR,   fournir Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
       self.texteCuve+="# - si ENTHALPIE, fournir Temperature (degC) / enthalpie (J/kg)"+"\n"
       self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
@@ -1254,7 +1343,10 @@ class Cuve2dgGenerator(PythonGenerator):
       # Rubrique CARACTERISTIQUES DU METAL DE BASE
       self.texteCuve += self.rubrique('CARACTERISTIQUES DU METAL DE BASE')
 
-      self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueMDB')
+      if self.dico_mot.has_key('ConditionLimiteThermiqueMDB'):
+         self.texteCuve += self.affecteValeur('ConditionLimiteThermiqueMDB', self.valeurproposee[str(self.dico_mot["ConditionLimiteThermiqueMDB"])])
+      else :
+         self.texteCuve += self.affecteValeurDefaut('ConditionLimiteThermiqueMDB')
 
       self.texteCuve+="# - si CHALEUR,   fournir Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
       self.texteCuve+="# - si ENTHALPIE, fournir Temperature (degC) / enthalpie (J/kg)"+"\n"
@@ -1324,6 +1416,8 @@ class Cuve2dgGenerator(PythonGenerator):
 
       self.texteCuve+="# instant (s) / pression (MPa)"+"\n"
       self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
+      if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+         self.texteCuve+="#BLOC_TFDEBIT"+"\n"
       if self.dico_mot.has_key('ProfilTemporel_Pression'):
          self.imprime(2,(self.dico_mot["ProfilTemporel_Pression"]))
          self.texteCuve += self.amontAval('Amont_Pression','Aval_Pression')
@@ -1333,21 +1427,16 @@ class Cuve2dgGenerator(PythonGenerator):
          self.texteCuve+="200.  0.1 "+"\n"
          self.texteCuve+="1000. 0.1 "+"\n"
          self.texteCuve+="CC"+"\n"
+      if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+         self.texteCuve+="#BLOC_TFDEBIT"+"\n"
 
       self.texteCuve += self.sousRubrique('Chargement thermo-hydraulique','')
       if self.dico_mot.has_key('TypeConditionLimiteThermique'):
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee en paroi':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'TEMP_IMPO')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'FLUX_REP')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'ECHANGE')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'DEBIT')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'TEMP_FLU')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
-            self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'APRP')
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+         self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', self.valeurproposee[str(self.dico_mot["TypeConditionLimiteThermique"])])
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
       else :
          self.texteCuve += self.affecteValeurDefaut('TypeConditionLimiteThermique')
 
@@ -1358,28 +1447,31 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="# - si DEBIT,     fournir Instant (s) / Debit massique (kg/s)"+"\n"
       self.texteCuve+="#                    puis Instant (s) / Temperature d injection de securite  (degC)"+"\n"
       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
-      self.texteCuve+="#                    puis Modele CREARE  : (VM, VM_MESSAGE), (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
+      self.texteCuve+="#                    puis Modele CREARE  : "+"\n"
+      self.texteCuve+="#                        Instants(s) / Volume de melange CREARE (m3)"+"\n"
+      self.texteCuve+="#                        puis (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
       self.texteCuve+="# - si TEMP_FLU,  fournir Instant (s) / Temperature du fluide (degC)"+"\n"
       self.texteCuve+="#                    puis Instant (s) / Debit d injection de securite  (kg/s)"+"\n"
       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
-      self.texteCuve+="# - si APRP,      fournir INSTANT1, INSTANT2, QACCU, QIS"+"\n"
-      self.texteCuve+="#                    puis TIS_MESSAGE"+"\n"
+      self.texteCuve+="# - si TFDEBIT,   fournir INST_PCN et TIS"+"\n"
+      self.texteCuve+="#                 fournir Instant (s) / Temperature du fluide (degC)"+"\n"
+      self.texteCuve+="#                    puis Instant (s) / Debit d injection de securite  (kg/s)"+"\n"
+      self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
+      self.texteCuve+="#                    puis Modele CREARE  : "+"\n"
+      self.texteCuve+="#                        Instants(s) / Volume de melange CREARE (m3)"+"\n"
+      self.texteCuve+="#                        puis (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
+      self.texteCuve+="# - si APRP,      fournir INSTANT1, INSTANT2, INSTANT3, QACCU, QIS, (TIS, TIS_MESSAGE)"+"\n"
       self.texteCuve+="#                    puis Instant (s) / Temperature du fluide (degC) tel que dans l'exemple ci-dessous"+"\n"
       self.texteCuve+="#                         0.    286."+"\n"
       self.texteCuve+="#                         12.   20.             # 1er palier à T=TACCU"+"\n"
-      self.texteCuve+="#                         20.   20.             # idem que ci-dessus"+"\n"
-      self.texteCuve+="#                         21.   18.             # 2nd palier à T=T1 : sera remplace par nouvelle valeur calculee par fonction idoine"+"\n"
-      self.texteCuve+="#                         45.   18.             # idem que ci-dessus"+"\n"
-      if self.dico_mot.has_key('TypeConditionLimiteThermique'):
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
-            self.texteCuve+="#                         46.   9999999999.     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
-         else :
-            self.texteCuve+="#                         46.   %INLET-TIS%     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
-      else :
-         self.texteCuve+="#                         46.   %INLET-TIS%     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
-      self.texteCuve+="#                         1870. 9999999999.     # idem que ci-dessus"+"\n"
+      self.texteCuve+="#                         20.   20.             # idem que ci-dessus : T=TACCU"+"\n"
+      self.texteCuve+="#                         21.   999999.         # 2nd palier à T=T1 : sera remplace par nouvelle valeur calculee par fonction idoine"+"\n"
+      self.texteCuve+="#                         45.   999999.         # idem que ci-dessus : T=T1"+"\n"
+      self.texteCuve+="#                         46.   9.              # 3eme palier à T=TIS, temperature d injection de securite : sa valeur est reactualisee avec la donnee de TIS ci-dessous"+"\n"
+      self.texteCuve+="#                         1870. 9.              # idem que ci-dessus : T=TIS"+"\n"
       self.texteCuve+="#                         1871. 80."+"\n"
       self.texteCuve+="#                         3871. 80."+"\n"
+      self.texteCuve+="#                         CC                    # C pour Constant, E pour Exclu, L pour Lineaire"+"\n"
       self.texteCuve+="#                    puis Instant (s) / Debit d injection de securite  (kg/s)"+"\n"
       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
       self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
@@ -1387,18 +1479,29 @@ class Cuve2dgGenerator(PythonGenerator):
 
       if self.dico_mot.has_key('TypeConditionLimiteThermique'):
 
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+            self.texteCuve += self.ecritVariable('InstantPerteCirculationNaturelle')
+            self.texteCuve += self.ecritVariable('TempInjectionSecurite')
+            self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+
          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
             self.texteCuve+="#"+"\n"
             self.texteCuve+="# Definition de parametres pour le cas d un transitoire APRP"+"\n"
             self.texteCuve += self.ecritVariable('Instant_1')
             self.texteCuve += self.ecritVariable('Instant_2')
+            self.texteCuve += self.ecritVariable('Instant_3')
             self.texteCuve += self.ecritVariable('DebitAccumule')
             self.texteCuve += self.ecritVariable('DebitInjectionSecurite')
+            self.texteCuve += self.ecritVariable('TempInjectionSecurite')
             self.texteCuve += self.ecritVariable('TempInjectionSecurite_mess')
 
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee en paroi' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee en paroi' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
             self.texteCuve+="#"+"\n"
             self.texteCuve+="# instant (s) / temperature imposee du fluide (degC)"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
             if self.dico_mot.has_key('ProfilTemporel_TemperatureImposeeFluide'):
                self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureImposeeFluide"]))
                self.texteCuve += self.amontAval('Amont_TemperatureImposeeFluide','Aval_TemperatureImposeeFluide')
@@ -1408,6 +1511,8 @@ class Cuve2dgGenerator(PythonGenerator):
                self.texteCuve+="200.  7. "+"\n"
                self.texteCuve+="1000. 80. "+"\n"
                self.texteCuve+="CC"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
 
          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
             self.texteCuve+="#"+"\n"
@@ -1423,9 +1528,11 @@ class Cuve2dgGenerator(PythonGenerator):
                self.texteCuve+="1000.  -56372."+"\n"
                self.texteCuve+="CC"+"\n"
 
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
             self.texteCuve+="#"+"\n"
             self.texteCuve+="# instant (s) / Debit d injection de securite  (kg/s)"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
             if self.dico_mot.has_key('ProfilTemporel_DebitInjection'):
                self.imprime(2,(self.dico_mot["ProfilTemporel_DebitInjection"]))
                self.texteCuve += self.amontAval('Amont_DebitInjection','Aval_DebitInjection')
@@ -1435,6 +1542,8 @@ class Cuve2dgGenerator(PythonGenerator):
                self.texteCuve+="200.  340. "+"\n"
                self.texteCuve+="1000. 31.1 "+"\n"
                self.texteCuve+="CC"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
 
          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' :
             self.texteCuve+="#"+"\n"
@@ -1474,10 +1583,12 @@ class Cuve2dgGenerator(PythonGenerator):
                self.texteCuve+="1000. 7.0 "+"\n"
                self.texteCuve+="CC"+"\n"
 
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
             self.texteCuve+="#"+"\n"
             self.texteCuve+="# Transitoire des coefficients d echange : modele VESTALE"+"\n"
             self.texteCuve+="#"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
             self.texteCuve += self.ecritVariable('DiametreHydraulique')
             self.texteCuve += self.ecritVariable('DiametreHydraulique_mess')
             self.texteCuve+="#"+"\n"
@@ -1489,18 +1600,37 @@ class Cuve2dgGenerator(PythonGenerator):
             self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('CritereConvergenceRelative')
             self.texteCuve += self.ecritVariable('CoefficientsVestale')
-         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite':
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' :
             self.texteCuve+="#"+"\n"
             self.texteCuve+="# Transitoire de temperature fluide locale : modele CREARE"+"\n"
             self.texteCuve+="#"+"\n"
-            self.texteCuve += self.ecritVariable('VolumeMelange_CREARE')
-            self.texteCuve += self.ecritVariable('VolumeMelange_CREARE_mess')
-            self.texteCuve+="#"+"\n"
+            #self.texteCuve += self.ecritVariable('VolumeMelange_CREARE')
+            self.texteCuve+="# instant (s) / Volume de melange CREARE  (m3)"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+            if self.dico_mot.has_key('ProfilTemporel_VolumeMelange_CREARE'):
+               self.imprime(2,(self.dico_mot["ProfilTemporel_VolumeMelange_CREARE"]))
+               self.texteCuve += self.amontAval('Amont_VolumeMelange_CREARE','Aval_VolumeMelange_CREARE')
+           else :
+               self.texteCuve+="0.    14.3 "+"\n"
+               self.texteCuve+="20.   14.2 "+"\n"
+               self.texteCuve+="CC"+"\n"
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
+            else :
+               self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE')
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
             self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE_mess')
             self.texteCuve+="#"+"\n"
             self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure')
             self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
+            if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
+               self.texteCuve+="#BLOC_TFDEBIT"+"\n"
       else :
          self.texteCuve+="#"+"\n"
          self.texteCuve+="# instant (s) / temperature imposee du fluide (degC)"+"\n"
@@ -1513,6 +1643,54 @@ class Cuve2dgGenerator(PythonGenerator):
       self.texteCuve+="############################################################################################"+"\n"
 
 
+   def genereTexteTFDEBIT(self):
+
+      self.texteTFDEBIT = ""
+
+      if self.dico_mot.has_key('TypeConditionLimiteThermique'):
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' :
+            self.texteTFDEBIT+="# instant (s) / pression (MPa)"+"\n"
+            self.texteTFDEBIT+=" "+"\n"
+            self.imprime2(2,(self.dico_mot["ProfilTemporel_Pression"]))
+            self.texteTFDEBIT += self.amontAval('Amont_Pression','Aval_Pression')
+
+       #     self.texteTFDEBIT+=" "+"\n"
+       #     self.texteTFDEBIT += self.affecteValeur('TypeConditionLimiteThermique', self.valeurproposee[str(self.dico_mot["TypeConditionLimiteThermique"])])
+
+            self.texteTFDEBIT+=" "+"\n"
+            self.imprime2(2,(self.dico_mot["ProfilTemporel_TemperatureImposeeFluide"]))
+            self.texteTFDEBIT += self.amontAval('Amont_TemperatureImposeeFluide','Aval_TemperatureImposeeFluide')
+
+            self.texteTFDEBIT+=" "+"\n"
+            self.imprime2(2,(self.dico_mot["ProfilTemporel_DebitInjection"]))
+            self.texteTFDEBIT += self.amontAval('Amont_DebitInjection','Aval_DebitInjection')
+
+            self.texteTFDEBIT+=" "+"\n"
+            self.texteTFDEBIT += self.ecritVariable('DiametreHydraulique')
+            self.texteTFDEBIT += self.ecritVariable('DiametreHydraulique_mess')
+            self.texteTFDEBIT+="#"+"\n"
+            self.texteTFDEBIT += self.ecritVariable('SectionEspaceAnnulaire')
+            self.texteTFDEBIT += self.ecritVariable('SectionEspaceAnnulaire_mess')
+            self.texteTFDEBIT+="#"+"\n"
+            self.texteTFDEBIT += self.ecritVariable('HauteurCaracConvectionNaturelle')
+            self.texteTFDEBIT += self.ecritVariable('HauteurCaracConvectionNaturelle_mess')
+            self.texteTFDEBIT+="#"+"\n"
+            self.texteTFDEBIT += self.ecritVariable('CritereConvergenceRelative')
+            self.texteTFDEBIT += self.ecritVariable('CoefficientsVestale')
+
+            self.texteTFDEBIT+=" "+"\n"
+            self.imprime2(2,(self.dico_mot["ProfilTemporel_VolumeMelange_CREARE"]))
+            self.texteTFDEBIT += self.amontAval('Amont_VolumeMelange_CREARE','Aval_VolumeMelange_CREARE')
+
+            self.texteTFDEBIT+=" "+"\n"
+            self.texteTFDEBIT += self.ecritVariable('SurfaceEchange_FluideStructure')
+            self.texteTFDEBIT += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
+            self.texteTFDEBIT += self.ecritVariable('InstantPerteCirculationNaturelle')
+            self.texteTFDEBIT += self.ecritVariable('TempInjectionSecurite')
+         else :
+            self.texteTFDEBIT+="Fichier inutile"+"\n"
+
+
    def imprime(self,nbdeColonnes,valeur):
       self.liste=[]
       self.transforme(valeur)
@@ -1523,6 +1701,16 @@ class Cuve2dgGenerator(PythonGenerator):
           self.texteCuve+="\n"
           i=i+k+1
                
+   def imprime2(self,nbdeColonnes,valeur):
+      self.liste=[]
+      self.transforme(valeur)
+      i=0
+      while i < len(self.liste):
+          for k in range(nbdeColonnes) :
+              self.texteTFDEBIT+=str(self.liste[i+k]) +"  "
+          self.texteTFDEBIT+="\n"
+          i=i+k+1
+               
 
    def transforme(self,valeur):
       for i in valeur :