]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 26 Jan 2010 10:02:42 +0000 (10:02 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 26 Jan 2010 10:02:42 +0000 (10:02 +0000)
Cuve2dg/Cuve2dg_Cata_V1.py [new file with mode: 0644]
Cuve2dg/Cuve2dg_Cata_V2.py [new file with mode: 0644]
Cuve2dg/Cuve2dg_Cata_V3.py [new file with mode: 0644]
Cuve2dg/Cuve2dg_Cata_VPN.py [new file with mode: 0644]
Cuve2dg/generator_cuve2dg.py [new file with mode: 0644]
Cuve2dg/sdistCuveqt.py [new file with mode: 0644]
InterfaceQT4/monPlusieursBasePanel.py
InterfaceQT4/monUniqueBasePanel.py

diff --git a/Cuve2dg/Cuve2dg_Cata_V1.py b/Cuve2dg/Cuve2dg_Cata_V1.py
new file mode 100644 (file)
index 0000000..47e2364
--- /dev/null
@@ -0,0 +1,2264 @@
+# -*- 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 = 'CUVE1D-DEFAILLGLOB',
+                 execmodul = None,
+                 regles = ( AU_MOINS_UN ('OPTIONS','DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'), 
+                            AU_MOINS_UN ( 'FIN' ), 
+                            A_CLASSER ( ('OPTIONS', 'DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'),'FIN')
+                          )
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# fin entete
+# --------------------------------------------------
+
+
+
+
+
+
+#================================
+# 1. Definition des OPTIONS
+#================================
+
+# 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)
+
+OPTIONS = OPER ( nom = "OPTIONS",
+                 sd_prod = loi,
+                 op = 68,
+                 fr = "Definitions des options", 
+
+#===
+# Liste des paramètres
+#===
+
+  INCRTPS = SIMP ( statut = "o",
+                   typ = "I",
+                   defaut = "1",
+                  max = 1,
+                   val_max = 100,
+                   fr = "Increment temporel (=1 pour calcul deterministe)",
+                  ),
+
+  DTPREC = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.1",
+                  max = 1,
+                  val_max = 1.,
+                  fr = "Increment maximum d'evolution de la temperature par noeud et par instant (°C)",
+                ),
+
+  DTARCH = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "1000.",
+                 max = 1,
+                  val_max = 1000.,
+                  fr = "Increment maximum de temps pour l'affichage (s)",
+                ),
+
+  NBO = SIMP ( statut = "o",
+               typ = "R",
+              max=1,
+               val_max = 1000.,
+               fr = "Nombre de noeuds a considerer dans le maillage interne",
+              ),
+
+  Liste_instants = SIMP ( statut = "o",
+                          typ = "R",
+                          max = "**",
+                          fr = "Liste des instants ",
+                        ),
+
+) # Fin OPER OPTIONS
+
+#================================
+# 2. Caracteristiques du DEFAUT
+#================================
+
+# 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)
+DEFAUT = OPER ( nom = "DEFAUT",
+                sd_prod = loi,
+                op = 68,
+                fr = "Caracteristiques du defaut", 
+
+#===
+# Liste des paramètres
+#===
+
+  TYPEDEF = SIMP ( statut = "o", typ = "TXM",
+                   into = ( "DSR",
+                            "DD",
+                          ),
+                   #defaut = "DSR",
+                   fr = "Type de defaut : sous revetement ou debouchant",
+                  ),
+
+#====
+# Definition des parametres selon le type du defaut
+#====
+
+  Parametres_DSR = BLOC ( condition = " TYPEDEF in ( 'DSR', ) ",
+
+                  ORIEDEF = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( "LONGITUD", "CIRCONF" ),
+                                   #defaut = "LONGITUD",
+                                   fr = "Orientation du defaut : longitudinale ou circonferentielle",
+                                 ),
+
+                  PROFDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   #defaut = "0.006",
+                                   max = 1,
+                                   val_max = 1.,
+                                   fr = "Profondeur radiale du defaut (m)",
+                                 ),
+
+                  OPTLONG = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( "VALEUR", "RAPPORT" ),
+                                   #defaut = "VALEUR",
+                                   fr = "Option pour caracteriser la longueur du defaut : soit par valeur, soit par un rapport LONG/PROF",
+                                 ),
+
+                    Option_Valeur = BLOC ( condition = "OPTLONG in ( 'VALEUR', ) ",
+
+                            LONGDEF = SIMP ( statut = "o",
+                                             typ = "R",
+                                             #defaut = "0.060",
+                                             max = 1,
+                                             val_max = 1.,
+                                             fr = "Longueur du defaut sous revetement (m)",
+                                            ),
+
+                                         ), # Fin BLOC Option_Valeur
+
+                    Option_Rapport = BLOC ( condition = "OPTLONG in ( 'RAPPORT', ) ",
+
+                            LONGSURPROF = SIMP ( statut = "o",
+                                                 typ = "R",
+                                                 #defaut = "6.",
+                                                 max = 1,
+                                                 val_max = 100.,
+                                                 fr = "Rapport longueur/profondeur du defaut sous revetement",
+                                                ),
+
+                                          ), # Fin BLOC Option_Rapport
+
+                  DECADEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   #defaut = "-0.00001",
+                                   fr = "Decalage radial du defaut sous revetement (m)",
+                                  ),
+
+                  ANGLDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.",
+                                   fr = "Coordonnee angulaire du defaut (degres)",
+                                  ),
+
+                  ALTIDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "2.",
+                                   fr = "Altitude du defaut (m)",
+                                  ),
+
+                  POINDEF = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( "A", "B" ),
+                                   defaut = "A",
+                                   fr = "Choix du point considere du defaut sous revetement",
+                                  ),
+
+                  ARRETFISSURE = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( "OUI", "NON" ),
+                                        defaut = "NON",
+                                        fr = "Prise en compte de l arret de fissure",
+                                       ),
+
+                  INCRDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.005",
+                                   fr = "Increment de la taille de fissure (m)",
+                                  ),
+
+                  CORRECPLASTIC = SIMP ( statut = "o",
+                                         typ = "TXM",
+                                         into = ( "OUI", "NON" ),
+                                         defaut = "NON",
+                                         fr = "Prise en compte de la correction plastique BETA ",
+                                        ),
+
+                         ), # Fin BLOC Parametres_DSR
+
+  Parametres_DD = BLOC ( condition = " TYPEDEF in ( 'DD', ) ",
+
+                  ORIEDEF = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( "LONGITUD", "CIRCONF" ),
+                                   #defaut = "LONGITUD",
+                                   fr = "Orientation du defaut : longitudinale ou circonferentielle",
+                                  ),
+
+                  PROFDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   #defaut = "0.006",
+                                   max = 1,
+                                   val_max = 1.,
+                                   fr = "Profondeur radiale du defaut (m)",
+                                  ),
+
+                  ANGLDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.",
+                                   fr = "Coordonnee angulaire du defaut (degres)",
+                                  ),
+
+                  ALTIDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "2.",
+                                   fr = "Altitude du defaut (m)",
+                                  ),
+
+                  ARRETFISSURE = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( "OUI", "NON" ),
+                                        defaut = "NON",
+                                        fr = "Prise en compte de l arret de fissure",
+                                       ),
+
+                  INCRDEF = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.005",
+                                   fr = "Increment de la taille de fissure (m)",
+                                  ),
+
+                  IRWIN = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( "OUI", "NON" ),
+                                 defaut = "NON",
+                                 fr = "Prise en compte de la correction plastique d'Irwin ",
+                                ),
+
+                  CORRECPLASTIC = SIMP ( statut = "o",
+                                         typ = "TXM",
+                                         into = ( "OUI", "NON" ),
+                                         defaut = "NON",
+                                         fr = "Prise en compte de la correction plastique BETA ",
+                                        ),
+
+                        ), # Fin BLOC Parametres_DD 
+
+) # Fin OPER DEFAUT
+
+
+#================================
+# 3. Caracteristiques de la CUVE
+#================================
+
+# 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)
+CUVE = OPER (nom = "CUVE",
+             sd_prod = loi,
+             op = 68,
+             fr = "Caracteristiques de la cuve", 
+
+#===
+# Liste des paramètres
+#===
+
+  TYPEGEOM = SIMP ( statut = "o",
+                    typ = "TXM",
+                   into = ( "GEOMETRIE", "MAILLAGE"), 
+                    #defaut = "GEOMETRIE",
+                    fr = "Traitement de la geometrie d'une cuve",
+                   ),
+
+
+#====
+# Definition des parametres selon le type de traitement de la geometrie
+#====
+
+  Geometrie = BLOC ( condition = " TYPEGEOM in ( 'GEOMETRIE', ) ",
+
+                  RINT = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "1.994",
+                                fr = "Rayon interne de la cuve (m)",
+                               ),
+
+                  REXT = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "2,2015",
+                                fr = "Rayon externe de la cuve (m)",
+                               ),
+
+                  LREV = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "0.0075",
+                                fr = "Epaisseur du revetement (m)",
+                               ),
+
+                  LIGMIN = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.75",
+                                  fr = "Ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
+                                 ),
+
+                     ), # Fin BLOC  Geometrie
+
+  Maillage = BLOC ( condition = " TYPEGEOM in ( 'MAILLAGE', ) ",
+
+                  Liste_abscisses = SIMP ( statut = "o",
+                                           typ = "R",
+                                           max = "**",
+                                           fr = "Liste des abscisses (m) A FAIRE",
+                                          ),
+                   ), # Fin BLOC Maillage
+
+) # Fin OPER CUVE
+
+#====================================================
+# 4. Modeles de fluence, d'irradiation et de tenacite
+#====================================================
+
+#=======================
+# 4.1 Modeles de fluence
+#=======================
+
+# 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)
+MODELES = OPER ( nom = "MODELES",
+                 sd_prod = loi,
+                 op = 68,
+                 fr = "Modeles de fluence, d'irradiation et de tenacite", 
+
+
+#===
+# Liste des paramètres
+#===
+
+  MODELFLUENCE = SIMP ( statut = "o",
+                        typ = "TXM",
+                       into = ( "Reglementaire", "France", "ValeurImposee", "SDM", "USNRC", "REV_2", "SDM_Lissage", "GrandeDev", "GD_Cuve"), 
+                        #defaut = "Reglementaire",
+                        fr = "Modele d'attenuation de la fluence dans l'epaisseur de la cuve",
+                       ),
+
+
+#====
+# Definition des parametres selon le modele de fluence
+#====
+
+  Reglementaire = BLOC ( condition = " MODELFLUENCE in ( 'Reglementaire', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                        ), # Fin BLOC Reglementaire
+
+  France = BLOC ( condition = " MODELFLUENCE in ( 'France', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                 KPFRANCE = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "12.7",
+                                    fr = "Parametre exponentiel du modele France",
+                                   ),
+
+                   ), # Fin BLOC France
+
+  ValeurImposee = BLOC ( condition = " MODELFLUENCE in ( 'ValeurImposee', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                         ), # Fin BLOC ValeurImposee
+
+  SDM = BLOC ( condition = " MODELFLUENCE in ( 'SDM', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+              ), # Fin BLOC SDM
+
+  USNRC = BLOC ( condition = " MODELFLUENCE in ( 'USNRC', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                 KPUS = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "9.4488",
+                                fr = "Parametre exponentiel du modele US",
+                               ),
+
+                ), # Fin BLOC USNRC
+
+  REV_2 = BLOC ( condition = " MODELFLUENCE in ( 'REV_2', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                ), # Fin BLOC REV_2
+
+  SDM_Lissage = BLOC ( condition = " MODELFLUENCE in ( 'SDM_Lissage', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                      ), # Fin BLOC SDM_Lissage
+
+  GrandeDev = BLOC ( condition = " MODELFLUENCE in ( 'GrandeDev', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                     ), # Fin BLOC GrandeDev
+
+  GD_Cuve = BLOC ( condition = " MODELFLUENCE in ( 'GD_Cuve', ) ",
+
+                  fmax = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "6.5",
+                                fr = "Fluence maximale assimilee par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                               ),
+
+                  COEFFLUENCE1 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "5.8",
+                                        fr = "Fluence a l'azimut 0 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE2 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "5.48",
+                                        fr = "Fluence a l'azimut 5 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE3 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "4.46",
+                                        fr = "Fluence a l'azimut 10 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE4 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "3.41",
+                                        fr = "Fluence a l'azimut 15 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE5 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "3.37",
+                                        fr = "Fluence a l'azimut 20 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE6 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "3.16",
+                                        fr = "Fluence a l'azimut 25 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE7 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "2.74",
+                                        fr = "Fluence a l'azimut 30 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE8 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "2.25",
+                                        fr = "Fluence a l'azimut 35 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE9 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "1.89",
+                                        fr = "Fluence a l'azimut 40 (10^19 n/cm)",
+                                       ),
+
+                  COEFFLUENCE10 = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "1.78",
+                                        fr = "Fluence a l'azimut 45 (10^19 n/cm)",
+                                       ),
+
+                  ), # Fin BLOC GD_Cuve
+
+#==========================
+# 4.2 Modeles d'irradiation
+#==========================
+
+  TYPIRR = SIMP ( statut = "o",
+                  typ = "TXM",
+                 into = ( "RTNDT", "FLUENCE" ),
+                  #defaut = "RTNDT",
+                  fr = "Type d'irradiation ",
+                 ),
+
+#====
+# Definition des parametres selon le type d'irradiation
+#====
+
+  Parametres_RTNDT = BLOC ( condition = " TYPIRR in ( 'RTNDT', ) ",
+                  RTNDT = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "73.",
+                                 fr = "RTNDT finale (°C)",
+                                ),
+
+                            ), # Fin BLOC Parametres_RTNDT
+
+  Parametres_FLUENCE = BLOC ( condition = " TYPIRR in ( 'FLUENCE', ) ",
+                  MODELIRR = SIMP ( statut = "o",
+                                    typ = "TXM",
+                                   into = ( "HOUSSIN", "PERSOZ", "LEFEBVRE", "USNRCmdb", "BRILLAUD", "USNRCsoud" ),
+                                    #defaut = "HOUSSIN",
+                                    fr = "Modele d'irradiation pour virole ou joint soude",
+                                   ),
+
+                  CU = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.",
+                              fr = "Teneur en cuivre (%)",
+                             ),
+
+                  Ni = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.",
+                              fr = "Teneur en nickel (%)",
+                             ),
+
+                  P = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "0.",
+                             fr = "Teneur en phosphore (%)",
+                            ),
+
+                  RTimoy = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.",
+                                  fr = "Moyenne de RTNDT : virole C1 de cuve Chinon : mdb=>-17.°C et js=>42.°C (HT-56/05/038 : p.52)",
+                                 ),
+
+                  RTicov = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.",
+                                  fr = "Coefficient de variation de la RTNDT initiale",
+                                 ),
+
+  Parametres_USNRC = BLOC ( condition = " MODELIRR in ( 'USNRCsoud', 'USNRCmdb' , ) ",
+                  USectDRT = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "28.",
+                                    fr = "pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
+                                   ),
+
+                           ), # Fin BLOC Parametres_USNRC 
+
+                  nbectDRTNDT = SIMP ( statut = "o",
+                                       typ = "R",
+                                       defaut = "2.",
+                                       fr = "Nombre d ecart-type par rapport a la moyenne de DRTNDT",
+                                      ),
+
+                           ), # Fin BLOC Parametres_FLUENCE
+
+#========================
+# 4.3 Modeles de tenacite
+#========================
+
+  MODELKIC = SIMP ( statut = "o",
+                    typ = "TXM",
+                   into = ( "RCC-M", "RCC-M_pal", "RCC-M_exp", "Houssin_RC", "Wallin", "REME", "ORNL", "Frama", "WEIB3", "WEIB2", "LOGWOLF", "WEIB_GEN" ),
+                    #defaut = "RCC-M",
+                    fr = "Modele de tenacite ",
+                   ),
+
+#====
+# Definition des parametres selon le modele de tenacité
+#====
+
+  Parametres_RCCM = BLOC ( condition = " MODELKIC in ( 'RCC-M', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  KICPAL = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "195.",
+                                  fr = "palier deterministe de K1c quand modele RCC-M  (MPa(m^0.5)) ",
+                                 ),
+
+                  KICCDV = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.15",
+                                  fr = "coef de variation de la loi normale de K1c quand modele RCC-M ",
+                                 ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+
+                  KIAPAL = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "195.",
+                                  fr = "palier deterministe de K1a -tenacite a l'arret- quand modele RCC-M  (MPa(m^0.5)) ",
+                                 ),
+
+                  KIACDV = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.10",
+                                  fr = "coef de variation de la loi normale de K1a -tenacite a l'arret- quand modele RCC-M ",
+                                 ),
+
+                          ), # Fin BLOC Parametres_RCC-M
+
+  Parametres_RCCMpal = BLOC ( condition = " MODELKIC in ( 'RCC-M_pal', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                             ), # Fin BLOC Parametres_RCCMpal
+
+  Parametres_RCCMexp = BLOC ( condition = " MODELKIC in ( 'RCC-M_exp', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                             ), # Fin BLOC Parametres_RCCMexp
+
+  Parametres_Houssin_RC = BLOC ( condition = " MODELKIC in ( 'Houssin_RC', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                                ), # Fin BLOC Parametres_Houssin_RC
+      
+  Parametres_Wallin = BLOC ( condition = " MODELKIC in ( 'Wallin', ) ",
+                  T0WALLIN = SIMP ( statut = "o",
+                                    typ = "I",
+                                    defaut = "-27",
+                                    fr = "parametre T0 du modele Wallin (°C)",
+                                   ),
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                            ), # Fin BLOC Parametres_Wallin
+
+  Parametres_REME = BLOC ( condition = " MODELKIC in ( 'REME', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                          ), # Fin BLOC Parametres_REME
+
+  Parametres_ORNL = BLOC ( condition = " MODELKIC in ( 'ORNL', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                          ), # Fin BLOC Parametres_ORNL
+
+  Parametres_Frama = BLOC ( condition = " MODELKIC in ( 'Frama', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                           ), # Fin BLOC Parametres_Frama
+
+  Parametres_WEIB3 = BLOC ( condition = " MODELKIC in ( 'WEIB3', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                           ), # Fin BLOC Parametres_WEIB3
+
+  Parametres_WEIB2 = BLOC ( condition = " MODELKIC in ( 'WEIB2', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                           ), # Fin BLOC Parametres_WEIB2
+
+  Parametres_LOGWOLF = BLOC ( condition = " MODELKIC in ( 'LOGWOLF', ) ",
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                             ), # Fin BLOC Parametres_LOGWOLF
+
+  Parametres_WEIB_GEN = BLOC ( condition = " MODELKIC in ( 'WEIB_GEN',) ",
+                  A1 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "21.263",
+                              fr = "coef du coef a(T) d'une Weibull generale",
+                             ),
+                  A2 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "9.159",
+                              fr = "coef du coef a(T) d'une Weibull generale",
+                             ),
+                  A3 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.04057",
+                              fr = "coef du coef a(T) d'une Weibull generale",
+                             ),
+                  B1 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "17.153",
+                              fr = "coef du coef b(T) d'une Weibull generale",
+                             ),
+                  B2 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "55.089",
+                              fr = "coef du coef b(T) d'une Weibull generale",
+                             ),
+                  B3 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.0144",
+                              fr = "coef du coef b(T) d'une Weibull generale",
+                             ),
+                  C1 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "4.",
+                              fr = "coef du coef c(T) d'une Weibull generale",
+                             ),
+                  C2 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.",
+                              fr = "coef du coef c(T) d'une Weibull generale",
+                             ),
+                  C3 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "0.",
+                              fr = "coef du coef c(T) d'une Weibull generale",
+                             ),
+
+                  nbectKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIc (nb sigma) : det = -2 ",
+                                   ),
+
+                  fractKIc = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "5.",
+                                    fr = "Valeur caracteristique de KIc exprimee en ordre de fractile (%) ",
+                                   ),
+
+                  nbectKIa = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma) ",
+                                   ),
+
+                              ), # Fin BLOC Parametres_WEIB_GEN
+
+) # Fin OPER MODELES
+
+
+#==================
+# 5. Initialisation
+#==================
+
+# 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)
+INITIALISATION = OPER ( nom = "INITIALISATION",
+                        sd_prod = loi,
+                        op = 68,
+                        fr = "Initialisation", 
+
+  Liste_tempinit = SIMP ( statut = "o",
+                          typ = "R",
+                          max = "**",
+                          fr = "Profil radial de la temperature initiale dans la cuve (m) (°C) ",
+                         ),
+
+  Prolongation_tempsinit = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                  fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                 ),
+
+  Liste_sigmainit = SIMP ( statut = "o",
+                           typ = "R",
+                           max = "**",
+                           fr = "Profil radial des contraintes residuelles dans la cuve (m) (xx) (xx) (xx) ",
+                          ),
+
+  Prolongation_sigmainit = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                  fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                 ),
+
+  INSTINIT = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "-1.",
+                    fr = "Instant initial (s) ",
+                   ),
+
+) # Fin OPER INITIALISATION
+
+
+#==================================
+# 6. CARACTERISTIQUES DU REVETEMENT
+#==================================
+
+# 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)
+REVETEMENT = OPER ( nom = "REVETEMENT",
+                    sd_prod = loi,
+                    op = 68,
+                    fr = "Caracteristiques du revetement", 
+
+  KTHREV = SIMP ( statut = "o",
+                  typ = "TXM",
+                  into = ( "ENTHALPIE", "CHALEUR",),
+                  #defaut = "CHALEUR",
+                  fr = "Options pour definir les caracteristiques du revetement ",
+                 ),
+
+  Parametres_ENTHALPIErev = BLOC ( condition = " KTHREV in ( 'ENTHALPIE', ) ",
+
+                  Liste_enthalpie_rev = SIMP ( statut = "o",
+                                               typ = "R",
+                                               max = "**",
+                                               fr = "Temperature (°C) / enthalpie (J/kg) ",
+                                              ),
+
+                  Prolongation_enthalpie_rev = SIMP ( statut = "o",
+                                                      typ = "TXM",
+                                                      into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                      fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                     ),
+
+                                  ), # Fin BLOC Parametres_ENTHALPIErev
+
+
+  Parametres_CHALEURrev = BLOC ( condition = " KTHREV in ( 'CHALEUR', ) ",
+
+                  Liste_chaleur_rev = SIMP ( statut = "o",
+                                             typ = "R",
+                                             max = "**",
+                                             fr = "Temperature (°C) / chaleur volumique (J/kg/K) ",
+                                            ),
+
+                  Prolongation_chaleur_rev = SIMP ( statut = "o",
+                                                    typ = "TXM",
+                                                    into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                    fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                   ),
+
+                                ), # Fin BLOC Parametres_CHALEURrev
+
+   Liste_conductivite_rev = SIMP ( statut = "o",
+                                   typ = "R",
+                                   max = "**",
+                                   fr = "Temperature (°C) / conductivite thermique (W/m/°C) ",
+                                  ),
+
+   Prolongation_conductivite_rev = SIMP ( statut = "o",
+                                          typ = "TXM",
+                                          into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                          fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                         ),
+
+   Liste_young_rev = SIMP ( statut = "o",
+                            typ = "R",
+                            max = "**",
+                            fr = "Temperature (°C) / module d'Young (MPa) ",
+                           ),
+
+   Prolongation_young_rev = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                   fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                  ),
+
+   Liste_dilatation_rev = SIMP ( statut = "o",
+                                 typ = "R",
+                                 max = "**",
+                                 fr = "Temperature (°C) / coefficient de dilatation thermique (°C-1) ",
+                                ),
+
+   Prolongation_dilatation_rev = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                        fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                       ),
+
+   Liste_elasticite_rev = SIMP ( statut = "o",
+                                 typ = "R",
+                                 max = "**",
+                                 fr = "Temperature (°C) / limite d'elasticite (MPa) ",
+                                ),
+
+   Prolongation_elasticite_rev = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                        fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                       ),
+
+   TREFREV = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "20.",
+                    fr = "Temperature de deformation nulle (°C) ",
+                   ),
+
+   TDETREV = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "287.",
+                    fr = "Temperature de definition du coefficient de dilatation thermique (°C) ",
+                   ),
+
+   NUREV = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.3",
+                  fr = "Coefficient de Poisson ",
+                 ),
+
+) # Fin OPER REVETEMENT
+
+
+#=====================================
+# 7. CARACTERISTIQUES DU METAL DE BASE
+#=====================================
+
+# 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)
+METAL_BASE = OPER ( nom = "METAL_BASE",
+                    sd_prod = loi,
+                    op = 68,
+                    fr = "Caracteristiques du metal de base", 
+
+  KTHMDB = SIMP ( statut = "o",
+                  typ = "TXM",
+                  into = ( "ENTHALPIE", "CHALEUR",),
+                  #defaut = "CHALEUR",
+                  fr = "Options pour definir les caracteristiques du revetement ",
+                 ),
+
+  Parametres_ENTHALPIEmdb = BLOC ( condition = " KTHMDB in ( 'ENTHALPIE', ) ",
+
+                  Liste_enthalpie_mdb = SIMP ( statut = "o",
+                                               typ = "R",
+                                               max = "**",
+                                               fr = "Temperature (°C) / enthalpie (J/kg) ",
+                                              ),
+
+                  Prolongation_enthalpie_mdb = SIMP ( statut = "o",
+                                                      typ = "TXM",
+                                                      into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                      fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                     ),
+
+                                  ), # Fin BLOC Parametres_ENTHALPIEmdb
+
+
+  Parametres_CHALEURmdb = BLOC ( condition = " KTHMDB in ( 'CHALEUR', ) ",
+
+                  Liste_chaleur_mdb = SIMP ( statut = "o",
+                                             typ = "R",
+                                             max = "**",
+                                             fr = "Temperature (°C) / chaleur volumique (J/kg/K) ",
+                                            ),
+
+                  Prolongation_chaleur_mdb = SIMP ( statut = "o",
+                                                    typ = "TXM",
+                                                    into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                    fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                   ),
+
+                                ), # Fin BLOC Parametres_CHALEURmdb
+
+   Liste_conductivite_mdb = SIMP ( statut = "o",
+                                   typ = "R",
+                                   max = "**",
+                                   fr = "Temperature (°C) / conductivite thermique (W/m/°C) ",
+                                  ),
+
+   Prolongation_conductivite_mdb = SIMP ( statut = "o",
+                                          typ = "TXM",
+                                          into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                          fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                         ),
+
+   Liste_young_mdb = SIMP ( statut = "o",
+                            typ = "R",
+                            max = "**",
+                            fr = "Temperature (°C) / module d'Young (MPa) ",
+                           ),
+
+   Prolongation_young_mdb = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                   fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                  ),
+
+   Liste_dilatation_mdb = SIMP ( statut = "o",
+                                 typ = "R",
+                                 max = "**",
+                                 fr = "Temperature (°C) / coefficient de dilatation thermique (°C-1) ",
+                                ),
+
+   Prolongation_dilatation_mdb = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                        fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                       ),
+
+   TREFMDB = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "20.",
+                    fr = "Temperature de deformation nulle (°C) ",
+                   ),
+
+   TDETMDB = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "287.",
+                    fr = "Temperature de definition du coefficient de dilatation thermique (°C) ",
+                   ),
+
+   NUMDB = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.3",
+                  fr = "Coefficient de Poisson ",
+                 ),
+
+) # Fin OPER METAL_BASE
+
+
+#================
+# 8. TRANSITOIRES
+#================
+
+# 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)
+TRANSITOIRE = OPER ( nom = "TRANSITOIRE",
+                     sd_prod = loi,
+                     op = 68,
+                     fr = "Description du transitoire", 
+
+  Liste_pression = SIMP ( statut = "o",
+                          typ = "R",
+                          max = "**",
+                          fr = "instant (s) / pression (MPa) ",
+                         ),
+
+  Prolongation_pression = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                 fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                ),
+
+  TYPCLTH = SIMP ( statut = "o",
+                   typ = "TXM",
+                   into = ( "TEMP_IMPO", "FLUX_REP", "ECHANGE", "DEBIT", "TEMP_FLU"),
+                   #defaut = "ECHANGE",
+                   fr = "Type de condition thermique en paroi interne ",
+                  ),
+
+  Parametres_TEMP_IMPO = BLOC ( condition = " TYPCLTH in ( 'TEMP_IMPO', ) ",
+
+                  Liste_temp_impo = SIMP ( statut = "o",
+                                           typ = "R",
+                                           max = "**",
+                                           fr = "Instant (s) / Temperature imposee (°C) ",
+                                          ),
+
+                  Prolongation_temp_impo = SIMP ( statut = "o",
+                                                  typ = "TXM",
+                                                  into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                  fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                 ),
+
+                               ), # Fin BLOC Parametres_TEMP_IMPO
+
+  Parametres_FLUX_REP = BLOC ( condition = " TYPCLTH in ( 'FLUX_REP', ) ",
+
+                  Liste_flux_rep = SIMP ( statut = "o",
+                                          typ = "R",
+                                          max = "**",
+                                          fr = "Instant (s) / Flux de chaleur impose (W/m2) ",
+                                         ),
+
+                  Prolongation_flux_rep = SIMP ( statut = "o",
+                                                 typ = "TXM",
+                                                 into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                 fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                ),
+
+                              ), # Fin BLOC Parametres_FLUX_REP
+
+  Parametres_ECHANGE = BLOC ( condition = " TYPCLTH in ( 'ECHANGE', ) ",
+
+                  Liste_echange_temp = SIMP ( statut = "o",
+                                              typ = "R",
+                                              max = "**",
+                                              fr = "Instant (s) / Temperature impose (°C) ",
+                                             ),
+
+                  Prolongation_echange_temp = SIMP ( statut = "o",
+                                                     typ = "TXM",
+                                                     into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                     fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                    ),
+
+                  Liste_echange_coef = SIMP ( statut = "o",
+                                              typ = "R",
+                                              max = "**",
+                                              fr = "Instant (s) / Coefficient d echange (W/m2/K) ",
+                                             ),
+
+                  Prolongation_echange_coef = SIMP ( statut = "o",
+                                                     typ = "TXM",
+                                                     into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                     fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                    ),
+
+                             ), # Fin BLOC Parametres_ECHANGE
+
+  Parametres_DEBIT = BLOC ( condition = " TYPCLTH in ( 'DEBIT', ) ",
+
+                  Liste_debit = SIMP ( statut = "o",
+                                       typ = "R",
+                                       max = "**",
+                                       fr = "Instant (s) / Debit massique (kg/s) ",
+                                      ),
+
+                  Prolongation_debit = SIMP ( statut = "o",
+                                              typ = "TXM",
+                                              into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                              fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                             ),
+
+                  Liste_temp_injection = SIMP ( statut = "o",
+                                                typ = "R",
+                                                max = "**",
+                                                fr = "Instant (s) / Temperature d injection de securite  (°C) ",
+                                               ),
+
+                  Prolongation_temp_injection = SIMP ( statut = "o",
+                                                       typ = "TXM",
+                                                       into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                       fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                      ),
+
+                  DH = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "-2.",
+                              fr = "Diametre hydraulique (m) ",
+                             ),
+
+                  SECTION = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "-2.",
+                                   fr = "Section espace annulaire (m2) ",
+                                  ),
+
+                  DELTA = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "-2.",
+                                 fr = "Hauteur caracteristique convection naturelle (m) ",
+                                ),
+
+                  ALPHA_CF = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "1.",
+                                    fr = "Coefficient Vestale convection forcee (-) ",
+                                   ),
+
+                  ALPHA_CN = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "1.",
+                                    fr = "Coefficient Vestale convection naturelle (-) ",
+                                   ),
+
+                  EPS = SIMP ( statut = "o",
+                               typ = "R",
+                               defaut = "0.00001",
+                               fr = "Critere convergence relative (-) ",
+                              ),
+
+                  VM = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "-2.",
+                              fr = "Volume de melange CREARE (m3) ",
+                             ),
+
+                  T0 = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "-2.",
+                              fr = "Temperature initiale CREARE (degC) ",
+                             ),
+
+                  SE = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "-2.",
+                              fr = "Surface d'echange fluide/structure (m2) ",
+                             ),
+
+                           ), # Fin BLOC Parametres_DEBIT
+
+  Parametres_TEMP_FLU = BLOC ( condition = " TYPCLTH in ( 'TEMP_FLU', ) ",
+
+                  Liste_temp_flu = SIMP ( statut = "o",
+                                          typ = "R",
+                                          max = "**",
+                                          fr = "Instant (s) / Debit massique (kg/s) ",
+                                         ),
+
+                  Prolongation_temp_flu = SIMP ( statut = "o",
+                                                 typ = "TXM",
+                                                 into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                 fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                ),
+
+                  Liste_debit_injection = SIMP ( statut = "o",
+                                                 typ = "R",
+                                                 max = "**",
+                                                 fr = "Instant (s) / Debit d injection de securite (kg/s) ",
+                                                ),
+
+                  Prolongation_debit_injection = SIMP ( statut = "o",
+                                                        typ = "TXM",
+                                                        into = ( 'CC', 'CE', 'CL', 'EC', 'EE', 'EL', 'LC', 'LE', 'LL'),
+                                                        fr = "Prolongation aux frontieres amont et aval : C=constant, E=exclus, L=lineaire ",
+                                                       ),
+
+                  DH = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "-2.",
+                              fr = "Diametre hydraulique (m) ",
+                             ),
+
+                  SECTION = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "-2.",
+                                   fr = "Section espace annulaire (m2) ",
+                                  ),
+
+                  DELTA = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "-2.",
+                                 fr = "Hauteur caracteristique convection naturelle (m) ",
+                                ),
+
+                  ALPHA_CF = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "1.",
+                                    fr = "Coefficient Vestale convection forcee (-) ",
+                                   ),
+
+                  ALPHA_CN = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "1.",
+                                    fr = "Coefficient Vestale convection naturelle (-) ",
+                                   ),
+
+                  EPS = SIMP ( statut = "o",
+                               typ = "R",
+                               defaut = "0.00001",
+                               fr = "Critere convergence relative (-) ",
+                              ),
+
+                              ), # Fin BLOC Parametres_TEMP_FLU
+
+) # Fin OPER TRANSITOIRE
+
+
+#================================
+# 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",)
+              )
+
+ESSAI=PROC(nom="ESSAI",
+       op=None,
+       fr="Essai",
+       ang = "Test",
+       
+       MALOI       = SIMP(statut='o',typ=(loi,),),
+       MAVARIABLE  = SIMP(statut='o',typ=(variable,),),
+) ;
+
+                     
+
+
diff --git a/Cuve2dg/Cuve2dg_Cata_V2.py b/Cuve2dg/Cuve2dg_Cata_V2.py
new file mode 100644 (file)
index 0000000..ab40004
--- /dev/null
@@ -0,0 +1,1851 @@
+# -*- coding: utf-8 -*-
+
+# --------------------------------------------------
+# Definition de variables sous forme de tuple
+# --------------------------------------------------
+
+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
+
+# --------------------------------------------------
+# debut entete
+# --------------------------------------------------
+
+import Accas
+from Accas import *
+
+class loi ( ASSD ) : pass
+class variable ( ASSD ) : pass
+
+
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'CUVE1D-DEFAILLGLOB',
+                 execmodul = None,
+                 regles = ( AU_MOINS_UN ('OPTIONS','DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'),
+                            A_CLASSER ( ('OPTIONS'), ('DEFAUT') ),
+                            A_CLASSER ( ('DEFAUT'), ('CUVE') ),
+                            A_CLASSER ( ('CUVE'), ('MODELES') ),
+                            A_CLASSER ( ('MODELES'), ('INITIALISATION') ),
+                            A_CLASSER ( ('INITIALISATION'), ('REVETEMENT') ),
+                            A_CLASSER ( ('REVETEMENT'), ('METAL_BASE') ),
+                            A_CLASSER ( ('METAL_BASE'), ('TRANSITOIRE') )
+                          )
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# fin entete
+# --------------------------------------------------
+
+
+
+
+
+
+#================================
+# 1. Definition des OPTIONS
+#================================
+
+OPTIONS = PROC ( nom = "OPTIONS",
+                 op = 68,
+                repetable = 'n',
+                 fr = "Définitions des options", 
+
+#===
+# Liste des paramètres
+#===
+
+# INCRTPS
+  IncrementTemporel = SIMP ( statut = "o",
+                             typ = "I",
+                             defaut = "1",
+                            max = 1,
+                             #val_max = 100,
+                             fr = "Incrément temporel (=1 pour calcul déterministe)",
+                             ),
+
+# DTPREC
+  IncrementMaxTemperature = SIMP ( statut = "o", 
+                                   typ = "R", 
+                                  defaut = "0.1", 
+                                  max = 1, 
+                                  val_min = 0., 
+                                  val_max = 1., 
+                                  fr = "Incrément maximum d'évolution de la température par noeud et par instant (°C)",
+                                  ),
+
+# DTARCH
+  IncrementMaxTempsAffichage = SIMP ( statut = "o", 
+                                      typ = "R", 
+                                     defaut = "1000.", 
+                                     max = 1, 
+                                     val_min = 0., 
+                                     val_max = 1000., 
+                                     fr = "Incrément maximum de temps pour l'affichage (s)",
+                                     ),
+
+# NBO
+# Question : NBO depend-il de TYPGEOM ??
+  NombreNoeudsMaillage = SIMP ( statut = "o", 
+                                typ = "R", 
+                               max=1, 
+                               val_min = 1., 
+                               val_max = 100., 
+                               fr = "Nombre de noeuds à considérer dans le maillage interne",
+                               ),
+
+# 
+  ListeInstants = SIMP ( statut = "o",
+                         typ = "R",
+                         max = "**",
+                         fr = "Liste des instants pour lesquels la température et les contraintes seront archivés",
+                         ),
+
+) # Fin PROC OPTIONS
+
+#================================
+# 2. Caracteristiques du DEFAUT
+#================================
+
+DEFAUT = PROC ( nom = "DEFAUT",
+                op = 68,
+               repetable = 'n',
+                fr = "Caractéristiques du défaut", 
+
+#===
+# Liste des paramètres
+#===
+
+# TYPEDEF
+  TypeInitial = SIMP ( statut = "o", typ = "TXM",
+                       into = ( "Sous Revetement", # DSR
+                                "Debouchant", # DD
+                                 ),
+                       fr = "Type initial du défaut : sous revêtement ou débouchant",
+                       ),
+
+#====
+# Definition des parametres selon le type du defaut
+#====
+
+  SousRevetement = BLOC ( condition = " TypeInitial in ( 'Sous Revetement', ) ",
+
+    # ORIEDEF
+    Orientation = SIMP ( statut = "o",
+                         typ = "TXM",
+                         into = ( "Longitudinale", # LONGITUD
+                                 "Circonferentielle" ), # CIRCONF
+                         fr = "Orientation du défaut",
+                         ),
+
+    # PROFDEF
+    ProfondeurRadiale = SIMP ( statut = "o",
+                               typ = "R",
+                               #defaut = "0.006",
+                               max = 1,
+                               val_max = 1.,
+                               fr = "Profondeur radiale du défaut (m)",
+                               ),
+
+    # OPTLONG
+    OptionCalculLongueur = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( "Valeur", # VALEUR
+                                          "Relation lineaire avec la longueur" ), # RAPPORT
+                                  #defaut = "VALEUR",
+                                  fr = "Option pour caractériser la longueur du défaut : soit par valeur, soit par un rapport LONG/PROF",
+                                  ),
+
+    Option_Valeur = BLOC ( condition = "OptionCalculLongueur in ( 'Valeur', ) ",
+
+      # LONGDEF
+      Longueur = SIMP ( statut = "o",
+                        typ = "R",
+                        #defaut = "0.060",
+                        max = 1,
+                        val_max = 1.,
+                        fr = "Longueur du défaut sous revêtement (m)",
+                        ),
+
+    ), # Fin BLOC Option_Valeur
+
+    Option_Rapport = BLOC ( condition = "OptionCalculLongueur in ( 'Relation lineaire avec la longueur', ) ",
+
+        # LONGSURPROF
+        LongueurSurProfondeur = SIMP ( statut = "o",
+                                       typ = "R",
+                                       #defaut = "6.",
+                                       max = 1,
+                                       val_max = 100.,
+                                       fr = "Rapport longueur/profondeur du défaut sous revêtement",
+                                       ),
+
+    ), # Fin BLOC Option_Rapport
+
+    # DECADEF
+    DecalageRadial = SIMP ( statut = "o",
+                            typ = "R",
+                            #defaut = "-0.00001",
+                            fr = "Décalage radial du defaut sous revêtement (m)",
+                            ),
+
+    # ANGLDEF
+    Azimut = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "0.",
+                    fr = "Position angulaire du défaut dans le cylindre de cuve (degrés)",
+                    ),
+
+    # ALTIDEF
+    Altitude = SIMP ( statut = "o",
+                      typ = "R",
+                      defaut = "2.",
+                     val_min = 0.,
+                     val_max = 4.,
+                      fr = "Altitude du défaut sur le cylindre de cuve (m)",
+                      ),
+
+    # POINDEF
+    Pointe = SIMP ( statut = "o",
+                    typ = "TXM",
+                    into = ( "A", "B" ),
+                    defaut = "A",
+                    fr = "Choix du point considéré du défaut sous revêtement",
+                    ),
+
+    # ARRETFISSURE
+    ArretDeFissure = SIMP ( statut = "o",
+                            typ = "TXM",
+                            into = ( "OUI", "NON" ),
+                            defaut = "NON",
+                            fr = "Prise en compte de l'arrêt de fissure",
+                            ),
+
+    # INCRDEF
+    IncrementTailleFissure = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "0.005",
+                                    fr = "Incrément de la taille de fissure pour la propagation (m)",
+                                    ),
+
+    # CORRECPLASTIC
+    CorrectionPlastiqueBeta = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( "OUI", "NON" ),
+                                     defaut = "NON",
+                                     fr = "Prise en compte de la correction plastique BETA dans le calcul du facteur d'intensité de contraintes",
+                                     ),
+
+  ), # Fin BLOC SousRevetement
+
+  Debouchant = BLOC ( condition = " TypeInitial in ( 'Debouchant', ) ",
+
+    # ORIEDEF
+    Orientation = SIMP ( statut = "o",
+                         typ = "TXM",
+                         into = ( "Longitudinale", # LONGITUD
+                                 "Circonferentielle" ), # CIRCONF
+                         #defaut = "LONGITUD",
+                         fr = "Orientation du défaut : longitudinale ou circonférentielle",
+                         ),
+
+    # PROFDEF
+    ProfondeurRadiale = SIMP ( statut = "o",
+                               typ = "R",
+                               #defaut = "0.006",
+                               max = 1,
+                               val_max = 1.,
+                               fr = "Profondeur radiale du défaut (m)",
+                               ),
+
+    # ANGLDEF
+    Azimut = SIMP ( statut = "o",
+                    typ = "R",
+                    defaut = "0.",
+                    fr = "Position angulaire du défaut dans le cylindre de la cuve (en degrés)",
+                    ),
+
+    # ALTIDEF
+    Altitude = SIMP ( statut = "o",
+                      typ = "R",
+                      defaut = "2.",
+                      fr = "Altitude du défaut sur le cylindre de la cuve (m)",
+                      ),
+
+    # ARRETFISSURE
+    ArretDeFissure = SIMP ( statut = "o",
+                            typ = "TXM",
+                            into = ( "OUI", "NON" ),
+                            defaut = "NON",
+                            fr = "Prise en compte de l'arrêt de fissure",
+                            ),
+
+    # INCRDEF
+    IncrementTailleFissure = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "0.005",
+                                    fr = "Incrément de la taille de fissure pour la propagation (m)",
+                                    ),
+
+    # IRWIN
+    CorrectionPlastiqueIrwin = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( "OUI", "NON" ),
+                                      defaut = "NON",
+                                      fr = "Prise en compte de la correction plastique d'Irwin dans le calcul du facteur d'intensité de contraintes",
+                                      ),
+
+    # CORRECPLASTIC
+    CorrectionPlastiqueBeta = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( "OUI", "NON" ),
+                                     defaut = "NON",
+                                     fr = "Prise en compte de la correction plastique BETA dans le calcul du facteur d'intensité de contraintes",
+                                     ),
+
+  ), # Fin BLOC debouchant
+
+) # Fin PROC DEFAUT
+
+
+#================================
+# 3. Caracteristiques de la CUVE
+#================================
+
+CUVE = PROC (nom = "CUVE",
+             op = 68,
+            repetable = 'n',
+             fr = "Caractéristiques de la cuve", 
+
+#===
+# Liste des paramètres
+#===
+
+  # TYPEGEOM
+  TraitementGeometrie = SIMP ( statut = "o",
+                               typ = "TXM",
+                              into = ( "Topologie", # GEOMETRIE 
+                                       "Maillage"), # MAILLAGE
+                               #defaut = "geometrie",
+                               fr = "Choix de la définition de la geométrie d'une cuve",
+                               ),
+
+
+#====
+# Definition des parametres selon le type de traitement de la geometrie
+#====
+
+  Geometrie = BLOC ( condition = " TraitementGeometrie in ( 'Topologie', ) ",
+
+    # RINT
+    RayonInterne = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "1.994",
+                          fr = "Rayon interne de la cuve (m)",
+                          ),
+
+    # REXT
+    RayonExterne = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "2.2015",
+                          fr = "Rayon externe de la cuve (m)",
+                          ),
+
+    # LREV
+    EpaisseurRevetement = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "0.0075",
+                                 fr = "Epaisseur du revêtement (m)",
+                                 ),
+
+    # LIGMIN
+    LigamentExterneMin = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "0.75",
+                                fr = "Ligament externe minimal avant rupture (% de l'épaisseur de cuve)",
+                                ),
+
+  ), # Fin BLOC  Geometrie
+
+  Maillage = BLOC ( condition = " TraitementGeometrie in ( 'Maillage', ) ",
+
+    # Question : quel rapport avec NBO ??
+    Liste_abscisses = SIMP ( statut = "o",
+                             typ = "R",
+                             max = "**",
+                             fr = "Liste des abscisses (m)",
+                             ),
+  ), # Fin BLOC Maillage
+
+) # Fin PROC CUVE
+
+#====================================================
+# 4. Modeles de fluence, d'irradiation et de tenacite
+#====================================================
+
+#=======================
+# 4.1 Modeles de fluence
+#=======================
+
+MODELES = PROC ( nom = "MODELES",
+                 op = 68,
+                repetable = 'n',
+                 fr = "Modèles de fluence, d'irradiation et de ténacité", 
+
+
+#===
+# Liste des paramètres
+#===
+
+  # MODELFLUENCE
+  Fluence = SIMP ( statut = "o",
+                   typ = "TXM",
+                  into = ( "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 
+                            "Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)", # GrandeDev 
+                            "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 
+                            "Grand developpement (GD_Cuve)"), # GD_Cuve 
+                   #defaut = "Reglementaire", 
+                   fr = "Modèle d'atténuation de la fluence dans l'épaisseur de la cuve",
+                   ),
+
+
+#====
+# Definition des parametres selon le modele de fluence
+#====
+
+  Reglementaire = BLOC ( condition = " Fluence in ( 'Exponentiel sans revetement k=9.7 (Reglementaire)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC Reglementaire
+
+  France = BLOC ( condition = " Fluence in ( 'Exponentiel sans revetement k=12.7 (France)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+    # KPFRANCE = SIMP ( statut = "o",
+    KPFrance = SIMP ( statut = "o",
+                      typ = "R",
+                      defaut = "12.7",
+                      fr = "Paramètre exponentiel du modèle France",
+                      ),
+
+  ), # Fin BLOC France
+
+  ValeurImposee = BLOC ( condition = " Fluence in ( 'Exponentiel sans revetement k=0. (ValeurImposee)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC ValeurImposee
+
+  SDM = BLOC ( condition = " Fluence in ( 'Donnees francaises du palier CPY' (SDM), ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC SDM
+
+  USNRC = BLOC ( condition = " Fluence in ( 'Regulatory Guide 1.99 rev 2 (USNRC)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+    KPUS = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "9.4488",
+                  fr = "Paramètre exponentiel du modèle US",
+                  ),
+
+  ), # Fin BLOC USNRC
+
+  REV_2 = BLOC ( condition = " Fluence in ( 'Dossier 900 MWe AP9701 rev 2 (REV_2)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC REV_2
+
+  SDM_Lissage = BLOC ( condition = " Fluence in ( 'Lissage du modele ajuste (SDM_Lissage)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC SDM_Lissage
+
+  GrandeDev = BLOC ( condition = " Fluence in ( 'Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+  ), # Fin BLOC GrandeDev
+
+  GD_Cuve = BLOC ( condition = " Fluence in ( 'Grand developpement (GD_Cuve)', ) ",
+
+    # fmax
+    FluenceMax = SIMP ( statut = "o",
+                        typ = "R",
+                        defaut = "6.5",
+                        fr = "Fluence maximale assimilée par la cuve (n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95",
+                        ),
+
+    # COEFFLUENCE1
+    FluenceAzimut0 = SIMP ( statut = "o",
+                            typ = "R",
+                            defaut = "5.8",
+                            fr = "Fluence à l'azimut 0 (10^19 n/cm2)",
+                            ),
+
+    # COEFFLUENCE2
+    FluenceAzimut5 = SIMP ( statut = "o",
+                            typ = "R",
+                            defaut = "5.48",
+                            fr = "Fluence à l'azimut 5 (10^19 n/cm2)",
+                            ),
+
+    # COEFFLUENCE3
+    FluenceAzimut10 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "4.46",
+                             fr = "Fluence à l'azimut 10 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE4
+    FluenceAzimut15 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "3.41",
+                             fr = "Fluence à l'azimut 15 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE5
+    FluenceAzimut20 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "3.37",
+                             fr = "Fluence à l'azimut 20 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE6
+    FluenceAzimut25 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "3.16",
+                             fr = "Fluence à l'azimut 25 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE7
+    FluenceAzimut30 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "2.74",
+                             fr = "Fluence à l'azimut 30 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE8
+    FluenceAzimut35 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "2.25",
+                             fr = "Fluence à l'azimut 35 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE9
+    FluenceAzimut40 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "1.89",
+                             fr = "Fluence à l'azimut 40 (10^19 n/cm2)",
+                             ),
+
+    # COEFFLUENCE10
+    FluenceAzimut45 = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "1.78",
+                             fr = "Fluence à l'azimut 45 (10^19 n/cm2)",
+                             ),
+
+  ), # Fin BLOC GD_Cuve
+
+#==========================
+# 4.2 Modeles d'irradiation
+#==========================
+
+  # TYPIRR
+  Irradiation = SIMP ( statut = "o",
+                       typ = "TXM",
+                      into = ( "RTndt de la cuve a l instant de l analyse", # RTNDT 
+                               "Modele d irradiation" ), # FLUENCE
+                       fr = "Type d'irradiation",
+                       ),
+
+#====
+# Definition des parametres selon le type d'irradiation
+#====
+
+  RTndt = BLOC ( condition = " Irradiation in ( 'RTndt de la cuve a l instant de l analyse', ) ",
+    RTNDT = SIMP ( statut = "o",
+                   typ = "R",
+                   defaut = "73.",
+                   fr = "RTNDT de la cuve à l'instant de l'analyse (°C)",
+                   ),
+
+  ), # Fin BLOC RTndt
+
+  Modele = BLOC ( condition = " Irradiation in ( 'Modele d irradiation', ) ",
+    # MODELIRR
+    ModeleIrradiation = SIMP ( statut = "o",
+                               typ = "TXM",
+                              into = ( "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
+                               fr = "Modèle d'irradiation pour virole ou joint soudé",
+                               ),
+
+    # CU
+    TeneurCuivre = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "0.",
+                          fr = "Teneur en cuivre (%)",
+                          ),
+
+    # NI
+    TeneurNickel = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "0.",
+                          fr = "Teneur en nickel (%)",
+                          ),
+
+    # P
+    TeneurPhosphore = SIMP ( statut = "o",
+                             typ = "R",
+                             defaut = "0.",
+                             fr = "Teneur en phosphore (%)",
+                             ),
+
+    Parametres_USNRC = BLOC ( condition = " ModeleIrradiation in ( 'Joint Soude : Regulatory Guide 1.00 rev 2', 'Metal de Base : Regulatory Guide 1.00 rev 2' , ) ",
+      # RTimoy
+      MoyenneRTndt = SIMP ( statut = "o",
+                            typ = "R",
+                            defaut = "0.",
+                            fr = "Moyenne de RTNDT : virole C1 de cuve Chinon : mdb=>-17.°C et js=>42.°C (HT-56/05/038 : p.52)",
+                            ),
+
+      # RTicov
+      CoefVariationRTndt = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "0.",
+                                  fr = "Coefficient de variation de la RTNDT initiale",
+                                  ),
+
+      # USectDRT
+      EcartTypeRTndt = SIMP ( statut = "o",
+                              typ = "R",
+                              defaut = "28.",
+                              fr = "Ecart-type du décalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
+                              ),
+
+      # nbectDRTNDT
+      NombreEcartTypeRTndt = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "2.",
+                                    fr = "Nombre d'écart-type par rapport à la moyenne de DRTNDT",
+                                    ),
+
+    ), # Fin BLOC Parametres_USNRC 
+
+  ), # Fin BLOC Modele
+
+#========================
+# 4.3 Modeles de tenacite
+#========================
+
+  # MODELKIC
+  Tenacite = SIMP ( statut = "o",
+                    typ = "TXM",
+                   into = ( "RCC-M/ASME coefficient=2", # RCC-M
+                            "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°1 (etude ORNL)", # ORNL
+                            "Weibull n°2", # WEIB2
+                            "Weibull n°3", # WEIB3
+                            "Weibull generalisee", # WEIB_GEN
+                            "Exponentielle n°1 (Frama)", # Frama
+                            "Exponentielle n°2 (LOGWOLF)" ), # LOGWOLF
+                    fr = "Modèle de ténacité",
+                    ),
+
+#====
+# Definition des parametres selon le modele de tenacité
+#====
+
+  RCCM_delta2 = BLOC ( condition = " Tenacite in ( 'RCC-M/ASME coefficient=2', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # KICPAL
+    PalierDuctile_KIc = SIMP ( statut = "o",
+                               typ = "R",
+                               defaut = "195.",
+                               fr = "Palier déterministe de K1c quand modèle RCC-M  (MPa(m^0.5)) ",
+                               ),
+
+    # KICCDVD = SIMP ( statut = "o",
+    CoefficientVariation_KIc = SIMP ( statut = "o",
+                                      typ = "R",
+                                      defaut = "0.15",
+                                      fr = "Coefficient de variation de la loi normale de K1c quand modèle RCC-M ",
+                                      ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+
+    # KIAPAL
+    PalierDuctile_KIa = SIMP ( statut = "o",
+                               typ = "R",
+                               defaut = "195.",
+                               fr = "Palier déterministe de K1a -ténacite à l'arrêt- quand modèle RCC-M  (MPa(m^0.5)) ",
+                               ),
+
+    # KIACDV
+    CoefficientVariation_KIa = SIMP ( statut = "o",
+                                      typ = "R",
+                                      defaut = "0.10",
+                                      fr = "Coefficient de variation de la loi normale de K1a -ténacite à l'arrêt- quand modèle RCC-M ",
+                                      ),
+
+  ), # Fin BLOC Parametres_RCC-M
+
+  RCCM_KIpal = BLOC ( condition = " Tenacite in ( 'RCC-M/ASME avec KI=KIpalier', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_RCCMpal
+
+  RCCM_KIexp = BLOC ( condition = " Tenacite in ( 'RCC-M/ASME avec KI~exponentiel', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_RCCMexp
+
+  RCCM_delta233 = BLOC ( condition = " Tenacite in ( 'RCC-M/ASME coefficient=2.33 (Houssin)', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_Houssin_RC
+      
+  Weibull_MasterCuve = BLOC ( condition = " Tenacite in ( 'Weibull basee sur la master cuve', ) ",
+    # T0WALLIN
+    Temperature_KIc100 = SIMP ( statut = "o",
+                                typ = "I",
+                                defaut = "-27",
+                                fr = "Paramètre T0 du modèle Wallin (°C) : température pour laquelle la téncité du matériau vaut en moyenne 100MPa.m^5",
+                                ),
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_Wallin
+
+  Weibull_MasterCuveREME = BLOC ( condition = " Tenacite in ( 'Weibull basee sur la master cuve (REME)', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_REME
+
+  Weibull1_ORNL = BLOC ( condition = " Tenacite in ( 'Weibull n°1 (etude ORNL)', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_ORNL
+
+  Exponentielle1_Frama = BLOC ( condition = " Tenacite in ( 'Exponentielle n°1 (Frama)', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caracteristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_Frama
+
+  Weibull3 = BLOC ( condition = " Tenacite in ( 'Weibull n°3', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caracteristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_WEIB3
+
+  Weibull2 = BLOC ( condition = " Tenacite in ( 'Weibull n°2', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caracteristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_WEIB2
+
+  Exponentielle2_LOGWOLF = BLOC ( condition = " Tenacite in ( 'Exponentielle n°2 (LOGWOLF)', ) ",
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caracteristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_LOGWOLF
+
+  Weibull_Generalisee = BLOC ( condition = " Tenacite in ( 'Weibull generalisee',) ",
+    Coefficients = FACT ( statut = "o",
+
+      # A1
+      A1 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "21.263",
+                  fr = "coef du coef a(T) d'une Weibull générale",
+                  ),
+      # A2
+      A2 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "9.159",
+                  fr = "coef du coef a(T) d'une Weibull générale",
+                  ),
+      # A3
+      A3 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.04057",
+                  fr = "coef du coef a(T) d'une Weibull générale",
+                  ),
+      # B1
+      B1 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "17.153",
+                  fr = "coef du coef b(T) d'une Weibull générale",
+                  ),
+      # B2
+      B2 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "55.089",
+                  fr = "coef du coef b(T) d'une Weibull générale",
+                  ),
+      # B3
+      B3 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.0144",
+                  fr = "coef du coef b(T) d'une Weibull générale",
+                  ),
+      # C1
+      C1 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "4.",
+                  fr = "coef du coef c(T) d'une Weibull générale",
+                  ),
+      # C2
+      C2 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.",
+                  fr = "coef du coef c(T) d'une Weibull générale",
+                  ),
+      # C3
+      C3 = SIMP ( statut = "o",
+                  typ = "R",
+                  defaut = "0.",
+                  fr = "coef du coef c(T) d'une Weibull générale",
+                  ),
+
+    ), # FIN FACT Coefficients
+
+    # nbectKIc
+    NbEcartType_MoyKIc = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ",
+                                ),
+
+    # fractKIc
+    Fractile_KIc = SIMP ( statut = "o",
+                          typ = "R",
+                          defaut = "5.",
+                          fr = "Valeur caracteristique de KIc exprimée en ordre de fractile (%) ",
+                          ),
+
+    # nbectKIa
+    NbEcartType_MoyKIa = SIMP ( statut = "o",
+                                typ = "R",
+                                defaut = "-2.",
+                                fr = "Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ",
+                                ),
+
+  ), # Fin BLOC Parametres_WEIB_GEN
+
+) # Fin PROC MODELES
+
+
+#==================
+# 5. Initialisation
+#==================
+
+INITIALISATION = PROC ( nom = "INITIALISATION",
+                        op = 68,
+                       repetable = 'n',
+                        fr = "Initialisation : instant initial, profils radiaux de température et contraintes", 
+
+  TemperatureInitiale = FACT ( statut = "o",
+
+    ProfilRadial_TemperatureInitiale = SIMP ( statut = "o",
+                                              typ = Tuple(2),
+                                              max = "**",
+                                              fr = "Profil radial de la température initiale dans la cuve (m) (°C) ",
+                                              ),
+
+    Amont_TemperatureInitiale = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                       fr = "Prolongation à la frontière amont",
+                                       ),
+            
+    Aval_TemperatureInitiale = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière aval",
+                                      ),
+
+  ), # Fin FACT TemperatureInitiale
+
+  ContraintesInitiales = FACT ( statut = "o",
+
+    ProfilRadial_ContraintesInitiales = SIMP ( statut = "o",
+                                               typ = Tuple(4),
+                                               max = "**",
+                                               fr = "Profil radial des contraintes radiale, circonférentielle et longitudinale dans la cuve (m) (xx) (xx) (xx) ",
+                                               ),
+
+    Amont_ContraintesInitiales = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                        fr = "Prolongation à la frontière amont",
+                                        ),
+            
+    Aval_ContraintesInitiales = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                       fr = "Prolongation à la frontière aval",
+                                       ),
+
+  ), # Fin FACT ContraintesInitiales
+
+  # INSTINIT
+  InstantInitialisation = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "-1.",
+                                 fr = "Instant initial auquel sont définies la température, ainsi que les contraintes initiales (en s) ",
+                                 ),
+
+) # Fin PROC INITIALISATION
+
+
+#==================================
+# 6. CARACTERISTIQUES DU REVETEMENT
+#==================================
+
+REVETEMENT = PROC ( nom = "REVETEMENT",
+                    op = 68,
+                   repetable = 'n',
+                    fr = "Caracteristiques du revêtement", 
+
+  # KTHREV
+  ConditionLimiteThermiqueREV = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( "ENTHALPIE", "CHALEUR",),
+                                       #defaut = "CHALEUR",
+                                       fr = "Option pour définir les caractéristiques du revêtement ",
+                                       ),
+
+  EnthalpieREV = BLOC ( condition = " ConditionLimiteThermiqueREV in ( 'ENTHALPIE', ) ",
+
+    EnthalpieREV_Fct_Temperature = SIMP ( statut = "o",
+                                          typ = Tuple(2),
+                                          max = "**",
+                                          fr = "Température (°C) / enthalpie massique  (J/kg) ",
+                                          ),
+
+    Amont_EnthalpieREV = SIMP ( statut = "o",
+                                typ = "TXM",
+                                into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                fr = "Prolongation à la frontière amont",
+                                ),
+            
+    Aval_EnthalpieREV = SIMP ( statut = "o",
+                               typ = "TXM",
+                               into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                               fr = "Prolongation à la frontière aval",
+                               ),
+
+  ), # Fin BLOC EnthalpieREV
+
+
+  ChaleurREV = BLOC ( condition = " ConditionLimiteThermiqueREV in ( 'CHALEUR', ) ",
+
+    ChaleurREV_Fct_Temperature = SIMP ( statut = "o",
+                                        typ = Tuple(2),
+                                        max = "**",
+                                        fr = "Température (°C) / chaleur volumique (J/kg/K) ",
+                                        ),
+
+    Amont_ChaleurREV = SIMP ( statut = "o",
+                              typ = "TXM",
+                              into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                              fr = "Prolongation à la frontière amont",
+                              ),
+            
+    Aval_ChaleurREV = SIMP ( statut = "o",
+                             typ = "TXM",
+                             into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                             fr = "Prolongation à la frontière aval",
+                             ),
+
+  ), # Fin BLOC ChaleurREV
+
+  ConductiviteREV = FACT (statut = "o",
+
+    ConductiviteREV_Fct_Temperature = SIMP ( statut = "o",
+                                             typ = Tuple(2),
+                                             max = "**",
+                                             fr = "Température (°C) / conductivité thermique (W/m/°C) ",
+                                             ),
+
+    Amont_ConductiviteREV = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                   fr = "Prolongation à la frontière amont",
+                                   ),
+            
+    Aval_ConductiviteREV = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                  fr = "Prolongation à la frontière aval",
+                                  ),
+
+  ), # Fin FACT ConductiviteREV
+
+  ModuleYoungREV = FACT (statut = "o",
+
+    ModuleYoungREV_Fct_Temperature = SIMP ( statut = "o",
+                                            typ = Tuple(2),
+                                            max = "**",
+                                            fr = "Température (°C) / module d'Young (MPa) ",
+                                            ),
+
+    Amont_ModuleYoungREV = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                  fr = "Prolongation à la frontière amont",
+                                  ),
+            
+    Aval_ModuleYoungREV = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                 fr = "Prolongation à la frontière aval",
+                                 ),
+
+  ), # Fin FACT ModuleYoungREV
+
+  CoeffDilatThermREV = FACT (statut = "o",
+
+    CoeffDilatThermREV_Fct_Temperature = SIMP ( statut = "o",
+                                                typ = Tuple(2),
+                                                max = "**",
+                                                fr = "Température (°C) / coefficient de dilatation thermique (°C-1) ",
+                                               ),
+
+    Amont_CoeffDilatThermREV = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière amont",
+                                      ),
+            
+    Aval_CoeffDilatThermREV = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                     fr = "Prolongation à la frontière aval",
+                                     ),
+
+  ), # Fin FACT CoeffDilatThermREV
+
+  LimiteElasticiteREV = FACT (statut = "o",
+
+    LimiteElasticiteREV_Fct_Temperature = SIMP ( statut = "o",
+                                                 typ = Tuple(2),
+                                                 max = "**",
+                                                 fr = "Température (°C) / limite d'élasticite (MPa) ",
+                                                 ),
+
+    Amont_LimiteElasticiteREV = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                       fr = "Prolongation à la frontière amont",
+                                       ),
+            
+    Aval_LimiteElasticiteREV = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière aval",
+                                      ),
+
+  ), # Fin FACT LimiteElasticiteREV
+
+  AutresParametresREV = FACT (statut = "o",
+
+    # TREFREV
+    TemperatureDeformationNulleREV = SIMP ( statut = "o",
+                                            typ = "R",
+                                            defaut = "20.",
+                                            fr = "Température de référence pour laquelle les déformations thermiques sont nulles (°C) ",
+                                            ),
+
+    # TDETREV
+    TemperaturePourCoefDilatThermREV = SIMP ( statut = "o",
+                                              typ = "R",
+                                              defaut = "287.",
+                                              fr = "Température de définition du coefficient de dilatation thermique (°C) ",
+                                              ),
+
+    # NUREV
+    CoefficientPoissonREV = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.3",
+                                   fr = "Coefficient de Poisson ",
+                                   ),
+
+  ), # Fin FACT AutresParametresREV
+
+) # Fin PROC REVETEMENT
+
+
+#=====================================
+# 7. CARACTERISTIQUES DU METAL DE BASE
+#=====================================
+
+METAL_BASE = PROC ( nom = "METAL_BASE",
+                    op = 68,
+                   repetable = 'n',
+                    fr = "Caracteristiques du metal de base", 
+
+  # KTHMDB
+  ConditionLimiteThermiqueMDB = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( "ENTHALPIE", "CHALEUR",),
+                                       #defaut = "CHALEUR",
+                                       fr = "Option pour definir les caractéristiques du revêtement ",
+                                       ),
+
+  EnthalpieMDB = BLOC ( condition = " ConditionLimiteThermiqueMDB in ( 'ENTHALPIE', ) ",
+
+    EnthalpieMDB_Fct_Temperature = SIMP ( statut = "o",
+                                          typ = Tuple(2),
+                                          max = "**",
+                                          fr = "Température (°C) / enthalpie massique (J/kg) ",
+                                          ),
+
+    Amont_EnthalpieMDB = SIMP ( statut = "o",
+                                typ = "TXM",
+                                into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                fr = "Prolongation à la frontière amont",
+                                ),
+            
+    Aval_EnthalpieMDB = SIMP ( statut = "o",
+                               typ = "TXM",
+                               into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                               fr = "Prolongation à la frontière aval",
+                               ),
+
+  ), # Fin BLOC EnthalpieMDB
+
+  ChaleurMDB = BLOC ( condition = " ConditionLimiteThermiqueMDB in ( 'CHALEUR', ) ",
+
+    ChaleurMDB_Fct_Temperature = SIMP ( statut = "o",
+                                        typ = Tuple(2),
+                                        max = "**",
+                                        fr = "Température (°C) / chaleur volumique (J/kg/K) ",
+                                        ),
+
+    Amont_ChaleurMDB = SIMP ( statut = "o",
+                              typ = "TXM",
+                              into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                              fr = "Prolongation à la frontière amont",
+                              ),
+            
+    Aval_ChaleurMDB = SIMP ( statut = "o",
+                             typ = "TXM",
+                             into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                             fr = "Prolongation à la frontière aval",
+                             ),
+
+  ), # Fin BLOC ChaleurMDB
+
+  ConductiviteMDB = FACT ( statut = "o",
+
+    ConductiviteMDB_Fct_Temperature = SIMP ( statut = "o",
+                                             typ = Tuple(2),
+                                             max = "**",
+                                             fr = "Température (°C) / conductivité thermique (W/m/°C) ",
+                                             ),
+
+    Amont_ConductiviteMDB = SIMP ( statut = "o",
+                                   typ = "TXM",
+                                   into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                   fr = "Prolongation à la frontière amont",
+                                   ),
+            
+    Aval_ConductiviteMDB = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                  fr = "Prolongation à la frontière aval",
+                                  ),
+
+  ), # Fin FACT ConductiviteMDB
+
+  ModuleYoungMDB = FACT ( statut = "o",
+
+    ModuleYoungMDB_Fct_Temperature = SIMP ( statut = "o",
+                                            typ = Tuple(2),
+                                            max = "**",
+                                            fr = "Température (°C) / module d'Young (MPa) ",
+                                            ),
+
+    Amont_ModuleYoungMDB = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                  fr = "Prolongation à la frontière amont",
+                                  ),
+            
+    Aval_ModuleYoungMDB = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                 fr = "Prolongation à la frontière aval",
+                                 ),
+
+  ), # Fin FACT ModuleYoungMDB
+
+  CoeffDilatThermMDB = FACT ( statut = "o",
+
+    CoeffDilatThermMDB_Fct_Temperature = SIMP ( statut = "o",
+                                                typ = Tuple(2),
+                                                max = "**",
+                                                fr = "Température (°C) / coefficient de dilatation thermique (°C-1) ",
+                                                ),
+
+    Amont_CoeffDilatThermMDB = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière amont",
+                                      ),
+            
+    Aval_CoeffDilatThermMDB = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                     fr = "Prolongation à la frontière aval",
+                                     ),
+
+  ), # Fin FACT CoeffDilatThermMDB
+
+  AutresParametresMDB = FACT ( statut = "o",
+
+    # TREFMDB
+    TemperatureDeformationNulleMDB = SIMP ( statut = "o",
+                                            typ = "R",
+                                            defaut = "20.",
+                                            fr = "Température de référence pour laquelle les déformations thermiques sont nulles (°C) ",
+                                            ),
+
+    # TDETMDB
+    TemperaturePourCoefDilatThermMDB = SIMP ( statut = "o",
+                                              typ = "R",
+                                              defaut = "287.",
+                                              fr = "Température de définition du coefficient de dilatation thermique (°C) ",
+                                              ),
+
+    # NUMDB
+    CoefficientPoissonMDB = SIMP ( statut = "o",
+                                   typ = "R",
+                                   defaut = "0.3",
+                                   fr = "Coefficient de Poisson ",
+                                   ),
+
+  ), # Fin FACT TemperatureDeformationNulleMDB
+
+) # Fin PROC METAL_BASE
+
+
+#===============================
+# 8. TRANSITOIRE THERMOMECANIQUE
+#===============================
+
+TRANSITOIRE = PROC ( nom = "TRANSITOIRE",
+                     op = 68,
+                    repetable = 'n',
+                     fr = "Description du transitoire thermohydraulique", 
+
+  Pression = FACT ( statut = "o",
+
+    ProfilTemporel_Pression = SIMP ( statut = "o",
+                                   typ = Tuple(2),
+                                   max = "**",
+                                   fr = "Instant (s) / pression (MPa) ",
+                                   ),
+
+    Amont_Pression = SIMP ( statut = "o",
+                          typ = "TXM",
+                          into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                          fr = "Prolongation à la frontière amont",
+                          ),
+            
+    Aval_Pression = SIMP ( statut = "o",
+                         typ = "TXM",
+                         into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                         fr = "Prolongation à la frontière aval",
+                         ),
+
+  ), # FIN FACT Pression
+
+  # TYPCLTH
+  TypeConditionLimiteThermique = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( "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
+                                        #defaut = "ECHANGE",
+                                        fr = "Type de condition thermique en paroi interne ",
+                                        ),
+
+  TemperatureImposeeParoi = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee en paroi', ) ",
+
+    ProfilTemporel_TemperatureImposeeParoi = SIMP ( statut = "o",
+                                               typ = Tuple(2),
+                                               max = "**",
+                                               fr = "Instant (s) / Température imposée (°C) ",
+                                               ),
+
+    Amont_TemperatureImposeeParoi = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière amont",
+                                      ),
+            
+    Aval_TemperatureImposeeParoi = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                     fr = "Prolongation à la frontière aval",
+                                     ),
+
+  ), # Fin BLOC TemperatureImposeeParoi
+
+  FluxChaleur = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Flux de chaleur impose en paroi', ) ",
+
+    ProfilTemporel_FluxChaleur = SIMP ( statut = "o",
+                                        typ = Tuple(2),
+                                        max = "**",
+                                        fr = "Instant (s) / Flux de chaleur impose (W/m2) ",
+                                        ),
+
+    Amont_FluxChaleur = SIMP ( statut = "o",
+                               typ = "TXM",
+                               into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                               fr = "Prolongation à la frontière amont",
+                               ),
+            
+    Aval_FluxChaleur = SIMP ( statut = "o",
+                              typ = "TXM",
+                              into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                              fr = "Prolongation à la frontière aval",
+                              ),
+
+  ), # Fin BLOC FluxChaleur
+
+  TemperatureImposeeFluide = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et coefficient echange', 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    ProfilTemporel_TemperatureImposeeFluide = SIMP ( statut = "o",
+                                               typ = Tuple(2),
+                                               max = "**",
+                                               fr = "Instant (s) / Température imposée (°C) ",
+                                               ),
+
+    Amont_TemperatureImposeeFluide = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière amont",
+                                      ),
+            
+    Aval_TemperatureImposeeFluide = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                     fr = "Prolongation à la frontière aval",
+                                     ),
+
+  ), # Fin BLOC TemperatureImposeeFluide
+
+  CoefficientEchange = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et coefficient echange', ) ",
+
+    ProfilTemporel_CoefficientEchange = SIMP ( statut = "o",
+                                               typ = Tuple(2),
+                                               max = "**",
+                                               fr = "Instant (s) / Coefficient d'échange (W/m2/K) ",
+                                               ),
+
+    Amont_CoefficientEchange = SIMP ( statut = "o",
+                                      typ = "TXM",
+                                      into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                      fr = "Prolongation à la frontière amont",
+                                      ),
+            
+    Aval_CoefficientEchange = SIMP ( statut = "o",
+                                     typ = "TXM",
+                                     into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                     fr = "Prolongation à la frontière aval",
+                                     ),
+
+  ), # Fin BLOC CoefficientEchange
+
+  DebitMassique = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    ProfilTemporel_DebitMassique = SIMP ( statut = "o",
+                                          typ = Tuple(2),
+                                          max = "**",
+                                          fr = "Instant (s) / Débit massique (kg/s) ",
+                                          ),
+
+    Amont_DebitMassique = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                 fr = "Prolongation à la frontière amont",
+                                 ),
+            
+    Aval_DebitMassique = SIMP ( statut = "o",
+                                typ = "TXM",
+                                into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                fr = "Prolongation à la frontière aval",
+                                ),
+
+  ), # Fin BLOC DebitMassique
+
+  TemperatureInjection = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    ProfilTemporel_TemperatureInjection = SIMP ( statut = "o",
+                                                 typ = Tuple(2),
+                                                 max = "**",
+                                                 fr = "Instant (s) / Température d'injection de sécurité  (°C) ",
+                                                 ),
+
+    Amont_TemperatureInjection = SIMP ( statut = "o",
+                                        typ = "TXM",
+                                        into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                        fr = "Prolongation à la frontière amont",
+                                        ),
+            
+    Aval_TemperatureInjection = SIMP ( statut = "o",
+                                       typ = "TXM",
+                                       into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                       fr = "Prolongation à la frontière aval",
+                                       ),
+  ), # Fin BLOC TemperatureInjection
+
+  Creare = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    # DH
+    DiametreHydraulique = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "-2.",
+                                 fr = "Diamètre hydraulique (m) ",
+                                 ),
+
+    # SECTION
+    SectionEspaceAnnulaire = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Section espace annulaire (m2) ",
+                                    ),
+
+    # DELTA
+    HauteurCaracConvectionNaturelle = SIMP ( statut = "o",
+                                             typ = "R",
+                                             defaut = "-2.",
+                                             fr = "Hauteur caractéristique convection naturelle (m) ",
+                                             ),
+
+    # ALPHA_CF
+    CoeffVestale_ConvectionForcee = SIMP ( statut = "o",
+                                           typ = "R",
+                                           defaut = "1.",
+                                           fr = "Coefficient Vestale convection forcée (-) ",
+                                           ),
+
+    # ALPHA_CN
+    CoeffVestale_ConvectionNaturelle = SIMP ( statut = "o",
+                                              typ = "R",
+                                              defaut = "1.",
+                                              fr = "Coefficient Vestale convection naturelle (-) ",
+                                              ),
+
+    # EPS
+    CritereConvergenceRelative = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "0.00001",
+                                        fr = "Critère convergence relative (-) ",
+                                        ),
+
+    # VM
+    VolumeMelange_CREARE = SIMP ( statut = "o",
+                                  typ = "R",
+                                  defaut = "-2.",
+                                  fr = "Volume de mélange CREARE (m3) ",
+                                  ),
+
+    # T0
+    TemperatureInitiale_CREARE = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "-2.",
+                                        fr = "Température initiale CREARE (°C) ",
+                                        ),
+
+    # SE
+    SurfaceEchange_FluideStructure = SIMP ( statut = "o",
+                                            typ = "R",
+                                            defaut = "-2.",
+                                            fr = "Surface d'échange fluide/structure (m2) ",
+                                            ),
+
+  ), # Fin BLOC Creare
+
+
+  DebitInjection = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    ProfilTemporel_DebitInjection = SIMP ( statut = "o",
+                                           typ = Tuple(2),
+                                           max = "**",
+                                           fr = "Instant (s) / Débit d'injection de sécurité (kg/s) ",
+                                           ),
+
+    Amont_DebitInjection = SIMP ( statut = "o",
+                                  typ = "TXM",
+                                  into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                  fr = "Prolongation à la frontière amont",
+                                  ),
+            
+    Aval_DebitInjection = SIMP ( statut = "o",
+                                 typ = "TXM",
+                                 into = ( 'Continu', 'Exclu', 'Lineaire' ),
+                                 fr = "Prolongation à la frontière aval",
+                                 ),
+
+  ), # Fin BLOC DebitInjection
+
+
+  Vestale = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    # DH
+    DiametreHydraulique = SIMP ( statut = "o",
+                                 typ = "R",
+                                 defaut = "-2.",
+                                 fr = "Diamètre hydraulique (m) ",
+                                 ),
+
+    # SECTION
+    SectionEspaceAnnulaire = SIMP ( statut = "o",
+                                    typ = "R",
+                                    defaut = "-2.",
+                                    fr = "Section espace annulaire (m2) ",
+                                    ),
+
+    # DELTA
+    HauteurCaracConvectionNaturelle = SIMP ( statut = "o",
+                                             typ = "R",
+                                             defaut = "-2.",
+                                             fr = "Hauteur caractéristique convection naturelle (m) ",
+                                             ),
+
+    # ALPHA_CF
+    CoeffVestale_ConvectionForcee = SIMP ( statut = "o",
+                                           typ = "R",
+                                           defaut = "1.",
+                                           fr = "Coefficient d'échange Vestale convection forcée (-) ",
+                                           ),
+
+    # ALPHA_CN
+    CoeffVestale_ConvectionNaturelle = SIMP ( statut = "o",
+                                              typ = "R",
+                                              defaut = "1.",
+                                              fr = "Coefficient d'échange Vestale convection naturelle (-) ",
+                                              ),
+
+    # EPS
+    CritereConvergenceRelative = SIMP ( statut = "o",
+                                        typ = "R",
+                                        defaut = "0.00001",
+                                        fr = "Critère convergence relative (-) ",
+                                        ),
+
+  ), # Fin BLOC Vestale
+
+) # Fin PROC TRANSITOIRE
diff --git a/Cuve2dg/Cuve2dg_Cata_V3.py b/Cuve2dg/Cuve2dg_Cata_V3.py
new file mode 100644 (file)
index 0000000..cc5fc92
--- /dev/null
@@ -0,0 +1,1050 @@
+# -*- coding: utf-8 -*-
+
+# --------------------------------------------------
+# Definition de variables sous forme de tuple
+# --------------------------------------------------
+
+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
+
+# --------------------------------------------------
+# debut entete
+# --------------------------------------------------
+
+import Accas
+from Accas import *
+
+class loi ( ASSD ) : pass
+class variable ( ASSD ) : pass
+
+
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'CUVE1D-DEFAILLGLOB',
+                 execmodul = None,
+                 regles = ( AU_MOINS_UN ('OPTIONS','DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'),
+                            A_CLASSER ( ('OPTIONS'), ('DEFAUT') ),
+                            A_CLASSER ( ('DEFAUT'), ('CUVE') ),
+                            A_CLASSER ( ('CUVE'), ('MODELES') ),
+                            A_CLASSER ( ('MODELES'), ('INITIALISATION') ),
+                            A_CLASSER ( ('INITIALISATION'), ('REVETEMENT') ),
+                            A_CLASSER ( ('REVETEMENT'), ('METAL_BASE') ),
+                            A_CLASSER ( ('METAL_BASE'), ('TRANSITOIRE') )
+                          )
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# fin entete
+# --------------------------------------------------
+
+# --------------------------------------------------
+# RESPONSABLE D. THAI VAN
+# Ce fichier contient la liste des coefficients pour un
+# modele de Weibull generalise
+def Coef_WeibGen() : return FACT(statut='o',min=1,max='**',
+
+  # A1
+  A1 = SIMP ( statut="o", typ="R", defaut=21.263, 
+              fr="coef du coef a(T) d'une Weibull générale", ),
+  # A2
+  A2 = SIMP ( statut="o", typ="R", defaut=9.159, 
+              fr="coef du coef a(T) d'une Weibull générale", ),
+  # A3
+  A3 = SIMP ( statut="o", typ="R", defaut=0.04057, 
+              fr="coef du coef a(T) d'une Weibull générale", ),
+  # B1
+  B1 = SIMP ( statut="o", typ="R", defaut=17.153, 
+              fr="coef du coef b(T) d'une Weibull générale", ),
+  # B2
+  B2 = SIMP ( statut="o", typ="R", defaut=55.089, 
+              fr="coef du coef b(T) d'une Weibull générale", ),
+  # B3
+  B3 = SIMP ( statut="o", typ="R", defaut=0.0144, 
+              fr="coef du coef b(T) d'une Weibull générale", ),
+  # C1
+  C1 = SIMP ( statut="o", typ="R", defaut=4., 
+              fr="coef du coef c(T) d'une Weibull générale", ),
+  # C2
+  C2 = SIMP ( statut="o", typ="R", defaut=0., 
+              fr="coef du coef c(T) d'une Weibull générale", ),
+  # C3
+  C3 = SIMP ( statut="o", typ="R", defaut=0., 
+              fr="coef du coef c(T) d'une Weibull générale", ),
+
+); # FIN def Coef_WeibGen
+
+
+# --------------------------------------------------
+# RESPONSABLE D. THAI VAN
+# Ce fichier contient la liste des coefficients 
+def Coef_Fluence() : return FACT(statut='o',min=1,max='**',
+
+  # COEFFLUENCE1
+  Azimut_0deg  = SIMP ( statut="o", typ="R", defaut=5.8, 
+                        fr="Fluence à l'azimut 0 (10^19 n/cm2)", ),
+  # COEFFLUENCE2
+  Azimut_5deg  = SIMP ( statut="o", typ="R", defaut=5.48, 
+                        fr="Fluence à l'azimut 5 (10^19 n/cm2)", ),
+  # COEFFLUENCE3
+  Azimut_10deg = SIMP ( statut="o", typ="R", defaut=4.46, 
+                        fr="Fluence à l'azimut 10 (10^19 n/cm2)", ),
+  # COEFFLUENCE4
+  Azimut_15deg = SIMP ( statut="o", typ="R", defaut=3.41, 
+                        fr="Fluence à l'azimut 15 (10^19 n/cm2)", ),
+  # COEFFLUENCE5
+  Azimut_20deg = SIMP ( statut="o", typ="R", defaut=3.37, 
+                        fr="Fluence à l'azimut 20 (10^19 n/cm2)", ),
+  # COEFFLUENCE6
+  Azimut_25deg = SIMP ( statut="o", typ="R", defaut=3.16, 
+                        fr="Fluence à l'azimut 25 (10^19 n/cm2)", ),
+  # COEFFLUENCE7
+  Azimut_30deg = SIMP ( statut="o", typ="R", defaut=2.74, 
+                        fr="Fluence à l'azimut 30 (10^19 n/cm2)", ),
+  # COEFFLUENCE8
+  Azimut_35deg = SIMP ( statut="o", typ="R", defaut=2.25, 
+                        fr="Fluence à l'azimut 35 (10^19 n/cm2)", ),
+  # COEFFLUENCE9
+  Azimut_40deg = SIMP ( statut="o", typ="R", defaut=1.89, 
+                        fr="Fluence à l'azimut 40 (10^19 n/cm2)", ),
+  # COEFFLUENCE10
+  Azimut_45deg = SIMP ( statut="o", typ="R", defaut=1.78, 
+                        fr="Fluence à l'azimut 45 (10^19 n/cm2)", ),
+
+); # FIN def Coef_Fluence
+
+#================================
+# 1. Definition des OPTIONS
+#================================
+
+OPTIONS = PROC ( nom = "OPTIONS",
+                 op = 68,
+                repetable = 'n',
+                 fr = "Définitions des options", 
+
+#===
+# Liste des paramètres
+#===
+
+# INCRTPS
+  IncrementTemporel          = SIMP ( statut="o", typ="I", max=1, defaut=1, 
+                                      fr="Incrément temporel (=1 pour calcul déterministe)", ),
+
+# DTPREC
+  IncrementMaxTemperature    = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=1., defaut=0.1, 
+                                     fr="Incrément maximum d'évolution de la température par noeud et par instant (°C)", ),
+
+# DTARCH
+  IncrementMaxTempsAffichage = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=1000., defaut="1000.", 
+                                     fr="Incrément maximum de temps pour l'affichage (s)", ),
+
+# NBO
+# Question : NBO depend-il de TYPGEOM ??
+  NombreNoeudsMaillage       = SIMP ( statut="o", typ="R", max=1, val_min=1., val_max=1000., 
+                                     fr = "Nombre de noeuds à considérer dans le maillage interne", ),
+
+# 
+  ListeInstants              = SIMP ( statut="o", typ="R", max="**",
+                                      fr = "Liste des instants pour lesquels la température et les contraintes seront archivés", ),
+
+) # Fin PROC OPTIONS
+
+#================================
+# 2. Caracteristiques du DEFAUT
+#================================
+
+DEFAUT = PROC ( nom = "DEFAUT",
+                op = 68,
+               repetable = 'n',
+                fr = "Caractéristiques du défaut", 
+
+#===
+# Liste des paramètres
+#===
+
+# TYPEDEF
+  TypeInitial = SIMP ( statut="o", typ="TXM",
+                       fr="Type initial du défaut : sous revêtement ou débouchant",
+                       into=( "Sous Revetement", # DSR
+                              "Debouchant", ), # DD
+                       ),
+
+#====
+# Definition des parametres selon le type du defaut
+#====
+
+  SousRevetement = BLOC ( condition = "TypeInitial=='Sous Revetement'",
+
+    # ORIEDEF into LONGITUD, CIRCONF
+    Orientation              = SIMP ( statut="o", typ="TXM", 
+                                     fr="Orientation du défaut",
+                                      into=( "Longitudinale", 
+                                            "Circonferentielle" ), ),
+
+    # PROFDEF
+    ProfondeurRadiale        = SIMP ( statut="o", typ="R", max=1, val_min=1., val_max=1., defaut=0.006, 
+                                      fr="Profondeur radiale du défaut (m)", ),
+
+    # OPTLONG into VALEUR, RAPPORT
+    OptionCalculLongueur     = SIMP ( statut="o", typ="TXM",
+                                      fr="Option pour caractériser la longueur du défaut : soit par valeur, soit par un rapport LONG/PROF",
+                                      into = ( "Valeur", 
+                                              "Relation lineaire avec la longueur" ), ),
+
+    Option_Valeur            = BLOC ( condition = "OptionCalculLongueur=='Valeur'",
+      # LONGDEF
+      Longueur                 = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=1., defaut = 0.060, 
+                                        fr = "Longueur du défaut sous revêtement (m)", ),
+    ), # Fin BLOC Option_Valeur
+
+    Option_Rapport           = BLOC ( condition = "OptionCalculLongueur=='Relation lineaire avec la longueur'",
+      # LONGSURPROF
+      LongueurSurProfondeur    = SIMP ( statut="o", typ="R", max=1, val_max=100.,
+                                        fr="Rapport longueur/profondeur du défaut sous revêtement", ),
+    ), # Fin BLOC Option_Rapport
+
+    # DECADEF
+    DecalageRadial           = SIMP ( statut="o", typ="R", defaut=-0.00001, 
+                                      fr="Décalage radial du defaut sous revêtement (en m)", ),
+    # ANGLDEF
+    Azimut                   = SIMP ( statut="o", typ="R", defaut=0., 
+                                      fr="Position angulaire du défaut dans le cylindre de cuve (en degrés)", ),
+    # ALTIDEF
+    Altitude                 = SIMP ( statut="o", typ="R", val_min=0., val_max=4., defaut=2., 
+                                      fr="Altitude du défaut sur le cylindre de cuve (en m)", ),
+    # POINDEF
+    Pointe                   = SIMP ( statut="o", typ="TXM", defaut="A", 
+                                      fr="Choix du point considéré du défaut sous revêtement",
+                                      into=( "A", "B" ), ),
+    # CORRECPLASTIC
+    CorrectionPlastiqueBeta  = SIMP ( statut="o", typ="TXM", defaut="NON", 
+                                      fr="Prise en compte de la correction plastique BETA dans le calcul du facteur d'intensité de contraintes",
+                                      into=( "OUI", "NON" ), ),
+
+  ), # Fin BLOC SousRevetement
+
+  Debouchant = BLOC ( condition = "TypeInitial=='Debouchant'",
+
+    # ORIEDEF into LONGITUD, CIRCONF
+    Orientation              = SIMP ( statut="o", typ="TXM",
+                                      fr="Orientation du défaut : longitudinale ou circonférentielle",
+                                      into=( "Longitudinale",
+                                            "Circonferentielle" ), ),
+    # PROFDEF
+    ProfondeurRadiale        = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=1., defaut=0.006, 
+                                      fr="Profondeur radiale du défaut (en m)", ),
+    # ANGLDEF
+    Azimut                   = SIMP ( statut="o", typ="R", defaut=0., 
+                                      fr="Position angulaire du défaut dans le cylindre de la cuve (en degrés)", ),
+    # ALTIDEF
+    Altitude                 = SIMP ( statut="o", typ="R", defaut=2., 
+                                      fr="Altitude du défaut sur le cylindre de la cuve (en m)", ),
+    # IRWIN
+    CorrectionPlastiqueIrwin = SIMP ( statut="o", typ="TXM", defaut="NON", 
+                                      fr="Prise en compte de la correction plastique d'Irwin dans le calcul du facteur d'intensité de contraintes",
+                                      into=( "OUI", "NON" ), ),
+    # CORRECPLASTIC
+    CorrectionPlastiqueBeta  = SIMP ( statut="o", typ="TXM", defaut="NON", 
+                                      fr="Prise en compte de la correction plastique BETA dans le calcul du facteur d'intensité de contraintes",
+                                      into=( "OUI", "NON" ), ),
+
+  ), # Fin BLOC debouchant
+
+) # Fin PROC DEFAUT
+
+
+#================================
+# 3. Caracteristiques de la CUVE
+#================================
+
+CUVE = PROC (nom = "CUVE",
+             op = 68,
+            repetable = 'n',
+             fr = "Caractéristiques de la cuve", 
+
+#===
+# Liste des paramètres
+#===
+
+  # TYPEGEOM
+  TraitementGeometrie = SIMP ( statut="o", typ="TXM",
+                               fr="Choix de la définition de la geométrie d'une cuve",
+                              into=( "Topologie", # GEOMETRIE 
+                                       "Maillage"), # MAILLAGE
+                               ),
+
+#====
+# Definition des parametres selon le type de traitement de la geometrie
+#====
+
+  Geometrie = BLOC ( condition = "TraitementGeometrie=='Topologie'",
+
+    # RINT
+    RayonInterne        = SIMP ( statut="o", typ="R", val_min=0.,  defaut=1.994, 
+                                 fr="Rayon interne de la cuve (en m)", ),
+
+    # DTV : comment preciser que REXT > RINT ?
+    # REXT
+    RayonExterne        = SIMP ( statut="o", typ="R", defaut=2.2015, 
+                                 fr="Rayon externe de la cuve (en m)", ),
+
+    # DTV : comment preciser que LREV < RINT ?
+    # LREV
+    EpaisseurRevetement = SIMP ( statut="o", typ="R", defaut=0.0075, 
+                                 fr="Epaisseur du revêtement (m)", ),
+
+    # LIGMIN
+    LigamentExterneMin  = SIMP ( statut="o", typ="R", defaut=0.75, 
+                                 fr="Ligament externe minimal avant rupture (% de l'épaisseur de cuve)", ),
+
+  ), # Fin BLOC  Geometrie
+
+  Maillage  = BLOC ( condition = "TraitementGeometrie=='Maillage'",
+
+    # DTV : comment preciser que c'est une suite de liste de nombres croissants ?
+    # Question : quel rapport avec NBO ??
+    Liste_abscisses = SIMP ( statut="o", typ="R", max="**",
+                             fr = "Liste des abscisses (m)", ),
+  ), # Fin BLOC Maillage
+
+) # Fin PROC CUVE
+
+#====================================================
+# 4. Modeles de fluence, d'irradiation et de tenacite
+#====================================================
+
+#=======================
+# 4.1 Modeles de fluence
+#=======================
+
+MODELES = PROC ( nom = "MODELES",
+                 op = 68,
+                repetable = 'n',
+                 fr = "Modèles de fluence, d'irradiation et de ténacité", 
+
+
+#===
+# Liste des paramètres
+#===
+
+  Fluence = FACT ( statut="o",
+  
+    # MODELFLUENCE
+    Modele        = SIMP ( statut="o", typ="TXM",
+                           fr="Modèle d'atténuation de la fluence dans l'épaisseur de la cuve",
+                          into=( "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 
+                                  "Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)", # GrandeDev 
+                                  "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 
+                                  "Grand developpement (GD_Cuve)"), # GD_Cuve 
+                         ),
+
+#====
+# Definition des parametres selon le modele de fluence
+#====
+
+    Reglementaire = BLOC ( condition = " Modele in ( 'Exponentiel sans revetement k=9.7 (Reglementaire)', ) ",
+      # DTV : comment proposer une liste de valeurs, tout en proposant de fournir d'autres valeurs ?
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC Reglementaire
+
+    France        = BLOC ( condition = " Modele in ( 'Exponentiel sans revetement k=12.7 (France)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+      # KPFRANCE
+      KPFrance      = SIMP ( statut="o", typ="R",
+                             fr="Paramètre exponentiel du modèle France",
+                             defaut = 12.7, ),
+    ), # Fin BLOC France
+
+    ValeurImposee = BLOC ( condition = " Modele in ( 'Exponentiel sans revetement k=0. (ValeurImposee)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC ValeurImposee
+
+    SDM           = BLOC ( condition = " Modele in ( 'Donnees francaises du palier CPY (SDM)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC SDM
+
+    USNRC         = BLOC ( condition = " Modele in ( 'Regulatory Guide 1.99 rev 2 (USNRC)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+      KPUS          = SIMP ( statut="o", typ="R",
+                             fr="Paramètre exponentiel du modèle US",
+                             defaut=9.4488, ),
+    ), # Fin BLOC USNRC
+
+    REV_2         = BLOC ( condition = " Modele in ( 'Dossier 900 MWe AP9701 rev 2 (REV_2)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC REV_2
+
+    SDM_Lissage   = BLOC ( condition = " Modele in ( 'Lissage du modele ajuste (SDM_Lissage)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC SDM_Lissage
+
+    GrandeDev     = BLOC ( condition = " Modele in ( 'Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+    ), # Fin BLOC GrandeDev
+
+    GD_Cuve       = BLOC ( condition = " Modele in ( 'Grand developpement (GD_Cuve)', ) ",
+      # fmax
+      FluenceMax    = SIMP ( statut="o", typ="R", defaut=6.5, 
+                             fr="Fluence maximale en surface interne assimilée par la cuve (10^19 n/cm2) ; HP-26/99/045 : p.31 : fluence max = 7.3/9.125/10/95", ),
+      Coefficients  = Coef_Fluence(),
+    ), # Fin BLOC GD_Cuve
+
+  ), # Fin FACT Fluence
+
+#==========================
+# 4.2 Modeles d'irradiation
+#==========================
+
+  Irradiation = FACT ( statut="o",
+
+    # TYPIRR
+    Option = SIMP ( statut = "o", typ = "TXM",
+                       fr = "Type d'irradiation",
+                      into = ( "RTndt de la cuve a l instant de l analyse", # RTNDT 
+                               "Modele d irradiation" ), # FLUENCE
+                       ),
+
+#====
+# Definition des parametres selon le type d'irradiation
+#====
+
+    RTndt = BLOC ( condition = "Option=='RTndt de la cuve a l instant de l analyse'",
+      RTNDT = SIMP ( statut="o", typ="R", defaut=73., 
+                     fr="RTNDT de la cuve à l'instant de l'analyse (°C)", ),
+
+    ), # Fin BLOC RTndt
+
+    ModeleIrradiation = BLOC ( condition = "Option=='Modele d irradiation'",
+      # MODELIRR
+      Modele           = SIMP ( statut="o", typ="TXM",
+                                fr="Modèle d'irradiation pour virole ou joint soudé",
+                               into=( "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
+                                ),
+      # CU
+      TeneurCuivre     = SIMP ( statut="o", typ="R", defaut=0., 
+                                fr="Teneur en cuivre (%)", ),
+      # NI
+      TeneurNickel     = SIMP ( statut="o", typ="R", defaut=0., 
+                                fr="Teneur en nickel (%)", ),
+      # P
+      TeneurPhosphore  = SIMP ( statut="o", typ="R", defaut=0., 
+                                fr="Teneur en phosphore (%)", ),
+
+      Parametres_USNRC = BLOC ( condition = " Modele in ( 'Joint Soude : Regulatory Guide 1.00 rev 2', 'Metal de Base : Regulatory Guide 1.00 rev 2' , ) ",
+        # RTimoy
+        MoyenneRTndt         = SIMP ( statut="o", typ="R", defaut=0., 
+                                      fr="Moyenne de RTNDT : virole C1 de cuve Chinon : mdb=>-17.°C et js=>42.°C (HT-56/05/038 : p.52)", ),
+        # RTicov
+        CoefVariationRTndt   = SIMP ( statut="o", typ="R", defaut=0., 
+                                      fr="Coefficient de variation de la RTNDT initiale", ),
+        # USectDRT
+        EcartTypeRTndt       = SIMP ( statut="o", typ="R", defaut=28., 
+                                      fr="Ecart-type du décalage de RTNDT (°F) (28. pour js et 17. pour mdb)", ),
+        # nbectDRTNDT
+        NombreEcartTypeRTndt = SIMP ( statut="o", typ="R", defaut=2., 
+                                      fr="Nombre d'écart-type par rapport à la moyenne de DRTNDT", ),
+      ), # Fin BLOC Parametres_USNRC 
+
+    ), # Fin BLOC ModeleIrradiation
+
+  ), # Fin FACT Irradiation
+
+#========================
+# 4.3 Modeles de tenacite
+#========================
+
+  Tenacite = FACT ( statut = "o",
+
+    # MODELKIC
+    Modele = SIMP ( statut="o", typ="TXM",
+                    fr="Modèle de calcul de la ténacité à l'amorçage KIc", 
+                   into=( "RCC-M/ASME coefficient=2", # RCC-M
+                          "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°1 (etude ORNL)", # ORNL
+                          "Weibull n°2", # WEIB2
+                          "Weibull n°3", # WEIB3
+                          "Weibull generalisee", # WEIB_GEN
+                          "Exponentielle n°1 (Frama)", # Frama
+                          "Exponentielle n°2 (LOGWOLF)" ), # LOGWOLF
+                   ),
+
+
+#====
+# Definition des parametres selon le modele de tenacité
+#====
+
+# Modeles type RCC-M
+
+    KIc_RCCM = BLOC ( condition = " Modele in ( 'RCC-M/ASME coefficient=2', 'RCC-M/ASME coefficient=2.33 (Houssin)', 'RCC-M/ASME avec KI=KIpalier', 'RCC-M/ASME avec KI~exponentiel', ) ",
+
+      # nbectKIc
+      NbEcartType_MoyKIc       = SIMP ( statut="o", typ="R", defaut=-2., 
+                                        fr = "Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+
+      # KICPAL
+      PalierDuctile_KIc        = SIMP ( statut="o", typ="R", defaut=195. ,
+                                        fr="Palier déterministe de K1c ou valeur du palier ductile plafonnant la courbe (en MPa(m^0.5)) ", ),
+
+      # KICCDVD
+      CoefficientVariation_KIc = SIMP ( statut="o", typ="R", defaut = 0.15, 
+                                        fr = "Coefficient de variation de la loi normale de K1c ", ),
+
+    ), # Fin BLOC KIc_RCCM
+
+    Fissure = BLOC ( condition = " Modele in ( 'RCC-M/ASME coefficient=2', 'RCC-M/ASME coefficient=2.33 (Houssin)', 'RCC-M/ASME avec KI=KIpalier', 'RCC-M/ASME avec KI~exponentiel', )",
+
+      # ARRETFISSURE
+      ArretDeFissure           = SIMP ( statut="o", typ="TXM", defaut="NON", 
+                                        fr="Prise en compte de l'arrêt de fissure",
+                                        into=( "OUI", "NON" ), ),
+
+      Parametres_Fissure       = BLOC ( condition = "ArretDeFissure=='OUI'",
+        # INCRDEF
+        IncrementTailleFissure   = SIMP ( statut="o", typ="R", defaut=0.005, 
+                                          fr="Incrément de la taille de fissure pour la propagation (en m)", ),
+      ), # Fin BLOC Parametres_Fissure
+
+      KIa_RCCM = BLOC ( condition = "ArretDeFissure=='OUI'",
+
+        # nbectKIa
+        NbEcartType_MoyKIa       = SIMP ( statut="o", typ="R", defaut=-2., 
+                                          fr="Nombre d'écart-type par rapport à la moyenne de KIa (nb sigma) ", ),
+
+        # KIACDV
+        CoefficientVariation_KIa = SIMP ( statut="o", typ="R", defaut=0.10, 
+                                          fr="Coefficient de variation de la loi normale de K1a -ténacite à l'arrêt- ", ),
+
+        # KIAPAL
+        PalierDuctile_KIa        = SIMP ( statut="o", typ="R", defaut=195., 
+                                          fr="Palier déterministe de K1a -ténacite à l'arrêt- (en MPa(m^0.5)) ", ),
+      ), # Fin BLOC KIa_RCCM
+
+    ), # Fin BLOC Fissure
+
+# Modeles type Weibull
+
+    KIc_MasterCuve = BLOC ( condition = " Modele in ( 'Weibull basee sur la master cuve', ) ",
+      # T0WALLIN
+      Temperature_KIc100 = SIMP ( statut="o", typ="I", defaut=-27, 
+                                  fr="Paramètre T0 du modèle Wallin (°C) : température pour laquelle la téncité du matériau vaut en moyenne 100MPa.m^5", ),
+
+      # fractKIc
+      Fractile_KIc       = SIMP ( statut="o", typ="R", defaut=5., 
+                                  fr="Valeur caractéristique de KIc exprimée en ordre de fractile (%) ", ),
+
+    ), # Fin BLOC KIc_MasterCuve
+
+    KIc_Weibull1 = BLOC ( condition = " Modele in ( 'Weibull basee sur la master cuve (REME)', 'Weibull n°1 (etude ORNL)', ) ",
+
+      # fractKIc
+      Fractile_KIc       = SIMP ( statut="o", typ="R", defaut=5., 
+                                  fr="Valeur caractéristique de KIc exprimée en ordre de fractile (%) ", ),
+
+    ), # Fin BLOC KIc_Weibull1
+
+    KIc_Weibull2 = BLOC ( condition = " Modele in ( 'Weibull n°2', 'Weibull n°3', ) ",
+
+      # nbectKIc
+      NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2., 
+                                  fr="Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+
+    ), # Fin BLOC KIc_Weibull2
+
+    Weibull_Generalisee = BLOC ( condition = " Modele in ( 'Weibull generalisee',) ",
+      Coefficients       = Coef_WeibGen(),
+      # nbectKIc
+      NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2., 
+                                  fr="Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+
+    ), # Fin BLOC Weibull_Generalisee
+
+# Modeles type exponentiel (Frama, LOGWOLF)
+
+    KIc_Exponentielle = BLOC ( condition = " Modele in ( 'Exponentielle n°1 (Frama)', 'Exponentielle n°2 (LOGWOLF)', ) ",
+
+      # nbectKIc
+      NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2., 
+                                  fr="Nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+
+    ), # Fin BLOC KIc_Exponentielle
+
+  ), # Fin FACT Tenacite
+
+) # Fin PROC MODELES
+
+
+#==================
+# 5. Initialisation
+#==================
+
+INITIALISATION = PROC ( nom = "INITIALISATION",
+                        op = 68,
+                       repetable = 'n',
+                        fr = "Initialisation : instant initial, profils radiaux de température et contraintes", 
+
+  TemperatureInitiale = FACT ( statut = "o",
+
+    ProfilRadial_TemperatureInitiale = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                              fr="Profil radial de la température initiale dans la cuve (en m : °C) ", ),
+    Amont_TemperatureInitiale        = SIMP ( statut="o", typ="TXM",
+                                              fr="Prolongation à la frontière amont",
+                                              into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_TemperatureInitiale         = SIMP ( statut="o", typ="TXM",
+                                              fr="Prolongation à la frontière aval",
+                                              into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT TemperatureInitiale
+
+  ContraintesInitiales = FACT ( statut = "o",
+
+    ProfilRadial_ContraintesInitiales = SIMP ( statut="o", typ=Tuple(4), max="**",
+                                               fr="Profil radial des contraintes radiale, circonférentielle et longitudinale dans la cuve (en m : xx : xx : xx) ", ),
+    Amont_ContraintesInitiales        = SIMP ( statut="o", typ="TXM",
+                                               fr="Prolongation à la frontière amont",
+                                               into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ContraintesInitiales         = SIMP ( statut="o", typ="TXM",
+                                               fr="Prolongation à la frontière aval",
+                                               into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT ContraintesInitiales
+
+  # INSTINIT
+  InstantInitialisation = SIMP ( statut="o", typ="R", defaut = -1., 
+                                 fr="Instant initial auquel sont définies la température, ainsi que les contraintes initiales (en s) ", ),
+
+) # Fin PROC INITIALISATION
+
+
+#==================================
+# 6. CARACTERISTIQUES DU REVETEMENT
+#==================================
+
+REVETEMENT = PROC ( nom = "REVETEMENT",
+                    op = 68,
+                   repetable = 'n',
+                    fr = "Caracteristiques du revêtement", 
+
+  # KTHREV
+  ConditionLimiteThermiqueREV = SIMP ( statut="o", typ="TXM",
+                                       fr="Option pour définir les caractéristiques du revêtement ",
+                                       into=( "ENTHALPIE", "CHALEUR",),
+                                       ),
+
+  EnthalpieREV = BLOC ( condition = "ConditionLimiteThermiqueREV=='ENTHALPIE'",
+
+    EnthalpieREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                          fr="Température (°C) / enthalpie massique  (J/kg) ", ),
+    Amont_EnthalpieREV           = SIMP ( statut="o", typ="TXM",
+                                          fr="Prolongation à la frontière amont",
+                                          into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_EnthalpieREV            = SIMP ( statut="o", typ="TXM",
+                                          fr="Prolongation à la frontière aval",
+                                          into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC EnthalpieREV
+
+
+  ChaleurREV = BLOC ( condition = "ConditionLimiteThermiqueREV=='CHALEUR'",
+
+    ChaleurREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                        fr="Température (°C) / chaleur volumique (J/kg/K) ", ),
+    Amont_ChaleurREV           = SIMP ( statut="o", typ="TXM",
+                                        fr="Prolongation à la frontière amont",
+                                        into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ChaleurREV            = SIMP ( statut="o", typ="TXM",
+                                        fr="Prolongation à la frontière aval",
+                                        into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC ChaleurREV
+
+  ConductiviteREV = FACT (statut = "o",
+
+    ConductiviteREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                             fr="Température (°C) / conductivité thermique (W/m/°C) ", ),
+    Amont_ConductiviteREV           = SIMP ( statut="o", typ="TXM",
+                                             fr="Prolongation à la frontière amont",
+                                             into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ConductiviteREV            = SIMP ( statut="o", typ="TXM",
+                                             fr="Prolongation à la frontière aval",
+                                             into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT ConductiviteREV
+
+  ModuleYoungREV = FACT (statut = "o",
+
+    ModuleYoungREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                            fr="Température (°C) / module d'Young (MPa) ", ),
+    Amont_ModuleYoungREV           = SIMP ( statut="o", typ="TXM",
+                                            fr="Prolongation à la frontière amont",
+                                            into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ModuleYoungREV            = SIMP ( statut="o", typ="TXM",
+                                            fr="Prolongation à la frontière aval",
+                                            into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT ModuleYoungREV
+
+  CoeffDilatThermREV = FACT (statut = "o",
+
+    CoeffDilatThermREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                fr="Température (°C) / coefficient de dilatation thermique (°C-1) ", ),
+    Amont_CoeffDilatThermREV           = SIMP ( statut="o", typ="TXM",
+                                                fr="Prolongation à la frontière amont",
+                                                into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_CoeffDilatThermREV            = SIMP ( statut="o", typ="TXM",
+                                                fr="Prolongation à la frontière aval",
+                                                into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT CoeffDilatThermREV
+
+  LimiteElasticiteREV = FACT (statut = "o",
+
+    LimiteElasticiteREV_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                 fr="Température (°C) / limite d'élasticite (MPa) ", ),
+    Amont_LimiteElasticiteREV           = SIMP ( statut="o", typ="TXM",
+                                                 fr="Prolongation à la frontière amont",
+                                                 into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_LimiteElasticiteREV            = SIMP ( statut="o", typ="TXM",
+                                                 fr="Prolongation à la frontière aval",
+                                                 into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT LimiteElasticiteREV
+
+  AutresParametresREV = FACT (statut = "o",
+
+    # TREFREV
+    TemperatureDeformationNulleREV   = SIMP ( statut="o", typ="R", defaut=20.,
+                                              fr="Température de référence pour laquelle les déformations thermiques sont nulles (°C) ", ),
+    # TDETREV
+    TemperaturePourCoefDilatThermREV = SIMP ( statut="o", typ="R", defaut=287.,
+                                              fr="Température de définition du coefficient de dilatation thermique (°C) ", ),
+    # NUREV
+    CoefficientPoissonREV            = SIMP ( statut="o", typ="R", defaut=0.3,
+                                              fr="Coefficient de Poisson ", ),
+
+  ), # Fin FACT AutresParametresREV
+
+) # Fin PROC REVETEMENT
+
+
+#=====================================
+# 7. CARACTERISTIQUES DU METAL DE BASE
+#=====================================
+
+METAL_BASE = PROC ( nom = "METAL_BASE",
+                    op = 68,
+                   repetable = 'n',
+                    fr = "Caracteristiques du metal de base", 
+
+  # KTHMDB
+  ConditionLimiteThermiqueMDB = SIMP ( statut="o", typ="TXM",
+                                       fr="Option pour definir les caractéristiques du revêtement ",
+                                       into=( "ENTHALPIE", "CHALEUR",), ),
+
+  EnthalpieMDB = BLOC ( condition = "ConditionLimiteThermiqueMDB=='ENTHALPIE'",
+
+    EnthalpieMDB_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                          fr="Température (°C) / enthalpie massique (J/kg) ", ),
+    Amont_EnthalpieMDB           = SIMP ( statut="o", typ="TXM",
+                                          fr="Prolongation à la frontière amont",
+                                          into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_EnthalpieMDB            = SIMP ( statut="o", typ="TXM",
+                                          fr="Prolongation à la frontière aval",
+                                          into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC EnthalpieMDB
+
+  ChaleurMDB = BLOC ( condition = "ConditionLimiteThermiqueMDB=='CHALEUR'",
+
+    ChaleurMDB_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                        fr="Température (°C) / chaleur volumique (J/kg/K) ", ),
+    Amont_ChaleurMDB           = SIMP ( statut="o", typ="TXM",
+                                        fr="Prolongation à la frontière amont",
+                                        into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ChaleurMDB            = SIMP ( statut="o", typ="TXM",
+                                        fr="Prolongation à la frontière aval",
+                                        into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC ChaleurMDB
+
+  ConductiviteMDB = FACT ( statut = "o",
+
+    ConductiviteMDB_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                             fr="Température (°C) / conductivité thermique (W/m/°C) ", ),
+    Amont_ConductiviteMDB           = SIMP ( statut="o", typ="TXM",
+                                             fr="Prolongation à la frontière amont",
+                                             into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ConductiviteMDB            = SIMP ( statut="o", typ="TXM",
+                                             fr="Prolongation à la frontière aval",
+                                             into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT ConductiviteMDB
+
+  ModuleYoungMDB = FACT ( statut="o",
+
+    ModuleYoungMDB_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                            fr="Température (°C) / module d'Young (MPa) ", ),
+    Amont_ModuleYoungMDB           = SIMP ( statut="o", typ="TXM",
+                                            fr="Prolongation à la frontière amont",
+                                            into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_ModuleYoungMDB            = SIMP ( statut="o", typ="TXM",
+                                            fr="Prolongation à la frontière aval",
+                                            into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT ModuleYoungMDB
+
+  CoeffDilatThermMDB = FACT ( statut="o",
+
+    CoeffDilatThermMDB_Fct_Temperature = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                fr="Température (°C) / coefficient de dilatation thermique (°C-1) ", ),
+    Amont_CoeffDilatThermMDB           = SIMP ( statut="o", typ="TXM",
+                                                fr="Prolongation à la frontière amont",
+                                                into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_CoeffDilatThermMDB            = SIMP ( statut="o", typ="TXM",
+                                                fr="Prolongation à la frontière aval",
+                                                into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin FACT CoeffDilatThermMDB
+
+  AutresParametresMDB = FACT ( statut = "o",
+
+    # TREFMDB
+    TemperatureDeformationNulleMDB   = SIMP ( statut="o", typ="R", defaut=20.,
+                                              fr="Température de référence pour laquelle les déformations thermiques sont nulles (°C) ", ),
+    # TDETMDB
+    TemperaturePourCoefDilatThermMDB = SIMP ( statut="o", typ="R", defaut=287.,
+                                              fr="Température de définition du coefficient de dilatation thermique (°C) ", ),
+    # NUMDB
+    CoefficientPoissonMDB            = SIMP ( statut="o", typ="R", defaut=0.3,
+                                              fr="Coefficient de Poisson ", ),
+
+  ), # Fin FACT TemperatureDeformationNulleMDB
+
+) # Fin PROC METAL_BASE
+
+
+#===============================
+# 8. TRANSITOIRE THERMOMECANIQUE
+#===============================
+
+TRANSITOIRE = PROC ( nom = "TRANSITOIRE",
+                     op = 68,
+                    repetable = 'n',
+                     fr = "Description du transitoire thermohydraulique", 
+
+  Pression = FACT ( statut = "o",
+
+    ProfilTemporel_Pression = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                     fr = "Instant (s) / pression (MPa) ", ),
+    Amont_Pression          = SIMP ( statut="o", typ="TXM",
+                                     fr="Prolongation à la frontière amont",
+                                     into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_Pression           = SIMP ( statut="o", typ="TXM",
+                                     fr="Prolongation à la frontière aval",
+                                     into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # FIN FACT Pression
+
+  # TYPCLTH
+  TypeConditionLimiteThermique = SIMP ( statut="o", typ="TXM",
+                                        fr="Type de condition thermique en paroi interne ",
+                                        into=( "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
+                                        ),
+
+  TemperatureImposeeParoi      = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee en paroi', ) ",
+
+    ProfilTemporel_TemperatureImposeeParoi = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                    fr = "Instant (s) / Température imposée (°C) ", ),
+    Amont_TemperatureImposeeParoi          = SIMP ( statut="o", typ="TXM",
+                                                    fr="Prolongation à la frontière amont",
+                                                    into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_TemperatureImposeeParoi           = SIMP ( statut="o", typ="TXM",
+                                                    fr="Prolongation à la frontière aval",
+                                                    into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC TemperatureImposeeParoi
+
+  FluxChaleur                  = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Flux de chaleur impose en paroi', ) ",
+
+    ProfilTemporel_FluxChaleuri   = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                          fr="Instant (s) / Flux de chaleur impose (W/m2) ", ),
+    Amont_FluxChaleur             = SIMP ( statut="o", typ="TXM",
+                                           fr="Prolongation à la frontière amont",
+                                           into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_FluxChaleur              = SIMP ( statut="o", typ="TXM",
+                                           fr="Prolongation à la frontière aval",
+                                           into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC FluxChaleur
+
+  TemperatureImposeeFluide     = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et coefficient echange', 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    ProfilTemporel_TemperatureImposeeFluide = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                     fr = "Instant (s) / Température imposée (°C) ", ),
+    Amont_TemperatureImposeeFluide          = SIMP ( statut="o", typ="TXM",
+                                                     fr="Prolongation à la frontière amont",
+                                                     into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_TemperatureImposeeFluide           = SIMP ( statut="o", typ="TXM",
+                                                     fr="Prolongation à la frontière aval",
+                                                     into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC TemperatureImposeeFluide
+
+  CoefficientEchange          = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et coefficient echange', ) ",
+
+    ProfilTemporel_CoefficientEchange = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                               fr="Instant (s) / Coefficient d'échange (W/m2/K) ", ),
+    Amont_CoefficientEchange          = SIMP ( statut="o", typ="TXM",
+                                               fr="Prolongation à la frontière amont",
+                                               into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_CoefficientEchange           = SIMP ( statut="o", typ="TXM",
+                                               fr="Prolongation à la frontière aval",
+                                               into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC CoefficientEchange
+
+  DebitMassique               = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    ProfilTemporel_DebitMassique = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                          fr="Instant (s) / Débit massique (kg/s) ", ),
+    Amont_DebitMassique          = SIMP ( statut="o", typ="TXM",
+                                          fr="Prolongation à la frontière amont",
+                                          into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_DebitMassique = SIMP ( statut="o", typ="TXM",
+                                fr="Prolongation à la frontière aval",
+                                into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC DebitMassique
+
+  TemperatureInjection        = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    ProfilTemporel_TemperatureInjection = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                                 fr="Instant (s) / Température d'injection de sécurité  (°C) ", ),
+    Amont_TemperatureInjection          = SIMP ( statut="o", typ="TXM",
+                                                 fr="Prolongation à la frontière amont",
+                                                 into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_TemperatureInjection           = SIMP ( statut="o", typ = "TXM",
+                                                 fr="Prolongation à la frontière aval",
+                                                 into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+  ), # Fin BLOC TemperatureInjection
+
+  Creare                      = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+    # DH
+    DiametreHydraulique              = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Diamètre hydraulique (m) ", ),
+    # SECTION
+    SectionEspaceAnnulaire           = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Section espace annulaire (m2) ", ),
+    # DELTA
+    HauteurCaracConvectionNaturelle  = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Hauteur caractéristique convection naturelle (m) ", ),
+    # ALPHA_CF
+    CoeffVestale_ConvectionForcee    = SIMP ( statut="o", typ="R", defaut=1.,
+                                              fr="Coefficient Vestale convection forcée (-) ", ),
+    # ALPHA_CN
+    CoeffVestale_ConvectionNaturelle = SIMP ( statut="o", typ="R", defaut=1.,
+                                              fr="Coefficient Vestale convection naturelle (-) ", ),
+    # EPS
+    CritereConvergenceRelative       = SIMP ( statut="o", typ="R", defaut=0.00001,
+                                              fr = "Critère convergence relative (-) ", ),
+    # VM
+    VolumeMelange_CREARE             = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr = "Volume de mélange CREARE (m3) ", ),
+    # T0
+    TemperatureInitiale_CREARE       = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Température initiale CREARE (°C) ", ),
+    # SE
+    SurfaceEchange_FluideStructure   = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Surface d'échange fluide/structure (m2) ", ),
+
+  ), # Fin BLOC Creare
+
+  DebitInjection              = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    ProfilTemporel_DebitInjection = SIMP ( statut="o", typ=Tuple(2), max="**",
+                                           fr="Instant (s) / Débit d'injection de sécurité (kg/s) ", ),
+    Amont_DebitInjection          = SIMP ( statut="o", typ="TXM",
+                                           fr="Prolongation à la frontière amont",
+                                           into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+    Aval_DebitInjection           = SIMP ( statut="o", typ="TXM",
+                                           fr="Prolongation à la frontière aval",
+                                           into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+  ), # Fin BLOC DebitInjection
+
+
+  Vestale                     = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et debit d injection de securite', ) ",
+
+    # DH
+    DiametreHydraulique              = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Diamètre hydraulique (m) ", ),
+    # SECTION
+    SectionEspaceAnnulaire           = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Section espace annulaire (m2) ", ),
+    # DELTA
+    HauteurCaracConvectionNaturelle  = SIMP ( statut="o", typ="R", defaut=-2.,
+                                              fr="Hauteur caractéristique convection naturelle (m) ", ),
+    # ALPHA_CF
+    CoeffVestale_ConvectionForcee    = SIMP ( statut="o", typ="R", defaut=1.,
+                                              fr="Coefficient d'échange Vestale convection forcée (-) ", ),
+    # ALPHA_CN
+    CoeffVestale_ConvectionNaturelle = SIMP ( statut="o", typ="R", defaut=1.,
+                                              fr="Coefficient d'échange Vestale convection naturelle (-) ", ),
+    # EPS
+    CritereConvergenceRelative       = SIMP ( statut="o", typ="R", defaut=0.00001,
+                                              fr="Critère convergence relative (-) ", ),
+
+  ), # Fin BLOC Vestale
+
+) # Fin PROC TRANSITOIRE
diff --git a/Cuve2dg/Cuve2dg_Cata_VPN.py b/Cuve2dg/Cuve2dg_Cata_VPN.py
new file mode 100644 (file)
index 0000000..852c6ef
--- /dev/null
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+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
+
+
+# --------------------------------------------------
+# debut entete
+# --------------------------------------------------
+
+import Accas
+from Accas import *
+
+
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'CUVE1D-DEFAILLGLOB',
+                 execmodul = None,
+                 regles = ( AU_MOINS_UN ('OPTIONS','DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'), 
+                            A_CLASSER ( ('OPTIONS',), ('DEFAUT', 'CUVE', 'MODELES', 'INITIALISATION', 'REVETEMENT', 'METAL_BASE', 'TRANSITOIRE'))
+                          )
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# fin entete
+# --------------------------------------------------
+
+
+
+
+
+
+#================================
+# 1. Definition des OPTIONS
+#================================
+
+# 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)
+
+OPTIONS = PROC ( nom = "OPTIONS",
+                 op = 68,
+                 fr = "Definitions des options", 
+
+#===
+# Liste des paramètres
+#===
+
+# INCRTPS
+  IncrementTemporel = SIMP ( statut = "o",
+                             typ = "I",
+                             defaut = "1",
+                            max = 1,
+                             #val_max = 100,
+                             fr = "Increment temporel (=1 pour calcul deterministe)",
+                             ),
+
+# DTPREC
+  IncrementMaxTemperature = SIMP ( statut = "o", 
+                                   typ = "R", 
+                                  defaut = "0.1", 
+                                  max = 1, 
+                                  val_max = 1., 
+                                  fr = "Increment maximum d'evolution de la temperature par noeud et par instant (°C)",
+                                  ),
+
+# DTARCH
+  IncrementMaxTempsAffichage = SIMP ( statut = "o", 
+                                      typ = "R", 
+                                     defaut = "1000.", 
+                                     max = 1, 
+                                     val_max = 1000., 
+                                     fr = "Increment maximum de temps pour l'affichage (s)",
+                                     ),
+
+# NBO
+# Question : NBO depend-il de TYPGEOM ??
+  NombreNoeudsMaillage = SIMP ( statut = "o", 
+                                typ = "R", 
+                               max=1, 
+                               val_max = 1000., 
+                               fr = "Nombre de noeuds a considerer dans le maillage interne",
+                               ),
+
+# 
+  ListeInstants = SIMP ( statut = "o",
+                         typ = Tuple(2),
+                         max = "**",
+                         fr = "Liste des instants ",
+                         validators=VerifTypeTuple(('R','R')),
+                         ),
+
+  ListeInstants2 = SIMP ( statut = "o",
+                         typ = Tuple(2),
+                         max = "**",
+                         fr = "Liste des instants ",
+                         ),
+
+) # Fin OPER OPTIONS
diff --git a/Cuve2dg/generator_cuve2dg.py b/Cuve2dg/generator_cuve2dg.py
new file mode 100644 (file)
index 0000000..bfb6b44
--- /dev/null
@@ -0,0 +1,1537 @@
+# -*- 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 contient le plugin generateur de fichier au format 
+    DefaillCUVE pour EFICAS.
+
+"""
+import traceback
+import types,string,re
+
+from Noyau import N_CR
+from Accas import MCSIMP
+from generator_python import PythonGenerator
+
+def entryPoint():
+   """
+       Retourne les informations nécessaires pour le chargeur de plugins
+
+       Ces informations sont retournées dans un dictionnaire
+   """
+   return {
+        # Le nom du plugin
+          'name' : 'cuve2dg',
+        # La factory pour créer une instance du plugin
+          'factory' : Cuve2dgGenerator,
+          }
+
+
+class Cuve2dgGenerator(PythonGenerator):
+   """
+       Ce generateur parcourt un objet de type JDC et produit
+       un texte au format eficas et 
+       un texte au format DefaillCUVE
+
+   """
+   # Les extensions de fichier préconisées
+   extensions=('.comm',)
+
+   def __init__(self,cr=None):
+      # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
+      if cr :
+         self.cr=cr
+      else:
+         self.cr=N_CR.CR(debut='CR generateur format DefaillCUVE pour DefaillCUVE',
+                         fin='fin CR format DefaillCUVE pour DefaillCUVE')
+      # Le texte au format DefaillCUVE est stocké dans l'attribut textCuve
+      self.textCuve=''
+
+      # Ce dictionnaire liste le nom des variables utilisees dans le script
+      self.variable = {
+         "NiveauImpression" : "MESSAGE_LEVEL",
+        "FichierDataIn"    : "DATARESUME_FILE",
+        "FichierTempSigma" : "TEMPSIG_FILE",
+        "FichierResultats" : "RESU_FILE",
+        "FichierCSV"       : "CSV_FILE",
+        "FichierCREARE" : "CREARE_FILE",
+        "GrandeurEvaluee" : "GRANDEUR",
+        "IncrementTemporel" : "INCRTPS",
+        "IncrementMaxTemperature" : "DTPREC",
+        "IncrementMaxTempsAffichage" : "DTARCH",
+        "TraitementGeometrie" : "TYPEGEOM",
+        "RayonInterne" : "RINT",
+        "RayonInterne_mess" : "RINT_MESSAGE",
+        "RayonExterne" : "REXT",
+        "RayonExterne_mess" : "REXT_MESSAGE",
+        "EpaisseurRevetement" : "LREV",
+        "EpaisseurRevetement_mess" : "LREV_MESSAGE",
+        "LigamentExterneMin" : "LIGMIN",
+        "LigamentExterneMin_mess" : "LIGMIN_MESSAGE",
+        "NombreNoeudsMaillage" : "NBNO",
+        "TypeInitial" : "TYPEDEF",
+        "Orientation" : "ORIEDEF",
+        "ProfondeurRadiale" : "PROFDEF",
+        "ProfondeurRadiale_mess" : "PROFDEF_MESSAGE",
+        "ModeCalculLongueur" : "OPTLONG",
+        "Longueur" : "LONGDEF",
+        "Longueur_mess" : "LONGDEF_MESSAGE",
+        "CoefDirecteur" : "PROFSURLONG",
+        "CoefDirecteur_mess" : "PROFSURLONG_MESSAGE",
+        "Constante" : "LONGCONST",
+        "ModeCalculDecalage" : "DECATYP",
+        "DecalageNormalise" : "DECANOR",
+        "DecalageNormalise_mess" : "DECANOR_MESSAGE",
+        "DecalageRadial" : "DECADEF",
+        "DecalageRadial_mess" : "DECADEF_MESSAGE",
+        "Azimut" : "ANGLDEF",
+        "Azimut_mess" : "ANGLDEF_MESSAGE",
+        "Altitude_mess" : "ANGLDEF_MESSAGE",
+        "Altitude" : "ALTIDEF",
+        "Altitude_mess" : "ALTIDEF_MESSAGE",
+        "Pointe" : "POINDEF",
+        "ModeleFluence" : "MODELFLUENCE",
+        "ZoneActiveCoeur_AltitudeSup" : "H1COEUR",
+        "ZoneActiveCoeur_AltitudeInf" : "H2COEUR",
+        "FluenceMax" : "fmax",
+        "KPFrance" : "KPFRANCE",
+        "KPUS" : "KPUS",
+        "Azimut_0deg" : "COEFFLUENCE1",
+        "Azimut_5deg" : "COEFFLUENCE2",
+        "Azimut_10deg" : "COEFFLUENCE3",
+        "Azimut_15deg" : "COEFFLUENCE4",
+        "Azimut_20deg" : "COEFFLUENCE5",
+        "Azimut_25deg" : "COEFFLUENCE6",
+        "Azimut_30deg" : "COEFFLUENCE7",
+        "Azimut_35deg" : "COEFFLUENCE8",
+        "Azimut_40deg" : "COEFFLUENCE9",
+        "Azimut_45deg" : "COEFFLUENCE10",
+        "TypeIrradiation" : "TYPEIRR",
+        "RTNDT" : "RTNDT",
+        "ModeleIrradiation" : "MODELIRR",
+        "TeneurCuivre" : "CU",
+        "TeneurCuivre_mess" : "CU_MESSAGE",
+        "TeneurNickel" : "NI",
+        "TeneurNickel_mess" : "NI_MESSAGE",
+        "TeneurPhosphore" : "P",
+        "TeneurPhosphore_mess" : "P_MESSAGE",
+        "MoyenneRTndt" : "RTimoy",
+        "MoyenneRTndt_mess" : "RTimoy_MESSAGE",
+        "CoefVariationRTndt" : "RTicov",
+        "CoefVariationRTndt_mess" : "RTicov_MESSAGE",
+        "EcartTypeRTndt" : "USectDRT",
+        "EcartTypeRTndt_mess" : "USectDRT_MESSAGE",
+        "NombreEcartTypeRTndt" : "nbectDRTNDT",
+        "NombreEcartTypeRTndt_mess" : "nbectDRTNDT_MESSAGE",
+        "ModeleTenacite" : "MODELKIC",
+        "NBRE_CARACTERISTIQUE" : "NBCARAC",
+        "NbEcartType_MoyKIc" : "nbectKIc",
+        "NbEcartType_MoyKIc_mess" : "nbectKIc_MESSAGE",
+        "PalierDuctile_KIc" : "KICPAL",
+        "CoefficientVariation_KIc" : "KICCDV",
+        "Fractile_KIc" : "fractKIc",
+        "Fractile_KIc_mess" : "fractKIc_MESSAGE",
+        "Temperature_KIc100" : "T0WALLIN",
+        "A1" : "A1",
+        "A2" : "A2",
+        "A3" : "A3",
+        "B1" : "B1",
+        "B2" : "B2",
+        "B3" : "B3",
+        "C1" : "C1",
+        "C2" : "C2",
+        "C3" : "C3",
+        "AttnCorrBeta" : "ATTNCORRBETA",
+        "CorrIrwin" : "CORRIRWIN",
+        "ArretDeFissure" : "ARRETFISSURE",
+        "IncrementTailleFissure" : "INCRDEF",
+        "IncrementTailleFissure_mess" : "INCRDEF_MESSAGE",
+        "NbEcartType_MoyKIa" : "nbectKIa",
+        "PalierDuctile_KIa" : "KIAPAL",
+        "CoefficientVariation_KIa" : "KIACDV",
+        "InstantInitialisation" : "INSTINIT",
+        "ConditionLimiteThermiqueREV" : "KTHREV",
+        "TemperatureDeformationNulleREV" : "TREFREV",
+        "TemperaturePourCoefDilatThermREV" : "TDETREV",
+        "CoefficientPoissonREV" : "NUREV",
+        "ConditionLimiteThermiqueMDB" : "KTHMDB",
+        "TemperatureDeformationNulleMDB" : "TREFMDB",
+        "TemperaturePourCoefDilatThermMDB" : "TDETMDB",
+        "CoefficientPoissonMDB" : "NUMDB",
+        "TypeConditionLimiteThermique" : "TYPCLTH",
+        "Instant_1" : "INSTANT1",
+        "Instant_2" : "INSTANT2",
+        "DebitAccumule" : "QACCU",
+        "DebitInjectionSecurite" : "QIS",
+        "TempInjectionSecurite_mess" : "TIS_MESSAGE",
+        "DiametreHydraulique" : "DH",
+        "DiametreHydraulique_mess" : "DH_MESSAGE",
+        "SectionEspaceAnnulaire" : "SECTION",
+        "SectionEspaceAnnulaire_mess" : "SECTION_MESSAGE",
+        "HauteurCaracConvectionNaturelle" : "DELTA",
+        "HauteurCaracConvectionNaturelle_mess" : "DELTA_MESSAGE",
+        "CritereConvergenceRelative" : "EPS",
+        "CoefficientsVestale" : "COEFVESTALE",
+        "VolumeMelange_CREARE" : "VM",
+        "VolumeMelange_CREARE_mess" : "VM_MESSAGE",
+        "TemperatureInitiale_CREARE" : "T0",
+        "TemperatureInitiale_CREARE_mess" : "T0_MESSAGE",
+        "SurfaceEchange_FluideStructure" : "SE",
+        "SurfaceEchange_FluideStructure_mess" : "SE_MESSAGE",
+         }
+
+      # Ce dictionnaire liste le commentaire des variables utilisees dans le script
+      self.comment = {
+         "NiveauImpression" : "Niveau d impression des messages a l ecran (=0 : rien, =1 : temps calcul total, =2 : temps intermediaires)",
+        "FichierDataIn"    : "sortie du fichier recapitulatif des donnees d entree {OUI ; NON}",
+        "FichierTempSigma" : "sortie des fichiers temperature et contraintes {OUI ; NON}",
+        "FichierResultats" : "sortie du fichier resultat template_DEFAILLCUVE {OUI ; NON}",
+        "FichierCSV" : "sortie du fichier resultat template_DEFAILLCUVE.CSV {OUI ; NON}",
+        "FichierCREARE" : "sortie du fichier Tfluide et Coef Echange {OUI ; NON}",
+        "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 (°C)",
+        "IncrementMaxTempsAffichage" : "increment max de temps pour affichage (s)",
+        "TraitementGeometrie" : "traitement de la geometrie de la cuve : {GEOMETRIE, MAILLAGE}",
+        "RayonInterne" : "rayon interne (m)",
+        "RayonInterne_mess" : "affichage ecran du rayon interne (m)",
+        "RayonExterne" : "rayon externe (m)",
+        "RayonExterne_mess" : "affichage ecran du rayon externe (m)",
+        "EpaisseurRevetement" : "epaisseur revetement (m)",
+        "EpaisseurRevetement_mess" : "affichage ecran de l epaisseur revetement (m)",
+        "LigamentExterneMin" : "ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
+        "LigamentExterneMin_mess" : "affichage ecran du ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
+        "NombreNoeudsMaillage" : "nbre de noeuds dans l'épaisseur de la cuve",
+        "TypeInitial" : "type initial du defaut : DEBOUCHANT=Defaut Debouchant, DSR=Defaut Sous Revetement, DECALE=Defaut Decale",
+        "Orientation" : "orientation (LONGITUD / CIRCONF)",
+        "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)",
+        "Longueur" : "longueur (m) pour defaut Sous Revetement",
+        "Longueur_mess" : "affichage ecran de la longueur (m) pour defaut Sous Revetement",
+        "CoefDirecteur" : "pente de la fonction affine l = h/profsurlong + a0",
+        "CoefDirecteur_mess" : "affichage ecran de la pente de la fonction affine l = h/profsurlong + a0",
+        "Constante" : "constante de la fonction affine a0",
+        "ModeCalculDecalage" : "type de decalage : normalise (NORMALISE) ou reel (VALEUR)",
+        "DecalageNormalise" : "decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
+        "DecalageNormalise_mess" : "affichage ecran du decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
+        "DecalageRadial" : "decalage radial reel (m) pour defaut decale",
+        "DecalageRadial_mess" : "affichage ecran du decalage radial reel (m) pour defaut decale",
+        "Azimut" : "coordonnee angulaire (degre)",
+        "Azimut_mess" : "affichage ecran de la coordonnee angulaire (degre)",
+        "Altitude" : "altitude (m) : valeur négative",
+        "Altitude_mess" : "affichage ecran de l altitude (m) : valeur négative",
+        "Pointe" : "choix du(des) point(s) du defaut considere {'A','B','BOTH'} pour DSR et DECALE (pour DEBOUCHANT : automatiquement 'B')",
+        "ModeleFluence" : "modele de fluence : {Reglementaire, France, ValeurImposee, SDM, USNRC, REV_2, SDM_Lissage, GrandeDev, GD_Cuve, Cuve1D}",
+        "ZoneActiveCoeur_AltitudeSup" : "cote superieure de la zone active de coeur (ici pour cuve palier 900Mw)",
+        "ZoneActiveCoeur_AltitudeInf" : "cote inferieure de la zone active de coeur (ici pour cuve palier 900Mw)",
+        "FluenceMax" : "fluence maximale assimilee par la cuve (n/cm2)",
+        "KPFrance" : "parametre exponentiel du modele France",
+        "KPUS" : "parametre exponentiel du modele US",
+        "Azimut_0deg" : "fluence a l'azimut 0 (10^19 n/cm)",
+        "Azimut_5deg" : "fluence a l'azimut 5 (10^19 n/cm)",
+        "Azimut_10deg" : "fluence a l'azimut 10 (10^19 n/cm)",
+        "Azimut_15deg" : "fluence a l'azimut 15 (10^19 n/cm)",
+        "Azimut_20deg" : "fluence a l'azimut 20 (10^19 n/cm)",
+        "Azimut_25deg" : "fluence a l'azimut 25 (10^19 n/cm)",
+        "Azimut_30deg" : "fluence a l'azimut 30 (10^19 n/cm)",
+        "Azimut_35deg" : "fluence a l'azimut 35 (10^19 n/cm)",
+        "Azimut_40deg" : "fluence a l'azimut 40 (10^19 n/cm)",
+        "Azimut_45deg" : "fluence a l'azimut 45 (10^19 n/cm)",
+        "TypeIrradiation" : "type irradiation : {RTNDT, FLUENCE}",
+        "RTNDT" : "RTNDT finale (°C)",
+        "ModeleIrradiation" : "modele d irradiation : {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 (%)",
+        "TeneurNickel_mess" : "affichage ecran de la teneur en nickel (%)",
+        "TeneurPhosphore" : "teneur en phosphore (%)",
+        "TeneurPhosphore_mess" : "affichage ecran de la teneur en phosphore (%)",
+        "MoyenneRTndt" : "moyenne de la RTNDT initiale : virole C1 de cuve Chinon : mdb=>-17.°C et js=>42.°C (HT-56/05/038 : p.52)",
+        "MoyenneRTndt_mess" : "affichage ecran de la moyenne de la RTNDT initiale",
+        "CoefVariationRTndt" : "coef de variation de la RTNDT initiale",
+        "CoefVariationRTndt_mess" : "affichage ecran du coef de variation de la RTNDT initiale",
+        "EcartTypeRTndt" : "pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
+        "EcartTypeRTndt_mess" : "affichage ecran, pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
+        "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",
+        "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))",
+        "CoefficientVariation_KIc" : "coef de variation de la loi normale de K1c",
+        "Fractile_KIc" : "valeur caracteristique de KIc exprimee en ordre de fractile (%)",
+        "Fractile_KIc_mess" : "affichage ecran de la valeur caracteristique de KIc exprimee en ordre de fractile (%)",
+        "Temperature_KIc100" : "parametre T0 du modele Wallin (°C)",
+        "A1" : "coef des coefs d une WEIBULL generale",
+        "A2" : "",
+        "A3" : "",
+        "B1" : "",
+        "B2" : "",
+        "B3" : "",
+        "C1" : "",
+        "C2" : "",
+        "C3" : "",
+        "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)",
+        "IncrementTailleFissure" : "increment de la taille de fissure (m)",
+        "IncrementTailleFissure_mess" : "affichage ecran de l increment de la taille de fissure (m)",
+        "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",
+        "InstantInitialisation" : "instant initial (s)",
+        "ConditionLimiteThermiqueREV" : "Option 'ENTHALPIE' ou 'CHALEUR'",
+        "TemperatureDeformationNulleREV" : "temperature de deformation nulle (°C)",
+        "TemperaturePourCoefDilatThermREV" : "temperature de definition du coefficient de dilatation thermique (°C)",
+        "CoefficientPoissonREV" : "coefficient de Poisson",
+        "ConditionLimiteThermiqueMDB" : "Option 'ENTHALPIE' ou 'CHALEUR'",
+        "TemperatureDeformationNulleMDB" : "temperature de deformation nulle (°C)",
+        "TemperaturePourCoefDilatThermMDB" : "temperature de definition du coefficient de dilatation thermique (°C)",
+        "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_2" : "Borne superieure de l intervalle de temps du 2nd palier T1",
+        "DebitAccumule" : "Debit accumule (en m3/h)",
+        "DebitInjectionSecurite" : "Debit injection de securite (en m3/h)",
+        "TempInjectionSecurite_mess" : "affichage ecran de la temperature injection de securite",
+        "DiametreHydraulique" : "Diametre hydraulique (m)",
+        "DiametreHydraulique_mess" : "affichage ecran du diametre hydraulique (m)",
+        "SectionEspaceAnnulaire" : "Section espace annulaire (m2)",
+        "SectionEspaceAnnulaire_mess" : "affichage ecran de la section espace annulaire (m2)",
+        "HauteurCaracConvectionNaturelle" : "Hauteur caracteristique convection naturelle (m)",
+        "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)",
+        "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)",
+         }
+
+      # Ce dictionnaire liste la valeur par defaut des variables utilisees dans le script
+      self.default = {
+         "NiveauImpression" : "1",
+        "FichierDataIn" : "NON",
+        "FichierTempSigma" : "NON",
+        "FichierResultats" : "NON",
+        "FichierCSV" : "NON",
+        "FichierCREARE" : "NON",
+        "GrandeurEvaluee" : "FM_KICSURKCP",
+        "IncrementTemporel" : "1",
+        "IncrementMaxTemperature" : "0.1",
+        "IncrementMaxTempsAffichage" : "1000.",
+        "TraitementGeometrie" : "GEOMETRIE",
+        "RayonInterne" : "1.994",
+        "RayonInterne_mess" : "NON",
+        "RayonExterne" : "2.2015",
+        "RayonExterne_mess" : "NON",
+        "EpaisseurRevetement" : "0.0075",
+        "EpaisseurRevetement_mess" : "NON",
+        "LigamentExterneMin" : "0.75",
+        "LigamentExterneMin_mess" : "NON",
+        "NombreNoeudsMaillage" : "300",
+        "TypeInitial" : "DSR",
+        "Orientation" : "LONGITUD",
+        "ProfondeurRadiale" : "0.006",
+        "ProfondeurRadiale_mess" : "NON",
+        "ModeCalculLongueur" : "VALEUR",
+        "Longueur" : "0.060",
+        "Longueur_mess" : "NON",
+        "CoefDirecteur" : "10.",
+        "CoefDirecteur_mess" : "NON",
+        "Constante" : "0.",
+        "ModeCalculDecalage" : "VALEUR",
+        "DecalageNormalise" : "0.1",
+        "DecalageNormalise_mess" : "NON",
+        "DecalageRadial" : "0.",
+        "DecalageRadial_mess" : "NON",
+        "Azimut" : "0.",
+        "Azimut_mess" : "NON",
+        "Altitude" : "-4.",
+        "Altitude_mess" : "NON",
+        "Pointe" : "B",
+        "ModeleFluence" : "Reglementaire",
+        "ZoneActiveCoeur_AltitudeSup" : "-3.536",
+        "ZoneActiveCoeur_AltitudeInf" : "-7.194",
+        "FluenceMax" : "6.5",
+        "KPFrance" : "12.7",
+        "KPUS" : "9.4488",
+        "Azimut_0deg" : "5.8",
+        "Azimut_5deg" : "5.48",
+        "Azimut_10deg" : "4.46",
+        "Azimut_15deg" : "3.41",
+        "Azimut_20deg" : "3.37",
+        "Azimut_25deg" : "3.16",
+        "Azimut_30deg" : "2.74",
+        "Azimut_35deg" : "2.25",
+        "Azimut_40deg" : "1.89",
+        "Azimut_45deg" : "1.78",
+        "TypeIrradiation" : "RTNDT",
+        "RTNDT" : "64.",
+        "ModeleIrradiation" : "HOUSSIN",
+        "TeneurCuivre" : "0.0972",
+        "TeneurCuivre_mess" : "NON",
+        "TeneurNickel" : "0.72",
+        "TeneurNickel_mess" : "NON",
+        "TeneurPhosphore" : "0.00912",
+        "TeneurPhosphore_mess" : "NON",
+        "MoyenneRTndt" : "-12.0",
+        "MoyenneRTndt_mess" : "NON",
+        "CoefVariationRTndt" : "0.1",
+        "CoefVariationRTndt_mess" : "NON",
+        "EcartTypeRTndt" : "-2.",
+        "EcartTypeRTndt_mess" : "NON",
+        "NombreEcartTypeRTndt" : "2.",
+        "NombreEcartTypeRTndt_mess" : "NON",
+        "ModeleTenacite" : "RCC-M",
+        "NBRE_CARACTERISTIQUE" : "QUANTILE",
+        "NbEcartType_MoyKIc" : "-2.",
+        "NbEcartType_MoyKIc_mess" : "NON",
+        "PalierDuctile_KIc" : "195.",
+        "CoefficientVariation_KIc" : "0.15",
+        "Fractile_KIc" : "5.",
+        "Fractile_KIc_mess" : "NON",
+        "Temperature_KIc100" : "-27.",
+        "A1" : "21.263",
+        "A2" : "9.159",
+        "A3" : "0.04057",
+        "B1" : "17.153",
+        "B2" : "55.089",
+        "B3" : "0.0144",
+        "C1" : "4.",
+        "C2" : "0.",
+        "C3" : "0.",
+        "AttnCorrBeta" : "NON",
+        "CorrIrwin" : "NON",
+        "ArretDeFissure" : "NON",
+        "IncrementTailleFissure" : "0.",
+        "IncrementTailleFissure_mess" : "NON",
+        "NbEcartType_MoyKIa" : "0.",
+        "PalierDuctile_KIa" : "0.",
+        "CoefficientVariation_KIa" : "0.",
+        "InstantInitialisation" : "-1.",
+        "ConditionLimiteThermiqueREV" : "CHALEUR",
+        "TemperatureDeformationNulleREV" : "20.",
+        "TemperaturePourCoefDilatThermREV" : "287.",
+        "CoefficientPoissonREV" : "0.3",
+        "ConditionLimiteThermiqueMDB" : "CHALEUR",
+        "TemperatureDeformationNulleMDB" : "20.",
+        "TemperaturePourCoefDilatThermMDB" : "287.",
+        "CoefficientPoissonMDB" : "0.3",
+        "TypeConditionLimiteThermique" : "TEMP_IMPO",
+        "Instant_1" : "21.",
+        "Instant_2" : "45.",
+        "DebitAccumule" : "2.3",
+        "DebitInjectionSecurite" : "0.375",
+        "TempInjectionSecurite_mess" : "NON",
+        "DiametreHydraulique" : "0.3816",
+        "DiametreHydraulique_mess" : "NON",
+        "SectionEspaceAnnulaire" : "0.21712",
+        "SectionEspaceAnnulaire_mess" : "NON",
+        "HauteurCaracConvectionNaturelle" : "6.",
+        "HauteurCaracConvectionNaturelle_mess" : "NON",
+        "CritereConvergenceRelative" : "0.00001",
+        "CoefficientsVestale" : "NON",
+        "VolumeMelange_CREARE" : "14.9",
+        "VolumeMelange_CREARE_mess" : "NON",
+        "TemperatureInitiale_CREARE" : "250.",
+        "TemperatureInitiale_CREARE_mess" : "NON",
+        "SurfaceEchange_FluideStructure" : "0.",
+        "SurfaceEchange_FluideStructure_mess" : "NON",
+         }
+
+      # Ce dictionnaire liste la rubrique d'appartenance des variables utilisees dans le script
+      self.bloc = {
+         "NiveauImpression" : "OPTIONS",
+        "FichierDataIn" : "OPTIONS",
+        "FichierTempSigma" : "OPTIONS",
+        "FichierResultats" : "OPTIONS",
+        "FichierCSV" : "OPTIONS",
+        "FichierCREARE" : "OPTIONS",
+        "GrandeurEvaluee" : "OPTIONS",
+        "IncrementTemporel" : "OPTIONS",
+        "IncrementMaxTemperature" : "OPTIONS",
+        "IncrementMaxTempsAffichage" : "OPTIONS",
+        "TraitementGeometrie" : "DONNEES DE LA CUVE",
+        "RayonInterne" : "DONNEES DE LA CUVE",
+        "RayonInterne_mess" : "DONNEES DE LA CUVE",
+        "RayonExterne" : "DONNEES DE LA CUVE",
+        "RayonExterne_mess" : "DONNEES DE LA CUVE",
+        "EpaisseurRevetement" : "DONNEES DE LA CUVE",
+        "EpaisseurRevetement_mess" : "DONNEES DE LA CUVE",
+        "LigamentExterneMin" : "DONNEES DE LA CUVE",
+        "LigamentExterneMin_mess" : "DONNEES DE LA CUVE",
+        "NombreNoeudsMaillage" : "DONNEES DE LA CUVE",
+        "TypeInitial" : "CARACTERISTIQUES DU DEFAUT",
+        "Orientation" : "CARACTERISTIQUES DU DEFAUT",
+        "ProfondeurRadiale" : "CARACTERISTIQUES DU DEFAUT",
+        "ProfondeurRadiale_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "ModeCalculLongueur" : "CARACTERISTIQUES DU DEFAUT",
+        "Longueur" : "CARACTERISTIQUES DU DEFAUT",
+        "Longueur_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "CoefDirecteur" : "CARACTERISTIQUES DU DEFAUT",
+        "CoefDirecteur_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "Constante" : "CARACTERISTIQUES DU DEFAUT",
+        "ModeCalculDecalage" : "CARACTERISTIQUES DU DEFAUT",
+        "DecalageNormalise" : "CARACTERISTIQUES DU DEFAUT",
+        "DecalageNormalise_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "DecalageRadial" : "CARACTERISTIQUES DU DEFAUT",
+        "DecalageRadial_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "Azimut" : "CARACTERISTIQUES DU DEFAUT",
+        "Azimut_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "Altitude" : "CARACTERISTIQUES DU DEFAUT",
+        "Altitude_mess" : "CARACTERISTIQUES DU DEFAUT",
+        "Pointe" : "CARACTERISTIQUES DU DEFAUT",
+        "ModeleFluence" : "MODELES",
+        "ZoneActiveCoeur_AltitudeSup" : "MODELES",
+        "ZoneActiveCoeur_AltitudeInf" : "MODELES",
+        "FluenceMax" : "MODELES",
+        "KPFrance" : "MODELES",
+        "KPUS" : "MODELES",
+        "Azimut_0deg" : "MODELES",
+        "Azimut_5deg" : "MODELES",
+        "Azimut_10deg" : "MODELES",
+        "Azimut_15deg" : "MODELES",
+        "Azimut_20deg" : "MODELES",
+        "Azimut_25deg" : "MODELES",
+        "Azimut_30deg" : "MODELES",
+        "Azimut_35deg" : "MODELES",
+        "Azimut_40deg" : "MODELES",
+        "Azimut_45deg" : "MODELES",
+        "TypeIrradiation" : "MODELES",
+        "RTNDT" : "MODELES",
+        "ModeleIrradiation" : "MODELES",
+        "TeneurCuivre" : "MODELES",
+        "TeneurCuivre_mess" : "MODELES",
+        "TeneurNickel" : "MODELES",
+        "TeneurNickel_mess" : "MODELES",
+        "TeneurPhosphore" : "MODELES",
+        "TeneurPhosphore_mess" : "MODELES",
+        "MoyenneRTndt" : "MODELES",
+        "MoyenneRTndt_mess" : "MODELES",
+        "CoefVariationRTndt" : "MODELES",
+        "CoefVariationRTndt_mess" : "MODELES",
+        "EcartTypeRTndt" : "MODELES",
+        "EcartTypeRTndt_mess" : "MODELES",
+        "NombreEcartTypeRTndt" : "MODELES",
+        "NombreEcartTypeRTndt_mess" : "MODELES",
+        "ModeleTenacite" : "MODELES",
+        "NBRE_CARACTERISTIQUE" : "MODELES",
+        "NbEcartType_MoyKIc" : "MODELES",
+        "NbEcartType_MoyKIc_mess" : "MODELES",
+        "PalierDuctile_KIc" : "MODELES",
+        "CoefficientVariation_KIc" : "MODELES",
+        "Fractile_KIc" : "MODELES",
+        "Fractile_KIc_mess" : "MODELES",
+        "Temperature_KIc100" : "MODELES",
+        "A1" : "MODELES",
+        "A2" : "MODELES",
+        "A3" : "MODELES",
+        "B1" : "MODELES",
+        "B2" : "MODELES",
+        "B3" : "MODELES",
+        "C1" : "MODELES",
+        "C2" : "MODELES",
+        "C3" : "MODELES",
+        "AttnCorrBeta" : "MODELES",
+        "CorrIrwin" : "MODELES",
+        "ArretDeFissure" : "MODELES",
+        "IncrementTailleFissure" : "MODELES",
+        "IncrementTailleFissure_mess" : "MODELES",
+        "NbEcartType_MoyKIa" : "MODELES",
+        "PalierDuctile_KIa" : "MODELES",
+        "CoefficientVariation_KIa" : "MODELES",
+        "InstantInitialisation" : "ETAT INITIAL",
+        "ConditionLimiteThermiqueREV" : "CARACTERISTIQUES DU REVETEMENT",
+        "TemperatureDeformationNulleREV" : "CARACTERISTIQUES DU REVETEMENT",
+        "TemperaturePourCoefDilatThermREV" : "CARACTERISTIQUES DU REVETEMENT",
+        "CoefficientPoissonREV" : "CARACTERISTIQUES DU REVETEMENT",
+        "ConditionLimiteThermiqueMDB" : "CARACTERISTIQUES DU MDB",
+        "TemperatureDeformationNulleMDB" : "CARACTERISTIQUES DU MDB",
+        "TemperaturePourCoefDilatThermMDB" : "CARACTERISTIQUES DU MDB",
+        "CoefficientPoissonMDB" : "CARACTERISTIQUES DU MDB",
+        "TypeConditionLimiteThermique" : "TRANSITOIRE",
+        "Instant_1" : "TRANSITOIRE",
+        "Instant_2" : "TRANSITOIRE",
+        "DebitAccumule" : "TRANSITOIRE",
+        "DebitInjectionSecurite" : "TRANSITOIRE",
+        "TempInjectionSecurite_mess" : "TRANSITOIRE",
+        "DiametreHydraulique" : "TRANSITOIRE",
+        "DiametreHydraulique_mess" : "TRANSITOIRE",
+        "SectionEspaceAnnulaire" : "TRANSITOIRE",
+        "SectionEspaceAnnulaire_mess" : "TRANSITOIRE",
+        "HauteurCaracConvectionNaturelle" : "TRANSITOIRE",
+        "HauteurCaracConvectionNaturelle_mess" : "TRANSITOIRE",
+        "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",
+         }
+
+   def gener(self,obj,format='brut'):
+      self.text=''
+      self.textCuve=''
+      self.dico_mot={}
+      self.dico_genea={}
+      self.text=PythonGenerator.gener(self,obj,format)
+      return self.text
+
+   def generMCSIMP(self,obj) :
+       self.dico_mot[obj.nom]=obj.valeur
+       clef=""
+       for i in obj.get_genealogie() :
+           clef=clef+"_"+i
+       self.dico_genea[clef]=obj.valeur
+       s=PythonGenerator.generMCSIMP(self,obj)
+       return s
+
+   def writeCuve2DG(self):
+      print "je passe dans writeCuve2DG"
+      self.genereTexteCuve()
+      f = open( "/tmp/data_template", 'wb')
+      print self.texteCuve
+      f.write( self.texteCuve )
+      f.close()
+
+   def entete(self):
+      '''
+      Ecrit l'entete du fichier data_template
+      '''
+      texte  = "############################################################################################"+"\n"
+      texte += "#"+"\n"
+      texte += "#                OUTIL D'ANALYSE PROBABILISTE DE LA DUREE DE VIE DES CUVES REP"+"\n"
+      texte += "#                                     ---------------"+"\n"
+      texte += "#                               FICHIER DE MISE EN DONNEES"+"\n"
+      texte += "#"+"\n"
+      texte += "# SI CALCUL DETERMINISTE :"+"\n"
+      texte += "#       - fixer INCRTPS=1, nbectDRTNDT=2., nbectKIc=-2."+"\n"
+      texte += "#       - les calculs ne sont possibles qu'en une seule pointe du defaut (POINDEF<>BOTH)"+"\n"
+      texte += "# SI CALCUL PROBABILISTE :"+"\n"
+      texte += "#       - fixer ARRETFISSURE=NON"+"\n"
+      texte += "#"+"\n"
+      texte += "############################################################################################"+"\n"
+      texte += "#"+"\n"
+      return texte
+
+   def rubrique(self, titre):
+      '''
+      Rubrique 
+      '''
+      texte  = "#"+"\n"
+      texte += "############################################################################################"+"\n"
+      texte += "# " + titre + "\n"
+      texte += "############################################################################################"+"\n"
+      texte += "#"+"\n"
+      return texte
+
+   def sousRubrique(self, soustitre, numtitre):
+      '''
+      Sous-rubrique 
+      '''
+      texte  = "#"+"\n"
+      texte += "# " + numtitre + soustitre + "\n"
+      texte += "#==========================================================================================="+"\n"
+      texte += "#"+"\n"
+      return texte
+
+   def ecritLigne(self, variablelue):
+      '''
+      Ecrit l'affectation d'une valeur a sa variable, suivie d'un commentaire
+      '''
+      texte = "%s = %s   # %s\n" % (self.variable[variablelue], str(self.dico_mot[variablelue]), self.comment[variablelue])
+      return texte
+
+   def affecteValeurDefaut(self, variablelue):
+      '''
+      Affecte une valeur par defaut a une variable, suivie d'un commentaire
+      '''
+      print "Warning ==> Dans la rubrique",self.bloc[variablelue],", valeur par defaut pour ",variablelue," = ",self.default[variablelue]
+      texte = "%s = %s   # %s\n" % (self.variable[variablelue], self.default[variablelue], self.comment[variablelue])
+      return texte
+
+   def affecteValeur(self, variablelue, valeuraffectee):
+      '''
+      Affecte une valeur a une variable, suivie d'un commentaire
+      '''
+      texte = "%s = %s   # %s\n" % (self.variable[variablelue], valeuraffectee, self.comment[variablelue])
+      return texte
+
+   def ecritVariable(self, variablelue):
+      if self.dico_mot.has_key(variablelue):
+         texte = self.ecritLigne(variablelue)
+      else :
+         texte = self.affecteValeurDefaut(variablelue)
+      return texte
+
+   def amontAval(self, amont, aval):
+      if str(self.dico_mot[amont])=='Continu':
+         if str(self.dico_mot[aval])=='Continu':
+            texte = 'CC'+"\n"
+        if str(self.dico_mot[aval])=='Lineaire':
+            texte = 'CL'+"\n"
+        if str(self.dico_mot[aval])=='Exclu':
+            texte = 'CE'+"\n"
+      if str(self.dico_mot[amont])=='Lineaire':
+         if str(self.dico_mot[aval])=='Continu':
+            texte = 'LC'+"\n"
+        if str(self.dico_mot[aval])=='Lineaire':
+            texte = 'LL'+"\n"
+        if str(self.dico_mot[aval])=='Exclu':
+            texte = 'LE'+"\n"
+      if str(self.dico_mot[amont])=='Exclu':
+         if str(self.dico_mot[aval])=='Continu':
+            texte = 'EC'+"\n"
+        if str(self.dico_mot[aval])=='Lineaire':
+            texte = 'EL'+"\n"
+        if str(self.dico_mot[aval])=='Exclu':
+            texte = 'EE'+"\n"
+      return texte
+
+   def genereTexteCuve(self):
+      self.texteCuve  = ""
+      self.texteCuve += self.entete()
+
+      # Rubrique OPTIONS
+      self.texteCuve += self.rubrique('OPTIONS')
+
+      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.sousRubrique('Generation de fichiers', '')
+      self.texteCuve += self.ecritVariable('FichierDataIn')
+      self.texteCuve += self.ecritVariable('FichierTempSigma')
+      self.texteCuve += self.ecritVariable('FichierResultats')
+      self.texteCuve += self.ecritVariable('FichierCSV')
+      self.texteCuve += self.ecritVariable('FichierCREARE')
+
+      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.sousRubrique('Divers', '')
+      self.texteCuve += self.ecritVariable('IncrementTemporel')
+      self.texteCuve += self.ecritVariable('IncrementMaxTemperature')
+      self.texteCuve += self.ecritVariable('IncrementMaxTempsAffichage')
+      if self.dico_mot.has_key('ListeInstants'):
+         self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
+         self.imprime(1,(self.dico_mot["ListeInstants"]))
+      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"
+
+
+      # Rubrique DONNEES DE LA CUVE
+      self.texteCuve += self.rubrique('DONNEES DE LA CUVE')
+      if self.dico_mot.has_key('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"
+            self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
+            self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
+            self.texteCuve+="#                         NBNO"+"\n"
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('RayonInterne')
+            self.texteCuve += self.ecritVariable('RayonInterne_mess')
+            self.texteCuve += self.ecritVariable('RayonExterne')
+            self.texteCuve += self.ecritVariable('RayonExterne_mess')
+            self.texteCuve += self.ecritVariable('EpaisseurRevetement')
+            self.texteCuve += self.ecritVariable('EpaisseurRevetement_mess')
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('LigamentExterneMin')
+            self.texteCuve += self.ecritVariable('LigamentExterneMin_mess')
+            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"
+            self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
+            self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
+            self.texteCuve+="#                         NBNO"+"\n"
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
+            self.imprime(1,(self.dico_mot["ListeAbscisses"]))
+      else :
+         self.texteCuve += self.affecteValeurDefaut('TraitementGeometrie')
+         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"
+         self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
+         self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
+         self.texteCuve+="#                         NBNO"+"\n"
+         self.texteCuve+="#"+"\n"
+         self.texteCuve += self.affecteValeurDefaut('RayonInterne')
+         self.texteCuve += self.affecteValeurDefaut('RayonInterne_mess')
+         self.texteCuve += self.affecteValeurDefaut('RayonExterne')
+         self.texteCuve += self.affecteValeurDefaut('RayonExterne_mess')
+         self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement')
+         self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement_mess')
+         self.texteCuve+="#"+"\n"
+         self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin')
+         self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin_mess')
+         self.texteCuve+="#"+"\n"
+         self.texteCuve += self.affecteValeurDefaut('NombreNoeudsMaillage')
+
+
+      # Rubrique CARACTERISTIQUES DU DEFAUT
+      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')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('TypeInitial')
+
+      self.texteCuve+="# Fournir ORIEDEF, (PROFDEF, PROFDEF_MESSAGE)"+"\n"
+      self.texteCuve+="# - Si DSR, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST)"+"\n"
+      self.texteCuve+="# - Si DECALE, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST), DECATYP, (DECANOR,DECANOR_MESSAGE) ou (DECADEF,DECADEF_MESSAGE)"+"\n"
+      self.texteCuve+="# - Si DEBOUCHANT, fournir IRWIN"+"\n"
+      self.texteCuve+="# Fournir (ANGLDEF, ANGLDEF_MESSAGE), (ALTIDEF, ALTIDEF_MESSAGE)"+"\n"
+      self.texteCuve+="# - Si DSR ou DECALE, fournir POINDEF"+"\n"
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Remarque :"+"\n"
+      self.texteCuve+="# - si DSR ou DECALE, dans la rubrique 'Modele de tenacite', fournir ATTNCORRBETA (ne pas fournir CORRIRWIN)"+"\n"
+      self.texteCuve+="# - si DEBOUCHANT,    dans la rubrique 'Modele de tenacite', fournir CORRIRWIN    (ne pas fournir ATTNCORRBETA)"+"\n"
+
+      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')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('Orientation')
+        
+      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 Sous Revetement':
+            self.texteCuve+="#"+"\n"
+            if self.dico_mot.has_key('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')
+                  self.texteCuve += self.ecritVariable('DecalageRadial_mess')
+            else :
+               self.texteCuve += self.affecteValeurDefaut('ModeCalculDecalage')
+               self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
+               self.texteCuve+="# - Si VALEUR, fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
+               self.texteCuve += self.affecteValeurDefaut('DecalageRadial')
+               self.texteCuve += self.affecteValeurDefaut('DecalageRadial_mess')
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve += self.ecritVariable('Azimut')
+      self.texteCuve += self.ecritVariable('Azimut_mess')
+      self.texteCuve+="#"+"\n"
+      self.texteCuve += self.ecritVariable('Altitude')
+      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')
+
+      # 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')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('ModeleFluence')
+
+      self.texteCuve+="# - si France,          fournir KPFRANCE"+"\n"
+      self.texteCuve+="# - si USNRC,           fournir KPUS"+"\n"
+      self.texteCuve+="# - si modele GD_Cuve,  fournir COEFFLUENCE1, COEFFLUENCE2, ..., COEFFLUENCE9, COEFFLUENCE10"+"\n"
+      self.texteCuve+="#"+"\n"
+
+      self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeSup')
+      self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeInf')
+      self.texteCuve += self.ecritVariable('FluenceMax')
+      if self.dico_mot.has_key('ModeleFluence'):
+         if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=12.7 (France)':
+            self.texteCuve += self.ecritVariable('KPFrance')
+         if str(self.dico_mot["ModeleFluence"])=='Regulatory Guide 1.99 rev 2 (USNRC)':
+            self.texteCuve += self.ecritVariable('KPUS')
+         if str(self.dico_mot["ModeleFluence"])=='Grand developpement (GD_Cuve)':
+            self.texteCuve += self.ecritVariable('Azimut_0deg')
+            self.texteCuve += self.ecritVariable('Azimut_5deg')
+            self.texteCuve += self.ecritVariable('Azimut_10deg')
+            self.texteCuve += self.ecritVariable('Azimut_15deg')
+            self.texteCuve += self.ecritVariable('Azimut_20deg')
+            self.texteCuve += self.ecritVariable('Azimut_25deg')
+            self.texteCuve += self.ecritVariable('Azimut_30deg')
+            self.texteCuve += self.ecritVariable('Azimut_35deg')
+            self.texteCuve += self.ecritVariable('Azimut_40deg')
+            self.texteCuve += self.ecritVariable('Azimut_45deg')
+
+      self.texteCuve += self.sousRubrique('Irradiation','B.')
+
+      if self.dico_mot.has_key('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')
+            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+="#"+"\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':
+               self.texteCuve += self.ecritVariable('TeneurPhosphore')
+               self.texteCuve += self.ecritVariable('TeneurPhosphore_mess')
+            self.texteCuve += self.ecritVariable('MoyenneRTndt')
+            self.texteCuve += self.ecritVariable('MoyenneRTndt_mess')
+            if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : Regulatory Guide 1.00 rev 2' or str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : Regulatory Guide 1.00 rev 2':
+               self.texteCuve += self.ecritVariable('CoefVariationRTndt')
+               self.texteCuve += self.ecritVariable('CoefVariationRTndt_mess')
+               self.texteCuve += self.ecritVariable('EcartTypeRTndt')
+               self.texteCuve += self.ecritVariable('EcartTypeRTndt_mess')
+            self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt')
+            self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt_mess')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('TypeIrradiation')
+         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.affecteValeurDefaut('RTNDT')
+
+      self.texteCuve += self.sousRubrique('Modele de tenacite','C.')
+      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')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('ModeleTenacite')
+      self.texteCuve+="# - si RCC-M, RCC-M_pal, Houssin_RC, fournir (nbectKIc, nbectKIc_MESSAGE), KICPAL, KICCDV"+"\n"
+      self.texteCuve+="# - si RCC-M_exp,                    fournir (nbectKIc, nbectKIc_MESSAGE), KICCDV"+"\n"
+      self.texteCuve+="# - si RCC-M_simpl,                  ne rien fournir"+"\n"
+      self.texteCuve+="# - si Frama, LOGWOLF,               fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
+      self.texteCuve+="# - si REME, ORNL, WEIB3, WEIB2,     fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC"+"\n"
+      self.texteCuve+="# - si Wallin,                       fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
+      self.texteCuve+="#                                                     puis T0WALLIN"+"\n"
+      self.texteCuve+="# - si WEIB-GEN,                     fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
+      self.texteCuve+="#                                                     puis A1, A2, A3, B1, B2, B3, C1, C2, C3"+"\n"
+      self.texteCuve+="#   loi de Weibull P(K<x) = 1 - exp{-[ (x-a(T)) / b(T) ]^c(T) }"+"\n"
+      self.texteCuve+="#   avec        a(T) = A1 + A2*exp[A3*(T-RTNDT)]"+"\n"
+      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"
+      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"])=='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')
+            self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
+            self.texteCuve += self.ecritVariable('PalierDuctile_KIc')
+            self.texteCuve += self.ecritVariable('CoefficientVariation_KIc')
+
+         if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb01 (Frama)' or str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb02 (LOGWOLF)' :
+            self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
+            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' :
+               self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
+               self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
+            if str(self.dico_mot["NBRE_CARACTERISTIQUE"])=='ORDRE' :
+               self.texteCuve += self.ecritVariable('Fractile_KIc')
+               self.texteCuve += self.ecritVariable('Fractile_KIc_mess')
+
+            if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' :
+               self.texteCuve += self.ecritVariable('Temperature_KIc100')
+
+            if str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee' :
+               self.texteCuve += self.ecritVariable('A1')
+               self.texteCuve += self.ecritVariable('A2')
+               self.texteCuve += self.ecritVariable('A3')
+               self.texteCuve += self.ecritVariable('B1')
+               self.texteCuve += self.ecritVariable('B2')
+               self.texteCuve += self.ecritVariable('B3')
+               self.texteCuve += self.ecritVariable('C1')
+               self.texteCuve += self.ecritVariable('C2')
+               self.texteCuve += self.ecritVariable('C3')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc')
+         self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc_mess')
+         self.texteCuve += self.affecteValeurDefaut('PalierDuctile_KIc')
+         self.texteCuve += self.affecteValeurDefaut('CoefficientVariation_KIc')
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Correction plastique"+"\n"
+
+      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')
+         if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA attenuee (pour DSR et defaut decale)':
+            self.texteCuve += self.affecteValeur('AttnCorrBeta','OUI')
+         if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique IRWIN (pour defaut debouchant)':
+            self.texteCuve += self.affecteValeur('CorrIrwin','OUI')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('AttnCorrBeta')
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Prise en compte de l'arret de fissure si DETERMINISTE"+"\n"
+
+      self.texteCuve += self.ecritVariable('ArretDeFissure')
+      self.texteCuve+="# - si ARRETFISSURE=OUI, fournir (INCRDEF, INCRDEF_MESSAGE), nbectKIa, KIAPAL, KIACDV"+"\n"
+      if self.dico_mot.has_key('ArretDeFissure'):
+         if str(self.dico_mot["ArretDeFissure"])=='OUI':
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('IncrementTailleFissure')
+            self.texteCuve += self.ecritVariable('IncrementTailleFissure_mess')
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# Parametres pour le calcul de la tenacite a l arret"+"\n"
+            self.texteCuve += self.ecritVariable('NbEcartType_MoyKIa')
+            self.texteCuve += self.ecritVariable('PalierDuctile_KIa')
+            self.texteCuve += self.ecritVariable('CoefficientVariation_KIa')
+
+      # Rubrique Etat initial
+      self.texteCuve += self.rubrique('ETAT INITIAL')
+
+      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 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"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Profils radiaux des contraintes résiduelles dans la cuve"+"\n"
+      self.texteCuve+="# abscisse (m) / sigma rr / sigma tt / sigma zz"+"\n"
+      self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
+      if self.dico_mot.has_key('ProfilRadial_ContraintesInitiales'):
+         self.imprime(4,(self.dico_mot["ProfilRadial_ContraintesInitiales"]))
+         self.texteCuve += self.amontAval('Amont_ContraintesInitiales','Aval_ContraintesInitiales')
+      else :
+         self.texteCuve+="1.994     0. 0.  0."+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Instant initial"+"\n"
+      self.texteCuve += self.ecritVariable('InstantInitialisation')
+
+      # Rubrique CARACTERISTIQUES DU REVETEMENT
+      self.texteCuve += self.rubrique('CARACTERISTIQUES DU REVETEMENT')
+
+      self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueREV')
+      self.texteCuve+="# - si CHALEUR,   fournir Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+      self.texteCuve+="# - si ENTHALPIE, fournir Temperature (°C) / 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"
+      self.texteCuve+="#"+"\n"
+      if self.dico_mot.has_key('ChaleurREV_Fct_Temperature'):
+         self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+         self.imprime(2,(self.dico_mot["ChaleurREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_ChaleurREV','Aval_ChaleurREV')
+      elif self.dico_mot.has_key('EnthalpieREV_Fct_Temperature'):
+         self.texteCuve+="# Temperature (°C) / enthalpie (J/kg)"+"\n"
+         self.imprime(2,(self.dico_mot["EnthalpieREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_EnthalpieREV','Aval_EnthalpieREV')
+      else :
+         self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+         self.texteCuve+="0.    36.03E5 "+"\n"
+         self.texteCuve+="20.   36.03E5 "+"\n"
+         self.texteCuve+="200.  41.65E5 "+"\n"
+         self.texteCuve+="350.  43.47E5 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / conductivite thermique (W/m/°C)"+"\n"
+      if self.dico_mot.has_key('ConductiviteREV_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["ConductiviteREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_ConductiviteREV','Aval_ConductiviteREV')
+      else :
+         self.texteCuve+="0.    14.7 "+"\n"
+         self.texteCuve+="20.   14.7 "+"\n"
+         self.texteCuve+="200.  17.2 "+"\n"
+         self.texteCuve+="350.  19.3 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / module d'Young (MPa)"+"\n"
+      if self.dico_mot.has_key('ModuleYoungREV_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["ModuleYoungREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_ModuleYoungREV','Aval_ModuleYoungREV')
+      else :
+         self.texteCuve+="0.    198500. "+"\n"
+         self.texteCuve+="20.   197000. "+"\n"
+         self.texteCuve+="200.  184000. "+"\n"
+         self.texteCuve+="350.  172000. "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / coefficient de dilatation thermique (°C-1)"+"\n"
+      if self.dico_mot.has_key('CoeffDilatThermREV_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["CoeffDilatThermREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_CoeffDilatThermREV','Aval_CoeffDilatThermREV')
+      else :
+         self.texteCuve+="0.    16.40E-6 "+"\n"
+         self.texteCuve+="20.   16.40E-6 "+"\n"
+         self.texteCuve+="200.  17.20E-6 "+"\n"
+         self.texteCuve+="350.  17.77E-6 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / limite d'elasticite (MPa)"+"\n"
+      if self.dico_mot.has_key('LimiteElasticiteREV_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["LimiteElasticiteREV_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_LimiteElasticiteREV','Aval_LimiteElasticiteREV')
+      else :
+         self.texteCuve+="0.    380. "+"\n"
+         self.texteCuve+="20.   370. "+"\n"
+         self.texteCuve+="100.  330. "+"\n"
+         self.texteCuve+="300.  270. "+"\n"
+         self.texteCuve+="LL"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve += self.ecritVariable('TemperatureDeformationNulleREV')
+      self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermREV')
+      self.texteCuve += self.ecritVariable('CoefficientPoissonREV')
+
+      # Rubrique CARACTERISTIQUES DU METAL DE BASE
+      self.texteCuve += self.rubrique('CARACTERISTIQUES DU METAL DE BASE')
+
+      self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueMDB')
+
+      self.texteCuve+="# - si CHALEUR,   fournir Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+      self.texteCuve+="# - si ENTHALPIE, fournir Temperature (°C) / 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"
+      self.texteCuve+="#"+"\n"
+
+      if self.dico_mot.has_key('ChaleurMDB_Fct_Temperature'):
+         self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+         self.imprime(2,(self.dico_mot["ChaleurMDB_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_ChaleurMDB','Aval_ChaleurMDB')
+      elif self.dico_mot.has_key('EnthalpieMDB_Fct_Temperature'):
+         self.texteCuve+="# Temperature (°C) / enthalpie (J/kg)"+"\n"
+         self.imprime(2,(self.dico_mot["EnthalpieMDB_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_EnthalpieMDB','Aval_EnthalpieMDB')
+      else :
+         self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
+         self.texteCuve+="0.    34.88E+05 "+"\n"
+         self.texteCuve+="20.   34.88E+05 "+"\n"
+         self.texteCuve+="200.  40.87E+05 "+"\n"
+         self.texteCuve+="350.  46.02E+05 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / conductivite thermique (W/m/°C)"+"\n"
+      if self.dico_mot.has_key('ConductiviteMDB_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["ConductiviteMDB_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_ConductiviteMDB','Aval_ConductiviteMDB')
+      else :
+         self.texteCuve+="0.    37.7 "+"\n"
+         self.texteCuve+="20.   37.7 "+"\n"
+         self.texteCuve+="200.  40.5 "+"\n"
+         self.texteCuve+="350.  38.7 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / module d'Young (MPa)"+"\n"
+      if self.dico_mot.has_key('ModuleYoungMDB_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["ModuleYoungMDB_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Aval_ModuleYoungMDB','Aval_ModuleYoungMDB')
+      else :
+         self.texteCuve+="0.    205000. "+"\n"
+         self.texteCuve+="20.   204000. "+"\n"
+         self.texteCuve+="200.  193000. "+"\n"
+         self.texteCuve+="350.  180000. "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="# Temperature (°C) / coefficient de dilatation thermique (°C-1)"+"\n"
+      if self.dico_mot.has_key('CoeffDilatThermMDB_Fct_Temperature'):
+         self.imprime(2,(self.dico_mot["CoeffDilatThermMDB_Fct_Temperature"]))
+         self.texteCuve += self.amontAval('Amont_CoeffDilatThermMDB','Aval_CoeffDilatThermMDB')
+      else :
+         self.texteCuve+="0.    11.22E-6 "+"\n"
+         self.texteCuve+="20.   11.22E-6 "+"\n"
+         self.texteCuve+="200.  12.47E-6 "+"\n"
+         self.texteCuve+="350.  13.08E-6 "+"\n"
+         self.texteCuve+="CC"+"\n"
+
+      self.texteCuve+="#"+"\n"
+      self.texteCuve += self.ecritVariable('TemperatureDeformationNulleMDB')
+      self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermMDB')
+      self.texteCuve += self.ecritVariable('CoefficientPoissonMDB')
+
+      # Rubrique CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE
+      self.texteCuve += self.rubrique('CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE')
+      self.texteCuve += self.sousRubrique('Chargement mecanique : transitoire de pression','')
+
+      self.texteCuve+="# instant (s) / pression (MPa)"+"\n"
+      self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\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')
+      else :
+         self.texteCuve+="0.    15.5 "+"\n"
+         self.texteCuve+="20.   0.1 "+"\n"
+         self.texteCuve+="200.  0.1 "+"\n"
+         self.texteCuve+="1000. 0.1 "+"\n"
+         self.texteCuve+="CC"+"\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')
+      else :
+         self.texteCuve += self.affecteValeurDefaut('TypeConditionLimiteThermique')
+
+      self.texteCuve+="# - si TEMP_IMPO, fournir Instant (s) / Temperature imposee (°C)"+"\n"
+      self.texteCuve+="# - si FLUX_REP,  fournir Instant (s) / Flux de chaleur impose (W/m2)"+"\n"
+      self.texteCuve+="# - si ECHANGE,   fournir Instant (s) / Temperature impose (°C)"+"\n"
+      self.texteCuve+="#                    puis Instant (s) / Coefficient d echange (W/m2/K)"+"\n"
+      self.texteCuve+="# - si DEBIT,     fournir Instant (s) / Debit massique (kg/s)"+"\n"
+      self.texteCuve+="#                    puis Instant (s) / Temperature d injection de securite  (°C)"+"\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+="# - si TEMP_FLU,  fournir Instant (s) / Temperature du fluide (°C)"+"\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+="#                    puis Instant (s) / Temperature du fluide (°C) 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+="#                         1871. 80."+"\n"
+      self.texteCuve+="#                         3871. 80."+"\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"
+      self.texteCuve+="#"+"\n"
+
+      if self.dico_mot.has_key('TypeConditionLimiteThermique'):
+
+         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('DebitAccumule')
+            self.texteCuve += self.ecritVariable('DebitInjectionSecurite')
+            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' :
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / temperature imposee du fluide (°C)"+"\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')
+           else :
+               self.texteCuve+="0.    286. "+"\n"
+               self.texteCuve+="20.   20. "+"\n"
+               self.texteCuve+="200.  7. "+"\n"
+               self.texteCuve+="1000. 80. "+"\n"
+               self.texteCuve+="CC"+"\n"
+
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / flux de chaleur impose (W/m2)"+"\n"
+            if self.dico_mot.has_key('ProfilTemporel_FluxChaleur'):
+               self.imprime(2,(self.dico_mot["ProfilTemporel_FluxChaleur"]))
+               self.texteCuve += self.amontAval('Amont_FluxChaleur','Aval_FluxChaleur')
+               self.texteCuve+="#"+"\n"
+           else :
+               self.texteCuve+="0.    -0. "+"\n"
+               self.texteCuve+="20.   -366290. "+"\n"
+               self.texteCuve+="200.  -121076. "+"\n"
+               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':
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / Debit d injection de securite  (kg/s)"+"\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')
+           else :
+               self.texteCuve+="0.    4590. "+"\n"
+               self.texteCuve+="20.   4590. "+"\n"
+               self.texteCuve+="200.  340. "+"\n"
+               self.texteCuve+="1000. 31.1 "+"\n"
+               self.texteCuve+="CC"+"\n"
+
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' :
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / Coefficient d echange (W/m2/K)"+"\n"
+            if self.dico_mot.has_key('ProfilTemporel_CoefficientEchange'):
+               self.imprime(2,(self.dico_mot["ProfilTemporel_CoefficientEchange"]))
+               self.texteCuve += self.amontAval('Amont_CoefficientEchange','Aval_CoefficientEchange')
+           else :
+               self.texteCuve+="0.    138454. "+"\n"
+               self.texteCuve+="20.   19972. "+"\n"
+               self.texteCuve+="200.  2668. "+"\n"
+               self.texteCuve+="1000. 2668. "+"\n"
+               self.texteCuve+="CC"+"\n"
+
+         if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' :
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / Debit massique (kg/s)"+"\n"
+            if self.dico_mot.has_key('ProfilTemporel_DebitMassique'):
+               self.imprime(2,(self.dico_mot["ProfilTemporel_DebitMassique"]))
+               self.texteCuve += self.amontAval('Amont_DebitMassique','Aval_DebitMassique')
+           else :
+               self.texteCuve+="0.    18.4 "+"\n"
+               self.texteCuve+="20.   18.4 "+"\n"
+               self.texteCuve+="200.  31.1 "+"\n"
+               self.texteCuve+="1000. 31.1 "+"\n"
+               self.texteCuve+="CC"+"\n"
+
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# instant (s) / Temperature d injection de securite  (°C)"+"\n"
+            if self.dico_mot.has_key('ProfilTemporel_TemperatureInjection'):
+               self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureInjection"]))
+               self.texteCuve += self.amontAval('Amont_TemperatureInjection','Aval_TemperatureInjection')
+           else :
+               self.texteCuve+="0.    7.0 "+"\n"
+               self.texteCuve+="20.   7.0 "+"\n"
+               self.texteCuve+="200.  7.0 "+"\n"
+               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' :
+            self.texteCuve+="#"+"\n"
+            self.texteCuve+="# Transitoire des coefficients d echange : modele VESTALE"+"\n"
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('DiametreHydraulique')
+            self.texteCuve += self.ecritVariable('DiametreHydraulique_mess')
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire')
+            self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire_mess')
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle')
+            self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle_mess')
+            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':
+            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('TemperatureInitiale_CREARE')
+            self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE_mess')
+            self.texteCuve+="#"+"\n"
+            self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure')
+            self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
+      else :
+         self.texteCuve+="#"+"\n"
+         self.texteCuve+="# instant (s) / temperature imposee du fluide (°C)"+"\n"
+         self.texteCuve+="0.    286. "+"\n"
+         self.texteCuve+="20.   20. "+"\n"
+         self.texteCuve+="200.  7. "+"\n"
+         self.texteCuve+="1000. 80. "+"\n"
+         self.texteCuve+="CC"+"\n"
+      self.texteCuve+="#"+"\n"
+      self.texteCuve+="############################################################################################"+"\n"
+
+
+   def imprime(self,nbdeColonnes,valeur):
+      self.liste=[]
+      self.transforme(valeur)
+      i=0
+      while i < len(self.liste):
+          for k in range(nbdeColonnes) :
+              self.texteCuve+=str(self.liste[i+k]) +"  "
+          self.texteCuve+="\n"
+          i=i+k+1
+               
+
+   def transforme(self,valeur):
+      for i in valeur :
+          if type(i) == tuple :
+             self.transforme(i)
+          else :
+             self.liste.append(i)
+          
+
+
+
diff --git a/Cuve2dg/sdistCuveqt.py b/Cuve2dg/sdistCuveqt.py
new file mode 100644 (file)
index 0000000..5ec2452
--- /dev/null
@@ -0,0 +1,102 @@
+# -*- 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('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py','faqs.txt'])
+   copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile'])
+   copyfiles('../Cuve2dg',os.path.join(path_distrib,'Cuve2dg'),['*.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/CUVE2DG',os.path.join(path_distrib,'Editeur','Patrons','CUVE2DG'),['*.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()
+
index 8728fdce8fd33e6b9ad8cbdd9c72fbd69cf2a83c..41b0c9e2b95ea89827b7b6c6dc69fb50927cb670 100644 (file)
@@ -202,6 +202,8 @@ class MonPlusieursBasePanel(DPlusBase,QTPanel,SaisieValeur):
 
   def BSalomePressed(self):
 
+        self.LEValeur.setText(QString(""))
+        self.Commentaire.setText(QString(""))
         genea=self.node.item.get_genealogie()
         kwType = None
         for e in genea:
index bfbf2550f787b927d1a9b59835147fe98539db0b..6a7b9908b34d80e9c2d72913de775e047156a079 100644 (file)
@@ -144,6 +144,7 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
         SaisieValeur.LEValeurPressed(self,valeur)
 
   def BSalomePressed(self):
+        self.Commentaire.setText(QString(""))
         genea=self.node.item.get_genealogie()
         kwType = None
         for e in genea: