--- /dev/null
+# -*- 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'),
+ AU_MOINS_UN ('INITIALISATION'),
+ AU_MOINS_UN ('REVETEMENT'),
+ AU_MOINS_UN ('METAL_BASE'),
+ AU_MOINS_UN ('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
+#===
+
+ SortieEcran = FACT (statut="o",
+
+ # MESSAGE_LEVEL
+ NiveauImpression = SIMP (statut="o", typ="TXM", defaut="Temps total",
+ fr="Niveau d impression a l ecran",
+ into=( "Aucune impression", # 0
+ "Temps total", # 1
+ "Temps intermediaires",), # 2
+ ),
+
+ ), # FIN FACT SortieEcran
+
+ SortieFichier = FACT (statut="o",
+
+ # DATARESUME_FILE
+ FichierDataIn = SIMP (statut="o", typ="TXM", defaut="NON",
+ fr="Fichier recapitulatif des donnees d entree : template.IN",
+ into=( "OUI", "NON",),
+ ),
+ # TEMPSIG_FILE
+ FichierTempSigma = SIMP (statut="o", typ="TXM", defaut="NON",
+ fr="Fichiers de temperature et de contraintes : template.TEMP et template.SIG",
+ into=( "OUI", "NON",),
+ ),
+ # RESU_FILE
+ FichierResultats = SIMP (statut="o", typ="TXM", defaut="NON",
+ fr="Fichier resultat : template_DEFAILLCUVE",
+ into=( "OUI", "NON",),
+ ),
+ # CSV_FILE
+ FichierCSV = SIMP (statut="o", typ="TXM", defaut="NON",
+ fr="Fichier resultat au format CSV : template_DEFAILLCUVE.CSV",
+ into=( "OUI", "NON",),
+ ),
+ # CREARE_FILE
+ FichierCREARE = SIMP (statut="o", typ="TXM", defaut="NON",
+ fr="Fichier Tfluide et coefficients d echange : template.CREA",
+ into=( "OUI", "NON",),
+ ),
+
+ ), # FIN FACT SortieFichier
+
+ # GRANDEUR
+ GrandeurEvaluee = SIMP (statut="o", typ="TXM", defaut="Facteur de marge KIc/KCP",
+ fr="Grandeur sous critere",
+ into=( "Facteur de marge KIc/KCP", # FM_KICSURKCP
+ "Marge KIc-KI", # MARGE_KI
+ "Marge KIc-KCP", ), # MARGE_KCP
+ ),
+
+ AutresParametres = FACT (statut="o",
+
+ # INCRTPS
+ IncrementTemporel = SIMP ( statut="o", typ="I", defaut=1,
+ fr="Incrément temporel (=1 pour calcul déterministe)", ),
+ # DTPREC
+ IncrementMaxTemperature = SIMP ( statut="o", typ="R", val_min=0.1, 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", val_min=0., val_max=1000., defaut=1000.,
+ fr="Incrément maximum de temps pour l'affichage (s)", ),
+ #
+ ListeInstants = SIMP ( statut="o", typ="R", max="**",
+ fr = "Liste des instants pour lesquels la température et les contraintes seront archivés", ),
+
+ ), # FIN FACT AutresParametres
+
+) # Fin PROC OPTIONS
+
+#================================
+# 2. 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", defaut="Topologie",
+ 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)", ),
+ # RINT_MESSAGE
+ RayonInterne_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du rayon interne de la cuve (en m)",
+ into=( "NON", "OUI" ), ),
+
+ # DTV : comment preciser que REXT > RINT ?
+ # REXT
+ RayonExterne = SIMP ( statut="o", typ="R", defaut=2.2015,
+ fr="Rayon externe de la cuve (en m)", ),
+ # REXT_MESSAGE
+ RayonExterne_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du rayon externe de la cuve (en m)",
+ into=( "NON", "OUI" ), ),
+
+ # DTV : comment preciser que LREV < RINT ?
+ # LREV
+ EpaisseurRevetement = SIMP ( statut="o", typ="R", defaut=0.0075,
+ fr="Epaisseur du revêtement (m)", ),
+ # LREV_MESSAGE
+ EpaisseurRevetement_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de l'epaisseur du revêtement (m)",
+ into=( "NON", "OUI" ), ),
+
+ # LIGMIN
+ LigamentExterneMin = SIMP ( statut="o", typ="R", defaut=0.75,
+ fr="Ligament externe minimal avant rupture (% de l'épaisseur de cuve)", ),
+ # LIGMIN_MESSAGE
+ LigamentExterneMin_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du ligament externe minimal avant rupture (% de l'épaisseur de cuve)",
+ into=( "NON", "OUI" ), ),
+
+ # NBNO
+ NombreNoeudsMaillage = SIMP ( statut="o", typ="I", defaut=300, max=1, val_min=1, val_max=1000,
+ fr = "Nombre de noeuds à considérer dans le maillage interne", ),
+
+ ), # Fin BLOC Geometrie
+
+ Maillage = BLOC ( condition = "TraitementGeometrie=='Maillage'",
+
+ # DTV : comment preciser que c'est une suite de liste de nombres croissants ?
+ # Question : NBO depend-il de TYPGEOM ??
+ NombreNoeudsMaillage = SIMP ( statut="o", typ="I", defaut=300, max=1, val_min=1, val_max=1000,
+ fr = "Nombre de noeuds à considérer dans le maillage interne", ),
+
+ ListeAbscisses = SIMP ( statut="o", typ="R", max="**",
+ fr = "Liste des abscisses", ),
+ ), # Fin BLOC Maillage
+
+) # Fin PROC CUVE
+
+#================================
+# 3. 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", defaut="Defaut Sous Revetement",
+ fr="Type initial du défaut : sous revêtement, decale ou débouchant",
+ into=( "Defaut Sous Revetement", # DSR
+ "Defaut Decale", # DECALE
+ "Defaut Debouchant", ), # DEBOUCHANT
+ ),
+
+#====
+# Definition des parametres selon le type du defaut
+#====
+
+ SousRevetement = BLOC ( condition = "TypeInitial=='Defaut Sous Revetement'",
+
+ # ORIEDEF into LONGITUD, CIRCONF
+ Orientation = SIMP ( statut="o", typ="TXM", defaut="Longitudinale",
+ fr="Orientation du défaut",
+ into=( "Longitudinale",
+ "Circonferentielle" ), ),
+
+ Profondeur_parametres = FACT (statut="o",
+ # PROFDEF
+ # dtv : taille max d'un defaut ? Ici, 0.2 = epaisseur approximative de cuve
+ ProfondeurRadiale = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=0.2, defaut=0.006,
+ fr="Profondeur radiale du défaut (m)", ),
+ # PROFDEF_MESSAGE
+ ProfondeurRadiale_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la profondeur radiale du défaut (m)",
+ into=( "NON", "OUI" ), ),
+ ), # Fin FACT Profondeur_parametres
+
+ Longueur_parametres = FACT (statut="o",
+ # OPTLONG into VALEUR, FCTAFFINE
+ ModeCalculLongueur = SIMP ( statut="o", typ="TXM", defaut="Valeur",
+ fr="Option pour caractériser la longueur du défaut : soit par valeur, soit par une fonction affine de la profondeur",
+ into = ( "Valeur", "Fonction affine de la profondeur" ), ),
+ Mode_Valeur = BLOC ( condition = "ModeCalculLongueur=='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)", ),
+ # LONGDEF_MESSAGE
+ Longueur_mess = SIMP ( statut="o", typ="TXM", defaut = "NON",
+ fr = "Affichage ecran de la longueur du défaut sous revêtement (m)",
+ into=( "NON", "OUI" ), ),
+ ), # Fin BLOC Mode_Valeur
+ Mode_Fctaffine = BLOC ( condition = "ModeCalculLongueur=='Fonction affine de la profondeur'",
+ # PROFSURLONG
+ CoefDirecteur = SIMP ( statut="o", typ="R", max=1, val_max=100., defaut=10.,
+ fr="Inverse a1 du coefficient directeur de la fonction affine l=h/a1 + a0", ),
+ # LONGCONST
+ Constante = SIMP ( statut="o", typ="R", max=1, val_max=100., defaut=0.,
+ fr="constante a0 de la fonction affine l=pente*h + a0", ),
+ ), # Fin BLOC Mode_Fctaffine
+ ), # FIN FACT Longueur_parametres
+
+ Azimut_parametres = FACT (statut="o",
+ # ANGLDEF
+ Azimut = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Position angulaire du défaut dans le cylindre de cuve (en degrés)", ),
+ # ANGLDEF_MESSAGE
+ Azimut_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la position angulaire du défaut dans le cylindre de cuve (en degrés)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Azimut_parametres
+
+ Altitude_parametres = FACT (statut="o",
+ # ALTIDEF
+ # dtv : altitude entre -7m et 0m ? zone Vestale : -6.601<z<-3.510
+ Altitude = SIMP ( statut="o", typ="R", val_min=-8., val_max=0., defaut=-4.,
+ fr="Altitude du défaut sur le cylindre de cuve (en m)", ),
+ # ALTIDEF_MESSAGE
+ Altitude_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de l altitude du défaut sur le cylindre de cuve (en m)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Altitude_parametres
+
+ # POINDEF
+ Pointe = SIMP ( statut="o", typ="TXM", defaut="A",
+ fr="Choix du point considéré du défaut sous revêtement",
+ into=( "A", "B", "A et B" ), ),
+
+ ), # Fin BLOC SousRevetement
+
+ Decale = BLOC ( condition = "TypeInitial=='Defaut Decale'",
+
+ # ORIEDEF into LONGITUD, CIRCONF
+ Orientation = SIMP ( statut="o", typ="TXM", defaut="Longitudinale",
+ fr="Orientation du défaut",
+ into=( "Longitudinale",
+ "Circonferentielle" ), ),
+
+ Profondeur_parametres = FACT (statut="o",
+ # PROFDEF
+ # dtv : taille max d'un defaut ? Ici, 0.2 = epaisseur approximative de cuve
+ ProfondeurRadiale = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=0.2, defaut=0.006,
+ fr="Profondeur radiale du défaut (m)", ),
+ # PROFDEF_MESSAGE
+ ProfondeurRadiale_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la profondeur radiale du défaut (m)",
+ into=( "NON", "OUI" ), ),
+ ), # Fin FACT Profondeur_parametres
+
+ Longueur_parametres = FACT (statut="o",
+
+ # OPTLONG into VALEUR, FCTAFFINE
+ ModeCalculLongueur = SIMP ( statut="o", typ="TXM", defaut="Valeur",
+ fr="Option pour caractériser la longueur du défaut : soit par valeur, soit par une fonction affine de la profondeur",
+ into = ( "Valeur", "Fonction affine de la profondeur" ), ),
+
+ Mode_Valeur = BLOC ( condition = "ModeCalculLongueur=='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)", ),
+ # LONGDEF_MESSAGE
+ Longueur_mess = SIMP ( statut="o", typ="TXM", defaut = "NON",
+ fr = "Affichage ecran de la longueur du défaut décalé (m)",
+ into=( "NON", "OUI" ), ),
+ ), # Fin BLOC Mode_Valeur
+
+ Mode_Fctaffine = BLOC ( condition = "ModeCalculLongueur=='Fonction affine de la profondeur'",
+ # PROFSURLONG
+ CoefDirecteur = SIMP ( statut="o", typ="R", max=1, val_max=100., defaut=10.,
+ fr="Inverse a1 du coefficient directeur de la fonction affine l=h/a1 + a0", ),
+ # LONGCONST
+ Constante = SIMP ( statut="o", typ="R", max=1, val_max=100., defaut=0.,
+ fr="constante a0 de la fonction affine l=pente*h + a0", ),
+ ), # Fin BLOC Mode_Fctaffine
+
+ ), # FIN FACT Longueur_parametres
+
+
+ Decalage_parametres = FACT (statut="o",
+
+ # DECATYP into NORMALISE, VALEUR
+ ModeCalculDecalage = SIMP ( statut="o", typ="TXM", defaut="Valeur",
+ fr="Option de definition du decalage radial du defaut : soit par valeur reelle, soit par valeur normalisee",
+ into = ( "Valeur",
+ "Valeur normalisee" ), ),
+
+ Mode_Decalage_Valeur = BLOC ( condition = "ModeCalculDecalage=='Valeur'",
+ # DECADEF
+ DecalageRadial = SIMP ( statut="o", typ="R", defaut=-0.00001,
+ fr="Décalage radial du defaut sous revêtement (en m)", ),
+ # DECADEF_MESSAGE
+ DecalageRadial_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du décalage radial du defaut sous revêtement (en m)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin BLOC Mode_Decalage_Valeur
+
+ Mode_Decalage_Normalisee = BLOC ( condition = "ModeCalculDecalage=='Valeur normalisee'",
+ # DECANOR
+ DecalageNormalise = SIMP ( statut="o", typ="R", defaut=0.01,
+ fr="Décalage radial normalise du defaut sous revêtement (entre 0. et 1.)", ),
+ ), # Fin BLOC Mode_Decalage_Normalisee
+
+ ), # Fin FACT Decalage_parametres
+
+ Azimut_parametres = FACT (statut="o",
+ # ANGLDEF
+ Azimut = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Position angulaire du défaut dans le cylindre de cuve (en degrés)", ),
+ # ANGLDEF_MESSAGE
+ Azimut_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la position angulaire du défaut dans le cylindre de cuve (en degrés)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Azimut_parametres
+
+ Altitude_parametres = FACT (statut="o",
+ # ALTIDEF
+ # dtv : altitude entre -7m et 0m ? zone Vestale : -6.601<z<-3.510
+ Altitude = SIMP ( statut="o", typ="R", val_min=-8., val_max=0., defaut=-4.,
+ fr="Altitude du défaut sur le cylindre de cuve (en m)", ),
+ # ALTIDEF_MESSAGE
+ Altitude_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de l altitude du défaut sur le cylindre de cuve (en m)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Altitude_parametres
+
+ # POINDEF
+ Pointe = SIMP ( statut="o", typ="TXM", defaut="A",
+ fr="Choix du point considéré du défaut décalé",
+ into=( "A", "B", "A et B" ), ),
+
+ ), # Fin BLOC Decale
+
+ Debouchant = BLOC ( condition = "TypeInitial=='Defaut Debouchant'",
+
+ # ORIEDEF into LONGITUD, CIRCONF
+ Orientation = SIMP ( statut="o", typ="TXM", defaut="Longitudinale",
+ fr="Orientation du défaut : longitudinale ou circonférentielle",
+ into=( "Longitudinale",
+ "Circonferentielle" ), ),
+
+ Profondeur_parametres = FACT (statut="o",
+ # PROFDEF
+ # dtv : taille max d'un defaut ? Ici, 0.2 = epaisseur approximative de cuve
+ ProfondeurRadiale = SIMP ( statut="o", typ="R", max=1, val_min=0., val_max=0.2, defaut=0.006,
+ fr="Profondeur radiale du défaut (m)", ),
+ # PROFDEF_MESSAGE
+ ProfondeurRadiale_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la profondeur radiale du défaut (m)",
+ into=( "NON", "OUI" ), ),
+ ), # Fin FACT Profondeur_parametres
+
+ Azimut_parametres = FACT (statut="o",
+ # ANGLDEF
+ Azimut = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Position angulaire du défaut dans le cylindre de cuve (en degrés)", ),
+ # ANGLDEF_MESSAGE
+ Azimut_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la position angulaire du défaut dans le cylindre de cuve (en degrés)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Azimut_parametres
+
+ Altitude_parametres = FACT (statut="o",
+ # ALTIDEF
+ # dtv : altitude entre -7m et 0m ? zone Vestale : -6.601<z<-3.510
+ Altitude = SIMP ( statut="o", typ="R", val_min=-8., val_max=0., defaut=-4.,
+ fr="Altitude du défaut sur le cylindre de cuve (en m)", ),
+ # ALTIDEF_MESSAGE
+ Altitude_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de l altitude du défaut sur le cylindre de cuve (en m)",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin FACT Altitude_parametres
+
+ ), # Fin BLOC debouchant
+
+) # Fin PROC DEFAUT
+
+
+#====================================================
+# 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
+ ModeleFluence = SIMP ( statut="o", typ="TXM", defaut="Exponentiel sans revetement k=9.7 (Reglementaire)",
+ 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=9.7 (Reglementaire CUVE1D)", # Cuve1D
+ "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
+#====
+
+ # H1COEUR
+ ZoneActiveCoeur_AltitudeSup = SIMP ( statut="o", typ="R", defaut=-3.536,
+ fr="Cote supérieure de la zone active de coeur", ),
+ # H2COEUR
+ ZoneActiveCoeur_AltitudeInf = SIMP ( statut="o", typ="R", defaut=-7.194,
+ fr="Cote inférieure de la zone active de coeur", ),
+
+ Reglementaire = BLOC ( condition = " ModeleFluence 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)", ),
+ ), # Fin BLOC Reglementaire
+
+ Cuve1D = BLOC ( condition = " ModeleFluence in ( 'Exponentiel sans revetement k=9.7 (Reglementaire CUVE1D)', ) ",
+ # 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 Cuve1D
+
+ France = BLOC ( condition = " ModeleFluence 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", defaut = 12.7,
+ fr="Paramètre exponentiel du modèle France", ),
+ ), # Fin BLOC France
+
+ ValeurImposee = BLOC ( condition = " ModeleFluence 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 = " ModeleFluence 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 = " ModeleFluence 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", defaut=9.4488,
+ fr="Paramètre exponentiel du modèle US", ),
+ ), # Fin BLOC USNRC
+
+ REV_2 = BLOC ( condition = " ModeleFluence 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 = " ModeleFluence 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)", ),
+ ), # Fin BLOC SDM_Lissage
+
+ GrandeDev = BLOC ( condition = " ModeleFluence 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)", ),
+ ), # Fin BLOC GrandeDev
+
+ GD_Cuve = BLOC ( condition = " ModeleFluence 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)", ),
+ Coefficients = Coef_Fluence(),
+ ), # Fin BLOC GD_Cuve
+
+ ), # Fin FACT Fluence
+
+#==========================
+# 4.2 Modeles d'irradiation
+#==========================
+
+ Irradiation = FACT ( statut="o",
+
+ # TYPEIRR INTO RTNDT, FLUENCE
+ TypeIrradiation = SIMP ( statut = "o", typ = "TXM", defaut="RTndt de la cuve a l instant de l analyse",
+ 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
+#====
+
+ IrradiationParValeur = BLOC ( condition = "TypeIrradiation=='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 IrradiationParValeur
+
+ IrradiationParModele = BLOC ( condition = "TypeIrradiation=='Modele d irradiation'",
+
+ # MODELIRR
+ ModeleIrradiation = SIMP ( statut="o", typ="TXM", defaut="Metal de Base : formule de FIM/FIS Houssin",
+ 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
+ ),
+ Parametres_FIMFIS = BLOC ( condition = " ModeleIrradiation in ( 'Metal de Base : formule de FIM/FIS Houssin' , 'Metal de Base : formule de FIM/FIS Persoz', 'Metal de Base : formule de FIM/FIS Lefebvre', 'Joint Soude : formulation de FIM/FIS Brillaud', ) ",
+ # CU
+ TeneurCuivre = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Teneur en cuivre (%)", ),
+ # CU_MESSAGE
+ TeneurCuivre_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la teneur en cuivre (%)",
+ into=( "NON","OUI" ), ),
+ # NI
+ TeneurNickel = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Teneur en nickel (%)", ),
+ # NI_MESSAGE
+ TeneurNickel_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la teneur en nickel (%)",
+ into=( "NON","OUI" ), ),
+ # P
+ TeneurPhosphore = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Teneur en phosphore (%)", ),
+ # P_MESSAGE
+ TeneurPhosphore_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la teneur en phosphore (%)",
+ into=( "NON","OUI" ), ),
+ # 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)", ),
+ # RTimoy_MESSAGE
+ MoyenneRTndt_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la moyenne de RTNDT",
+ into=( "NON","OUI" ), ),
+ # nbectDRTNDT
+ NombreEcartTypeRTndt = SIMP ( statut="o", typ="R", defaut=2.,
+ fr="Nombre d'écart-type par rapport à la moyenne de DRTNDT", ),
+ # nbectDRTNDT_MESSAGE
+ NombreEcartTypeRTndt_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du nombre d'écart-type par rapport à la moyenne de DRTNDT",
+ into=( "NON","OUI" ), ),
+ ), # Fin BLOC Parametres_FIMFIS
+
+ Parametres_USNRC = BLOC ( condition = " ModeleIrradiation in ( 'Metal de Base : Regulatory Guide 1.00 rev 2' , 'Joint Soude : Regulatory Guide 1.00 rev 2', ) ",
+ # CU
+ TeneurCuivre = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Teneur en cuivre (%)", ),
+ # CU_MESSAGE
+ TeneurCuivre_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la teneur en cuivre (%)",
+ into=( "NON","OUI" ), ),
+ # NI
+ TeneurNickel = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Teneur en nickel (%)", ),
+ # NI_MESSAGE
+ TeneurNickel_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la teneur en nickel (%)",
+ into=( "NON","OUI" ), ),
+ # 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)", ),
+ # RTimoy_MESSAGE
+ MoyenneRTndt_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la moyenne de RTNDT",
+ into=( "NON","OUI" ), ),
+ # RTicov
+ CoefVariationRTndt = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Coefficient de variation de la RTNDT initiale", ),
+ # RTicov_MESSAGE
+ CoefVariationRTndt_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du coefficient de variation de la RTNDT initiale",
+ into=( "NON","OUI" ), ),
+ # 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", ),
+ # nbectDRTNDT_MESSAGE
+ NombreEcartTypeRTndt_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du nombre d'écart-type par rapport à la moyenne de DRTNDT",
+ into=( "NON","OUI" ), ),
+ ), # Fin BLOC Parametres_USNRC
+
+ ), # Fin BLOC IrradiationParModele
+
+ ), # Fin FACT Irradiation
+
+#========================
+# 4.3 Modeles de tenacite
+#========================
+
+ Tenacite = FACT ( statut = "o",
+
+ # MODELKIC
+ ModeleTenacite = SIMP ( statut="o", typ="TXM", defaut="RCC-M/ASME coefficient=2",
+ 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 CUVE1D", # RCC-M_simpl
+ "RCC-M/ASME coefficient=2.33 (Houssin)", # Houssin_RC
+ "RCC-M/ASME avec KI=KIpalier", # RCC-M_pal
+ "RCC-M/ASME avec KI~exponentiel", # RCC-M_exp
+ "Weibull basee sur la master cuve", # Wallin
+ "Weibull basee sur la master cuve (REME)", # REME
+ "Weibull n°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 = " ModeleTenacite in ( 'RCC-M/ASME coefficient=2', 'RCC-M/ASME coefficient=2.33 (Houssin)', '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 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+
+ # 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)) ", ),
+
+ # KICCDV
+ CoefficientVariation_KIc = SIMP ( statut="o", typ="R", defaut = 0.15,
+ fr = "Coefficient de variation de la loi normale de K1c ", ),
+
+ ), # Fin BLOC KIc_RCCM
+
+ KIc_RCCM_exp = BLOC ( condition = " ModeleTenacite 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 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+
+ # KICCDV
+ CoefficientVariation_KIc = SIMP ( statut="o", typ="R", defaut = 0.15,
+ fr = "Coefficient de variation de la loi normale de K1c ", ),
+
+ ), # Fin BLOC KIc_RCCM_exp
+
+# Modeles type exponentiel (Frama, LOGWOLF)
+
+ KIc_Exponentielle = BLOC ( condition = " ModeleTenacite 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 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+
+ ), # Fin BLOC KIc_Exponentielle
+
+# Modeles type Weibull
+
+ KIc_Weibull = BLOC ( condition = " ModeleTenacite in ( 'Weibull basee sur la master cuve (REME)', 'Weibull n°1 (etude ORNL)', 'Weibull n°2', 'Weibull n°3', ) ",
+
+ # NBCARAC
+ NBRE_CARACTERISTIQUE = SIMP ( statut="o", typ="TXM", defaut="QUANTILE",
+ fr="Nombre caracteristique : ORDRE ou QUANTILE",
+ into=( "ORDRE", "QUANTILE" ), ),
+
+ ORDRE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='ORDRE'",
+ # nbectKIc
+ NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2.,
+ fr="Valeur caractéristique de KIc exprimée en nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ QUANTILE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='QUANTILE'",
+ # fractKIc
+ Fractile_KIc = SIMP ( statut="o", typ="R", defaut=5.,
+ fr="Valeur caractéristique de KIc exprimée en ordre de fractile (%) ", ),
+ # fractKIc_MESSAGE
+ Fractile_KIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ ), # Fin BLOC KIc_Weibull
+
+ KIc_MasterCuve = BLOC ( condition = " ModeleTenacite in ( 'Weibull basee sur la master cuve', ) ",
+
+ # NBCARAC
+ NBRE_CARACTERISTIQUE = SIMP ( statut="o", typ="TXM", defaut="QUANTILE",
+ fr="Nombre caracteristique : ORDRE ou QUANTILE",
+ into=( "ORDRE", "QUANTILE" ), ),
+
+ ORDRE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='ORDRE'",
+ # nbectKIc
+ NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2.,
+ fr="Valeur caractéristique de KIc exprimée en nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ QUANTILE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='QUANTILE'",
+ # fractKIc
+ Fractile_KIc = SIMP ( statut="o", typ="R", defaut=5.,
+ fr="Valeur caractéristique de KIc exprimée en ordre de fractile (%) ", ),
+ # fractKIc_MESSAGE
+ Fractile_KIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ # 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", ),
+
+ ), # Fin BLOC KIc_MasterCuve
+
+ Weibull_Generalisee = BLOC ( condition = " ModeleTenacite in ( 'Weibull generalisee',) ",
+
+ # NBCARAC
+ NBRE_CARACTERISTIQUE = SIMP ( statut="o", typ="TXM", defaut="QUANTILE",
+ fr="Nombre caracteristique : ORDRE ou QUANTILE",
+ into=( "ORDRE", "QUANTILE" ), ),
+
+ ORDRE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='ORDRE'",
+ # nbectKIc
+ NbEcartType_MoyKIc = SIMP ( statut="o", typ="R", defaut=-2.,
+ fr="Valeur caractéristique de KIc exprimée en nombre d'écart-type par rapport à la moyenne de KIc (nb sigma) : det = -2 ", ),
+ # nbectKIc_MESSAGE
+ NbEcartType_MoyKIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du nombre d'écart-type par rapport à la moyenne de KIc",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ QUANTILE = BLOC ( condition = "NBRE_CARACTERISTIQUE=='QUANTILE'",
+ # fractKIc
+ Fractile_KIc = SIMP ( statut="o", typ="R", defaut=5.,
+ fr="Valeur caractéristique de KIc exprimée en ordre de fractile (%) ", ),
+ # fractKIc_MESSAGE
+ Fractile_KIc_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la valeur caractéristique de KIc exprimée en ordre de fractile (%) ",
+ into = ( "NON","OUI" ), ),
+ ), # Fin BLOC ORDRE
+
+ Coefficients = Coef_WeibGen(),
+
+ ), # Fin BLOC Weibull_Generalisee
+
+ # ATTNCORRBETA - CORRIRWIN
+ CorrectionPlastique = SIMP ( statut="o", typ="TXM", defaut="Correction plastique BETA (pour DSR et defaut decale)",
+ fr="Correction plastique dans le calcul du facteur d'intensité de contraintes",
+ into=( "Correction plastique BETA (pour DSR et defaut decale)", # ATTNCORRBETA = NON
+ "Correction plastique BETA attenuee (pour DSR et défaut decale)", # ATTNCORRBETA = OUI
+ "Correction plastique IRWIN (pour defaut debouchant)" ), ), # CORRIRWIN = OUI
+
+ Fissure = BLOC ( condition = " ModeleTenacite 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" ), ),
+
+ KIa_RCCM = 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)", ),
+ # INCRDEF_MESSAGE
+ IncrementTailleFissure_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de l incrément de la taille de fissure pour la propagation (en m)",
+ into = ("NON", "OUI"), ),
+
+ # 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- (en 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- ", ),
+
+ ), # Fin BLOC KIa_RCCM
+
+ ), # Fin BLOC Fissure
+
+ ), # 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_TemperatureInitiale = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ContraintesInitiales = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="CHALEUR",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_EnthalpieREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ChaleurREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ConductiviteREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ModuleYoungREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_CoeffDilatThermREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_LimiteElasticiteREV = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="CHALEUR",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_EnthalpieMDB = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ChaleurMDB = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ConductiviteMDB = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_ModuleYoungMDB = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_CoeffDilatThermMDB = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_Pression = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ fr="Prolongation à la frontière aval",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+ ), # FIN FACT Pression
+
+
+ CL_thermique = FACT ( statut = "o",
+
+ # 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
+ "Courbe APRP"), # APRP
+ ),
+
+ APRP = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Courbe APRP', ) ",
+
+ # INSTANT1
+ Instant_1 = SIMP ( statut="o", typ="R", defaut=21.,
+ fr="Palier 2 à T1 : borne inférieure (en s) ", ),
+ # INSTANT2
+ Instant_2 = SIMP ( statut="o", typ="R", defaut=45.,
+ fr="Palier 2 à T1 : borne supérieure (en s) ", ),
+ # QACCU
+ DebitAccumule = SIMP ( statut="o", typ="R", defaut=2.3,
+ fr="Debit accumule (en m3/h) ", ),
+ # QIS
+ DebitInjectionSecurite = SIMP ( statut="o", typ="R", defaut=0.375,
+ fr="Debit injection securite (en m3/h) ", ),
+ # TIS_MESSAGE
+ TempInjectionSecurite_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la temperature injection securite",
+ into = ( "NON", "OUI" ), ),
+ ), # Fin BLOC APRP
+
+ TemperatureImposeeFluide = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee en paroi','Temperature imposee du fluide et coefficient echange', 'Temperature imposee du fluide et debit d injection de securite', 'Courbe APRP' ) ",
+
+ ProfilTemporel_TemperatureImposeeFluide = SIMP ( statut="o", typ=Tuple(2), max="**",
+ fr = "Instant (s) / Température imposée (°C) ", ),
+ Amont_TemperatureImposeeFluide = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_TemperatureImposeeFluide = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ fr="Prolongation à la frontière aval",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+ ), # Fin BLOC TemperatureImposeeFluide
+
+
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_FluxChaleur = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ fr="Prolongation à la frontière aval",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+
+ ), # Fin BLOC FluxChaleur
+
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_CoefficientEchange = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_DebitMassique = SIMP ( statut="o", typ="TXM",
+ fr="Prolongation à la frontière aval", defaut="Continu",
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_TemperatureInjection = SIMP ( statut="o", typ = "TXM", defaut="Continu",
+ fr="Prolongation à la frontière aval",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ ), # Fin BLOC TemperatureInjection
+
+ DebitInjection = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Temperature imposee du fluide et debit d injection de securite', 'Courbe APRP', ) ",
+
+ 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", defaut="Continu",
+ fr="Prolongation à la frontière amont",
+ into=( 'Continu', 'Exclu', 'Lineaire' ), ),
+ Aval_DebitInjection = SIMP ( statut="o", typ="TXM", defaut="Continu",
+ 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', 'Debit massique et temperature d injection de securite', 'Courbe APRP', ) ",
+
+ # DH
+ DiametreHydraulique = SIMP ( statut="o", typ="R", defaut=0.3816,
+ fr="Diamètre hydraulique (m) ", ),
+ # DH_MESSAGE
+ DiametreHydraulique_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran du diamètre hydraulique (m) ",
+ into = ( "NON", "OUI" ), ),
+ # SECTION
+ SectionEspaceAnnulaire = SIMP ( statut="o", typ="R", defaut=0.21712,
+ fr="Section espace annulaire (m2) ", ),
+ # SECTION_MESSAGE
+ SectionEspaceAnnulaire_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la section espace annulaire (m2) ",
+ into = ( "NON", "OUI" ), ),
+ # DELTA
+ HauteurCaracConvectionNaturelle = SIMP ( statut="o", typ="R", defaut=6.,
+ fr="Hauteur caractéristique convection naturelle (m) ", ),
+ # DELTA_MESSAGE
+ HauteurCaracConvectionNaturelle_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la hauteur caractéristique convection naturelle (m) ",
+ into = ( "NON", "OUI" ), ),
+ # EPS
+ CritereConvergenceRelative = SIMP ( statut="o", typ="R", defaut=0.00001,
+ fr="Critère convergence relative (-) ", ),
+ # COEFVESTALE
+ CoefficientsVestale = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Application des coefficients de Vestale",
+ into=( 'OUI', 'NON' ), ),
+
+ ), # Fin BLOC Vestale
+
+ Creare = BLOC ( condition = " TypeConditionLimiteThermique in ( 'Debit massique et temperature d injection de securite', ) ",
+
+ # VM
+ VolumeMelange_CREARE = SIMP ( statut="o", typ="R", defaut=14.9,
+ fr = "Volume de mélange CREARE (m3) ", ),
+ # VM_MESSAGE
+ VolumeMelange_CREARE_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr = "Affichage ecran du volume de mélange CREARE (m3) ",
+ into=( 'OUI', 'NON' ), ),
+ # T0
+ TemperatureInitiale_CREARE = SIMP ( statut="o", typ="R", defaut=250.,
+ fr="Température initiale CREARE (°C) ", ),
+ # T0_MESSAGE
+ TemperatureInitiale_CREARE_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la température initiale CREARE (°C) ",
+ into=( 'OUI', 'NON' ), ),
+ # SE
+ SurfaceEchange_FluideStructure = SIMP ( statut="o", typ="R", defaut=0.,
+ fr="Surface d'échange fluide/structure (m2) ", ),
+ # SE_MESSAGE
+ SurfaceEchange_FluideStructure_mess = SIMP ( statut="o", typ="TXM", defaut="NON",
+ fr="Affichage ecran de la surface d'échange fluide/structure (m2) ",
+ into=( 'OUI', 'NON' ), ),
+
+ ), # Fin BLOC Creare
+
+ ), # FIN FACT CL_thermique
+
+) # Fin PROC TRANSITOIRE
--- /dev/null
+# Choix des catalogues
+import os
+#rep_cata=os.path.dirname(os.path.abspath(__file__))
+rep_cata=os.getcwd()
+
+catalogues = (
+# (code,version,catalogue,formatIn,formatOut)
+# ('CUVE2DG','V1',os.path.join(rep_cata,'Cuve2dg_Cata_VPN.py'),'python','cuve2dg'),
+ ('CUVE2DG','V2',os.path.join(rep_cata,'DefaillCUVE_Cata.py'),'python','cuve2dg'),
+)
+
--- /dev/null
+# -*- coding: utf-8 -*-
+# CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+"""
+ Ce module sert pour charger les paramètres de configuration d'EFICAS
+"""
+# Modules Python
+print "passage dans la surcharge de configuration pour OTW"
+import os, sys, string, types, re
+import traceback
+from PyQt4.QtGui import *
+from utils import read_file
+
+# Modules Eficas
+from Editeur import utils
+
+class CONFIG:
+
+ #-----------------------------------
+ def __init__(self,appli,repIni):
+ #-----------------------------------
+
+ # Classe de base permettant de lire, afficher
+ # et sauvegarder les fichiers utilisateurs
+ # On a deux directories : la directory generale (Repertoire d instal + Nom du code
+ # Par exemple : ~/Install_Eficas/EficasV1_14/Cuve2dg
+ # et la directorie de l utilisateur
+ # HOME/.Eficas_Cuve2dg
+ # Le fichier prefs.py va etre lu dans la directory generale puis surcharge eventuellement
+ # par celui de l utilisateur
+ # le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite
+ # dans le fichier general sinon
+ self.appli = appli
+ self.code = appli.code
+ self.salome = appli.salome
+ self.repIni = repIni
+
+ if self.appli:
+ self.parent=appli.top
+ self.appli.mode_nouv_commande='initial'
+ else: self.parent=None
+
+
+ # Valeurs par defaut
+ self.rep_user = os.path.join(os.environ['HOME'],'.Eficas_Cuve2dg')
+ if not os.path.isdir(self.rep_user) : os.mkdir(self.rep_user)
+ self.initialdir = self.rep_user
+ self.path_doc = self.rep_user
+ self.savedir = os.path.join(os.environ['HOME'],'Eficas_Cuve2dg')
+ if not os.path.isdir(self.savedir) : os.mkdir(self.savedir)
+ self.exec_acrobat = self.rep_user
+
+ self.labels_user=('exec_acrobat', 'catalogues','savedir','path_doc')
+ self.labels_eficas=("rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir","catalogues")
+
+ #Lecture des fichiers utilisateurs
+ self.lecture_fichier_ini_standard()
+ self.lecture_fichier_ini_utilisateur()
+ self.lecture_catalogues()
+ rep_mat=" " # Compatibilite Aster
+
+
+ #--------------------------------------
+ def lecture_fichier_ini_standard(self):
+ #--------------------------------------
+ # Verifie l'existence du fichier "standard"
+ # appelle la lecture de ce fichier
+ import prefs
+ name='prefs_'+prefs.code
+ prefsCode=__import__(name)
+ self.prefsUser=name+".py"
+ for k in self.labels_eficas :
+ try :
+ valeur=getattr(prefsCode,k)
+ setattr(self,k,valeur)
+ except :
+ pass
+
+
+ #--------------------------------------
+ def lecture_fichier_ini_utilisateur(self):
+ #--------------------------------------
+ # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
+ self.fic_ini_utilisateur = os.path.join(self.rep_user,self.prefsUser)
+ if not os.path.isfile(self.fic_ini_utilisateur): return
+
+ txt = utils.read_file(self.fic_ini_utilisateur)
+ from styles import style
+ d=locals()
+ try:
+ exec txt in d
+ except :
+ l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
+ QMessageBox.critical( None, "Import du fichier de Configuration",
+ "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )
+ sys.exit(0)
+ for k in self.labels_user :
+ try :
+ setattr(self,k,d[k])
+ except :
+ pass
+
+
+ #--------------------------------------
+ def lecture_catalogues(self):
+ #--------------------------------------
+ rep_mat=" " # Compatibilite Aster
+ if hasattr(self,"catalogues") :
+ return
+
+ fic_ini = os.path.join(self.repIni,"catalogues_cuve2dg.ini")
+ if not os.path.isfile(fic_ini) :
+ QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues",
+ "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )
+ sys.exit(0)
+
+ txt = utils.read_file(fic_ini)
+ d=locals()
+ try:
+ exec txt in d
+ self.catalogues=d["catalogues"]
+ except :
+ l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
+ QMessageBox.critical( None, "Import du fichier de Configuration",
+ "Erreur à la lecture du fichier de configuration " + fic_ini )
+ sys.exit(0)
+
+
+
+ #--------------------------------------
+ def save_params(self):
+ #--------------------------------------
+ # sauvegarde
+ # les nouveaux paramètres dans le fichier de configuration utilisateur
+ #
+ texte=""
+ for clef in self.labels_user :
+ if hasattr(self,clef):
+ valeur=getattr(self,clef)
+ texte= texte + clef+" = " + repr(valeur) +"\n"
+ f=open(self.fic_ini_utilisateur,'w+')
+ print self.fic_ini_utilisateur
+ f.write(texte)
+ f.close()
+#
+
+
+def make_config(appli,rep):
+ return CONFIG(appli,rep)
+
+def make_config_style(appli,rep):
+ return None
+
+
--- /dev/null
+code='CUVE2DG'
--- /dev/null
+# -*- coding: utf-8 -*-
+# CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+import os, sys
+# Les variables pouvant positionnees sont :
+# "rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata"
+print "import des prefs de CUVE2DG"
+
+
+# REPINI sert à localiser le fichier
+# initialdir sert comme directory initial des QFileDialog
+# positionnee a repin au debut mise a jour dans configuration
+REPINI=os.path.dirname(os.path.abspath(__file__))
+initialdir=REPINI
+
+# INSTALLDIR sert à localiser l'installation d'Eficas
+INSTALLDIR=os.path.join(REPINI,'..')
+
+
+# Codage des strings qui accepte les accents (en remplacement de 'ascii')
+# lang indique la langue utilisée pour les chaines d'aide : fr ou ang
+lang='fr'
+encoding='iso-8859-1'
+
+# Acces a la documentation
+rep_cata = INSTALLDIR
+path_doc = os.path.join(rep_cata,'Doc')
+exec_acrobat = "/usr/bin/xpdf"
+
+
+# Choix des catalogues
+sys.path[:0]=[INSTALLDIR]
+
--- /dev/null
+# -*- coding: utf-8 -*-
+#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR
+# CONFIGURATION MANAGEMENT OF EDF VERSION
+# RESPONSABLE D6BHHHH J-P.LEFEBVRE
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+# ======================================================================
+# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR
+# DE LA VERSION DU CODE_ASTER ASSOCIE
+#----------------------------------------------------------------------
+version = "7.1.0"
+date = "23/04/2003"
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+"""
+ Ce module sert à lancer EFICAS configuré pour Openturns
+"""
+# Modules Python
+
+# Modules Eficas
+import prefs
+name='prefs_'+prefs.code
+__import__(name)
+
+import sys
+from InterfaceQT4 import eficas_go
+eficas_go.lance_eficas(code=prefs.code)
--- /dev/null
+# Necessaire pour compatibilite avec Aster
# ======================================================================
"""
Ce module contient le plugin generateur de fichier au format
- homard pour EFICAS.
+ DefaillCUVE pour EFICAS.
"""
import traceback
import types,string,re
from Noyau import N_CR
-from Noyau.N_utils import repr_float
-from Accas import ETAPE,PROC_ETAPE,MACRO_ETAPE,ETAPE_NIVEAU,JDC,FORM_ETAPE
-from Accas import MCSIMP,MCFACT,MCBLOC,MCList,EVAL
-from Accas import GEOM,ASSD,MCNUPLET
-from Accas import COMMENTAIRE,PARAMETRE, PARAMETRE_EVAL,COMMANDE_COMM
-from Formatage import Formatage
+from Accas import MCSIMP
from generator_python import PythonGenerator
def entryPoint():
"""
Ce generateur parcourt un objet de type JDC et produit
un texte au format eficas et
- un texte au format homard
+ un texte au format DefaillCUVE
"""
# Les extensions de fichier préconisées
if cr :
self.cr=cr
else:
- self.cr=N_CR.CR(debut='CR generateur format homard pour homard',
- fin='fin CR format homard pour homard')
- # Le texte au format homard est stocké dans l'attribut text
- self.text=''
+ 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=''
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+="############################################################################################"+"\n"
- self.texteCuve+="# OPTIONS : Fichier Option.don"+"\n"
- self.texteCuve+="############################################################################################"+"\n"
- if self.dico_mot.has_key('IncrementTemporel'):
- self.texteCuve+="INCRTPS = "+ str(self.dico_mot["IncrementTemporel"])+"\n"
+ 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=[]