]> SALOME platform Git repositories - tools/eficas.git/blob - Cuve2dg/generator_cuve2dg.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Cuve2dg / generator_cuve2dg.py
1 # -*- coding: utf-8 -*-
2 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
9 #
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 #
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18 #
19 #
20 # ======================================================================
21 """
22     Ce module contient le plugin generateur de fichier au format 
23     DefaillCUVE pour EFICAS.
24
25 """
26 import traceback
27 import types,string,re
28
29 from Noyau import N_CR
30 from Accas import MCSIMP
31 from generator_python import PythonGenerator
32
33 def entryPoint():
34    """
35        Retourne les informations nécessaires pour le chargeur de plugins
36
37        Ces informations sont retournées dans un dictionnaire
38    """
39    return {
40         # Le nom du plugin
41           'name' : 'cuve2dg',
42         # La factory pour créer une instance du plugin
43           'factory' : Cuve2dgGenerator,
44           }
45
46
47 class Cuve2dgGenerator(PythonGenerator):
48    """
49        Ce generateur parcourt un objet de type JDC et produit
50        un texte au format eficas et 
51        un texte au format DefaillCUVE
52
53    """
54    # Les extensions de fichier préconisées
55    extensions=('.comm',)
56
57    def __init__(self,cr=None):
58       # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
59       if cr :
60          self.cr=cr
61       else:
62          self.cr=N_CR.CR(debut='CR generateur format DefaillCUVE pour DefaillCUVE',
63                          fin='fin CR format DefaillCUVE pour DefaillCUVE')
64       # Le texte au format DefaillCUVE est stocké dans l'attribut textCuve
65       self.textCuve=''
66
67       # Ce dictionnaire liste le nom des variables utilisees dans le script
68       self.variable = {
69          "NiveauImpression" : "MESSAGE_LEVEL",
70          "FichierDataIn"    : "DATARESUME_FILE",
71          "FichierTempSigma" : "TEMPSIG_FILE",
72          "FichierResultats" : "RESU_FILE",
73          "FichierCSV"       : "CSV_FILE",
74          "FichierCREARE" : "CREARE_FILE",
75          "GrandeurEvaluee" : "GRANDEUR",
76          "IncrementTemporel" : "INCRTPS",
77          "IncrementMaxTemperature" : "DTPREC",
78          "IncrementMaxTempsAffichage" : "DTARCH",
79          "TraitementGeometrie" : "TYPEGEOM",
80          "RayonInterne" : "RINT",
81          "RayonInterne_mess" : "RINT_MESSAGE",
82          "RayonExterne" : "REXT",
83          "RayonExterne_mess" : "REXT_MESSAGE",
84          "EpaisseurRevetement" : "LREV",
85          "EpaisseurRevetement_mess" : "LREV_MESSAGE",
86          "LigamentExterneMin" : "LIGMIN",
87          "LigamentExterneMin_mess" : "LIGMIN_MESSAGE",
88          "NombreNoeudsMaillage" : "NBNO",
89          "TypeInitial" : "TYPEDEF",
90          "Orientation" : "ORIEDEF",
91          "ProfondeurRadiale" : "PROFDEF",
92          "ProfondeurRadiale_mess" : "PROFDEF_MESSAGE",
93          "ModeCalculLongueur" : "OPTLONG",
94          "Longueur" : "LONGDEF",
95          "Longueur_mess" : "LONGDEF_MESSAGE",
96          "CoefDirecteur" : "PROFSURLONG",
97          "CoefDirecteur_mess" : "PROFSURLONG_MESSAGE",
98          "Constante" : "LONGCONST",
99          "ModeCalculDecalage" : "DECATYP",
100          "DecalageNormalise" : "DECANOR",
101          "DecalageNormalise_mess" : "DECANOR_MESSAGE",
102          "DecalageRadial" : "DECADEF",
103          "DecalageRadial_mess" : "DECADEF_MESSAGE",
104          "Azimut" : "ANGLDEF",
105          "Azimut_mess" : "ANGLDEF_MESSAGE",
106          "Altitude_mess" : "ANGLDEF_MESSAGE",
107          "Altitude" : "ALTIDEF",
108          "Altitude_mess" : "ALTIDEF_MESSAGE",
109          "Pointe" : "POINDEF",
110          "ModeleFluence" : "MODELFLUENCE",
111          "ZoneActiveCoeur_AltitudeSup" : "H1COEUR",
112          "ZoneActiveCoeur_AltitudeInf" : "H2COEUR",
113          "FluenceMax" : "fmax",
114          "KPFrance" : "KPFRANCE",
115          "KPUS" : "KPUS",
116          "Azimut_0deg" : "COEFFLUENCE1",
117          "Azimut_5deg" : "COEFFLUENCE2",
118          "Azimut_10deg" : "COEFFLUENCE3",
119          "Azimut_15deg" : "COEFFLUENCE4",
120          "Azimut_20deg" : "COEFFLUENCE5",
121          "Azimut_25deg" : "COEFFLUENCE6",
122          "Azimut_30deg" : "COEFFLUENCE7",
123          "Azimut_35deg" : "COEFFLUENCE8",
124          "Azimut_40deg" : "COEFFLUENCE9",
125          "Azimut_45deg" : "COEFFLUENCE10",
126          "TypeIrradiation" : "TYPEIRR",
127          "RTNDT" : "RTNDT",
128          "ModeleIrradiation" : "MODELIRR",
129          "TeneurCuivre" : "CU",
130          "TeneurCuivre_mess" : "CU_MESSAGE",
131          "TeneurNickel" : "NI",
132          "TeneurNickel_mess" : "NI_MESSAGE",
133          "TeneurPhosphore" : "P",
134          "TeneurPhosphore_mess" : "P_MESSAGE",
135          "MoyenneRTndt" : "RTimoy",
136          "MoyenneRTndt_mess" : "RTimoy_MESSAGE",
137          "CoefVariationRTndt" : "RTicov",
138          "CoefVariationRTndt_mess" : "RTicov_MESSAGE",
139          "EcartTypeRTndt" : "USectDRT",
140          "EcartTypeRTndt_mess" : "USectDRT_MESSAGE",
141          "NombreEcartTypeRTndt" : "nbectDRTNDT",
142          "NombreEcartTypeRTndt_mess" : "nbectDRTNDT_MESSAGE",
143          "ModeleTenacite" : "MODELKIC",
144          "NBRE_CARACTERISTIQUE" : "NBCARAC",
145          "NbEcartType_MoyKIc" : "nbectKIc",
146          "NbEcartType_MoyKIc_mess" : "nbectKIc_MESSAGE",
147          "PalierDuctile_KIc" : "KICPAL",
148          "CoefficientVariation_KIc" : "KICCDV",
149          "Fractile_KIc" : "fractKIc",
150          "Fractile_KIc_mess" : "fractKIc_MESSAGE",
151          "Temperature_KIc100" : "T0WALLIN",
152          "A1" : "A1",
153          "A2" : "A2",
154          "A3" : "A3",
155          "B1" : "B1",
156          "B2" : "B2",
157          "B3" : "B3",
158          "C1" : "C1",
159          "C2" : "C2",
160          "C3" : "C3",
161          "AttnCorrBeta" : "ATTNCORRBETA",
162          "CorrIrwin" : "CORRIRWIN",
163          "ArretDeFissure" : "ARRETFISSURE",
164          "IncrementTailleFissure" : "INCRDEF",
165          "IncrementTailleFissure_mess" : "INCRDEF_MESSAGE",
166          "NbEcartType_MoyKIa" : "nbectKIa",
167          "PalierDuctile_KIa" : "KIAPAL",
168          "CoefficientVariation_KIa" : "KIACDV",
169          "InstantInitialisation" : "INSTINIT",
170          "ConditionLimiteThermiqueREV" : "KTHREV",
171          "TemperatureDeformationNulleREV" : "TREFREV",
172          "TemperaturePourCoefDilatThermREV" : "TDETREV",
173          "CoefficientPoissonREV" : "NUREV",
174          "ConditionLimiteThermiqueMDB" : "KTHMDB",
175          "TemperatureDeformationNulleMDB" : "TREFMDB",
176          "TemperaturePourCoefDilatThermMDB" : "TDETMDB",
177          "CoefficientPoissonMDB" : "NUMDB",
178          "TypeConditionLimiteThermique" : "TYPCLTH",
179          "Instant_1" : "INSTANT1",
180          "Instant_2" : "INSTANT2",
181          "DebitAccumule" : "QACCU",
182          "DebitInjectionSecurite" : "QIS",
183          "TempInjectionSecurite_mess" : "TIS_MESSAGE",
184          "DiametreHydraulique" : "DH",
185          "DiametreHydraulique_mess" : "DH_MESSAGE",
186          "SectionEspaceAnnulaire" : "SECTION",
187          "SectionEspaceAnnulaire_mess" : "SECTION_MESSAGE",
188          "HauteurCaracConvectionNaturelle" : "DELTA",
189          "HauteurCaracConvectionNaturelle_mess" : "DELTA_MESSAGE",
190          "CritereConvergenceRelative" : "EPS",
191          "CoefficientsVestale" : "COEFVESTALE",
192          "VolumeMelange_CREARE" : "VM",
193          "VolumeMelange_CREARE_mess" : "VM_MESSAGE",
194          "TemperatureInitiale_CREARE" : "T0",
195          "TemperatureInitiale_CREARE_mess" : "T0_MESSAGE",
196          "SurfaceEchange_FluideStructure" : "SE",
197          "SurfaceEchange_FluideStructure_mess" : "SE_MESSAGE",
198          }
199
200       # Ce dictionnaire liste le commentaire des variables utilisees dans le script
201       self.comment = {
202          "NiveauImpression" : "Niveau d impression des messages a l ecran (=0 : rien, =1 : temps calcul total, =2 : temps intermediaires)",
203          "FichierDataIn"    : "sortie du fichier recapitulatif des donnees d entree {OUI ; NON}",
204          "FichierTempSigma" : "sortie des fichiers temperature et contraintes {OUI ; NON}",
205          "FichierResultats" : "sortie du fichier resultat template_DEFAILLCUVE {OUI ; NON}",
206          "FichierCSV" : "sortie du fichier resultat template_DEFAILLCUVE.CSV {OUI ; NON}",
207          "FichierCREARE" : "sortie du fichier Tfluide et Coef Echange {OUI ; NON}",
208          "GrandeurEvaluee" : "choix de la grandeur sous critere evaluee {FM_KICSURKCP ; MARGE_KI ; MARGE_KCP}",
209          "IncrementTemporel" : "increment temporel pour l analyse PROBABILISTE (si DETERMINISTE, fixer a 1)",
210          "IncrementMaxTemperature" : "increment max de temp/noeud/instant (°C)",
211          "IncrementMaxTempsAffichage" : "increment max de temps pour affichage (s)",
212          "TraitementGeometrie" : "traitement de la geometrie de la cuve : {GEOMETRIE, MAILLAGE}",
213          "RayonInterne" : "rayon interne (m)",
214          "RayonInterne_mess" : "affichage ecran du rayon interne (m)",
215          "RayonExterne" : "rayon externe (m)",
216          "RayonExterne_mess" : "affichage ecran du rayon externe (m)",
217          "EpaisseurRevetement" : "epaisseur revetement (m)",
218          "EpaisseurRevetement_mess" : "affichage ecran de l epaisseur revetement (m)",
219          "LigamentExterneMin" : "ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
220          "LigamentExterneMin_mess" : "affichage ecran du ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
221          "NombreNoeudsMaillage" : "nbre de noeuds dans l'épaisseur de la cuve",
222          "TypeInitial" : "type initial du defaut : DEBOUCHANT=Defaut Debouchant, DSR=Defaut Sous Revetement, DECALE=Defaut Decale",
223          "Orientation" : "orientation (LONGITUD / CIRCONF)",
224          "ProfondeurRadiale" : "profondeur radiale ou encore hauteur (m)",
225          "ProfondeurRadiale_mess" : "affichage ecran de la profondeur radiale ou encore hauteur (m)",
226          "ModeCalculLongueur" : "option pour definir la longueur du defaut (VALEUR pour une valeur fixe, FCTAFFINE pour une fct affine de la profondeur)",
227          "Longueur" : "longueur (m) pour defaut Sous Revetement",
228          "Longueur_mess" : "affichage ecran de la longueur (m) pour defaut Sous Revetement",
229          "CoefDirecteur" : "pente de la fonction affine l = h/profsurlong + a0",
230          "CoefDirecteur_mess" : "affichage ecran de la pente de la fonction affine l = h/profsurlong + a0",
231          "Constante" : "constante de la fonction affine a0",
232          "ModeCalculDecalage" : "type de decalage : normalise (NORMALISE) ou reel (VALEUR)",
233          "DecalageNormalise" : "decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
234          "DecalageNormalise_mess" : "affichage ecran du decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
235          "DecalageRadial" : "decalage radial reel (m) pour defaut decale",
236          "DecalageRadial_mess" : "affichage ecran du decalage radial reel (m) pour defaut decale",
237          "Azimut" : "coordonnee angulaire (degre)",
238          "Azimut_mess" : "affichage ecran de la coordonnee angulaire (degre)",
239          "Altitude" : "altitude (m) : valeur négative",
240          "Altitude_mess" : "affichage ecran de l altitude (m) : valeur négative",
241          "Pointe" : "choix du(des) point(s) du defaut considere {'A','B','BOTH'} pour DSR et DECALE (pour DEBOUCHANT : automatiquement 'B')",
242          "ModeleFluence" : "modele de fluence : {Reglementaire, France, ValeurImposee, SDM, USNRC, REV_2, SDM_Lissage, GrandeDev, GD_Cuve, Cuve1D}",
243          "ZoneActiveCoeur_AltitudeSup" : "cote superieure de la zone active de coeur (ici pour cuve palier 900Mw)",
244          "ZoneActiveCoeur_AltitudeInf" : "cote inferieure de la zone active de coeur (ici pour cuve palier 900Mw)",
245          "FluenceMax" : "fluence maximale assimilee par la cuve (n/cm2)",
246          "KPFrance" : "parametre exponentiel du modele France",
247          "KPUS" : "parametre exponentiel du modele US",
248          "Azimut_0deg" : "fluence a l'azimut 0 (10^19 n/cm)",
249          "Azimut_5deg" : "fluence a l'azimut 5 (10^19 n/cm)",
250          "Azimut_10deg" : "fluence a l'azimut 10 (10^19 n/cm)",
251          "Azimut_15deg" : "fluence a l'azimut 15 (10^19 n/cm)",
252          "Azimut_20deg" : "fluence a l'azimut 20 (10^19 n/cm)",
253          "Azimut_25deg" : "fluence a l'azimut 25 (10^19 n/cm)",
254          "Azimut_30deg" : "fluence a l'azimut 30 (10^19 n/cm)",
255          "Azimut_35deg" : "fluence a l'azimut 35 (10^19 n/cm)",
256          "Azimut_40deg" : "fluence a l'azimut 40 (10^19 n/cm)",
257          "Azimut_45deg" : "fluence a l'azimut 45 (10^19 n/cm)",
258          "TypeIrradiation" : "type irradiation : {RTNDT, FLUENCE}",
259          "RTNDT" : "RTNDT finale (°C)",
260          "ModeleIrradiation" : "modele d irradiation : {HOUSSIN, PERSOZ, LEFEBVRE, USNRCmdb} pour virole et {BRILLAUD,USNRCsoud} pour jointsoude",
261          "TeneurCuivre" : "teneur en cuivre (%)",
262          "TeneurCuivre_mess" : "affichage ecran de la teneur en cuivre (%)",
263          "TeneurNickel" : "teneur en nickel (%)",
264          "TeneurNickel_mess" : "affichage ecran de la teneur en nickel (%)",
265          "TeneurPhosphore" : "teneur en phosphore (%)",
266          "TeneurPhosphore_mess" : "affichage ecran de la teneur en phosphore (%)",
267          "MoyenneRTndt" : "moyenne de la RTNDT initiale : virole C1 de cuve Chinon : mdb=>-17.°C et js=>42.°C (HT-56/05/038 : p.52)",
268          "MoyenneRTndt_mess" : "affichage ecran de la moyenne de la RTNDT initiale",
269          "CoefVariationRTndt" : "coef de variation de la RTNDT initiale",
270          "CoefVariationRTndt_mess" : "affichage ecran du coef de variation de la RTNDT initiale",
271          "EcartTypeRTndt" : "pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
272          "EcartTypeRTndt_mess" : "affichage ecran, pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
273          "NombreEcartTypeRTndt" : "Nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE (en DETERMINISTE, fixer a 2.)",
274          "NombreEcartTypeRTndt_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE",
275          "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}",
276          "NBRE_CARACTERISTIQUE" : "Nb caracteristique : ORDRE ou QUANTILE",
277          "NbEcartType_MoyKIc" : "Nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE (en DETERMINISTE, fixer a -2.)",
278          "NbEcartType_MoyKIc_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE",
279          "PalierDuctile_KIc" : "palier deterministe de K1c (MPa(m^0.5))",
280          "CoefficientVariation_KIc" : "coef de variation de la loi normale de K1c",
281          "Fractile_KIc" : "valeur caracteristique de KIc exprimee en ordre de fractile (%)",
282          "Fractile_KIc_mess" : "affichage ecran de la valeur caracteristique de KIc exprimee en ordre de fractile (%)",
283          "Temperature_KIc100" : "parametre T0 du modele Wallin (°C)",
284          "A1" : "coef des coefs d une WEIBULL generale",
285          "A2" : "",
286          "A3" : "",
287          "B1" : "",
288          "B2" : "",
289          "B3" : "",
290          "C1" : "",
291          "C2" : "",
292          "C3" : "",
293          "AttnCorrBeta" : "Attenuation de la correction plastique : {OUI, NON} ==> uniquement pour DSR ou DECALE",
294          "CorrIrwin" : "Correction plastique IRWIN : {OUI, NON} ==> uniquement pour DEBOUCHANT",
295          "ArretDeFissure" : "prise en compte de l arret de fissure {OUI, NON} (en PROBABILISTE, fixer a NON)",
296          "IncrementTailleFissure" : "increment de la taille de fissure (m)",
297          "IncrementTailleFissure_mess" : "affichage ecran de l increment de la taille de fissure (m)",
298          "NbEcartType_MoyKIa" : "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma)",
299          "PalierDuctile_KIa" : "palier deterministe de K1a quand modele RCC-M  (MPa(m^0.5))",
300          "CoefficientVariation_KIa" : "coef de variation de la loi normale de K1a",
301          "InstantInitialisation" : "instant initial (s)",
302          "ConditionLimiteThermiqueREV" : "Option 'ENTHALPIE' ou 'CHALEUR'",
303          "TemperatureDeformationNulleREV" : "temperature de deformation nulle (°C)",
304          "TemperaturePourCoefDilatThermREV" : "temperature de definition du coefficient de dilatation thermique (°C)",
305          "CoefficientPoissonREV" : "coefficient de Poisson",
306          "ConditionLimiteThermiqueMDB" : "Option 'ENTHALPIE' ou 'CHALEUR'",
307          "TemperatureDeformationNulleMDB" : "temperature de deformation nulle (°C)",
308          "TemperaturePourCoefDilatThermMDB" : "temperature de definition du coefficient de dilatation thermique (°C)",
309          "CoefficientPoissonMDB" : "coefficient de Poisson",
310          "TypeConditionLimiteThermique" : "Type de condition thermique en paroi interne {TEMP_IMPO,FLUX_REP,ECHANGE,DEBIT,TEMP_FLU,APRP}",
311          "Instant_1" : "Borne inferieure de l intervalle de temps du 2nd palier T1",
312          "Instant_2" : "Borne superieure de l intervalle de temps du 2nd palier T1",
313          "DebitAccumule" : "Debit accumule (en m3/h)",
314          "DebitInjectionSecurite" : "Debit injection de securite (en m3/h)",
315          "TempInjectionSecurite_mess" : "affichage ecran de la temperature injection de securite",
316          "DiametreHydraulique" : "Diametre hydraulique (m)",
317          "DiametreHydraulique_mess" : "affichage ecran du diametre hydraulique (m)",
318          "SectionEspaceAnnulaire" : "Section espace annulaire (m2)",
319          "SectionEspaceAnnulaire_mess" : "affichage ecran de la section espace annulaire (m2)",
320          "HauteurCaracConvectionNaturelle" : "Hauteur caracteristique convection naturelle (m)",
321          "HauteurCaracConvectionNaturelle_mess" : "affichage ecran de la hauteur caracteristique convection naturelle (m)",
322          "CritereConvergenceRelative" : "Critere convergence relative (-)",
323          "CoefficientsVestale" : "Application des coefs de Vestale {OUI;NON}",
324          "VolumeMelange_CREARE" : "Volume de melange CREARE (m3)",
325          "VolumeMelange_CREARE_mess" : "affichage ecran du volume de melange CREARE (m3)",
326          "TemperatureInitiale_CREARE" : "Temperature initiale CREARE (degC)",
327          "TemperatureInitiale_CREARE_mess" : "affichage ecran de la temperature initiale CREARE (degC)",
328          "SurfaceEchange_FluideStructure" : "Surface d'echange fluide/structure (m2)",
329          "SurfaceEchange_FluideStructure_mess" : "affichage ecran de la surface d'echange fluide/structure (m2)",
330          }
331
332       # Ce dictionnaire liste la valeur par defaut des variables utilisees dans le script
333       self.default = {
334          "NiveauImpression" : "1",
335          "FichierDataIn" : "NON",
336          "FichierTempSigma" : "NON",
337          "FichierResultats" : "NON",
338          "FichierCSV" : "NON",
339          "FichierCREARE" : "NON",
340          "GrandeurEvaluee" : "FM_KICSURKCP",
341          "IncrementTemporel" : "1",
342          "IncrementMaxTemperature" : "0.1",
343          "IncrementMaxTempsAffichage" : "1000.",
344          "TraitementGeometrie" : "GEOMETRIE",
345          "RayonInterne" : "1.994",
346          "RayonInterne_mess" : "NON",
347          "RayonExterne" : "2.2015",
348          "RayonExterne_mess" : "NON",
349          "EpaisseurRevetement" : "0.0075",
350          "EpaisseurRevetement_mess" : "NON",
351          "LigamentExterneMin" : "0.75",
352          "LigamentExterneMin_mess" : "NON",
353          "NombreNoeudsMaillage" : "300",
354          "TypeInitial" : "DSR",
355          "Orientation" : "LONGITUD",
356          "ProfondeurRadiale" : "0.006",
357          "ProfondeurRadiale_mess" : "NON",
358          "ModeCalculLongueur" : "VALEUR",
359          "Longueur" : "0.060",
360          "Longueur_mess" : "NON",
361          "CoefDirecteur" : "10.",
362          "CoefDirecteur_mess" : "NON",
363          "Constante" : "0.",
364          "ModeCalculDecalage" : "VALEUR",
365          "DecalageNormalise" : "0.1",
366          "DecalageNormalise_mess" : "NON",
367          "DecalageRadial" : "0.",
368          "DecalageRadial_mess" : "NON",
369          "Azimut" : "0.",
370          "Azimut_mess" : "NON",
371          "Altitude" : "-4.",
372          "Altitude_mess" : "NON",
373          "Pointe" : "B",
374          "ModeleFluence" : "Reglementaire",
375          "ZoneActiveCoeur_AltitudeSup" : "-3.536",
376          "ZoneActiveCoeur_AltitudeInf" : "-7.194",
377          "FluenceMax" : "6.5",
378          "KPFrance" : "12.7",
379          "KPUS" : "9.4488",
380          "Azimut_0deg" : "5.8",
381          "Azimut_5deg" : "5.48",
382          "Azimut_10deg" : "4.46",
383          "Azimut_15deg" : "3.41",
384          "Azimut_20deg" : "3.37",
385          "Azimut_25deg" : "3.16",
386          "Azimut_30deg" : "2.74",
387          "Azimut_35deg" : "2.25",
388          "Azimut_40deg" : "1.89",
389          "Azimut_45deg" : "1.78",
390          "TypeIrradiation" : "RTNDT",
391          "RTNDT" : "64.",
392          "ModeleIrradiation" : "HOUSSIN",
393          "TeneurCuivre" : "0.0972",
394          "TeneurCuivre_mess" : "NON",
395          "TeneurNickel" : "0.72",
396          "TeneurNickel_mess" : "NON",
397          "TeneurPhosphore" : "0.00912",
398          "TeneurPhosphore_mess" : "NON",
399          "MoyenneRTndt" : "-12.0",
400          "MoyenneRTndt_mess" : "NON",
401          "CoefVariationRTndt" : "0.1",
402          "CoefVariationRTndt_mess" : "NON",
403          "EcartTypeRTndt" : "-2.",
404          "EcartTypeRTndt_mess" : "NON",
405          "NombreEcartTypeRTndt" : "2.",
406          "NombreEcartTypeRTndt_mess" : "NON",
407          "ModeleTenacite" : "RCC-M",
408          "NBRE_CARACTERISTIQUE" : "QUANTILE",
409          "NbEcartType_MoyKIc" : "-2.",
410          "NbEcartType_MoyKIc_mess" : "NON",
411          "PalierDuctile_KIc" : "195.",
412          "CoefficientVariation_KIc" : "0.15",
413          "Fractile_KIc" : "5.",
414          "Fractile_KIc_mess" : "NON",
415          "Temperature_KIc100" : "-27.",
416          "A1" : "21.263",
417          "A2" : "9.159",
418          "A3" : "0.04057",
419          "B1" : "17.153",
420          "B2" : "55.089",
421          "B3" : "0.0144",
422          "C1" : "4.",
423          "C2" : "0.",
424          "C3" : "0.",
425          "AttnCorrBeta" : "NON",
426          "CorrIrwin" : "NON",
427          "ArretDeFissure" : "NON",
428          "IncrementTailleFissure" : "0.",
429          "IncrementTailleFissure_mess" : "NON",
430          "NbEcartType_MoyKIa" : "0.",
431          "PalierDuctile_KIa" : "0.",
432          "CoefficientVariation_KIa" : "0.",
433          "InstantInitialisation" : "-1.",
434          "ConditionLimiteThermiqueREV" : "CHALEUR",
435          "TemperatureDeformationNulleREV" : "20.",
436          "TemperaturePourCoefDilatThermREV" : "287.",
437          "CoefficientPoissonREV" : "0.3",
438          "ConditionLimiteThermiqueMDB" : "CHALEUR",
439          "TemperatureDeformationNulleMDB" : "20.",
440          "TemperaturePourCoefDilatThermMDB" : "287.",
441          "CoefficientPoissonMDB" : "0.3",
442          "TypeConditionLimiteThermique" : "TEMP_IMPO",
443          "Instant_1" : "21.",
444          "Instant_2" : "45.",
445          "DebitAccumule" : "2.3",
446          "DebitInjectionSecurite" : "0.375",
447          "TempInjectionSecurite_mess" : "NON",
448          "DiametreHydraulique" : "0.3816",
449          "DiametreHydraulique_mess" : "NON",
450          "SectionEspaceAnnulaire" : "0.21712",
451          "SectionEspaceAnnulaire_mess" : "NON",
452          "HauteurCaracConvectionNaturelle" : "6.",
453          "HauteurCaracConvectionNaturelle_mess" : "NON",
454          "CritereConvergenceRelative" : "0.00001",
455          "CoefficientsVestale" : "NON",
456          "VolumeMelange_CREARE" : "14.9",
457          "VolumeMelange_CREARE_mess" : "NON",
458          "TemperatureInitiale_CREARE" : "250.",
459          "TemperatureInitiale_CREARE_mess" : "NON",
460          "SurfaceEchange_FluideStructure" : "0.",
461          "SurfaceEchange_FluideStructure_mess" : "NON",
462          }
463
464       # Ce dictionnaire liste la rubrique d'appartenance des variables utilisees dans le script
465       self.bloc = {
466          "NiveauImpression" : "OPTIONS",
467          "FichierDataIn" : "OPTIONS",
468          "FichierTempSigma" : "OPTIONS",
469          "FichierResultats" : "OPTIONS",
470          "FichierCSV" : "OPTIONS",
471          "FichierCREARE" : "OPTIONS",
472          "GrandeurEvaluee" : "OPTIONS",
473          "IncrementTemporel" : "OPTIONS",
474          "IncrementMaxTemperature" : "OPTIONS",
475          "IncrementMaxTempsAffichage" : "OPTIONS",
476          "TraitementGeometrie" : "DONNEES DE LA CUVE",
477          "RayonInterne" : "DONNEES DE LA CUVE",
478          "RayonInterne_mess" : "DONNEES DE LA CUVE",
479          "RayonExterne" : "DONNEES DE LA CUVE",
480          "RayonExterne_mess" : "DONNEES DE LA CUVE",
481          "EpaisseurRevetement" : "DONNEES DE LA CUVE",
482          "EpaisseurRevetement_mess" : "DONNEES DE LA CUVE",
483          "LigamentExterneMin" : "DONNEES DE LA CUVE",
484          "LigamentExterneMin_mess" : "DONNEES DE LA CUVE",
485          "NombreNoeudsMaillage" : "DONNEES DE LA CUVE",
486          "TypeInitial" : "CARACTERISTIQUES DU DEFAUT",
487          "Orientation" : "CARACTERISTIQUES DU DEFAUT",
488          "ProfondeurRadiale" : "CARACTERISTIQUES DU DEFAUT",
489          "ProfondeurRadiale_mess" : "CARACTERISTIQUES DU DEFAUT",
490          "ModeCalculLongueur" : "CARACTERISTIQUES DU DEFAUT",
491          "Longueur" : "CARACTERISTIQUES DU DEFAUT",
492          "Longueur_mess" : "CARACTERISTIQUES DU DEFAUT",
493          "CoefDirecteur" : "CARACTERISTIQUES DU DEFAUT",
494          "CoefDirecteur_mess" : "CARACTERISTIQUES DU DEFAUT",
495          "Constante" : "CARACTERISTIQUES DU DEFAUT",
496          "ModeCalculDecalage" : "CARACTERISTIQUES DU DEFAUT",
497          "DecalageNormalise" : "CARACTERISTIQUES DU DEFAUT",
498          "DecalageNormalise_mess" : "CARACTERISTIQUES DU DEFAUT",
499          "DecalageRadial" : "CARACTERISTIQUES DU DEFAUT",
500          "DecalageRadial_mess" : "CARACTERISTIQUES DU DEFAUT",
501          "Azimut" : "CARACTERISTIQUES DU DEFAUT",
502          "Azimut_mess" : "CARACTERISTIQUES DU DEFAUT",
503          "Altitude" : "CARACTERISTIQUES DU DEFAUT",
504          "Altitude_mess" : "CARACTERISTIQUES DU DEFAUT",
505          "Pointe" : "CARACTERISTIQUES DU DEFAUT",
506          "ModeleFluence" : "MODELES",
507          "ZoneActiveCoeur_AltitudeSup" : "MODELES",
508          "ZoneActiveCoeur_AltitudeInf" : "MODELES",
509          "FluenceMax" : "MODELES",
510          "KPFrance" : "MODELES",
511          "KPUS" : "MODELES",
512          "Azimut_0deg" : "MODELES",
513          "Azimut_5deg" : "MODELES",
514          "Azimut_10deg" : "MODELES",
515          "Azimut_15deg" : "MODELES",
516          "Azimut_20deg" : "MODELES",
517          "Azimut_25deg" : "MODELES",
518          "Azimut_30deg" : "MODELES",
519          "Azimut_35deg" : "MODELES",
520          "Azimut_40deg" : "MODELES",
521          "Azimut_45deg" : "MODELES",
522          "TypeIrradiation" : "MODELES",
523          "RTNDT" : "MODELES",
524          "ModeleIrradiation" : "MODELES",
525          "TeneurCuivre" : "MODELES",
526          "TeneurCuivre_mess" : "MODELES",
527          "TeneurNickel" : "MODELES",
528          "TeneurNickel_mess" : "MODELES",
529          "TeneurPhosphore" : "MODELES",
530          "TeneurPhosphore_mess" : "MODELES",
531          "MoyenneRTndt" : "MODELES",
532          "MoyenneRTndt_mess" : "MODELES",
533          "CoefVariationRTndt" : "MODELES",
534          "CoefVariationRTndt_mess" : "MODELES",
535          "EcartTypeRTndt" : "MODELES",
536          "EcartTypeRTndt_mess" : "MODELES",
537          "NombreEcartTypeRTndt" : "MODELES",
538          "NombreEcartTypeRTndt_mess" : "MODELES",
539          "ModeleTenacite" : "MODELES",
540          "NBRE_CARACTERISTIQUE" : "MODELES",
541          "NbEcartType_MoyKIc" : "MODELES",
542          "NbEcartType_MoyKIc_mess" : "MODELES",
543          "PalierDuctile_KIc" : "MODELES",
544          "CoefficientVariation_KIc" : "MODELES",
545          "Fractile_KIc" : "MODELES",
546          "Fractile_KIc_mess" : "MODELES",
547          "Temperature_KIc100" : "MODELES",
548          "A1" : "MODELES",
549          "A2" : "MODELES",
550          "A3" : "MODELES",
551          "B1" : "MODELES",
552          "B2" : "MODELES",
553          "B3" : "MODELES",
554          "C1" : "MODELES",
555          "C2" : "MODELES",
556          "C3" : "MODELES",
557          "AttnCorrBeta" : "MODELES",
558          "CorrIrwin" : "MODELES",
559          "ArretDeFissure" : "MODELES",
560          "IncrementTailleFissure" : "MODELES",
561          "IncrementTailleFissure_mess" : "MODELES",
562          "NbEcartType_MoyKIa" : "MODELES",
563          "PalierDuctile_KIa" : "MODELES",
564          "CoefficientVariation_KIa" : "MODELES",
565          "InstantInitialisation" : "ETAT INITIAL",
566          "ConditionLimiteThermiqueREV" : "CARACTERISTIQUES DU REVETEMENT",
567          "TemperatureDeformationNulleREV" : "CARACTERISTIQUES DU REVETEMENT",
568          "TemperaturePourCoefDilatThermREV" : "CARACTERISTIQUES DU REVETEMENT",
569          "CoefficientPoissonREV" : "CARACTERISTIQUES DU REVETEMENT",
570          "ConditionLimiteThermiqueMDB" : "CARACTERISTIQUES DU MDB",
571          "TemperatureDeformationNulleMDB" : "CARACTERISTIQUES DU MDB",
572          "TemperaturePourCoefDilatThermMDB" : "CARACTERISTIQUES DU MDB",
573          "CoefficientPoissonMDB" : "CARACTERISTIQUES DU MDB",
574          "TypeConditionLimiteThermique" : "TRANSITOIRE",
575          "Instant_1" : "TRANSITOIRE",
576          "Instant_2" : "TRANSITOIRE",
577          "DebitAccumule" : "TRANSITOIRE",
578          "DebitInjectionSecurite" : "TRANSITOIRE",
579          "TempInjectionSecurite_mess" : "TRANSITOIRE",
580          "DiametreHydraulique" : "TRANSITOIRE",
581          "DiametreHydraulique_mess" : "TRANSITOIRE",
582          "SectionEspaceAnnulaire" : "TRANSITOIRE",
583          "SectionEspaceAnnulaire_mess" : "TRANSITOIRE",
584          "HauteurCaracConvectionNaturelle" : "TRANSITOIRE",
585          "HauteurCaracConvectionNaturelle_mess" : "TRANSITOIRE",
586          "CritereConvergenceRelative" : "TRANSITOIRE",
587          "CoefficientsVestale" : "TRANSITOIRE",
588          "VolumeMelange_CREARE" : "TRANSITOIRE",
589          "VolumeMelange_CREARE_mess" : "TRANSITOIRE",
590          "TemperatureInitiale_CREARE" : "TRANSITOIRE",
591          "TemperatureInitiale_CREARE_mess" : "TRANSITOIRE",
592          "SurfaceEchange_FluideStructure" : "TRANSITOIRE",
593          "SurfaceEchange_FluideStructure_mess" : "TRANSITOIRE",
594          }
595
596    def gener(self,obj,format='brut'):
597       self.text=''
598       self.textCuve=''
599       self.dico_mot={}
600       self.dico_genea={}
601       self.text=PythonGenerator.gener(self,obj,format)
602       return self.text
603
604    def generMCSIMP(self,obj) :
605        self.dico_mot[obj.nom]=obj.valeur
606        clef=""
607        for i in obj.get_genealogie() :
608            clef=clef+"_"+i
609        self.dico_genea[clef]=obj.valeur
610        s=PythonGenerator.generMCSIMP(self,obj)
611        return s
612
613    def writeCuve2DG(self):
614       print "je passe dans writeCuve2DG"
615       self.genereTexteCuve()
616       f = open( "/tmp/data_template", 'wb')
617       print self.texteCuve
618       f.write( self.texteCuve )
619       f.close()
620
621    def entete(self):
622       '''
623       Ecrit l'entete du fichier data_template
624       '''
625       texte  = "############################################################################################"+"\n"
626       texte += "#"+"\n"
627       texte += "#                OUTIL D'ANALYSE PROBABILISTE DE LA DUREE DE VIE DES CUVES REP"+"\n"
628       texte += "#                                     ---------------"+"\n"
629       texte += "#                               FICHIER DE MISE EN DONNEES"+"\n"
630       texte += "#"+"\n"
631       texte += "# SI CALCUL DETERMINISTE :"+"\n"
632       texte += "#       - fixer INCRTPS=1, nbectDRTNDT=2., nbectKIc=-2."+"\n"
633       texte += "#       - les calculs ne sont possibles qu'en une seule pointe du defaut (POINDEF<>BOTH)"+"\n"
634       texte += "# SI CALCUL PROBABILISTE :"+"\n"
635       texte += "#       - fixer ARRETFISSURE=NON"+"\n"
636       texte += "#"+"\n"
637       texte += "############################################################################################"+"\n"
638       texte += "#"+"\n"
639       return texte
640
641    def rubrique(self, titre):
642       '''
643       Rubrique 
644       '''
645       texte  = "#"+"\n"
646       texte += "############################################################################################"+"\n"
647       texte += "# " + titre + "\n"
648       texte += "############################################################################################"+"\n"
649       texte += "#"+"\n"
650       return texte
651
652    def sousRubrique(self, soustitre, numtitre):
653       '''
654       Sous-rubrique 
655       '''
656       texte  = "#"+"\n"
657       texte += "# " + numtitre + soustitre + "\n"
658       texte += "#==========================================================================================="+"\n"
659       texte += "#"+"\n"
660       return texte
661
662    def ecritLigne(self, variablelue):
663       '''
664       Ecrit l'affectation d'une valeur a sa variable, suivie d'un commentaire
665       '''
666       texte = "%s = %s   # %s\n" % (self.variable[variablelue], str(self.dico_mot[variablelue]), self.comment[variablelue])
667       return texte
668
669    def affecteValeurDefaut(self, variablelue):
670       '''
671       Affecte une valeur par defaut a une variable, suivie d'un commentaire
672       '''
673       print "Warning ==> Dans la rubrique",self.bloc[variablelue],", valeur par defaut pour ",variablelue," = ",self.default[variablelue]
674       texte = "%s = %s   # %s\n" % (self.variable[variablelue], self.default[variablelue], self.comment[variablelue])
675       return texte
676
677    def affecteValeur(self, variablelue, valeuraffectee):
678       '''
679       Affecte une valeur a une variable, suivie d'un commentaire
680       '''
681       texte = "%s = %s   # %s\n" % (self.variable[variablelue], valeuraffectee, self.comment[variablelue])
682       return texte
683
684    def ecritVariable(self, variablelue):
685       if self.dico_mot.has_key(variablelue):
686          texte = self.ecritLigne(variablelue)
687       else :
688          texte = self.affecteValeurDefaut(variablelue)
689       return texte
690
691    def amontAval(self, amont, aval):
692       if str(self.dico_mot[amont])=='Continu':
693          if str(self.dico_mot[aval])=='Continu':
694             texte = 'CC'+"\n"
695          if str(self.dico_mot[aval])=='Lineaire':
696             texte = 'CL'+"\n"
697          if str(self.dico_mot[aval])=='Exclu':
698             texte = 'CE'+"\n"
699       if str(self.dico_mot[amont])=='Lineaire':
700          if str(self.dico_mot[aval])=='Continu':
701             texte = 'LC'+"\n"
702          if str(self.dico_mot[aval])=='Lineaire':
703             texte = 'LL'+"\n"
704          if str(self.dico_mot[aval])=='Exclu':
705             texte = 'LE'+"\n"
706       if str(self.dico_mot[amont])=='Exclu':
707          if str(self.dico_mot[aval])=='Continu':
708             texte = 'EC'+"\n"
709          if str(self.dico_mot[aval])=='Lineaire':
710             texte = 'EL'+"\n"
711          if str(self.dico_mot[aval])=='Exclu':
712             texte = 'EE'+"\n"
713       return texte
714
715    def genereTexteCuve(self):
716       self.texteCuve  = ""
717       self.texteCuve += self.entete()
718
719       # Rubrique OPTIONS
720       self.texteCuve += self.rubrique('OPTIONS')
721
722       self.texteCuve += self.sousRubrique('Impression a l ecran', '')
723       if self.dico_mot.has_key('NiveauImpression'):
724          if str(self.dico_mot["NiveauImpression"])=='Aucune impression':
725             self.texteCuve += self.affecteValeur('NiveauImpression', '0')
726          if str(self.dico_mot["NiveauImpression"])=='Temps total':
727             self.texteCuve += self.affecteValeur('NiveauImpression', '1')
728          if str(self.dico_mot["NiveauImpression"])=='Temps intermediaires':
729             self.texteCuve += self.affecteValeur('NiveauImpression', '2')
730
731       self.texteCuve += self.sousRubrique('Generation de fichiers', '')
732       self.texteCuve += self.ecritVariable('FichierDataIn')
733       self.texteCuve += self.ecritVariable('FichierTempSigma')
734       self.texteCuve += self.ecritVariable('FichierResultats')
735       self.texteCuve += self.ecritVariable('FichierCSV')
736       self.texteCuve += self.ecritVariable('FichierCREARE')
737
738       self.texteCuve += self.sousRubrique('Grandeur evaluee', '')
739       if self.dico_mot.has_key('GrandeurEvaluee'):
740          if str(self.dico_mot["GrandeurEvaluee"])=='Facteur de marge KIc/KCP':
741             self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'FM_KICSURKCP')
742          if str(self.dico_mot["GrandeurEvaluee"])=='Marge KIc-KI':
743             self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'MARGE_KI')
744          if str(self.dico_mot["GrandeurEvaluee"])=='Marge KIc-KCP':
745             self.texteCuve += self.affecteValeur('GrandeurEvaluee', 'MARGE_KCP')
746
747       self.texteCuve += self.sousRubrique('Divers', '')
748       self.texteCuve += self.ecritVariable('IncrementTemporel')
749       self.texteCuve += self.ecritVariable('IncrementMaxTemperature')
750       self.texteCuve += self.ecritVariable('IncrementMaxTempsAffichage')
751       if self.dico_mot.has_key('ListeInstants'):
752          self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
753          self.imprime(1,(self.dico_mot["ListeInstants"]))
754       else :
755          print "Warning ==> Dans la rubrique OPTIONS, fournir ListeInstants."
756          self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
757          self.texteCuve += "  0.\n"
758          self.texteCuve += "  1.\n"
759
760
761       # Rubrique DONNEES DE LA CUVE
762       self.texteCuve += self.rubrique('DONNEES DE LA CUVE')
763       if self.dico_mot.has_key('TraitementGeometrie'):
764          if str(self.dico_mot["TraitementGeometrie"])=='Topologie':
765             self.texteCuve += self.affecteValeur('TraitementGeometrie', 'GEOMETRIE')
766             self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
767             self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
768             self.texteCuve+="#                         (REXT, REXT_MESSAGE),"+"\n"
769             self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
770             self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
771             self.texteCuve+="#                         NBNO"+"\n"
772             self.texteCuve+="#"+"\n"
773             self.texteCuve += self.ecritVariable('RayonInterne')
774             self.texteCuve += self.ecritVariable('RayonInterne_mess')
775             self.texteCuve += self.ecritVariable('RayonExterne')
776             self.texteCuve += self.ecritVariable('RayonExterne_mess')
777             self.texteCuve += self.ecritVariable('EpaisseurRevetement')
778             self.texteCuve += self.ecritVariable('EpaisseurRevetement_mess')
779             self.texteCuve+="#"+"\n"
780             self.texteCuve += self.ecritVariable('LigamentExterneMin')
781             self.texteCuve += self.ecritVariable('LigamentExterneMin_mess')
782             self.texteCuve+="#"+"\n"
783             self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
784          if str(self.dico_mot["TraitementGeometrie"])=='Maillage':
785             self.texteCuve += self.affecteValeur('TraitementGeometrie', 'MAILLAGE')
786             self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
787             self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
788             self.texteCuve+="#                         (REXT, REXT_MESSAGE),"+"\n"
789             self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
790             self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
791             self.texteCuve+="#                         NBNO"+"\n"
792             self.texteCuve+="#"+"\n"
793             self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
794             self.imprime(1,(self.dico_mot["ListeAbscisses"]))
795       else :
796          self.texteCuve += self.affecteValeurDefaut('TraitementGeometrie')
797          self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
798          self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
799          self.texteCuve+="#                         (REXT, REXT_MESSAGE),"+"\n"
800          self.texteCuve+="#                         (LREV, LREV_MESSAGE),"+"\n"
801          self.texteCuve+="#                         (LIGMIN, LIGMIN_MESSAGE),"+"\n"
802          self.texteCuve+="#                         NBNO"+"\n"
803          self.texteCuve+="#"+"\n"
804          self.texteCuve += self.affecteValeurDefaut('RayonInterne')
805          self.texteCuve += self.affecteValeurDefaut('RayonInterne_mess')
806          self.texteCuve += self.affecteValeurDefaut('RayonExterne')
807          self.texteCuve += self.affecteValeurDefaut('RayonExterne_mess')
808          self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement')
809          self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement_mess')
810          self.texteCuve+="#"+"\n"
811          self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin')
812          self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin_mess')
813          self.texteCuve+="#"+"\n"
814          self.texteCuve += self.affecteValeurDefaut('NombreNoeudsMaillage')
815
816
817       # Rubrique CARACTERISTIQUES DU DEFAUT
818       self.texteCuve += self.rubrique('CARACTERISTIQUES DU DEFAUT')
819
820       if self.dico_mot.has_key('TypeInitial'):
821          if str(self.dico_mot["TypeInitial"])=='Defaut Sous Revetement':
822             self.texteCuve += self.affecteValeur('TypeInitial', 'DSR')
823          if str(self.dico_mot["TypeInitial"])=='Defaut Decale':
824             self.texteCuve += self.affecteValeur('TypeInitial', 'DECALE')
825          if str(self.dico_mot["TypeInitial"])=='Defaut Debouchant':
826             self.texteCuve += self.affecteValeur('TypeInitial', 'DEBOUCHANT')
827       else :
828          self.texteCuve += self.affecteValeurDefaut('TypeInitial')
829
830       self.texteCuve+="# Fournir ORIEDEF, (PROFDEF, PROFDEF_MESSAGE)"+"\n"
831       self.texteCuve+="# - Si DSR, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST)"+"\n"
832       self.texteCuve+="# - Si DECALE, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST), DECATYP, (DECANOR,DECANOR_MESSAGE) ou (DECADEF,DECADEF_MESSAGE)"+"\n"
833       self.texteCuve+="# - Si DEBOUCHANT, fournir IRWIN"+"\n"
834       self.texteCuve+="# Fournir (ANGLDEF, ANGLDEF_MESSAGE), (ALTIDEF, ALTIDEF_MESSAGE)"+"\n"
835       self.texteCuve+="# - Si DSR ou DECALE, fournir POINDEF"+"\n"
836       self.texteCuve+="#"+"\n"
837       self.texteCuve+="# Remarque :"+"\n"
838       self.texteCuve+="# - si DSR ou DECALE, dans la rubrique 'Modele de tenacite', fournir ATTNCORRBETA (ne pas fournir CORRIRWIN)"+"\n"
839       self.texteCuve+="# - si DEBOUCHANT,    dans la rubrique 'Modele de tenacite', fournir CORRIRWIN    (ne pas fournir ATTNCORRBETA)"+"\n"
840
841       self.texteCuve+="#"+"\n"
842
843       if self.dico_mot.has_key('Orientation'):
844          if str(self.dico_mot["Orientation"])=='Longitudinale':
845             self.texteCuve += self.affecteValeur('Orientation', 'LONGITUD')
846          if str(self.dico_mot["Orientation"])=='Circonferentielle':
847             self.texteCuve += self.affecteValeur('Orientation', 'CIRCONF')
848       else :
849          self.texteCuve += self.affecteValeurDefaut('Orientation')
850          
851       self.texteCuve+="#"+"\n"
852       self.texteCuve += self.ecritVariable('ProfondeurRadiale')
853       self.texteCuve += self.ecritVariable('ProfondeurRadiale_mess')
854
855       self.texteCuve+="#"+"\n"
856       if self.dico_mot.has_key('ModeCalculLongueur'):
857          if str(self.dico_mot["ModeCalculLongueur"])=='Valeur':
858             self.texteCuve += self.affecteValeur('ModeCalculLongueur', 'VALEUR')
859             self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
860             self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
861             self.texteCuve += self.ecritVariable('Longueur')
862             self.texteCuve += self.ecritVariable('Longueur_mess')
863          if str(self.dico_mot["ModeCalculLongueur"])=='Fonction affine de la profondeur':
864             self.texteCuve += self.affecteValeur('ModeCalculLongueur', 'FCTAFFINE')
865             self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
866             self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
867             self.texteCuve += self.ecritVariable('CoefDirecteur')
868             self.texteCuve += self.ecritVariable('CoefDirecteur_mess')
869             self.texteCuve += self.ecritVariable('Constante')
870       else :
871          self.texteCuve += self.affecteValeurDefaut('ModeCalculLongueur')
872          self.texteCuve+="# - Si VALEUR,    fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
873          self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
874          self.texteCuve += self.affecteValeurDefaut('Longueur')
875          self.texteCuve += self.affecteValeurDefaut('Longueur_mess')
876
877       if self.dico_mot.has_key('TypeInitial'):
878          if str(self.dico_mot["TypeInitial"])!='Defaut Sous Revetement':
879             self.texteCuve+="#"+"\n"
880             if self.dico_mot.has_key('ModeCalculDecalage'):
881                if str(self.dico_mot["ModeCalculDecalage"])=='Valeur normalisee':
882                   self.texteCuve += self.affecteValeur('ModeCalculDecalage', 'NORMALISE')
883                   self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
884                   self.texteCuve+="# - Si VALEUR,    fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
885                   self.texteCuve += self.ecritVariable('DecalageNormalise')
886                   self.texteCuve += self.ecritVariable('DecalageNormalise_mess')
887                if str(self.dico_mot["ModeCalculDecalage"])=='Valeur':
888                   self.texteCuve += self.affecteValeur('ModeCalculDecalage', 'VALEUR')
889                   self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
890                   self.texteCuve+="# - Si VALEUR,    fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
891                   self.texteCuve += self.ecritVariable('DecalageRadial')
892                   self.texteCuve += self.ecritVariable('DecalageRadial_mess')
893             else :
894                self.texteCuve += self.affecteValeurDefaut('ModeCalculDecalage')
895                self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
896                self.texteCuve+="# - Si VALEUR, fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
897                self.texteCuve += self.affecteValeurDefaut('DecalageRadial')
898                self.texteCuve += self.affecteValeurDefaut('DecalageRadial_mess')
899
900       self.texteCuve+="#"+"\n"
901       self.texteCuve += self.ecritVariable('Azimut')
902       self.texteCuve += self.ecritVariable('Azimut_mess')
903       self.texteCuve+="#"+"\n"
904       self.texteCuve += self.ecritVariable('Altitude')
905       self.texteCuve += self.ecritVariable('Altitude_mess')
906       self.texteCuve+="#"+"\n"
907       if self.dico_mot.has_key('Pointe'):
908          if str(self.dico_mot["Pointe"])=='A':
909             self.texteCuve += self.affecteValeur('Pointe', 'A')
910          if str(self.dico_mot["Pointe"])=='B':
911             self.texteCuve += self.affecteValeur('Pointe', 'B')
912          if str(self.dico_mot["Pointe"])=='A et B':
913             self.texteCuve += self.affecteValeur('Pointe', 'BOTH')
914       else :
915          self.texteCuve += self.affecteValeurDefaut('Pointe')
916
917       # Rubrique MODELES FLUENCE, IRRADIATION, TENACITE
918       self.texteCuve += self.rubrique('MODELES FLUENCE, IRRADIATION, TENACITE')
919       self.texteCuve += self.sousRubrique('Modele d attenuation de la fluence dans l epaisseur','A.')
920
921       if self.dico_mot.has_key('ModeleFluence'):
922          if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=9.7 (Reglementaire)':
923             self.texteCuve += self.affecteValeur('ModeleFluence', 'Reglementaire')
924          if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=12.7 (France)':
925             self.texteCuve += self.affecteValeur('ModeleFluence', 'France')
926          if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=0. (ValeurImposee)':
927             self.texteCuve += self.affecteValeur('ModeleFluence', 'ValeurImposee')
928          if str(self.dico_mot["ModeleFluence"])=='Donnees francaises du palier CPY (SDM)':
929             self.texteCuve += self.affecteValeur('ModeleFluence', 'SDM')
930          if str(self.dico_mot["ModeleFluence"])=='Regulatory Guide 1.99 rev 2 (USNRC)':
931             self.texteCuve += self.affecteValeur('ModeleFluence', 'USNRC')
932          if str(self.dico_mot["ModeleFluence"])=='Dossier 900 MWe AP9701 rev 2 (REV_2)':
933             self.texteCuve += self.affecteValeur('ModeleFluence', 'REV_2')
934          if str(self.dico_mot["ModeleFluence"])=='Lissage du modele ajuste (SDM_Lissage)':
935             self.texteCuve += self.affecteValeur('ModeleFluence', 'SDM_Lissage')
936          if str(self.dico_mot["ModeleFluence"])=='Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)':
937             self.texteCuve += self.affecteValeur('ModeleFluence', 'GrandeDev')
938          if str(self.dico_mot["ModeleFluence"])=='Grand developpement (GD_Cuve)':
939             self.texteCuve += self.affecteValeur('ModeleFluence', 'GD_Cuve')
940          if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=9.7 (Reglementaire CUVE1D)':
941             self.texteCuve += self.affecteValeur('ModeleFluence', 'Cuve1D')
942       else :
943          self.texteCuve += self.affecteValeurDefaut('ModeleFluence')
944
945       self.texteCuve+="# - si France,          fournir KPFRANCE"+"\n"
946       self.texteCuve+="# - si USNRC,           fournir KPUS"+"\n"
947       self.texteCuve+="# - si modele GD_Cuve,  fournir COEFFLUENCE1, COEFFLUENCE2, ..., COEFFLUENCE9, COEFFLUENCE10"+"\n"
948       self.texteCuve+="#"+"\n"
949
950       self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeSup')
951       self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeInf')
952       self.texteCuve += self.ecritVariable('FluenceMax')
953       if self.dico_mot.has_key('ModeleFluence'):
954          if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=12.7 (France)':
955             self.texteCuve += self.ecritVariable('KPFrance')
956          if str(self.dico_mot["ModeleFluence"])=='Regulatory Guide 1.99 rev 2 (USNRC)':
957             self.texteCuve += self.ecritVariable('KPUS')
958          if str(self.dico_mot["ModeleFluence"])=='Grand developpement (GD_Cuve)':
959             self.texteCuve += self.ecritVariable('Azimut_0deg')
960             self.texteCuve += self.ecritVariable('Azimut_5deg')
961             self.texteCuve += self.ecritVariable('Azimut_10deg')
962             self.texteCuve += self.ecritVariable('Azimut_15deg')
963             self.texteCuve += self.ecritVariable('Azimut_20deg')
964             self.texteCuve += self.ecritVariable('Azimut_25deg')
965             self.texteCuve += self.ecritVariable('Azimut_30deg')
966             self.texteCuve += self.ecritVariable('Azimut_35deg')
967             self.texteCuve += self.ecritVariable('Azimut_40deg')
968             self.texteCuve += self.ecritVariable('Azimut_45deg')
969
970       self.texteCuve += self.sousRubrique('Irradiation','B.')
971
972       if self.dico_mot.has_key('TypeIrradiation'):
973
974          if str(self.dico_mot["TypeIrradiation"])=='RTndt de la cuve a l instant de l analyse':
975             self.texteCuve += self.affecteValeur('TypeIrradiation', 'RTNDT')
976             self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
977             self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
978             self.texteCuve+="#"+"\n"
979             self.texteCuve += self.ecritVariable('RTNDT')
980
981          if str(self.dico_mot["TypeIrradiation"])=='Modele d irradiation':
982             self.texteCuve += self.affecteValeur('TypeIrradiation', 'FLUENCE')
983             self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
984             self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
985             self.texteCuve+="#"+"\n"
986             if self.dico_mot.has_key('ModeleIrradiation'):
987                if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Houssin':
988                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'HOUSSIN')
989                if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Persoz':
990                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'PERSOZ')
991                if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Lefebvre':
992                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'LEFEBVRE')
993                if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : Regulatory Guide 1.00 rev 2':
994                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'USNRCmdb')
995                if str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : formulation de FIM/FIS Brillaud':
996                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'BRILLAUD')
997                if str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : Regulatory Guide 1.00 rev 2':
998                   self.texteCuve += self.affecteValeur('ModeleIrradiation', 'USNRCsoud')
999             else :
1000               self.texteCuve += self.affecteValeurDefaut('ModeleIrradiation')
1001             self.texteCuve+="# - pour tout modele,                       fournir (CU, CU_MESSAGE),"+"\n"
1002             self.texteCuve+="#                                                   (NI, NI_MESSAGE),"+"\n"
1003             self.texteCuve+="# - si HOUSSIN, PERSOZ, LEFEBVRE, BRILLAUD, fournir (P, P_MESSAGE)"+"\n"
1004             self.texteCuve+="# - pour tout modele,                       fournir (RTimoy, RTimoy_MESSAGE),"+"\n"
1005             self.texteCuve+="# - si USNRCsoud ou USNRCmdb,               fournir (RTicov, RTicov_MESSAGE)"+"\n"
1006             self.texteCuve+="#                                                   (USectDRT, USectDRT_MESSAGE)"+"\n"
1007             self.texteCuve+="# - pour tout modele,                       fournir (nbectDRTNDT, nbectDRTNDT_MESSAGE)"+"\n"
1008             self.texteCuve+="#"+"\n"
1009             self.texteCuve += self.ecritVariable('TeneurCuivre')
1010             self.texteCuve += self.ecritVariable('TeneurCuivre_mess')
1011             self.texteCuve += self.ecritVariable('TeneurNickel')
1012             self.texteCuve += self.ecritVariable('TeneurNickel_mess')
1013             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':
1014                self.texteCuve += self.ecritVariable('TeneurPhosphore')
1015                self.texteCuve += self.ecritVariable('TeneurPhosphore_mess')
1016             self.texteCuve += self.ecritVariable('MoyenneRTndt')
1017             self.texteCuve += self.ecritVariable('MoyenneRTndt_mess')
1018             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':
1019                self.texteCuve += self.ecritVariable('CoefVariationRTndt')
1020                self.texteCuve += self.ecritVariable('CoefVariationRTndt_mess')
1021                self.texteCuve += self.ecritVariable('EcartTypeRTndt')
1022                self.texteCuve += self.ecritVariable('EcartTypeRTndt_mess')
1023             self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt')
1024             self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt_mess')
1025       else :
1026          self.texteCuve += self.affecteValeurDefaut('TypeIrradiation')
1027          self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
1028          self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
1029          self.texteCuve+="#"+"\n"
1030          self.texteCuve += self.affecteValeurDefaut('RTNDT')
1031
1032       self.texteCuve += self.sousRubrique('Modele de tenacite','C.')
1033       self.texteCuve+="# tenacite d amorcage"+"\n"
1034
1035       if self.dico_mot.has_key('ModeleTenacite'):
1036          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2':
1037             self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M')
1038          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2 CUVE1D':
1039             self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_simpl')
1040          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME coefficient=2.33 (Houssin)':
1041             self.texteCuve += self.affecteValeur('ModeleTenacite', 'Houssin_RC')
1042          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME avec KI=KIpalier':
1043             self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_pal')
1044          if str(self.dico_mot["ModeleTenacite"])=='RCC-M/ASME avec KI~exponentiel':
1045             self.texteCuve += self.affecteValeur('ModeleTenacite', 'RCC-M_exp')
1046          if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve':
1047             self.texteCuve += self.affecteValeur('ModeleTenacite', 'Wallin')
1048          if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve (REME)':
1049             self.texteCuve += self.affecteValeur('ModeleTenacite', 'REME')
1050          if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)':
1051             self.texteCuve += self.affecteValeur('ModeleTenacite', 'ORNL')
1052          if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02':
1053             self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB2')
1054          if str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03':
1055             self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB3')
1056          if str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee':
1057             self.texteCuve += self.affecteValeur('ModeleTenacite', 'WEIB_GEN')
1058          if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb01 (Frama)':
1059             self.texteCuve += self.affecteValeur('ModeleTenacite', 'Frama')
1060          if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb02 (LOGWOLF)':
1061             self.texteCuve += self.affecteValeur('ModeleTenacite', 'LOGWOLF')
1062       else :
1063          self.texteCuve += self.affecteValeurDefaut('ModeleTenacite')
1064       self.texteCuve+="# - si RCC-M, RCC-M_pal, Houssin_RC, fournir (nbectKIc, nbectKIc_MESSAGE), KICPAL, KICCDV"+"\n"
1065       self.texteCuve+="# - si RCC-M_exp,                    fournir (nbectKIc, nbectKIc_MESSAGE), KICCDV"+"\n"
1066       self.texteCuve+="# - si RCC-M_simpl,                  ne rien fournir"+"\n"
1067       self.texteCuve+="# - si Frama, LOGWOLF,               fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
1068       self.texteCuve+="# - si REME, ORNL, WEIB3, WEIB2,     fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC"+"\n"
1069       self.texteCuve+="# - si Wallin,                       fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
1070       self.texteCuve+="#                                                     puis T0WALLIN"+"\n"
1071       self.texteCuve+="# - si WEIB-GEN,                     fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
1072       self.texteCuve+="#                                                     puis A1, A2, A3, B1, B2, B3, C1, C2, C3"+"\n"
1073       self.texteCuve+="#   loi de Weibull P(K<x) = 1 - exp{-[ (x-a(T)) / b(T) ]^c(T) }"+"\n"
1074       self.texteCuve+="#   avec        a(T) = A1 + A2*exp[A3*(T-RTNDT)]"+"\n"
1075       self.texteCuve+="#               b(T) = B1 + B2*exp[B3*(T-RTNDT)]"+"\n"
1076       self.texteCuve+="#               c(T) = C1 + C2*exp[C3*(T-RTNDT)]"+"\n"
1077       self.texteCuve+="#"+"\n"
1078       if self.dico_mot.has_key('ModeleTenacite'):
1079          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' :
1080             self.texteCuve += self.ecritVariable('NBRE_CARACTERISTIQUE')
1081             self.texteCuve+="# - Si CARAC = QUANTILE, fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
1082             self.texteCuve+="# - Si CARAC = ORDRE,    fournir (fractKIc, fractKIc_MESSAGE)"+"\n"
1083
1084          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)' :
1085             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1086             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1087             self.texteCuve += self.ecritVariable('PalierDuctile_KIc')
1088             self.texteCuve += self.ecritVariable('CoefficientVariation_KIc')
1089
1090          if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb01 (Frama)' or str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb02 (LOGWOLF)' :
1091             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1092             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1093
1094          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':
1095             if str(self.dico_mot["NBRE_CARACTERISTIQUE"])=='QUANTILE' :
1096                self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1097                self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1098             if str(self.dico_mot["NBRE_CARACTERISTIQUE"])=='ORDRE' :
1099                self.texteCuve += self.ecritVariable('Fractile_KIc')
1100                self.texteCuve += self.ecritVariable('Fractile_KIc_mess')
1101
1102             if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' :
1103                self.texteCuve += self.ecritVariable('Temperature_KIc100')
1104
1105             if str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee' :
1106                self.texteCuve += self.ecritVariable('A1')
1107                self.texteCuve += self.ecritVariable('A2')
1108                self.texteCuve += self.ecritVariable('A3')
1109                self.texteCuve += self.ecritVariable('B1')
1110                self.texteCuve += self.ecritVariable('B2')
1111                self.texteCuve += self.ecritVariable('B3')
1112                self.texteCuve += self.ecritVariable('C1')
1113                self.texteCuve += self.ecritVariable('C2')
1114                self.texteCuve += self.ecritVariable('C3')
1115       else :
1116          self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc')
1117          self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc_mess')
1118          self.texteCuve += self.affecteValeurDefaut('PalierDuctile_KIc')
1119          self.texteCuve += self.affecteValeurDefaut('CoefficientVariation_KIc')
1120
1121       self.texteCuve+="#"+"\n"
1122       self.texteCuve+="# Correction plastique"+"\n"
1123
1124       if self.dico_mot.has_key('CorrectionPlastique'):
1125          if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA (pour DSR et defaut decale)':
1126             self.texteCuve += self.affecteValeur('AttnCorrBeta','NON')
1127          if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA attenuee (pour DSR et defaut decale)':
1128             self.texteCuve += self.affecteValeur('AttnCorrBeta','OUI')
1129          if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique IRWIN (pour defaut debouchant)':
1130             self.texteCuve += self.affecteValeur('CorrIrwin','OUI')
1131       else :
1132          self.texteCuve += self.affecteValeurDefaut('AttnCorrBeta')
1133
1134       self.texteCuve+="#"+"\n"
1135       self.texteCuve+="# Prise en compte de l'arret de fissure si DETERMINISTE"+"\n"
1136
1137       self.texteCuve += self.ecritVariable('ArretDeFissure')
1138       self.texteCuve+="# - si ARRETFISSURE=OUI, fournir (INCRDEF, INCRDEF_MESSAGE), nbectKIa, KIAPAL, KIACDV"+"\n"
1139       if self.dico_mot.has_key('ArretDeFissure'):
1140          if str(self.dico_mot["ArretDeFissure"])=='OUI':
1141             self.texteCuve+="#"+"\n"
1142             self.texteCuve += self.ecritVariable('IncrementTailleFissure')
1143             self.texteCuve += self.ecritVariable('IncrementTailleFissure_mess')
1144             self.texteCuve+="#"+"\n"
1145             self.texteCuve+="# Parametres pour le calcul de la tenacite a l arret"+"\n"
1146             self.texteCuve += self.ecritVariable('NbEcartType_MoyKIa')
1147             self.texteCuve += self.ecritVariable('PalierDuctile_KIa')
1148             self.texteCuve += self.ecritVariable('CoefficientVariation_KIa')
1149
1150       # Rubrique Etat initial
1151       self.texteCuve += self.rubrique('ETAT INITIAL')
1152
1153       self.texteCuve+="# Profil radial de la temperature initiale dans la cuve"+"\n"
1154       self.texteCuve+="# abscisse (m) / temp initiale dans la cuve"+"\n"
1155       self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1156       if self.dico_mot.has_key('ProfilRadial_TemperatureInitiale'):
1157          self.imprime(2,(self.dico_mot["ProfilRadial_TemperatureInitiale"]))
1158          self.texteCuve += self.amontAval('Amont_TemperatureInitiale','Aval_TemperatureInitiale')
1159       else :
1160          self.texteCuve+="    1.9940    287."+"\n"
1161          self.texteCuve+="CC"+"\n"
1162
1163       self.texteCuve+="#"+"\n"
1164       self.texteCuve+="# Profils radiaux des contraintes résiduelles dans la cuve"+"\n"
1165       self.texteCuve+="# abscisse (m) / sigma rr / sigma tt / sigma zz"+"\n"
1166       self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1167       if self.dico_mot.has_key('ProfilRadial_ContraintesInitiales'):
1168          self.imprime(4,(self.dico_mot["ProfilRadial_ContraintesInitiales"]))
1169          self.texteCuve += self.amontAval('Amont_ContraintesInitiales','Aval_ContraintesInitiales')
1170       else :
1171          self.texteCuve+="1.994     0. 0.  0."+"\n"
1172          self.texteCuve+="CC"+"\n"
1173
1174       self.texteCuve+="#"+"\n"
1175       self.texteCuve+="# Instant initial"+"\n"
1176       self.texteCuve += self.ecritVariable('InstantInitialisation')
1177
1178       # Rubrique CARACTERISTIQUES DU REVETEMENT
1179       self.texteCuve += self.rubrique('CARACTERISTIQUES DU REVETEMENT')
1180
1181       self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueREV')
1182       self.texteCuve+="# - si CHALEUR,   fournir Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1183       self.texteCuve+="# - si ENTHALPIE, fournir Temperature (°C) / enthalpie (J/kg)"+"\n"
1184       self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1185       self.texteCuve+="#"+"\n"
1186       if self.dico_mot.has_key('ChaleurREV_Fct_Temperature'):
1187          self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1188          self.imprime(2,(self.dico_mot["ChaleurREV_Fct_Temperature"]))
1189          self.texteCuve += self.amontAval('Amont_ChaleurREV','Aval_ChaleurREV')
1190       elif self.dico_mot.has_key('EnthalpieREV_Fct_Temperature'):
1191          self.texteCuve+="# Temperature (°C) / enthalpie (J/kg)"+"\n"
1192          self.imprime(2,(self.dico_mot["EnthalpieREV_Fct_Temperature"]))
1193          self.texteCuve += self.amontAval('Amont_EnthalpieREV','Aval_EnthalpieREV')
1194       else :
1195          self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1196          self.texteCuve+="0.    36.03E5 "+"\n"
1197          self.texteCuve+="20.   36.03E5 "+"\n"
1198          self.texteCuve+="200.  41.65E5 "+"\n"
1199          self.texteCuve+="350.  43.47E5 "+"\n"
1200          self.texteCuve+="CC"+"\n"
1201
1202       self.texteCuve+="#"+"\n"
1203       self.texteCuve+="# Temperature (°C) / conductivite thermique (W/m/°C)"+"\n"
1204       if self.dico_mot.has_key('ConductiviteREV_Fct_Temperature'):
1205          self.imprime(2,(self.dico_mot["ConductiviteREV_Fct_Temperature"]))
1206          self.texteCuve += self.amontAval('Amont_ConductiviteREV','Aval_ConductiviteREV')
1207       else :
1208          self.texteCuve+="0.    14.7 "+"\n"
1209          self.texteCuve+="20.   14.7 "+"\n"
1210          self.texteCuve+="200.  17.2 "+"\n"
1211          self.texteCuve+="350.  19.3 "+"\n"
1212          self.texteCuve+="CC"+"\n"
1213
1214       self.texteCuve+="#"+"\n"
1215       self.texteCuve+="# Temperature (°C) / module d'Young (MPa)"+"\n"
1216       if self.dico_mot.has_key('ModuleYoungREV_Fct_Temperature'):
1217          self.imprime(2,(self.dico_mot["ModuleYoungREV_Fct_Temperature"]))
1218          self.texteCuve += self.amontAval('Amont_ModuleYoungREV','Aval_ModuleYoungREV')
1219       else :
1220          self.texteCuve+="0.    198500. "+"\n"
1221          self.texteCuve+="20.   197000. "+"\n"
1222          self.texteCuve+="200.  184000. "+"\n"
1223          self.texteCuve+="350.  172000. "+"\n"
1224          self.texteCuve+="CC"+"\n"
1225
1226       self.texteCuve+="#"+"\n"
1227       self.texteCuve+="# Temperature (°C) / coefficient de dilatation thermique (°C-1)"+"\n"
1228       if self.dico_mot.has_key('CoeffDilatThermREV_Fct_Temperature'):
1229          self.imprime(2,(self.dico_mot["CoeffDilatThermREV_Fct_Temperature"]))
1230          self.texteCuve += self.amontAval('Amont_CoeffDilatThermREV','Aval_CoeffDilatThermREV')
1231       else :
1232          self.texteCuve+="0.    16.40E-6 "+"\n"
1233          self.texteCuve+="20.   16.40E-6 "+"\n"
1234          self.texteCuve+="200.  17.20E-6 "+"\n"
1235          self.texteCuve+="350.  17.77E-6 "+"\n"
1236          self.texteCuve+="CC"+"\n"
1237
1238       self.texteCuve+="#"+"\n"
1239       self.texteCuve+="# Temperature (°C) / limite d'elasticite (MPa)"+"\n"
1240       if self.dico_mot.has_key('LimiteElasticiteREV_Fct_Temperature'):
1241          self.imprime(2,(self.dico_mot["LimiteElasticiteREV_Fct_Temperature"]))
1242          self.texteCuve += self.amontAval('Amont_LimiteElasticiteREV','Aval_LimiteElasticiteREV')
1243       else :
1244          self.texteCuve+="0.    380. "+"\n"
1245          self.texteCuve+="20.   370. "+"\n"
1246          self.texteCuve+="100.  330. "+"\n"
1247          self.texteCuve+="300.  270. "+"\n"
1248          self.texteCuve+="LL"+"\n"
1249
1250       self.texteCuve+="#"+"\n"
1251       self.texteCuve += self.ecritVariable('TemperatureDeformationNulleREV')
1252       self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermREV')
1253       self.texteCuve += self.ecritVariable('CoefficientPoissonREV')
1254
1255       # Rubrique CARACTERISTIQUES DU METAL DE BASE
1256       self.texteCuve += self.rubrique('CARACTERISTIQUES DU METAL DE BASE')
1257
1258       self.texteCuve += self.ecritVariable('ConditionLimiteThermiqueMDB')
1259
1260       self.texteCuve+="# - si CHALEUR,   fournir Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1261       self.texteCuve+="# - si ENTHALPIE, fournir Temperature (°C) / enthalpie (J/kg)"+"\n"
1262       self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1263       self.texteCuve+="#"+"\n"
1264
1265       if self.dico_mot.has_key('ChaleurMDB_Fct_Temperature'):
1266          self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1267          self.imprime(2,(self.dico_mot["ChaleurMDB_Fct_Temperature"]))
1268          self.texteCuve += self.amontAval('Amont_ChaleurMDB','Aval_ChaleurMDB')
1269       elif self.dico_mot.has_key('EnthalpieMDB_Fct_Temperature'):
1270          self.texteCuve+="# Temperature (°C) / enthalpie (J/kg)"+"\n"
1271          self.imprime(2,(self.dico_mot["EnthalpieMDB_Fct_Temperature"]))
1272          self.texteCuve += self.amontAval('Amont_EnthalpieMDB','Aval_EnthalpieMDB')
1273       else :
1274          self.texteCuve+="# Temperature (°C) / chaleur volumique (J/kg/K)"+"\n"
1275          self.texteCuve+="0.    34.88E+05 "+"\n"
1276          self.texteCuve+="20.   34.88E+05 "+"\n"
1277          self.texteCuve+="200.  40.87E+05 "+"\n"
1278          self.texteCuve+="350.  46.02E+05 "+"\n"
1279          self.texteCuve+="CC"+"\n"
1280
1281       self.texteCuve+="#"+"\n"
1282       self.texteCuve+="# Temperature (°C) / conductivite thermique (W/m/°C)"+"\n"
1283       if self.dico_mot.has_key('ConductiviteMDB_Fct_Temperature'):
1284          self.imprime(2,(self.dico_mot["ConductiviteMDB_Fct_Temperature"]))
1285          self.texteCuve += self.amontAval('Amont_ConductiviteMDB','Aval_ConductiviteMDB')
1286       else :
1287          self.texteCuve+="0.    37.7 "+"\n"
1288          self.texteCuve+="20.   37.7 "+"\n"
1289          self.texteCuve+="200.  40.5 "+"\n"
1290          self.texteCuve+="350.  38.7 "+"\n"
1291          self.texteCuve+="CC"+"\n"
1292
1293       self.texteCuve+="#"+"\n"
1294       self.texteCuve+="# Temperature (°C) / module d'Young (MPa)"+"\n"
1295       if self.dico_mot.has_key('ModuleYoungMDB_Fct_Temperature'):
1296          self.imprime(2,(self.dico_mot["ModuleYoungMDB_Fct_Temperature"]))
1297          self.texteCuve += self.amontAval('Aval_ModuleYoungMDB','Aval_ModuleYoungMDB')
1298       else :
1299          self.texteCuve+="0.    205000. "+"\n"
1300          self.texteCuve+="20.   204000. "+"\n"
1301          self.texteCuve+="200.  193000. "+"\n"
1302          self.texteCuve+="350.  180000. "+"\n"
1303          self.texteCuve+="CC"+"\n"
1304
1305       self.texteCuve+="#"+"\n"
1306       self.texteCuve+="# Temperature (°C) / coefficient de dilatation thermique (°C-1)"+"\n"
1307       if self.dico_mot.has_key('CoeffDilatThermMDB_Fct_Temperature'):
1308          self.imprime(2,(self.dico_mot["CoeffDilatThermMDB_Fct_Temperature"]))
1309          self.texteCuve += self.amontAval('Amont_CoeffDilatThermMDB','Aval_CoeffDilatThermMDB')
1310       else :
1311          self.texteCuve+="0.    11.22E-6 "+"\n"
1312          self.texteCuve+="20.   11.22E-6 "+"\n"
1313          self.texteCuve+="200.  12.47E-6 "+"\n"
1314          self.texteCuve+="350.  13.08E-6 "+"\n"
1315          self.texteCuve+="CC"+"\n"
1316
1317       self.texteCuve+="#"+"\n"
1318       self.texteCuve += self.ecritVariable('TemperatureDeformationNulleMDB')
1319       self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermMDB')
1320       self.texteCuve += self.ecritVariable('CoefficientPoissonMDB')
1321
1322       # Rubrique CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE
1323       self.texteCuve += self.rubrique('CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE')
1324       self.texteCuve += self.sousRubrique('Chargement mecanique : transitoire de pression','')
1325
1326       self.texteCuve+="# instant (s) / pression (MPa)"+"\n"
1327       self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1328       if self.dico_mot.has_key('ProfilTemporel_Pression'):
1329          self.imprime(2,(self.dico_mot["ProfilTemporel_Pression"]))
1330          self.texteCuve += self.amontAval('Amont_Pression','Aval_Pression')
1331       else :
1332          self.texteCuve+="0.    15.5 "+"\n"
1333          self.texteCuve+="20.   0.1 "+"\n"
1334          self.texteCuve+="200.  0.1 "+"\n"
1335          self.texteCuve+="1000. 0.1 "+"\n"
1336          self.texteCuve+="CC"+"\n"
1337
1338       self.texteCuve += self.sousRubrique('Chargement thermo-hydraulique','')
1339       if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1340          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee en paroi':
1341             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'TEMP_IMPO')
1342          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
1343             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'FLUX_REP')
1344          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange':
1345             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'ECHANGE')
1346          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite':
1347             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'DEBIT')
1348          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite':
1349             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'TEMP_FLU')
1350          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1351             self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', 'APRP')
1352       else :
1353          self.texteCuve += self.affecteValeurDefaut('TypeConditionLimiteThermique')
1354
1355       self.texteCuve+="# - si TEMP_IMPO, fournir Instant (s) / Temperature imposee (°C)"+"\n"
1356       self.texteCuve+="# - si FLUX_REP,  fournir Instant (s) / Flux de chaleur impose (W/m2)"+"\n"
1357       self.texteCuve+="# - si ECHANGE,   fournir Instant (s) / Temperature impose (°C)"+"\n"
1358       self.texteCuve+="#                    puis Instant (s) / Coefficient d echange (W/m2/K)"+"\n"
1359       self.texteCuve+="# - si DEBIT,     fournir Instant (s) / Debit massique (kg/s)"+"\n"
1360       self.texteCuve+="#                    puis Instant (s) / Temperature d injection de securite  (°C)"+"\n"
1361       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1362       self.texteCuve+="#                    puis Modele CREARE  : (VM, VM_MESSAGE), (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
1363       self.texteCuve+="# - si TEMP_FLU,  fournir Instant (s) / Temperature du fluide (°C)"+"\n"
1364       self.texteCuve+="#                    puis Instant (s) / Debit d injection de securite  (kg/s)"+"\n"
1365       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1366       self.texteCuve+="# - si APRP,      fournir INSTANT1, INSTANT2, QACCU, QIS"+"\n"
1367       self.texteCuve+="#                    puis TIS_MESSAGE"+"\n"
1368       self.texteCuve+="#                    puis Instant (s) / Temperature du fluide (°C) tel que dans l'exemple ci-dessous"+"\n"
1369       self.texteCuve+="#                         0.    286."+"\n"
1370       self.texteCuve+="#                         12.   20.             # 1er palier à T=TACCU"+"\n"
1371       self.texteCuve+="#                         20.   20.             # idem que ci-dessus"+"\n"
1372       self.texteCuve+="#                         21.   18.             # 2nd palier à T=T1 : sera remplace par nouvelle valeur calculee par fonction idoine"+"\n"
1373       self.texteCuve+="#                         45.   18.             # idem que ci-dessus"+"\n"
1374       if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1375          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1376             self.texteCuve+="#                         46.   9999999999.     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
1377          else :
1378             self.texteCuve+="#                         46.   %INLET-TIS%     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
1379       else :
1380          self.texteCuve+="#                         46.   %INLET-TIS%     # 3eme palier à T=Tis, temperature d injection de securite"+"\n"
1381       self.texteCuve+="#                         1870. 9999999999.     # idem que ci-dessus"+"\n"
1382       self.texteCuve+="#                         1871. 80."+"\n"
1383       self.texteCuve+="#                         3871. 80."+"\n"
1384       self.texteCuve+="#                    puis Instant (s) / Debit d injection de securite  (kg/s)"+"\n"
1385       self.texteCuve+="#                    puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1386       self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1387       self.texteCuve+="#"+"\n"
1388
1389       if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1390
1391          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1392             self.texteCuve+="#"+"\n"
1393             self.texteCuve+="# Definition de parametres pour le cas d un transitoire APRP"+"\n"
1394             self.texteCuve += self.ecritVariable('Instant_1')
1395             self.texteCuve += self.ecritVariable('Instant_2')
1396             self.texteCuve += self.ecritVariable('DebitAccumule')
1397             self.texteCuve += self.ecritVariable('DebitInjectionSecurite')
1398             self.texteCuve += self.ecritVariable('TempInjectionSecurite_mess')
1399
1400          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' :
1401             self.texteCuve+="#"+"\n"
1402             self.texteCuve+="# instant (s) / temperature imposee du fluide (°C)"+"\n"
1403             if self.dico_mot.has_key('ProfilTemporel_TemperatureImposeeFluide'):
1404                self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureImposeeFluide"]))
1405                self.texteCuve += self.amontAval('Amont_TemperatureImposeeFluide','Aval_TemperatureImposeeFluide')
1406             else :
1407                self.texteCuve+="0.    286. "+"\n"
1408                self.texteCuve+="20.   20. "+"\n"
1409                self.texteCuve+="200.  7. "+"\n"
1410                self.texteCuve+="1000. 80. "+"\n"
1411                self.texteCuve+="CC"+"\n"
1412
1413          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
1414             self.texteCuve+="#"+"\n"
1415             self.texteCuve+="# instant (s) / flux de chaleur impose (W/m2)"+"\n"
1416             if self.dico_mot.has_key('ProfilTemporel_FluxChaleur'):
1417                self.imprime(2,(self.dico_mot["ProfilTemporel_FluxChaleur"]))
1418                self.texteCuve += self.amontAval('Amont_FluxChaleur','Aval_FluxChaleur')
1419                self.texteCuve+="#"+"\n"
1420             else :
1421                self.texteCuve+="0.    -0. "+"\n"
1422                self.texteCuve+="20.   -366290. "+"\n"
1423                self.texteCuve+="200.  -121076. "+"\n"
1424                self.texteCuve+="1000.  -56372."+"\n"
1425                self.texteCuve+="CC"+"\n"
1426
1427          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1428             self.texteCuve+="#"+"\n"
1429             self.texteCuve+="# instant (s) / Debit d injection de securite  (kg/s)"+"\n"
1430             if self.dico_mot.has_key('ProfilTemporel_DebitInjection'):
1431                self.imprime(2,(self.dico_mot["ProfilTemporel_DebitInjection"]))
1432                self.texteCuve += self.amontAval('Amont_DebitInjection','Aval_DebitInjection')
1433             else :
1434                self.texteCuve+="0.    4590. "+"\n"
1435                self.texteCuve+="20.   4590. "+"\n"
1436                self.texteCuve+="200.  340. "+"\n"
1437                self.texteCuve+="1000. 31.1 "+"\n"
1438                self.texteCuve+="CC"+"\n"
1439
1440          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' :
1441             self.texteCuve+="#"+"\n"
1442             self.texteCuve+="# instant (s) / Coefficient d echange (W/m2/K)"+"\n"
1443             if self.dico_mot.has_key('ProfilTemporel_CoefficientEchange'):
1444                self.imprime(2,(self.dico_mot["ProfilTemporel_CoefficientEchange"]))
1445                self.texteCuve += self.amontAval('Amont_CoefficientEchange','Aval_CoefficientEchange')
1446             else :
1447                self.texteCuve+="0.    138454. "+"\n"
1448                self.texteCuve+="20.   19972. "+"\n"
1449                self.texteCuve+="200.  2668. "+"\n"
1450                self.texteCuve+="1000. 2668. "+"\n"
1451                self.texteCuve+="CC"+"\n"
1452
1453          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' :
1454             self.texteCuve+="#"+"\n"
1455             self.texteCuve+="# instant (s) / Debit massique (kg/s)"+"\n"
1456             if self.dico_mot.has_key('ProfilTemporel_DebitMassique'):
1457                self.imprime(2,(self.dico_mot["ProfilTemporel_DebitMassique"]))
1458                self.texteCuve += self.amontAval('Amont_DebitMassique','Aval_DebitMassique')
1459             else :
1460                self.texteCuve+="0.    18.4 "+"\n"
1461                self.texteCuve+="20.   18.4 "+"\n"
1462                self.texteCuve+="200.  31.1 "+"\n"
1463                self.texteCuve+="1000. 31.1 "+"\n"
1464                self.texteCuve+="CC"+"\n"
1465
1466             self.texteCuve+="#"+"\n"
1467             self.texteCuve+="# instant (s) / Temperature d injection de securite  (°C)"+"\n"
1468             if self.dico_mot.has_key('ProfilTemporel_TemperatureInjection'):
1469                self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureInjection"]))
1470                self.texteCuve += self.amontAval('Amont_TemperatureInjection','Aval_TemperatureInjection')
1471             else :
1472                self.texteCuve+="0.    7.0 "+"\n"
1473                self.texteCuve+="20.   7.0 "+"\n"
1474                self.texteCuve+="200.  7.0 "+"\n"
1475                self.texteCuve+="1000. 7.0 "+"\n"
1476                self.texteCuve+="CC"+"\n"
1477
1478          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' :
1479             self.texteCuve+="#"+"\n"
1480             self.texteCuve+="# Transitoire des coefficients d echange : modele VESTALE"+"\n"
1481             self.texteCuve+="#"+"\n"
1482             self.texteCuve += self.ecritVariable('DiametreHydraulique')
1483             self.texteCuve += self.ecritVariable('DiametreHydraulique_mess')
1484             self.texteCuve+="#"+"\n"
1485             self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire')
1486             self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire_mess')
1487             self.texteCuve+="#"+"\n"
1488             self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle')
1489             self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle_mess')
1490             self.texteCuve+="#"+"\n"
1491             self.texteCuve += self.ecritVariable('CritereConvergenceRelative')
1492             self.texteCuve += self.ecritVariable('CoefficientsVestale')
1493          if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite':
1494             self.texteCuve+="#"+"\n"
1495             self.texteCuve+="# Transitoire de temperature fluide locale : modele CREARE"+"\n"
1496             self.texteCuve+="#"+"\n"
1497             self.texteCuve += self.ecritVariable('VolumeMelange_CREARE')
1498             self.texteCuve += self.ecritVariable('VolumeMelange_CREARE_mess')
1499             self.texteCuve+="#"+"\n"
1500             self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE')
1501             self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE_mess')
1502             self.texteCuve+="#"+"\n"
1503             self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure')
1504             self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
1505       else :
1506          self.texteCuve+="#"+"\n"
1507          self.texteCuve+="# instant (s) / temperature imposee du fluide (°C)"+"\n"
1508          self.texteCuve+="0.    286. "+"\n"
1509          self.texteCuve+="20.   20. "+"\n"
1510          self.texteCuve+="200.  7. "+"\n"
1511          self.texteCuve+="1000. 80. "+"\n"
1512          self.texteCuve+="CC"+"\n"
1513       self.texteCuve+="#"+"\n"
1514       self.texteCuve+="############################################################################################"+"\n"
1515
1516
1517    def imprime(self,nbdeColonnes,valeur):
1518       self.liste=[]
1519       self.transforme(valeur)
1520       i=0
1521       while i < len(self.liste):
1522           for k in range(nbdeColonnes) :
1523               self.texteCuve+=str(self.liste[i+k]) +"  "
1524           self.texteCuve+="\n"
1525           i=i+k+1
1526                
1527
1528    def transforme(self,valeur):
1529       for i in valeur :
1530           if type(i) == tuple :
1531              self.transforme(i)
1532           else :
1533              self.liste.append(i)
1534           
1535
1536
1537