From 308439eb507bf69c1cc9f673717e92c10e7a3d0f Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Thu, 24 Sep 2009 08:16:47 +0000 Subject: [PATCH] *** empty log message *** --- Cuve2dg/DefaillCUVE_Cata.py | 1427 +++++++++++++++++++++++++++++ Cuve2dg/catalogues_cuve2dg.ini | 11 + Cuve2dg/configuration_CUVE2DG.py | 171 ++++ Cuve2dg/prefs.py | 1 + Cuve2dg/prefs_CUVE2DG.py | 51 ++ Cuve2dg/properties.py | 25 + Cuve2dg/qtEficas_cuve2dg.py | 35 + Cuve2dg/style.py | 1 + generator/generator_cuve2dg.py | 1446 +++++++++++++++++++++++++++++- 9 files changed, 3149 insertions(+), 19 deletions(-) create mode 100644 Cuve2dg/DefaillCUVE_Cata.py create mode 100644 Cuve2dg/catalogues_cuve2dg.ini create mode 100644 Cuve2dg/configuration_CUVE2DG.py create mode 100644 Cuve2dg/prefs.py create mode 100644 Cuve2dg/prefs_CUVE2DG.py create mode 100644 Cuve2dg/properties.py create mode 100755 Cuve2dg/qtEficas_cuve2dg.py create mode 100644 Cuve2dg/style.py diff --git a/Cuve2dg/DefaillCUVE_Cata.py b/Cuve2dg/DefaillCUVE_Cata.py new file mode 100644 index 00000000..c8dcfb98 --- /dev/null +++ b/Cuve2dg/DefaillCUVE_Cata.py @@ -0,0 +1,1427 @@ +# -*- 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-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='' @@ -95,16 +618,901 @@ class Cuve2dgGenerator(PythonGenerator): 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