1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013 EDF R&D
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 Ce module contient le plugin generateur de fichier au format
22 DefaillCUVE pour EFICAS.
26 import types,string,re
28 from Noyau import N_CR
29 from Accas import MCSIMP
30 from generator_python import PythonGenerator
34 Retourne les informations nécessaires pour le chargeur de plugins
36 Ces informations sont retournées dans un dictionnaire
41 # La factory pour créer une instance du plugin
42 'factory' : Cuve2dgGenerator,
46 class Cuve2dgGenerator(PythonGenerator):
48 Ce generateur parcourt un objet de type JDC et produit
49 un texte au format eficas et
50 un texte au format DefaillCUVE
53 # Les extensions de fichier préconisées
56 def __init__(self,cr=None):
57 # Si l'objet compte-rendu n'est pas fourni, on utilise le compte-rendu standard
61 self.cr=N_CR.CR(debut='CR generateur format DefaillCUVE pour DefaillCUVE',
62 fin='fin CR format DefaillCUVE pour DefaillCUVE')
63 # Le texte au format DefaillCUVE est stocké dans l'attribut textCuve
66 # Ce dictionnaire liste le nom des variables utilisees dans le script
68 "NiveauImpression" : "MESSAGE_LEVEL",
69 "FichierDataIn" : "DATARESUME_FILE",
70 "FichierTempSigma" : "TEMPSIG_FILE",
71 "FichierCSV" : "CSV_FILE",
72 "FichierRESTART" : "RESTART_FILE",
73 "FichierEXTR" : "EXTR_FILE",
74 "ChoixPlugin" : "CHOIPLUG",
75 "GrandeurEvaluee" : "GRANDEUR",
76 "IncrementTemporel" : "INCRTPS",
77 "IncrementMaxTemperature" : "DTPREC",
78 "ChoixExtractionTransitoires" : "CHOIEXTR",
79 "IncrementMaxTempsAffichage" : "DTARCH",
80 "TraitementGeometrie" : "TYPEGEOM",
81 "RayonInterne" : "RINT",
82 "RayonInterne_mess" : "RINT_MESSAGE",
83 "RayonExterne" : "REXT",
84 "RayonExterne_mess" : "REXT_MESSAGE",
85 "EpaisseurRevetement" : "LREV",
86 "EpaisseurRevetement_mess" : "LREV_MESSAGE",
87 "LigamentExterneMin" : "LIGMIN",
88 "LigamentExterneMin_mess" : "LIGMIN_MESSAGE",
89 "NombreNoeudsMaillage" : "NBNO",
90 "TypeInitial" : "TYPEDEF",
91 "Orientation" : "ORIEDEF",
92 "Position" : "POSDEF",
93 "ProfondeurRadiale" : "PROFDEF",
94 "ProfondeurRadiale_mess" : "PROFDEF_MESSAGE",
95 "ModeCalculLongueur" : "OPTLONG",
96 "Longueur" : "LONGDEF",
97 "Longueur_mess" : "LONGDEF_MESSAGE",
98 "CoefDirecteur" : "PROFSURLONG",
99 "CoefDirecteur_mess" : "PROFSURLONG_MESSAGE",
100 "Constante" : "LONGCONST",
101 "ModeCalculDecalage" : "DECATYP",
102 "DecalageNormalise" : "DECANOR",
103 "DecalageNormalise_mess" : "DECANOR_MESSAGE",
104 "DecalageRadial" : "DECADEF",
105 "DecalageRadial_mess" : "DECADEF_MESSAGE",
106 "Azimut" : "ANGLDEF",
107 "Azimut_mess" : "ANGLDEF_MESSAGE",
108 "Altitude_mess" : "ANGLDEF_MESSAGE",
109 "Altitude" : "ALTIDEF",
110 "Altitude_mess" : "ALTIDEF_MESSAGE",
111 "Pointe" : "POINDEF",
112 "ModeleFluence" : "MODELFLUENCE",
113 "ZoneActiveCoeur_AltitudeSup" : "H1COEUR",
114 "ZoneActiveCoeur_AltitudeInf" : "H2COEUR",
115 "FluenceMax" : "fmax",
116 "KPFrance" : "KPFRANCE",
118 "Azimut_0deg" : "COEFFLUENCE1",
119 "Azimut_5deg" : "COEFFLUENCE2",
120 "Azimut_10deg" : "COEFFLUENCE3",
121 "Azimut_15deg" : "COEFFLUENCE4",
122 "Azimut_20deg" : "COEFFLUENCE5",
123 "Azimut_25deg" : "COEFFLUENCE6",
124 "Azimut_30deg" : "COEFFLUENCE7",
125 "Azimut_35deg" : "COEFFLUENCE8",
126 "Azimut_40deg" : "COEFFLUENCE9",
127 "Azimut_45deg" : "COEFFLUENCE10",
128 "TypeIrradiation" : "TYPEIRR",
130 "ModeleIrradiation" : "MODELIRR",
131 "TeneurCuivre" : "CU",
132 "TeneurCuivre_mess" : "CU_MESSAGE",
133 "TeneurNickel" : "NI",
134 "TeneurNickel_mess" : "NI_MESSAGE",
135 "TeneurPhosphore" : "P",
136 "TeneurPhosphore_mess" : "P_MESSAGE",
137 "MoyenneRTndt" : "RTimoy",
138 "MoyenneRTndt_mess" : "RTimoy_MESSAGE",
139 "CoefVariationRTndt" : "RTicov",
140 "CoefVariationRTndt_mess" : "RTicov_MESSAGE",
141 "EcartTypeRTndt" : "USectDRT",
142 "EcartTypeRTndt_mess" : "USectDRT_MESSAGE",
143 "NombreEcartTypeRTndt" : "nbectDRTNDT",
144 "NombreEcartTypeRTndt_mess" : "nbectDRTNDT_MESSAGE",
145 "ModeleTenacite" : "MODELKIC",
146 "NombreCaracteristique" : "NBCARAC",
147 "NbEcartType_MoyKIc" : "nbectKIc",
148 "NbEcartType_MoyKIc_mess" : "nbectKIc_MESSAGE",
149 "PalierDuctile_KIc" : "KICPAL",
150 "CoefficientVariation_KIc" : "KICCDV",
151 "Fractile_KIc" : "fractKIc",
152 "Fractile_KIc_mess" : "fractKIc_MESSAGE",
153 "Temperature_KIc100" : "T0WALLIN",
163 "ChoixCorrectionLongueur" : "CHOIXCL",
164 "AttnCorrBeta" : "ATTNCORRBETA",
165 "CorrIrwin" : "CORRIRWIN",
166 "ArretDeFissure" : "ARRETFISSURE",
167 "IncrementTailleFissure" : "INCRDEF",
168 "IncrementTailleFissure_mess" : "INCRDEF_MESSAGE",
169 "NbEcartType_MoyKIa" : "nbectKIa",
170 "PalierDuctile_KIa" : "KIAPAL",
171 "CoefficientVariation_KIa" : "KIACDV",
172 "ChoixCoefficientChargement" : "CHOIXSIGM",
173 "CoefficientDuctile" : "COEFSIGM1",
174 "CoefficientFragile" : "COEFSIGM2",
175 "InstantInitialisation" : "INSTINIT",
176 "ConditionLimiteThermiqueREV" : "KTHREV",
177 "TemperatureDeformationNulleREV" : "TREFREV",
178 "TemperaturePourCoefDilatThermREV" : "TDETREV",
179 "CoefficientPoissonREV" : "NUREV",
180 "ConditionLimiteThermiqueMDB" : "KTHMDB",
181 "TemperatureDeformationNulleMDB" : "TREFMDB",
182 "TemperaturePourCoefDilatThermMDB" : "TDETMDB",
183 "CoefficientPoissonMDB" : "NUMDB",
184 "TypeConditionLimiteThermique" : "TYPCLTH",
185 "Instant_1" : "INSTANT1",
186 "Instant_2" : "INSTANT2",
187 "Instant_3" : "INSTANT3",
188 "DebitAccumule" : "QACCU",
189 "DebitInjectionSecurite" : "QIS",
190 "TempInjectionSecurite" : "TIS",
191 "TempInjectionSecurite_mess" : "TIS_MESSAGE",
192 "DiametreHydraulique" : "DH",
193 "DiametreHydraulique_mess" : "DH_MESSAGE",
194 "SectionEspaceAnnulaire" : "SECTION",
195 "SectionEspaceAnnulaire_mess" : "SECTION_MESSAGE",
196 "HauteurCaracConvectionNaturelle" : "DELTA",
197 "HauteurCaracConvectionNaturelle_mess" : "DELTA_MESSAGE",
198 "CritereConvergenceRelative" : "EPS",
199 "CoefficientsVestale" : "COEFVESTALE",
200 "VolumeMelange_CREARE" : "VMTAB",
201 "TemperatureInitiale_CREARE" : "T0",
202 "TemperatureInitiale_CREARE_mess" : "T0_MESSAGE",
203 "SurfaceEchange_FluideStructure" : "SE",
204 "SurfaceEchange_FluideStructure_mess" : "SE_MESSAGE",
205 "InstantPerteCirculationNaturelle" : "INST_PCN",
208 # Ce dictionnaire liste le nom des valeurs proposées utilisees dans le script
209 self.valeurproposee = {
210 "Aucune impression" : "0",
212 "Temps intermediaires" : "2",
213 "Facteur de marge KIc/KCP" : "FM_KICSURKCP",
214 "Marge KIc-KI" : "MARGE_KI",
215 "Marge KIc-KCP" : "MARGE_KCP",
216 "Topologie" : "GEOMETRIE",
217 "Maillage" : "MAILLAGE",
218 "Defaut Sous Revetement" : "DSR",
219 "Defaut Decale" : "DECALE",
220 "Defaut Debouchant" : "DEBOUCHANT",
221 "Longitudinale" : "LONGITUD",
222 "Circonferentielle" : "CIRCONF",
224 "Joint soude" : "JSOUDE",
226 "Fonction affine de la profondeur" : "FCTAFFINE",
227 "Valeur normalisee" : "NORMALISE",
231 "Exponentiel sans revetement k=9.7 (Reglementaire)" : "Reglementaire",
232 "Exponentiel sans revetement k=12.7 (France)" : "France",
233 "Exponentiel sans revetement k=0. (ValeurImposee)" : "ValeurImposee",
234 "Donnees francaises du palier CPY (SDM)" : "SDM",
235 "Regulatory Guide 1.99 rev 2 (USNRC)" : "USNRC",
236 "Dossier 900 MWe AP9701 rev 2 (REV_2)" : "REV_2",
237 "Lissage du modele ajuste (SDM_Lissage)" : "SDM_Lissage",
238 "Donnees francaises du palier CPY ajustees par secteur angulaire (GrandeDev)" : "GrandeDev",
239 "Grand developpement (GD_Cuve)" : "GD_Cuve",
240 "Exponentiel sans revetement k=9.7 (Reglementaire CUVE1D)" : "Cuve1D",
241 "RTndt de la cuve a l instant de l analyse" : "RTNDT",
242 "Modele d irradiation" : "FLUENCE",
243 "Formule de FIM/FIS Lefebvre modifiee" : "LEFEBnew",
244 "Metal de Base : formule de FIM/FIS Houssin" : "HOUSSIN",
245 "Metal de Base : formule de FIM/FIS Persoz" : "PERSOZ",
246 "Metal de Base : formule de FIM/FIS Lefebvre" : "LEFEBVRE",
247 "Metal de Base : Regulatory Guide 1.00 rev 2" : "USNRCmdb",
248 "Joint Soude : formulation de FIM/FIS Brillaud" : "BRILLAUD",
249 "Joint Soude : Regulatory Guide 1.00 rev 2" : "USNRCsoud",
250 "RCC-M/ASME coefficient=2" : "RCC-M",
251 "RCC-M/ASME coefficient=2 CUVE1D" : "RCC-M_simpl",
252 "RCC-M/ASME coefficient=2.33 (Houssin)" : "Houssin_RC",
253 "RCC-M/ASME avec KI=KIpalier" : "RCC-M_pal",
254 "RCC-M/ASME avec KI~exponentiel" : "RCC-M_exp",
255 "Weibull basee sur la master cuve" : "Wallin",
256 "Weibull basee sur la master cuve (REME)" : "REME",
257 "Weibull n\xb01 (etude ORNL)" : "ORNL",
258 "Weibull n\xb02" : "WEIB2",
259 "Weibull n\xb03" : "WEIB3",
260 "Weibull generalisee" : "WEIB-GEN",
261 "Exponentielle n\xb01 (Frama)" : "Frama",
262 "Exponentielle n\xb02 (LOGWOLF)" : "LOGWOLF",
263 "Quantile" : "QUANTILE",
265 "Enthalpie" : "ENTHALPIE",
266 "Chaleur" : "CHALEUR",
267 "Temperature imposee en paroi" : "TEMP_IMPO",
268 "Flux de chaleur impose en paroi" : "FLUX_REP",
269 "Temperature imposee du fluide et coefficient echange" : "ECHANGE",
270 "Debit massique et temperature d injection de securite" : "DEBIT",
271 "Temperature imposee du fluide et debit d injection de securite" : "TEMP_FLU",
272 "Courbe APRP" : "APRP",
273 "Calcul TEMPFLU puis DEBIT" : "TFDEBIT",
276 # Ce dictionnaire liste le commentaire des variables utilisees dans le script
278 "NiveauImpression" : "Niveau d impression des messages a l ecran (=0 : rien, =1 : temps calcul total, =2 : temps intermediaires)",
279 "FichierDataIn" : "sortie du fichier recapitulatif des donnees d entree {OUI ; NON}",
280 "FichierTempSigma" : "sortie des fichiers temperature et contraintes {OUI ; NON}",
281 "FichierCSV" : "sortie du fichier resultat template_DEFAILLCUVE.CSV {OUI ; NON}",
282 "FichierRESTART" : "sortie du fichier de re-demarrage",
283 "FichierEXTR" : "sortie du fichier d extraction des transitoires",
284 "ChoixPlugin" : "choix d'un repertoire de plug-in",
285 "GrandeurEvaluee" : "choix de la grandeur sous critere evaluee {FM_KICSURKCP ; MARGE_KI ; MARGE_KCP}",
286 "IncrementTemporel" : "increment temporel pour l analyse PROBABILISTE (si DETERMINISTE, fixer a 1)",
287 "IncrementMaxTemperature" : "increment max de temp/noeud/instant (degC)",
288 "ChoixExtractionTransitoires" : "choix d'extraction de transitoires de temp et contraintes",
289 "IncrementMaxTempsAffichage" : "increment max de temps pour affichage (s)",
290 "TraitementGeometrie" : "traitement de la geometrie de la cuve : {GEOMETRIE, MAILLAGE}",
291 "RayonInterne" : "rayon interne (m)",
292 "RayonInterne_mess" : "affichage ecran du rayon interne (m)",
293 "RayonExterne" : "rayon externe (m)",
294 "RayonExterne_mess" : "affichage ecran du rayon externe (m)",
295 "EpaisseurRevetement" : "epaisseur revetement (m)",
296 "EpaisseurRevetement_mess" : "affichage ecran de l epaisseur revetement (m)",
297 "LigamentExterneMin" : "ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
298 "LigamentExterneMin_mess" : "affichage ecran du ligament externe minimal avant rupture (% de l'epaisseur de cuve)",
299 "NombreNoeudsMaillage" : "nbre de noeuds dans l'epaisseur de la cuve",
300 "TypeInitial" : "type initial du defaut : DEBOUCHANT=Defaut Debouchant, DSR=Defaut Sous Revetement, DECALE=Defaut Decale",
301 "Orientation" : "orientation (LONGITUD / CIRCONF)",
302 "Position" : "Position du defaut (VIROLE / JSOUDE)",
303 "ProfondeurRadiale" : "profondeur radiale ou encore hauteur (m)",
304 "ProfondeurRadiale_mess" : "affichage ecran de la profondeur radiale ou encore hauteur (m)",
305 "ModeCalculLongueur" : "option pour definir la longueur du defaut (VALEUR pour une valeur fixe, FCTAFFINE pour une fct affine de la profondeur)",
306 "Longueur" : "longueur (m) pour defaut Sous Revetement",
307 "Longueur_mess" : "affichage ecran de la longueur (m) pour defaut Sous Revetement",
308 "CoefDirecteur" : "pente de la fonction affine l = h/profsurlong + a0",
309 "CoefDirecteur_mess" : "affichage ecran de la pente de la fonction affine l = h/profsurlong + a0",
310 "Constante" : "constante de la fonction affine a0",
311 "ModeCalculDecalage" : "type de decalage : normalise (NORMALISE) ou reel (VALEUR)",
312 "DecalageNormalise" : "decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
313 "DecalageNormalise_mess" : "affichage ecran du decalage radial normalise (valeur comprise entre 0. et 1.) pour defaut Sous Revetement",
314 "DecalageRadial" : "decalage radial reel (m) pour defaut decale",
315 "DecalageRadial_mess" : "affichage ecran du decalage radial reel (m) pour defaut decale",
316 "Azimut" : "coordonnee angulaire (degre)",
317 "Azimut_mess" : "affichage ecran de la coordonnee angulaire (degre)",
318 "Altitude" : "altitude (m) : valeur negative",
319 "Altitude_mess" : "affichage ecran de l altitude (m) : valeur negative",
320 "Pointe" : "choix du(des) point(s) du defaut considere {'A','B','BOTH'} pour DSR et DECALE (pour DEBOUCHANT : automatiquement 'B')",
321 "ModeleFluence" : "modele de fluence : {Reglementaire, France, ValeurImposee, SDM, USNRC, REV_2, SDM_Lissage, GrandeDev, GD_Cuve, Cuve1D}",
322 "ZoneActiveCoeur_AltitudeSup" : "cote superieure de la zone active de coeur (ici pour cuve palier 900Mw)",
323 "ZoneActiveCoeur_AltitudeInf" : "cote inferieure de la zone active de coeur (ici pour cuve palier 900Mw)",
324 "FluenceMax" : "fluence maximale assimilee par la cuve (n/cm2)",
325 "KPFrance" : "parametre exponentiel du modele France",
326 "KPUS" : "parametre exponentiel du modele US",
327 "Azimut_0deg" : "fluence a l'azimut 0 (10^19 n/cm)",
328 "Azimut_5deg" : "fluence a l'azimut 5 (10^19 n/cm)",
329 "Azimut_10deg" : "fluence a l'azimut 10 (10^19 n/cm)",
330 "Azimut_15deg" : "fluence a l'azimut 15 (10^19 n/cm)",
331 "Azimut_20deg" : "fluence a l'azimut 20 (10^19 n/cm)",
332 "Azimut_25deg" : "fluence a l'azimut 25 (10^19 n/cm)",
333 "Azimut_30deg" : "fluence a l'azimut 30 (10^19 n/cm)",
334 "Azimut_35deg" : "fluence a l'azimut 35 (10^19 n/cm)",
335 "Azimut_40deg" : "fluence a l'azimut 40 (10^19 n/cm)",
336 "Azimut_45deg" : "fluence a l'azimut 45 (10^19 n/cm)",
337 "TypeIrradiation" : "type irradiation : {RTNDT, FLUENCE}",
338 "RTNDT" : "RTNDT finale (degC)",
339 "ModeleIrradiation" : "modele d irradiation : LEFEBnew, ou {HOUSSIN, PERSOZ, LEFEBVRE, USNRCmdb} pour virole et {BRILLAUD,USNRCsoud} pour jointsoude",
340 "TeneurCuivre" : "teneur en cuivre (%)",
341 "TeneurCuivre_mess" : "affichage ecran de la teneur en cuivre (%)",
342 "TeneurNickel" : "teneur en nickel (%)",
343 "TeneurNickel_mess" : "affichage ecran de la teneur en nickel (%)",
344 "TeneurPhosphore" : "teneur en phosphore (%)",
345 "TeneurPhosphore_mess" : "affichage ecran de la teneur en phosphore (%)",
346 "MoyenneRTndt" : "moyenne de la RTNDT initiale : virole C1 de cuve Chinon : mdb=>-17.degC et js=>42.degC (HT-56/05/038 : p.52)",
347 "MoyenneRTndt_mess" : "affichage ecran de la moyenne de la RTNDT initiale",
348 "CoefVariationRTndt" : "coef de variation de la RTNDT initiale",
349 "CoefVariationRTndt_mess" : "affichage ecran du coef de variation de la RTNDT initiale",
350 "EcartTypeRTndt" : "pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
351 "EcartTypeRTndt_mess" : "affichage ecran, pour modeles USNRCsoud ou USNRCmdb, ecart-type du decalage de RTNDT (°F) (28. pour js et 17. pour mdb)",
352 "NombreEcartTypeRTndt" : "Nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE (en DETERMINISTE, fixer a 2.)",
353 "NombreEcartTypeRTndt_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de DRTNDT si analyse PROBABILISTE",
354 "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}",
355 "NombreCaracteristique" : "Nb caracteristique : ORDRE ou QUANTILE",
356 "NbEcartType_MoyKIc" : "Nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE (en DETERMINISTE, fixer a -2.)",
357 "NbEcartType_MoyKIc_mess" : "affichage ecran du nbre d ecart-type par rapport a la moyenne de KIc si analyse PROBABILISTE",
358 "PalierDuctile_KIc" : "palier deterministe de K1c (MPa(m^0.5))",
359 "CoefficientVariation_KIc" : "coef de variation de la loi normale de K1c",
360 "Fractile_KIc" : "valeur caracteristique de KIc exprimee en ordre de fractile (%)",
361 "Fractile_KIc_mess" : "affichage ecran de la valeur caracteristique de KIc exprimee en ordre de fractile (%)",
362 "Temperature_KIc100" : "parametre T0 du modele Wallin (degC)",
363 "A1" : "coef des coefs d une WEIBULL generale",
372 "ChoixCorrectionLongueur" : "Activation ou non de la correction de longueur {OUI ; NON}",
373 "AttnCorrBeta" : "Attenuation de la correction plastique : {OUI, NON} ==> uniquement pour DSR ou DECALE",
374 "CorrIrwin" : "Correction plastique IRWIN : {OUI, NON} ==> uniquement pour DEBOUCHANT",
375 "ArretDeFissure" : "prise en compte de l arret de fissure {OUI, NON} (en PROBABILISTE, fixer a NON)",
376 "IncrementTailleFissure" : "increment de la taille de fissure (m)",
377 "IncrementTailleFissure_mess" : "affichage ecran de l increment de la taille de fissure (m)",
378 "NbEcartType_MoyKIa" : "Nbre d ecart-type par rapport a la moyenne de KIa (nb sigma)",
379 "PalierDuctile_KIa" : "palier deterministe de K1a quand modele RCC-M (MPa(m^0.5))",
380 "CoefficientVariation_KIa" : "coef de variation de la loi normale de K1a",
381 "ChoixCoefficientChargement" : "prise en compte de coefficients sur le chargement (OUI/NON)",
382 "CoefficientDuctile" : "coefficient multiplicateur pour rupture ductile",
383 "CoefficientFragile" : "coefficient multiplicateur pour rupture fragile",
384 "InstantInitialisation" : "instant initial (s)",
385 "ConditionLimiteThermiqueREV" : "Option 'ENTHALPIE' ou 'CHALEUR'",
386 "TemperatureDeformationNulleREV" : "temperature de deformation nulle (degC)",
387 "TemperaturePourCoefDilatThermREV" : "temperature de definition du coefficient de dilatation thermique (degC)",
388 "CoefficientPoissonREV" : "coefficient de Poisson",
389 "ConditionLimiteThermiqueMDB" : "Option 'ENTHALPIE' ou 'CHALEUR'",
390 "TemperatureDeformationNulleMDB" : "temperature de deformation nulle (degC)",
391 "TemperaturePourCoefDilatThermMDB" : "temperature de definition du coefficient de dilatation thermique (degC)",
392 "CoefficientPoissonMDB" : "coefficient de Poisson",
393 "TypeConditionLimiteThermique" : "Type de condition thermique en paroi interne {TEMP_IMPO,FLUX_REP,ECHANGE,DEBIT,TEMP_FLU,APRP}",
394 "Instant_1" : "Borne superieure de l intervalle de temps du 1er palier TACCU",
395 "Instant_2" : "Borne superieure de l intervalle de temps du 2nd palier T1",
396 "Instant_3" : "Borne superieure de l intervalle de temps du 3eme palier TIS",
397 "DebitAccumule" : "Debit accumule (en m3/h)",
398 "DebitInjectionSecurite" : "Debit injection de securite (en m3/h)",
399 "TempInjectionSecurite" : "Temperature injection de securite (en degC)",
400 "TempInjectionSecurite_mess" : "affichage ecran de la temperature injection de securite",
401 "DiametreHydraulique" : "Diametre hydraulique (m)",
402 "DiametreHydraulique_mess" : "affichage ecran du diametre hydraulique (m)",
403 "SectionEspaceAnnulaire" : "Section espace annulaire (m2)",
404 "SectionEspaceAnnulaire_mess" : "affichage ecran de la section espace annulaire (m2)",
405 "HauteurCaracConvectionNaturelle" : "Hauteur caracteristique convection naturelle (m)",
406 "HauteurCaracConvectionNaturelle_mess" : "affichage ecran de la hauteur caracteristique convection naturelle (m)",
407 "CritereConvergenceRelative" : "Critere convergence relative (-)",
408 "CoefficientsVestale" : "Application des coefs de Vestale {OUI;NON}",
409 "VolumeMelange_CREARE" : "Transitoire de volume de melange CREARE (m3)",
410 "TemperatureInitiale_CREARE" : "Temperature initiale CREARE (degC)",
411 "TemperatureInitiale_CREARE_mess" : "affichage ecran de la temperature initiale CREARE (degC)",
412 "SurfaceEchange_FluideStructure" : "Surface d'echange fluide/structure (m2)",
413 "SurfaceEchange_FluideStructure_mess" : "affichage ecran de la surface d'echange fluide/structure (m2)",
414 "InstantPerteCirculationNaturelle" : "Instant de perte de circulation naturelle",
417 # Ce dictionnaire liste la valeur par defaut des variables utilisees dans le script
419 "NiveauImpression" : "1",
420 "FichierDataIn" : "NON",
421 "FichierTempSigma" : "NON",
422 "FichierCSV" : "NON",
423 "FichierRESTART" : "NON",
424 "FichierEXTR" : "NON",
425 "ChoixPlugin" : "NON",
426 "GrandeurEvaluee" : "FM_KICSURKCP",
427 "IncrementTemporel" : "1",
428 "IncrementMaxTemperature" : "0.1",
429 "ChoixExtractionTransitoires" : "NON",
430 "IncrementMaxTempsAffichage" : "1000.",
431 "TraitementGeometrie" : "GEOMETRIE",
432 "RayonInterne" : "1.994",
433 "RayonInterne_mess" : "NON",
434 "RayonExterne" : "2.2015",
435 "RayonExterne_mess" : "NON",
436 "EpaisseurRevetement" : "0.0075",
437 "EpaisseurRevetement_mess" : "NON",
438 "LigamentExterneMin" : "0.75",
439 "LigamentExterneMin_mess" : "NON",
440 "NombreNoeudsMaillage" : "300",
441 "TypeInitial" : "DSR",
442 "Position" : "VIROLE",
443 "ProfondeurRadiale" : "0.006",
444 "ProfondeurRadiale_mess" : "NON",
445 "ModeCalculLongueur" : "VALEUR",
446 "Longueur" : "0.060",
447 "Longueur_mess" : "NON",
448 "CoefDirecteur" : "10.",
449 "CoefDirecteur_mess" : "NON",
451 "ModeCalculDecalage" : "VALEUR",
452 "DecalageNormalise" : "0.1",
453 "DecalageNormalise_mess" : "NON",
454 "DecalageRadial" : "0.",
455 "DecalageRadial_mess" : "NON",
457 "Azimut_mess" : "NON",
459 "Altitude_mess" : "NON",
461 "ModeleFluence" : "Reglementaire",
462 "ZoneActiveCoeur_AltitudeSup" : "-3.536",
463 "ZoneActiveCoeur_AltitudeInf" : "-7.194",
464 "FluenceMax" : "6.5",
467 "Azimut_0deg" : "5.8",
468 "Azimut_5deg" : "5.48",
469 "Azimut_10deg" : "4.46",
470 "Azimut_15deg" : "3.41",
471 "Azimut_20deg" : "3.37",
472 "Azimut_25deg" : "3.16",
473 "Azimut_30deg" : "2.74",
474 "Azimut_35deg" : "2.25",
475 "Azimut_40deg" : "1.89",
476 "Azimut_45deg" : "1.78",
477 "TypeIrradiation" : "RTNDT",
479 "ModeleIrradiation" : "HOUSSIN",
480 "TeneurCuivre" : "0.0972",
481 "TeneurCuivre_mess" : "NON",
482 "TeneurNickel" : "0.72",
483 "TeneurNickel_mess" : "NON",
484 "TeneurPhosphore" : "0.00912",
485 "TeneurPhosphore_mess" : "NON",
486 "MoyenneRTndt" : "-12.0",
487 "MoyenneRTndt_mess" : "NON",
488 "CoefVariationRTndt" : "0.1",
489 "CoefVariationRTndt_mess" : "NON",
490 "EcartTypeRTndt" : "-2.",
491 "EcartTypeRTndt_mess" : "NON",
492 "NombreEcartTypeRTndt" : "2.",
493 "NombreEcartTypeRTndt_mess" : "NON",
494 "ModeleTenacite" : "RCC-M",
495 "NombreCaracteristique" : "Quantile",
496 "NbEcartType_MoyKIc" : "-2.",
497 "NbEcartType_MoyKIc_mess" : "NON",
498 "PalierDuctile_KIc" : "195.",
499 "CoefficientVariation_KIc" : "0.15",
500 "Fractile_KIc" : "5.",
501 "Fractile_KIc_mess" : "NON",
502 "Temperature_KIc100" : "-27.",
512 "ChoixCorrectionLongueur" : "OUI",
513 "AttnCorrBeta" : "NON",
515 "ArretDeFissure" : "NON",
516 "IncrementTailleFissure" : "0.",
517 "IncrementTailleFissure_mess" : "NON",
518 "NbEcartType_MoyKIa" : "0.",
519 "PalierDuctile_KIa" : "0.",
520 "CoefficientVariation_KIa" : "0.",
521 "ChoixCoefficientChargement" : "NON",
522 "CoefficientDuctile" : "1.0",
523 "CoefficientFragile" : "1.0",
524 "InstantInitialisation" : "-1.",
525 "ConditionLimiteThermiqueREV" : "CHALEUR",
526 "TemperatureDeformationNulleREV" : "20.",
527 "TemperaturePourCoefDilatThermREV" : "287.",
528 "CoefficientPoissonREV" : "0.3",
529 "ConditionLimiteThermiqueMDB" : "CHALEUR",
530 "TemperatureDeformationNulleMDB" : "20.",
531 "TemperaturePourCoefDilatThermMDB" : "287.",
532 "CoefficientPoissonMDB" : "0.3",
533 "TypeConditionLimiteThermique" : "TEMP_IMPO",
536 "Instant_3" : "5870.",
537 "DebitAccumule" : "2.3",
538 "DebitInjectionSecurite" : "0.375",
539 "TempInjectionSecurite" : "9.",
540 "TempInjectionSecurite_mess" : "NON",
541 "DiametreHydraulique" : "0.3816",
542 "DiametreHydraulique_mess" : "NON",
543 "SectionEspaceAnnulaire" : "0.21712",
544 "SectionEspaceAnnulaire_mess" : "NON",
545 "HauteurCaracConvectionNaturelle" : "6.",
546 "HauteurCaracConvectionNaturelle_mess" : "NON",
547 "CritereConvergenceRelative" : "0.00001",
548 "CoefficientsVestale" : "NON",
549 # "VolumeMelange_CREARE" : "14.9",
550 "TemperatureInitiale_CREARE" : "250.",
551 "TemperatureInitiale_CREARE_mess" : "NON",
552 "SurfaceEchange_FluideStructure" : "0.",
553 "SurfaceEchange_FluideStructure_mess" : "NON",
554 "InstantPerteCirculationNaturelle" : "400.",
557 # Ce dictionnaire liste la rubrique d'appartenance des variables utilisees dans le script
559 "NiveauImpression" : "OPTIONS",
560 "FichierDataIn" : "OPTIONS",
561 "FichierTempSigma" : "OPTIONS",
562 "FichierCSV" : "OPTIONS",
563 "FichierRESTART" : "OPTIONS",
564 "FichierEXTR" : "OPTIONS",
565 "ChoixPlugin" : "OPTIONS",
566 "GrandeurEvaluee" : "OPTIONS",
567 "IncrementTemporel" : "OPTIONS",
568 "IncrementMaxTemperature" : "OPTIONS",
569 "ChoixExtractionTransitoires" : "OPTIONS",
570 "IncrementMaxTempsAffichage" : "OPTIONS",
571 "TraitementGeometrie" : "DONNEES DE LA CUVE",
572 "RayonInterne" : "DONNEES DE LA CUVE",
573 "RayonInterne_mess" : "DONNEES DE LA CUVE",
574 "RayonExterne" : "DONNEES DE LA CUVE",
575 "RayonExterne_mess" : "DONNEES DE LA CUVE",
576 "EpaisseurRevetement" : "DONNEES DE LA CUVE",
577 "EpaisseurRevetement_mess" : "DONNEES DE LA CUVE",
578 "LigamentExterneMin" : "DONNEES DE LA CUVE",
579 "LigamentExterneMin_mess" : "DONNEES DE LA CUVE",
580 "NombreNoeudsMaillage" : "DONNEES DE LA CUVE",
581 "TypeInitial" : "CARACTERISTIQUES DU DEFAUT",
582 "Orientation" : "CARACTERISTIQUES DU DEFAUT",
583 "Position" : "CARACTERISTIQUES DU DEFAUT",
584 "ProfondeurRadiale" : "CARACTERISTIQUES DU DEFAUT",
585 "ProfondeurRadiale_mess" : "CARACTERISTIQUES DU DEFAUT",
586 "ModeCalculLongueur" : "CARACTERISTIQUES DU DEFAUT",
587 "Longueur" : "CARACTERISTIQUES DU DEFAUT",
588 "Longueur_mess" : "CARACTERISTIQUES DU DEFAUT",
589 "CoefDirecteur" : "CARACTERISTIQUES DU DEFAUT",
590 "CoefDirecteur_mess" : "CARACTERISTIQUES DU DEFAUT",
591 "Constante" : "CARACTERISTIQUES DU DEFAUT",
592 "ModeCalculDecalage" : "CARACTERISTIQUES DU DEFAUT",
593 "DecalageNormalise" : "CARACTERISTIQUES DU DEFAUT",
594 "DecalageNormalise_mess" : "CARACTERISTIQUES DU DEFAUT",
595 "DecalageRadial" : "CARACTERISTIQUES DU DEFAUT",
596 "DecalageRadial_mess" : "CARACTERISTIQUES DU DEFAUT",
597 "Azimut" : "CARACTERISTIQUES DU DEFAUT",
598 "Azimut_mess" : "CARACTERISTIQUES DU DEFAUT",
599 "Altitude" : "CARACTERISTIQUES DU DEFAUT",
600 "Altitude_mess" : "CARACTERISTIQUES DU DEFAUT",
601 "Pointe" : "CARACTERISTIQUES DU DEFAUT",
602 "ModeleFluence" : "MODELES",
603 "ZoneActiveCoeur_AltitudeSup" : "MODELES",
604 "ZoneActiveCoeur_AltitudeInf" : "MODELES",
605 "FluenceMax" : "MODELES",
606 "KPFrance" : "MODELES",
608 "Azimut_0deg" : "MODELES",
609 "Azimut_5deg" : "MODELES",
610 "Azimut_10deg" : "MODELES",
611 "Azimut_15deg" : "MODELES",
612 "Azimut_20deg" : "MODELES",
613 "Azimut_25deg" : "MODELES",
614 "Azimut_30deg" : "MODELES",
615 "Azimut_35deg" : "MODELES",
616 "Azimut_40deg" : "MODELES",
617 "Azimut_45deg" : "MODELES",
618 "TypeIrradiation" : "MODELES",
620 "ModeleIrradiation" : "MODELES",
621 "TeneurCuivre" : "MODELES",
622 "TeneurCuivre_mess" : "MODELES",
623 "TeneurNickel" : "MODELES",
624 "TeneurNickel_mess" : "MODELES",
625 "TeneurPhosphore" : "MODELES",
626 "TeneurPhosphore_mess" : "MODELES",
627 "MoyenneRTndt" : "MODELES",
628 "MoyenneRTndt_mess" : "MODELES",
629 "CoefVariationRTndt" : "MODELES",
630 "CoefVariationRTndt_mess" : "MODELES",
631 "EcartTypeRTndt" : "MODELES",
632 "EcartTypeRTndt_mess" : "MODELES",
633 "NombreEcartTypeRTndt" : "MODELES",
634 "NombreEcartTypeRTndt_mess" : "MODELES",
635 "ModeleTenacite" : "MODELES",
636 "NombreCaracteristique" : "MODELES",
637 "NbEcartType_MoyKIc" : "MODELES",
638 "NbEcartType_MoyKIc_mess" : "MODELES",
639 "PalierDuctile_KIc" : "MODELES",
640 "CoefficientVariation_KIc" : "MODELES",
641 "Fractile_KIc" : "MODELES",
642 "Fractile_KIc_mess" : "MODELES",
643 "Temperature_KIc100" : "MODELES",
653 "ChoixCorrectionLongueur" : "MODELES",
654 "AttnCorrBeta" : "MODELES",
655 "CorrIrwin" : "MODELES",
656 "ArretDeFissure" : "MODELES",
657 "IncrementTailleFissure" : "MODELES",
658 "IncrementTailleFissure_mess" : "MODELES",
659 "NbEcartType_MoyKIa" : "MODELES",
660 "PalierDuctile_KIa" : "MODELES",
661 "CoefficientVariation_KIa" : "MODELES",
662 "ChoixCoefficientChargement" : "ETAT INITIAL",
663 "CoefficientDuctile" : "ETAT INITIAL",
664 "CoefficientFragile" : "ETAT INITIAL",
665 "InstantInitialisation" : "ETAT INITIAL",
666 "ConditionLimiteThermiqueREV" : "CARACTERISTIQUES DU REVETEMENT",
667 "TemperatureDeformationNulleREV" : "CARACTERISTIQUES DU REVETEMENT",
668 "TemperaturePourCoefDilatThermREV" : "CARACTERISTIQUES DU REVETEMENT",
669 "CoefficientPoissonREV" : "CARACTERISTIQUES DU REVETEMENT",
670 "ConditionLimiteThermiqueMDB" : "CARACTERISTIQUES DU MDB",
671 "TemperatureDeformationNulleMDB" : "CARACTERISTIQUES DU MDB",
672 "TemperaturePourCoefDilatThermMDB" : "CARACTERISTIQUES DU MDB",
673 "CoefficientPoissonMDB" : "CARACTERISTIQUES DU MDB",
674 "TypeConditionLimiteThermique" : "TRANSITOIRE",
675 "Instant_1" : "TRANSITOIRE",
676 "Instant_2" : "TRANSITOIRE",
677 "Instant_3" : "TRANSITOIRE",
678 "DebitAccumule" : "TRANSITOIRE",
679 "DebitInjectionSecurite" : "TRANSITOIRE",
680 "TempInjectionSecurite" : "TRANSITOIRE",
681 "TempInjectionSecurite_mess" : "TRANSITOIRE",
682 "DiametreHydraulique" : "TRANSITOIRE",
683 "DiametreHydraulique_mess" : "TRANSITOIRE",
684 "SectionEspaceAnnulaire" : "TRANSITOIRE",
685 "SectionEspaceAnnulaire_mess" : "TRANSITOIRE",
686 "HauteurCaracConvectionNaturelle" : "TRANSITOIRE",
687 "HauteurCaracConvectionNaturelle_mess" : "TRANSITOIRE",
688 "CritereConvergenceRelative" : "TRANSITOIRE",
689 "CoefficientsVestale" : "TRANSITOIRE",
690 "VolumeMelange_CREARE" : "TRANSITOIRE",
691 "TemperatureInitiale_CREARE" : "TRANSITOIRE",
692 "TemperatureInitiale_CREARE_mess" : "TRANSITOIRE",
693 "SurfaceEchange_FluideStructure" : "TRANSITOIRE",
694 "SurfaceEchange_FluideStructure_mess" : "TRANSITOIRE",
695 "InstantPerteCirculationNaturelle" : "TRANSITOIRE",
698 def gener(self,obj,format='brut'):
704 self.text=PythonGenerator.gener(self,obj,format)
707 def generMCSIMP(self,obj) :
708 self.dico_mot[obj.nom]=obj.valeur
710 for i in obj.get_genealogie() :
712 self.dico_genea[clef]=obj.valeur
713 s=PythonGenerator.generMCSIMP(self,obj)
716 def writeCuve2DG(self, filename, file2):
717 print "je passe dans writeCuve2DG"
718 self.genereTexteCuve()
719 f = open( filename, 'wb')
721 f.write( self.texteCuve )
723 ftmp = open( "/tmp/data_template", 'wb')
724 ftmp.write( self.texteCuve )
727 self.genereTexteTFDEBIT()
728 f2 = open( file2, 'wb')
729 print self.texteTFDEBIT
730 f2.write( self.texteTFDEBIT )
736 Ecrit l'entete du fichier data_template
738 texte = "############################################################################################"+"\n"
740 texte += "# OUTIL D'ANALYSE PROBABILISTE DE LA DUREE DE VIE DES CUVES REP"+"\n"
741 texte += "# ---------------"+"\n"
742 texte += "# FICHIER DE MISE EN DONNEES"+"\n"
744 texte += "# SI CALCUL DETERMINISTE :"+"\n"
745 texte += "# - fixer INCRTPS=1, nbectDRTNDT=2., nbectKIc=-2."+"\n"
746 texte += "# - les calculs ne sont possibles qu'en une seule pointe du defaut (POINDEF<>BOTH)"+"\n"
747 texte += "# SI CALCUL PROBABILISTE :"+"\n"
748 texte += "# - fixer ARRETFISSURE=NON"+"\n"
750 texte += "############################################################################################"+"\n"
754 def rubrique(self, titre):
759 texte += "############################################################################################"+"\n"
760 texte += "# " + titre + "\n"
761 texte += "############################################################################################"+"\n"
765 def sousRubrique(self, soustitre, numtitre):
770 texte += "# " + numtitre + soustitre + "\n"
771 texte += "#==========================================================================================="+"\n"
775 def ecritLigne(self, variablelue):
777 Ecrit l'affectation d'une valeur a sa variable, suivie d'un commentaire
779 texte = "%s = %s # %s\n" % (self.variable[variablelue], str(self.dico_mot[variablelue]), self.comment[variablelue])
782 def affecteValeurDefaut(self, variablelue):
784 Affecte une valeur par defaut a une variable, suivie d'un commentaire
786 print "Warning ==> Dans la rubrique",self.bloc[variablelue],", valeur par defaut pour ",variablelue," = ",self.default[variablelue]
787 texte = "%s = %s # %s\n" % (self.variable[variablelue], self.default[variablelue], self.comment[variablelue])
790 def affecteValeur(self, variablelue, valeuraffectee):
792 Affecte une valeur a une variable, suivie d'un commentaire
794 texte = "%s = %s # %s\n" % (self.variable[variablelue], valeuraffectee, self.comment[variablelue])
797 def ecritVariable(self, variablelue):
798 if self.dico_mot.has_key(variablelue):
799 texte = self.ecritLigne(variablelue)
801 texte = self.affecteValeurDefaut(variablelue)
804 def amontAval(self, amont, aval):
805 if str(self.dico_mot[amont])=='Continu':
806 if str(self.dico_mot[aval])=='Continu':
808 if str(self.dico_mot[aval])=='Lineaire':
810 if str(self.dico_mot[aval])=='Exclu':
812 if str(self.dico_mot[amont])=='Lineaire':
813 if str(self.dico_mot[aval])=='Continu':
815 if str(self.dico_mot[aval])=='Lineaire':
817 if str(self.dico_mot[aval])=='Exclu':
819 if str(self.dico_mot[amont])=='Exclu':
820 if str(self.dico_mot[aval])=='Continu':
822 if str(self.dico_mot[aval])=='Lineaire':
824 if str(self.dico_mot[aval])=='Exclu':
828 def genereTexteCuve(self):
830 self.texteCuve += self.entete()
833 self.texteCuve += self.rubrique('OPTIONS')
835 self.texteCuve += self.sousRubrique('Impression a l ecran', '')
836 if self.dico_mot.has_key('NiveauImpression'):
837 self.texteCuve += self.affecteValeur('NiveauImpression', self.valeurproposee[str(self.dico_mot["NiveauImpression"])])
839 self.texteCuve += self.sousRubrique('Generation de fichiers', '')
840 self.texteCuve += self.ecritVariable('FichierDataIn')
841 self.texteCuve += self.ecritVariable('FichierTempSigma')
842 self.texteCuve += self.ecritVariable('FichierCSV')
843 self.texteCuve += self.ecritVariable('FichierRESTART')
844 self.texteCuve += self.ecritVariable('FichierEXTR')
845 self.texteCuve += self.ecritVariable('ChoixPlugin')
847 self.texteCuve += self.sousRubrique('Grandeur evaluee', '')
848 if self.dico_mot.has_key('GrandeurEvaluee'):
849 self.texteCuve += self.affecteValeur('GrandeurEvaluee', self.valeurproposee[str(self.dico_mot["GrandeurEvaluee"])])
851 self.texteCuve += self.sousRubrique('Divers', '')
852 self.texteCuve += self.ecritVariable('IncrementTemporel')
853 self.texteCuve += self.ecritVariable('IncrementMaxTemperature')
855 #self.texteCuve += self.ecritVariable('ChoixExtractionTransitoires')
856 if self.dico_mot.has_key('ChoixExtractionTransitoires'):
857 self.texteCuve += self.ecritVariable('ChoixExtractionTransitoires')
858 if str(self.dico_mot["ChoixExtractionTransitoires"])=='OUI':
859 if self.dico_mot.has_key('ListeAbscisses'):
860 self.texteCuve += "# liste des abscisses pour ecriture des transitoires de T et SIG (5 ou moins)"+"\n"
861 self.imprime(1,(self.dico_mot["ListeAbscisses"]))
862 self.texteCuve+="#"+"\n"
864 print "Warning ==> Dans la rubrique OPTIONS, fournir ListeAbscisses."
865 self.texteCuve += "# liste des abscisses pour ecriture des transitoires de T et SIG (5 ou moins)"+"\n"
866 self.texteCuve += " 1.994\n"
867 self.texteCuve += " 2.000\n"
868 self.texteCuve+="#"+"\n"
870 self.texteCuve+="#"+"\n"
872 self.texteCuve += self.ecritVariable('IncrementMaxTempsAffichage')
873 if self.dico_mot.has_key('ListeInstants'):
874 self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
875 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
876 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
877 self.imprime(1,(self.dico_mot["ListeInstants"]))
878 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
879 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
880 self.texteCuve+="#"+"\n"
882 print "Warning ==> Dans la rubrique OPTIONS, fournir ListeInstants."
883 self.texteCuve += "# liste des instants pour ecriture des resultats (s)"+"\n"
884 self.texteCuve += " 0.\n"
885 self.texteCuve += " 1.\n"
886 self.texteCuve+="#"+"\n"
889 # Rubrique DONNEES DE LA CUVE
890 self.texteCuve += self.rubrique('DONNEES DE LA CUVE')
891 if self.dico_mot.has_key('TraitementGeometrie'):
892 self.texteCuve += self.affecteValeur('TraitementGeometrie', self.valeurproposee[str(self.dico_mot["TraitementGeometrie"])])
893 if str(self.dico_mot["TraitementGeometrie"])=='Topologie':
894 self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
895 self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
896 self.texteCuve+="# (REXT, REXT_MESSAGE),"+"\n"
897 self.texteCuve+="# (LREV, LREV_MESSAGE),"+"\n"
898 self.texteCuve+="# (LIGMIN, LIGMIN_MESSAGE),"+"\n"
899 self.texteCuve+="# NBNO"+"\n"
900 self.texteCuve+="#"+"\n"
901 self.texteCuve += self.ecritVariable('RayonInterne')
902 self.texteCuve += self.ecritVariable('RayonInterne_mess')
903 self.texteCuve += self.ecritVariable('RayonExterne')
904 self.texteCuve += self.ecritVariable('RayonExterne_mess')
905 self.texteCuve += self.ecritVariable('EpaisseurRevetement')
906 self.texteCuve += self.ecritVariable('EpaisseurRevetement_mess')
907 self.texteCuve+="#"+"\n"
908 self.texteCuve += self.ecritVariable('LigamentExterneMin')
909 self.texteCuve += self.ecritVariable('LigamentExterneMin_mess')
910 self.texteCuve+="#"+"\n"
911 self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
912 if str(self.dico_mot["TraitementGeometrie"])=='Maillage':
913 self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
914 self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
915 self.texteCuve+="# (REXT, REXT_MESSAGE),"+"\n"
916 self.texteCuve+="# (LREV, LREV_MESSAGE),"+"\n"
917 self.texteCuve+="# (LIGMIN, LIGMIN_MESSAGE),"+"\n"
918 self.texteCuve+="# NBNO"+"\n"
919 self.texteCuve+="#"+"\n"
920 self.texteCuve += self.ecritVariable('NombreNoeudsMaillage')
921 self.imprime(1,(self.dico_mot["ListeAbscisses"]))
923 self.texteCuve += self.affecteValeurDefaut('TraitementGeometrie')
924 self.texteCuve+="# - si MAILLAGE, fournir NBNO et liste des abscisses (m)"+"\n"
925 self.texteCuve+="# - si GEOMETRIE, fournir (RINT, RINT_MESSAGE),"+"\n"
926 self.texteCuve+="# (REXT, REXT_MESSAGE),"+"\n"
927 self.texteCuve+="# (LREV, LREV_MESSAGE),"+"\n"
928 self.texteCuve+="# (LIGMIN, LIGMIN_MESSAGE),"+"\n"
929 self.texteCuve+="# NBNO"+"\n"
930 self.texteCuve+="#"+"\n"
931 self.texteCuve += self.affecteValeurDefaut('RayonInterne')
932 self.texteCuve += self.affecteValeurDefaut('RayonInterne_mess')
933 self.texteCuve += self.affecteValeurDefaut('RayonExterne')
934 self.texteCuve += self.affecteValeurDefaut('RayonExterne_mess')
935 self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement')
936 self.texteCuve += self.affecteValeurDefaut('EpaisseurRevetement_mess')
937 self.texteCuve+="#"+"\n"
938 self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin')
939 self.texteCuve += self.affecteValeurDefaut('LigamentExterneMin_mess')
940 self.texteCuve+="#"+"\n"
941 self.texteCuve += self.affecteValeurDefaut('NombreNoeudsMaillage')
944 # Rubrique CARACTERISTIQUES DU DEFAUT
945 self.texteCuve += self.rubrique('CARACTERISTIQUES DU DEFAUT')
947 if self.dico_mot.has_key('TypeInitial'):
948 self.texteCuve += self.affecteValeur('TypeInitial', self.valeurproposee[str(self.dico_mot["TypeInitial"])])
950 self.texteCuve += self.affecteValeurDefaut('TypeInitial')
952 self.texteCuve+="# Fournir ORIEDEF, (PROFDEF, PROFDEF_MESSAGE)"+"\n"
953 self.texteCuve+="# - Si DSR, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST)"+"\n"
954 self.texteCuve+="# - Si DECALE, fournir OPTLONG, (LONGDEF,LONGDEF_MESSAGE) ou (PROFSURLONG,PROFSURLONG_MESSAGE,LONGCONST), DECATYP, (DECANOR,DECANOR_MESSAGE) ou (DECADEF,DECADEF_MESSAGE)"+"\n"
955 self.texteCuve+="# - Si DEBOUCHANT, fournir IRWIN"+"\n"
956 self.texteCuve+="# Fournir (ANGLDEF, ANGLDEF_MESSAGE), (ALTIDEF, ALTIDEF_MESSAGE)"+"\n"
957 self.texteCuve+="# - Si DSR ou DECALE, fournir POINDEF"+"\n"
958 self.texteCuve+="#"+"\n"
959 self.texteCuve+="# Remarque :"+"\n"
960 self.texteCuve+="# - si DSR ou DECALE, dans la rubrique 'Modele de tenacite', fournir ATTNCORRBETA (ne pas fournir CORRIRWIN)"+"\n"
961 self.texteCuve+="# - si DEBOUCHANT, dans la rubrique 'Modele de tenacite', fournir CORRIRWIN (ne pas fournir ATTNCORRBETA)"+"\n"
963 self.texteCuve+="#"+"\n"
965 if self.dico_mot.has_key('Orientation'):
966 self.texteCuve += self.affecteValeur('Orientation', self.valeurproposee[str(self.dico_mot["Orientation"])])
968 self.texteCuve += self.affecteValeurDefaut('Orientation')
970 if self.dico_mot.has_key('Position'):
971 self.texteCuve += self.affecteValeur('Position', self.valeurproposee[str(self.dico_mot["Position"])])
973 self.texteCuve += self.affecteValeurDefaut('Position')
975 self.texteCuve+="#"+"\n"
976 self.texteCuve += self.ecritVariable('ProfondeurRadiale')
977 self.texteCuve += self.ecritVariable('ProfondeurRadiale_mess')
979 self.texteCuve+="#"+"\n"
980 if self.dico_mot.has_key('TypeInitial'):
981 if str(self.dico_mot["TypeInitial"])!='Defaut Debouchant':
982 if self.dico_mot.has_key('ModeCalculLongueur'):
983 self.texteCuve += self.affecteValeur('ModeCalculLongueur', self.valeurproposee[str(self.dico_mot["ModeCalculLongueur"])])
984 if str(self.dico_mot["ModeCalculLongueur"])=='Valeur':
985 self.texteCuve+="# - Si VALEUR, fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
986 self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
987 self.texteCuve += self.ecritVariable('Longueur')
988 self.texteCuve += self.ecritVariable('Longueur_mess')
989 if str(self.dico_mot["ModeCalculLongueur"])=='Fonction affine de la profondeur':
990 self.texteCuve+="# - Si VALEUR, fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
991 self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
992 self.texteCuve += self.ecritVariable('CoefDirecteur')
993 self.texteCuve += self.ecritVariable('CoefDirecteur_mess')
994 self.texteCuve += self.ecritVariable('Constante')
996 self.texteCuve += self.affecteValeurDefaut('ModeCalculLongueur')
997 self.texteCuve+="# - Si VALEUR, fournir (LONGDEF, LONGDEF_MESSAGE)"+"\n"
998 self.texteCuve+="# - Si FCTAFFINE, fournir (PROFSURLONG, PROFSURLONG_MESSAGE) et LONGCONST : LONGDEF=PROFDEF/PROFSURLONG + LONGCONST"+"\n"
999 self.texteCuve += self.affecteValeurDefaut('Longueur')
1000 self.texteCuve += self.affecteValeurDefaut('Longueur_mess')
1002 if self.dico_mot.has_key('TypeInitial'):
1003 if str(self.dico_mot["TypeInitial"])=='Defaut Decale':
1004 self.texteCuve+="#"+"\n"
1005 if self.dico_mot.has_key('ModeCalculDecalage'):
1006 self.texteCuve += self.affecteValeur('ModeCalculDecalage', self.valeurproposee[str(self.dico_mot["ModeCalculDecalage"])])
1007 if str(self.dico_mot["ModeCalculDecalage"])=='Valeur normalisee':
1008 self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
1009 self.texteCuve+="# - Si VALEUR, fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
1010 self.texteCuve += self.ecritVariable('DecalageNormalise')
1011 self.texteCuve += self.ecritVariable('DecalageNormalise_mess')
1012 if str(self.dico_mot["ModeCalculDecalage"])=='Valeur':
1013 self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
1014 self.texteCuve+="# - Si VALEUR, fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
1015 self.texteCuve += self.ecritVariable('DecalageRadial')
1016 self.texteCuve += self.ecritVariable('DecalageRadial_mess')
1018 self.texteCuve += self.affecteValeurDefaut('ModeCalculDecalage')
1019 self.texteCuve+="# - Si NORMALISE, fournir (DECANOR, DECANOR_MESSAGE)"+"\n"
1020 self.texteCuve+="# - Si VALEUR, fournir (DECADEF, DECADEF_MESSAGE)"+"\n"
1021 self.texteCuve += self.affecteValeurDefaut('DecalageRadial')
1022 self.texteCuve += self.affecteValeurDefaut('DecalageRadial_mess')
1024 self.texteCuve+="#"+"\n"
1025 self.texteCuve += self.ecritVariable('Azimut')
1026 self.texteCuve += self.ecritVariable('Azimut_mess')
1027 self.texteCuve+="#"+"\n"
1028 self.texteCuve += self.ecritVariable('Altitude')
1029 self.texteCuve += self.ecritVariable('Altitude_mess')
1030 self.texteCuve+="#"+"\n"
1031 if self.dico_mot.has_key('Pointe'):
1032 self.texteCuve += self.affecteValeur('Pointe', self.valeurproposee[str(self.dico_mot["Pointe"])])
1034 # self.texteCuve += self.affecteValeurDefaut('Pointe')
1036 # Rubrique MODELES FLUENCE, IRRADIATION, TENACITE
1037 self.texteCuve += self.rubrique('MODELES FLUENCE, IRRADIATION, TENACITE')
1038 self.texteCuve += self.sousRubrique('Modele d attenuation de la fluence dans l epaisseur','A.')
1040 if self.dico_mot.has_key('ModeleFluence'):
1041 self.texteCuve += self.affecteValeur('ModeleFluence', self.valeurproposee[str(self.dico_mot["ModeleFluence"])])
1043 self.texteCuve += self.affecteValeurDefaut('ModeleFluence')
1045 self.texteCuve+="# - si France, fournir KPFRANCE"+"\n"
1046 self.texteCuve+="# - si USNRC, fournir KPUS"+"\n"
1047 self.texteCuve+="# - si modele GD_Cuve, fournir COEFFLUENCE1, COEFFLUENCE2, ..., COEFFLUENCE9, COEFFLUENCE10"+"\n"
1048 self.texteCuve+="#"+"\n"
1050 self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeSup')
1051 self.texteCuve += self.ecritVariable('ZoneActiveCoeur_AltitudeInf')
1052 self.texteCuve += self.ecritVariable('FluenceMax')
1053 if self.dico_mot.has_key('ModeleFluence'):
1054 if str(self.dico_mot["ModeleFluence"])=='Exponentiel sans revetement k=12.7 (France)':
1055 self.texteCuve += self.ecritVariable('KPFrance')
1056 if str(self.dico_mot["ModeleFluence"])=='Regulatory Guide 1.99 rev 2 (USNRC)':
1057 self.texteCuve += self.ecritVariable('KPUS')
1058 if str(self.dico_mot["ModeleFluence"])=='Grand developpement (GD_Cuve)':
1059 self.texteCuve += self.ecritVariable('Azimut_0deg')
1060 self.texteCuve += self.ecritVariable('Azimut_5deg')
1061 self.texteCuve += self.ecritVariable('Azimut_10deg')
1062 self.texteCuve += self.ecritVariable('Azimut_15deg')
1063 self.texteCuve += self.ecritVariable('Azimut_20deg')
1064 self.texteCuve += self.ecritVariable('Azimut_25deg')
1065 self.texteCuve += self.ecritVariable('Azimut_30deg')
1066 self.texteCuve += self.ecritVariable('Azimut_35deg')
1067 self.texteCuve += self.ecritVariable('Azimut_40deg')
1068 self.texteCuve += self.ecritVariable('Azimut_45deg')
1070 self.texteCuve += self.sousRubrique('Irradiation','B.')
1072 if self.dico_mot.has_key('TypeIrradiation'):
1073 self.texteCuve += self.affecteValeur('TypeIrradiation', self.valeurproposee[str(self.dico_mot["TypeIrradiation"])])
1075 if str(self.dico_mot["TypeIrradiation"])=='RTndt de la cuve a l instant de l analyse':
1076 self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
1077 self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
1078 self.texteCuve+="#"+"\n"
1079 self.texteCuve += self.ecritVariable('RTNDT')
1081 if str(self.dico_mot["TypeIrradiation"])=='Modele d irradiation':
1082 self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
1083 self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
1084 self.texteCuve+="#"+"\n"
1085 if self.dico_mot.has_key('ModeleIrradiation'):
1086 self.texteCuve += self.affecteValeur('ModeleIrradiation', self.valeurproposee[str(self.dico_mot["ModeleIrradiation"])])
1088 self.texteCuve += self.affecteValeurDefaut('ModeleIrradiation')
1089 self.texteCuve+="# - pour tout modele, fournir (CU, CU_MESSAGE),"+"\n"
1090 self.texteCuve+="# (NI, NI_MESSAGE),"+"\n"
1091 self.texteCuve+="# - si HOUSSIN, PERSOZ, LEFEBVRE, BRILLAUD, LEFEBnew, fournir (P, P_MESSAGE)"+"\n"
1092 self.texteCuve+="# - pour tout modele, fournir (RTimoy, RTimoy_MESSAGE),"+"\n"
1093 self.texteCuve+="# - si USNRCsoud ou USNRCmdb, fournir (RTicov, RTicov_MESSAGE)"+"\n"
1094 self.texteCuve+="# (USectDRT, USectDRT_MESSAGE)"+"\n"
1095 self.texteCuve+="# - pour tout modele, fournir (nbectDRTNDT, nbectDRTNDT_MESSAGE)"+"\n"
1096 self.texteCuve+="#"+"\n"
1097 self.texteCuve += self.ecritVariable('TeneurCuivre')
1098 self.texteCuve += self.ecritVariable('TeneurCuivre_mess')
1099 self.texteCuve += self.ecritVariable('TeneurNickel')
1100 self.texteCuve += self.ecritVariable('TeneurNickel_mess')
1101 if str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Houssin' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Persoz' or str(self.dico_mot["ModeleIrradiation"])=='Metal de Base : formule de FIM/FIS Lefebvre' or str(self.dico_mot["ModeleIrradiation"])=='Joint Soude : formulation de FIM/FIS Brillaud' or str(self.dico_mot["ModeleIrradiation"])=='Formule de FIM/FIS Lefebvre modifiee':
1102 self.texteCuve += self.ecritVariable('TeneurPhosphore')
1103 self.texteCuve += self.ecritVariable('TeneurPhosphore_mess')
1104 self.texteCuve += self.ecritVariable('MoyenneRTndt')
1105 self.texteCuve += self.ecritVariable('MoyenneRTndt_mess')
1106 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':
1107 self.texteCuve += self.ecritVariable('CoefVariationRTndt')
1108 self.texteCuve += self.ecritVariable('CoefVariationRTndt_mess')
1109 self.texteCuve += self.ecritVariable('EcartTypeRTndt')
1110 self.texteCuve += self.ecritVariable('EcartTypeRTndt_mess')
1111 self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt')
1112 self.texteCuve += self.ecritVariable('NombreEcartTypeRTndt_mess')
1114 self.texteCuve += self.affecteValeurDefaut('TypeIrradiation')
1115 self.texteCuve+="# - si RTNDT, fournir RTNDT"+"\n"
1116 self.texteCuve+="# - si FLUENCE, fournir MODELIRR, et autres parametres selon MODELIRR (voir ci-dessous)"+"\n"
1117 self.texteCuve+="#"+"\n"
1118 self.texteCuve += self.affecteValeurDefaut('RTNDT')
1120 self.texteCuve += self.sousRubrique('Modele de tenacite','C.')
1121 self.texteCuve+="# tenacite d amorcage"+"\n"
1123 if self.dico_mot.has_key('ModeleTenacite'):
1124 self.texteCuve += self.affecteValeur('ModeleTenacite', self.valeurproposee[str(self.dico_mot["ModeleTenacite"])])
1126 self.texteCuve += self.affecteValeurDefaut('ModeleTenacite')
1127 self.texteCuve+="# - si RCC-M, RCC-M_pal, Houssin_RC, fournir (nbectKIc, nbectKIc_MESSAGE), KICPAL, KICCDV"+"\n"
1128 self.texteCuve+="# - si RCC-M_exp, fournir (nbectKIc, nbectKIc_MESSAGE), KICCDV"+"\n"
1129 self.texteCuve+="# - si RCC-M_simpl, ne rien fournir"+"\n"
1130 self.texteCuve+="# - si Frama, LOGWOLF, fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
1131 self.texteCuve+="# - si REME, ORNL, WEIB3, WEIB2, fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC"+"\n"
1132 self.texteCuve+="# - si Wallin, fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
1133 self.texteCuve+="# puis T0WALLIN"+"\n"
1134 self.texteCuve+="# - si WEIB-GEN, fournir NBCARAC, puis (nbectKIc, nbectKIc_MESSAGE) ou (fractKIc, fractKIc_MESSAGE) selon valeur de NBCARAC,"+"\n"
1135 self.texteCuve+="# puis A1, A2, A3, B1, B2, B3, C1, C2, C3"+"\n"
1136 self.texteCuve+="# loi de Weibull P(K<x) = 1 - exp{-[ (x-a(T)) / b(T) ]^c(T) }"+"\n"
1137 self.texteCuve+="# avec a(T) = A1 + A2*exp[A3*(T-RTNDT)]"+"\n"
1138 self.texteCuve+="# b(T) = B1 + B2*exp[B3*(T-RTNDT)]"+"\n"
1139 self.texteCuve+="# c(T) = C1 + C2*exp[C3*(T-RTNDT)]"+"\n"
1140 self.texteCuve+="#"+"\n"
1141 self.texteCuve+="# Correction de la longueur"+"\n"
1142 self.texteCuve += self.ecritVariable('ChoixCorrectionLongueur')
1143 self.texteCuve+="#"+"\n"
1144 if self.dico_mot.has_key('ModeleTenacite'):
1145 if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' or str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve (REME)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb01 (etude ORNL)' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb03' or str(self.dico_mot["ModeleTenacite"])=='Weibull n\xb02' or str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee' :
1146 if self.dico_mot.has_key('NombreCaracteristique'):
1147 self.texteCuve += self.affecteValeur('NombreCaracteristique', self.valeurproposee[str(self.dico_mot["NombreCaracteristique"])])
1149 self.texteCuve += self.affecteValeurDefaut('NombreCaracteristique')
1150 self.texteCuve+="# - Si NBCARAC = QUANTILE, fournir (nbectKIc, nbectKIc_MESSAGE)"+"\n"
1151 self.texteCuve+="# - Si NBCARAC = ORDRE, fournir (fractKIc, fractKIc_MESSAGE)"+"\n"
1153 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)' :
1154 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1155 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1156 self.texteCuve += self.ecritVariable('PalierDuctile_KIc')
1157 self.texteCuve += self.ecritVariable('CoefficientVariation_KIc')
1159 if str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb01 (Frama)' or str(self.dico_mot["ModeleTenacite"])=='Exponentielle n\xb02 (LOGWOLF)' :
1160 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1161 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1163 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':
1164 if str(self.dico_mot["NombreCaracteristique"])=='Quantile' :
1165 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc')
1166 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIc_mess')
1167 if str(self.dico_mot["NombreCaracteristique"])=='Ordre' :
1168 self.texteCuve += self.ecritVariable('Fractile_KIc')
1169 self.texteCuve += self.ecritVariable('Fractile_KIc_mess')
1171 if str(self.dico_mot["ModeleTenacite"])=='Weibull basee sur la master cuve' :
1172 self.texteCuve += self.ecritVariable('Temperature_KIc100')
1174 if str(self.dico_mot["ModeleTenacite"])=='Weibull generalisee' :
1175 self.texteCuve += self.ecritVariable('A1')
1176 self.texteCuve += self.ecritVariable('A2')
1177 self.texteCuve += self.ecritVariable('A3')
1178 self.texteCuve += self.ecritVariable('B1')
1179 self.texteCuve += self.ecritVariable('B2')
1180 self.texteCuve += self.ecritVariable('B3')
1181 self.texteCuve += self.ecritVariable('C1')
1182 self.texteCuve += self.ecritVariable('C2')
1183 self.texteCuve += self.ecritVariable('C3')
1185 self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc')
1186 self.texteCuve += self.affecteValeurDefaut('NbEcartType_MoyKIc_mess')
1187 self.texteCuve += self.affecteValeurDefaut('PalierDuctile_KIc')
1188 self.texteCuve += self.affecteValeurDefaut('CoefficientVariation_KIc')
1190 self.texteCuve+="#"+"\n"
1191 self.texteCuve+="# Correction plastique"+"\n"
1193 #DTV if self.dico_mot.has_key('TypeInitial'):
1194 #DTV if str(self.dico_mot["TypeInitial"])!='Defaut Debouchant':
1195 if self.dico_mot.has_key('CorrectionPlastique'):
1196 if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA (pour DSR et defaut decale)':
1197 self.texteCuve += self.affecteValeur('AttnCorrBeta','NON')
1198 if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique BETA attenuee (pour DSR et defaut decale)':
1199 self.texteCuve += self.affecteValeur('AttnCorrBeta','OUI')
1200 if str(self.dico_mot["CorrectionPlastique"])=='Correction plastique IRWIN (pour defaut debouchant)':
1201 self.texteCuve += self.affecteValeur('CorrIrwin','OUI')
1203 self.texteCuve += self.affecteValeurDefaut('AttnCorrBeta')
1205 self.texteCuve+="#"+"\n"
1206 self.texteCuve+="# Prise en compte de l'arret de fissure si DETERMINISTE"+"\n"
1208 self.texteCuve += self.ecritVariable('ArretDeFissure')
1209 self.texteCuve+="# - si ARRETFISSURE=OUI, fournir (INCRDEF, INCRDEF_MESSAGE), nbectKIa, KIAPAL, KIACDV"+"\n"
1210 if self.dico_mot.has_key('ArretDeFissure'):
1211 if str(self.dico_mot["ArretDeFissure"])=='OUI':
1212 self.texteCuve+="#"+"\n"
1213 self.texteCuve += self.ecritVariable('IncrementTailleFissure')
1214 self.texteCuve += self.ecritVariable('IncrementTailleFissure_mess')
1215 self.texteCuve+="#"+"\n"
1216 self.texteCuve+="# Parametres pour le calcul de la tenacite a l arret"+"\n"
1217 self.texteCuve += self.ecritVariable('NbEcartType_MoyKIa')
1218 self.texteCuve += self.ecritVariable('PalierDuctile_KIa')
1219 self.texteCuve += self.ecritVariable('CoefficientVariation_KIa')
1221 # Rubrique Etat initial
1222 self.texteCuve += self.rubrique('ETAT INITIAL')
1224 self.texteCuve+="# Profil radial de la temperature initiale dans la cuve"+"\n"
1225 self.texteCuve+="# abscisse (m) / temp initiale dans la cuve"+"\n"
1226 self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1227 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1228 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1229 if self.dico_mot.has_key('ProfilRadial_TemperatureInitiale'):
1230 self.imprime(2,(self.dico_mot["ProfilRadial_TemperatureInitiale"]))
1231 self.texteCuve += self.amontAval('Amont_TemperatureInitiale','Aval_TemperatureInitiale')
1233 self.texteCuve+=" 1.9940 287."+"\n"
1234 self.texteCuve+="CC"+"\n"
1235 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1236 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1238 self.texteCuve+="#"+"\n"
1239 self.texteCuve+="# Profils radiaux des contraintes residuelles dans la cuve"+"\n"
1240 self.texteCuve+="# abscisse (m) / sigma rr / sigma tt / sigma zz"+"\n"
1241 self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1242 if self.dico_mot.has_key('ProfilRadial_ContraintesInitiales'):
1243 self.imprime(4,(self.dico_mot["ProfilRadial_ContraintesInitiales"]))
1244 self.texteCuve += self.amontAval('Amont_ContraintesInitiales','Aval_ContraintesInitiales')
1246 self.texteCuve+="1.994 0. 0. 0."+"\n"
1247 self.texteCuve+="CC"+"\n"
1249 self.texteCuve+="#"+"\n"
1250 self.texteCuve+="# Prise en compte de coefficients sur les contraintes"+"\n"
1251 self.texteCuve += self.ecritVariable('ChoixCoefficientChargement')
1252 if str(self.dico_mot["ChoixCoefficientChargement"])=='OUI':
1253 self.texteCuve += self.ecritVariable('CoefficientDuctile')
1254 self.texteCuve += self.ecritVariable('CoefficientFragile')
1256 self.texteCuve+="#"+"\n"
1258 self.texteCuve+="#"+"\n"
1259 self.texteCuve+="# Instant initial"+"\n"
1260 self.texteCuve += self.ecritVariable('InstantInitialisation')
1262 # Rubrique CARACTERISTIQUES DU REVETEMENT
1263 self.texteCuve += self.rubrique('CARACTERISTIQUES DU REVETEMENT')
1265 if self.dico_mot.has_key('ConditionLimiteThermiqueREV'):
1266 self.texteCuve += self.affecteValeur('ConditionLimiteThermiqueREV', self.valeurproposee[str(self.dico_mot["ConditionLimiteThermiqueREV"])])
1268 self.texteCuve += self.affecteValeurDefaut('ConditionLimiteThermiqueREV')
1269 self.texteCuve+="# - si CHALEUR, fournir Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1270 self.texteCuve+="# - si ENTHALPIE, fournir Temperature (degC) / enthalpie (J/kg)"+"\n"
1271 self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1272 self.texteCuve+="#"+"\n"
1273 if self.dico_mot.has_key('ChaleurREV_Fct_Temperature'):
1274 self.texteCuve+="# Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1275 self.imprime(2,(self.dico_mot["ChaleurREV_Fct_Temperature"]))
1276 self.texteCuve += self.amontAval('Amont_ChaleurREV','Aval_ChaleurREV')
1277 elif self.dico_mot.has_key('EnthalpieREV_Fct_Temperature'):
1278 self.texteCuve+="# Temperature (degC) / enthalpie (J/kg)"+"\n"
1279 self.imprime(2,(self.dico_mot["EnthalpieREV_Fct_Temperature"]))
1280 self.texteCuve += self.amontAval('Amont_EnthalpieREV','Aval_EnthalpieREV')
1282 self.texteCuve+="# Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1283 self.texteCuve+="0. 36.03E5 "+"\n"
1284 self.texteCuve+="20. 36.03E5 "+"\n"
1285 self.texteCuve+="200. 41.65E5 "+"\n"
1286 self.texteCuve+="350. 43.47E5 "+"\n"
1287 self.texteCuve+="CC"+"\n"
1289 self.texteCuve+="#"+"\n"
1290 self.texteCuve+="# Temperature (degC) / conductivite thermique (W/m/degC)"+"\n"
1291 if self.dico_mot.has_key('ConductiviteREV_Fct_Temperature'):
1292 self.imprime(2,(self.dico_mot["ConductiviteREV_Fct_Temperature"]))
1293 self.texteCuve += self.amontAval('Amont_ConductiviteREV','Aval_ConductiviteREV')
1295 self.texteCuve+="0. 14.7 "+"\n"
1296 self.texteCuve+="20. 14.7 "+"\n"
1297 self.texteCuve+="200. 17.2 "+"\n"
1298 self.texteCuve+="350. 19.3 "+"\n"
1299 self.texteCuve+="CC"+"\n"
1301 self.texteCuve+="#"+"\n"
1302 self.texteCuve+="# Temperature (degC) / module d'Young (MPa)"+"\n"
1303 if self.dico_mot.has_key('ModuleYoungREV_Fct_Temperature'):
1304 self.imprime(2,(self.dico_mot["ModuleYoungREV_Fct_Temperature"]))
1305 self.texteCuve += self.amontAval('Amont_ModuleYoungREV','Aval_ModuleYoungREV')
1307 self.texteCuve+="0. 198500. "+"\n"
1308 self.texteCuve+="20. 197000. "+"\n"
1309 self.texteCuve+="200. 184000. "+"\n"
1310 self.texteCuve+="350. 172000. "+"\n"
1311 self.texteCuve+="CC"+"\n"
1313 self.texteCuve+="#"+"\n"
1314 self.texteCuve+="# Temperature (degC) / coefficient de dilatation thermique (degC-1)"+"\n"
1315 if self.dico_mot.has_key('CoeffDilatThermREV_Fct_Temperature'):
1316 self.imprime(2,(self.dico_mot["CoeffDilatThermREV_Fct_Temperature"]))
1317 self.texteCuve += self.amontAval('Amont_CoeffDilatThermREV','Aval_CoeffDilatThermREV')
1319 self.texteCuve+="0. 16.40E-6 "+"\n"
1320 self.texteCuve+="20. 16.40E-6 "+"\n"
1321 self.texteCuve+="200. 17.20E-6 "+"\n"
1322 self.texteCuve+="350. 17.77E-6 "+"\n"
1323 self.texteCuve+="CC"+"\n"
1325 self.texteCuve+="#"+"\n"
1326 self.texteCuve+="# Temperature (degC) / limite d'elasticite (MPa)"+"\n"
1327 if self.dico_mot.has_key('LimiteElasticiteREV_Fct_Temperature'):
1328 self.imprime(2,(self.dico_mot["LimiteElasticiteREV_Fct_Temperature"]))
1329 self.texteCuve += self.amontAval('Amont_LimiteElasticiteREV','Aval_LimiteElasticiteREV')
1331 self.texteCuve+="0. 380. "+"\n"
1332 self.texteCuve+="20. 370. "+"\n"
1333 self.texteCuve+="100. 330. "+"\n"
1334 self.texteCuve+="300. 270. "+"\n"
1335 self.texteCuve+="LL"+"\n"
1337 self.texteCuve+="#"+"\n"
1338 self.texteCuve += self.ecritVariable('TemperatureDeformationNulleREV')
1339 self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermREV')
1340 self.texteCuve += self.ecritVariable('CoefficientPoissonREV')
1342 # Rubrique CARACTERISTIQUES DU METAL DE BASE
1343 self.texteCuve += self.rubrique('CARACTERISTIQUES DU METAL DE BASE')
1345 if self.dico_mot.has_key('ConditionLimiteThermiqueMDB'):
1346 self.texteCuve += self.affecteValeur('ConditionLimiteThermiqueMDB', self.valeurproposee[str(self.dico_mot["ConditionLimiteThermiqueMDB"])])
1348 self.texteCuve += self.affecteValeurDefaut('ConditionLimiteThermiqueMDB')
1350 self.texteCuve+="# - si CHALEUR, fournir Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1351 self.texteCuve+="# - si ENTHALPIE, fournir Temperature (degC) / enthalpie (J/kg)"+"\n"
1352 self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1353 self.texteCuve+="#"+"\n"
1355 if self.dico_mot.has_key('ChaleurMDB_Fct_Temperature'):
1356 self.texteCuve+="# Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1357 self.imprime(2,(self.dico_mot["ChaleurMDB_Fct_Temperature"]))
1358 self.texteCuve += self.amontAval('Amont_ChaleurMDB','Aval_ChaleurMDB')
1359 elif self.dico_mot.has_key('EnthalpieMDB_Fct_Temperature'):
1360 self.texteCuve+="# Temperature (degC) / enthalpie (J/kg)"+"\n"
1361 self.imprime(2,(self.dico_mot["EnthalpieMDB_Fct_Temperature"]))
1362 self.texteCuve += self.amontAval('Amont_EnthalpieMDB','Aval_EnthalpieMDB')
1364 self.texteCuve+="# Temperature (degC) / chaleur volumique (J/kg/K)"+"\n"
1365 self.texteCuve+="0. 34.88E+05 "+"\n"
1366 self.texteCuve+="20. 34.88E+05 "+"\n"
1367 self.texteCuve+="200. 40.87E+05 "+"\n"
1368 self.texteCuve+="350. 46.02E+05 "+"\n"
1369 self.texteCuve+="CC"+"\n"
1371 self.texteCuve+="#"+"\n"
1372 self.texteCuve+="# Temperature (degC) / conductivite thermique (W/m/degC)"+"\n"
1373 if self.dico_mot.has_key('ConductiviteMDB_Fct_Temperature'):
1374 self.imprime(2,(self.dico_mot["ConductiviteMDB_Fct_Temperature"]))
1375 self.texteCuve += self.amontAval('Amont_ConductiviteMDB','Aval_ConductiviteMDB')
1377 self.texteCuve+="0. 37.7 "+"\n"
1378 self.texteCuve+="20. 37.7 "+"\n"
1379 self.texteCuve+="200. 40.5 "+"\n"
1380 self.texteCuve+="350. 38.7 "+"\n"
1381 self.texteCuve+="CC"+"\n"
1383 self.texteCuve+="#"+"\n"
1384 self.texteCuve+="# Temperature (degC) / module d'Young (MPa)"+"\n"
1385 if self.dico_mot.has_key('ModuleYoungMDB_Fct_Temperature'):
1386 self.imprime(2,(self.dico_mot["ModuleYoungMDB_Fct_Temperature"]))
1387 self.texteCuve += self.amontAval('Aval_ModuleYoungMDB','Aval_ModuleYoungMDB')
1389 self.texteCuve+="0. 205000. "+"\n"
1390 self.texteCuve+="20. 204000. "+"\n"
1391 self.texteCuve+="200. 193000. "+"\n"
1392 self.texteCuve+="350. 180000. "+"\n"
1393 self.texteCuve+="CC"+"\n"
1395 self.texteCuve+="#"+"\n"
1396 self.texteCuve+="# Temperature (degC) / coefficient de dilatation thermique (degC-1)"+"\n"
1397 if self.dico_mot.has_key('CoeffDilatThermMDB_Fct_Temperature'):
1398 self.imprime(2,(self.dico_mot["CoeffDilatThermMDB_Fct_Temperature"]))
1399 self.texteCuve += self.amontAval('Amont_CoeffDilatThermMDB','Aval_CoeffDilatThermMDB')
1401 self.texteCuve+="0. 11.22E-6 "+"\n"
1402 self.texteCuve+="20. 11.22E-6 "+"\n"
1403 self.texteCuve+="200. 12.47E-6 "+"\n"
1404 self.texteCuve+="350. 13.08E-6 "+"\n"
1405 self.texteCuve+="CC"+"\n"
1407 self.texteCuve+="#"+"\n"
1408 self.texteCuve += self.ecritVariable('TemperatureDeformationNulleMDB')
1409 self.texteCuve += self.ecritVariable('TemperaturePourCoefDilatThermMDB')
1410 self.texteCuve += self.ecritVariable('CoefficientPoissonMDB')
1412 # Rubrique CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE
1413 self.texteCuve += self.rubrique('CARACTERISTIQUES DU TRANSITOIRE MECANIQUE-THERMOHYDRAULIQUE')
1414 self.texteCuve += self.sousRubrique('Chargement mecanique : transitoire de pression','')
1416 self.texteCuve+="# instant (s) / pression (MPa)"+"\n"
1417 self.texteCuve+="# Prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1418 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1419 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1420 if self.dico_mot.has_key('ProfilTemporel_Pression'):
1421 self.imprime(2,(self.dico_mot["ProfilTemporel_Pression"]))
1422 self.texteCuve += self.amontAval('Amont_Pression','Aval_Pression')
1424 self.texteCuve+="0. 15.5 "+"\n"
1425 self.texteCuve+="20. 0.1 "+"\n"
1426 self.texteCuve+="200. 0.1 "+"\n"
1427 self.texteCuve+="1000. 0.1 "+"\n"
1428 self.texteCuve+="CC"+"\n"
1429 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1430 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1432 self.texteCuve += self.sousRubrique('Chargement thermo-hydraulique','')
1433 if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1434 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1435 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1436 self.texteCuve += self.affecteValeur('TypeConditionLimiteThermique', self.valeurproposee[str(self.dico_mot["TypeConditionLimiteThermique"])])
1437 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1438 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1440 self.texteCuve += self.affecteValeurDefaut('TypeConditionLimiteThermique')
1442 self.texteCuve+="# - si TEMP_IMPO, fournir Instant (s) / Temperature imposee (degC)"+"\n"
1443 self.texteCuve+="# - si FLUX_REP, fournir Instant (s) / Flux de chaleur impose (W/m2)"+"\n"
1444 self.texteCuve+="# - si ECHANGE, fournir Instant (s) / Temperature impose (degC)"+"\n"
1445 self.texteCuve+="# puis Instant (s) / Coefficient d echange (W/m2/K)"+"\n"
1446 self.texteCuve+="# - si DEBIT, fournir Instant (s) / Debit massique (kg/s)"+"\n"
1447 self.texteCuve+="# puis Instant (s) / Temperature d injection de securite (degC)"+"\n"
1448 self.texteCuve+="# puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1449 self.texteCuve+="# puis Modele CREARE : "+"\n"
1450 self.texteCuve+="# Instants(s) / Volume de melange CREARE (m3)"+"\n"
1451 self.texteCuve+="# puis (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
1452 self.texteCuve+="# - si TEMP_FLU, fournir Instant (s) / Temperature du fluide (degC)"+"\n"
1453 self.texteCuve+="# puis Instant (s) / Debit d injection de securite (kg/s)"+"\n"
1454 self.texteCuve+="# puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1455 self.texteCuve+="# - si TFDEBIT, fournir INST_PCN et TIS"+"\n"
1456 self.texteCuve+="# fournir Instant (s) / Temperature du fluide (degC)"+"\n"
1457 self.texteCuve+="# puis Instant (s) / Debit d injection de securite (kg/s)"+"\n"
1458 self.texteCuve+="# puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1459 self.texteCuve+="# puis Modele CREARE : "+"\n"
1460 self.texteCuve+="# Instants(s) / Volume de melange CREARE (m3)"+"\n"
1461 self.texteCuve+="# puis (T0, T0_MESSAGE), (SE, SE_MESSAGE)"+"\n"
1462 self.texteCuve+="# - si APRP, fournir INSTANT1, INSTANT2, INSTANT3, QACCU, QIS, (TIS, TIS_MESSAGE)"+"\n"
1463 self.texteCuve+="# puis Instant (s) / Temperature du fluide (degC) tel que dans l'exemple ci-dessous"+"\n"
1464 self.texteCuve+="# 0. 286."+"\n"
1465 self.texteCuve+="# 12. 20. # 1er palier à T=TACCU"+"\n"
1466 self.texteCuve+="# 20. 20. # idem que ci-dessus : T=TACCU"+"\n"
1467 self.texteCuve+="# 21. 999999. # 2nd palier à T=T1 : sera remplace par nouvelle valeur calculee par fonction idoine"+"\n"
1468 self.texteCuve+="# 45. 999999. # idem que ci-dessus : T=T1"+"\n"
1469 self.texteCuve+="# 46. 9. # 3eme palier à T=TIS, temperature d injection de securite : sa valeur est reactualisee avec la donnee de TIS ci-dessous"+"\n"
1470 self.texteCuve+="# 1870. 9. # idem que ci-dessus : T=TIS"+"\n"
1471 self.texteCuve+="# 1871. 80."+"\n"
1472 self.texteCuve+="# 3871. 80."+"\n"
1473 self.texteCuve+="# CC # C pour Constant, E pour Exclu, L pour Lineaire"+"\n"
1474 self.texteCuve+="# puis Instant (s) / Debit d injection de securite (kg/s)"+"\n"
1475 self.texteCuve+="# puis Modele VESTALE : (DH, DH_MESSAGE), (SECTION, SECTION_MESSAGE), (DELTA, DELTA_MESSAGE), EPS, COEFVESTALE"+"\n"
1476 self.texteCuve+="# Finir chacune des listes par la prolongation aux frontieres amont et aval: C = constant / E = exclu / L = lineaire"+"\n"
1477 self.texteCuve+="#"+"\n"
1479 if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1481 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1482 self.texteCuve+="#"+"\n"
1483 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1484 self.texteCuve += self.ecritVariable('InstantPerteCirculationNaturelle')
1485 self.texteCuve += self.ecritVariable('TempInjectionSecurite')
1486 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1488 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1489 self.texteCuve+="#"+"\n"
1490 self.texteCuve+="# Definition de parametres pour le cas d un transitoire APRP"+"\n"
1491 self.texteCuve += self.ecritVariable('Instant_1')
1492 self.texteCuve += self.ecritVariable('Instant_2')
1493 self.texteCuve += self.ecritVariable('Instant_3')
1494 self.texteCuve += self.ecritVariable('DebitAccumule')
1495 self.texteCuve += self.ecritVariable('DebitInjectionSecurite')
1496 self.texteCuve += self.ecritVariable('TempInjectionSecurite')
1497 self.texteCuve += self.ecritVariable('TempInjectionSecurite_mess')
1499 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee en paroi' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
1500 self.texteCuve+="#"+"\n"
1501 self.texteCuve+="# instant (s) / temperature imposee du fluide (degC)"+"\n"
1502 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1503 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1504 if self.dico_mot.has_key('ProfilTemporel_TemperatureImposeeFluide'):
1505 self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureImposeeFluide"]))
1506 self.texteCuve += self.amontAval('Amont_TemperatureImposeeFluide','Aval_TemperatureImposeeFluide')
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 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1514 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1516 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Flux de chaleur impose en paroi':
1517 self.texteCuve+="#"+"\n"
1518 self.texteCuve+="# instant (s) / flux de chaleur impose (W/m2)"+"\n"
1519 if self.dico_mot.has_key('ProfilTemporel_FluxChaleur'):
1520 self.imprime(2,(self.dico_mot["ProfilTemporel_FluxChaleur"]))
1521 self.texteCuve += self.amontAval('Amont_FluxChaleur','Aval_FluxChaleur')
1522 self.texteCuve+="#"+"\n"
1524 self.texteCuve+="0. -0. "+"\n"
1525 self.texteCuve+="20. -366290. "+"\n"
1526 self.texteCuve+="200. -121076. "+"\n"
1527 self.texteCuve+="1000. -56372."+"\n"
1528 self.texteCuve+="CC"+"\n"
1530 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP':
1531 self.texteCuve+="#"+"\n"
1532 self.texteCuve+="# instant (s) / Debit d injection de securite (kg/s)"+"\n"
1533 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1534 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1535 if self.dico_mot.has_key('ProfilTemporel_DebitInjection'):
1536 self.imprime(2,(self.dico_mot["ProfilTemporel_DebitInjection"]))
1537 self.texteCuve += self.amontAval('Amont_DebitInjection','Aval_DebitInjection')
1539 self.texteCuve+="0. 4590. "+"\n"
1540 self.texteCuve+="20. 4590. "+"\n"
1541 self.texteCuve+="200. 340. "+"\n"
1542 self.texteCuve+="1000. 31.1 "+"\n"
1543 self.texteCuve+="CC"+"\n"
1544 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1545 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1547 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et coefficient echange' :
1548 self.texteCuve+="#"+"\n"
1549 self.texteCuve+="# instant (s) / Coefficient d echange (W/m2/K)"+"\n"
1550 if self.dico_mot.has_key('ProfilTemporel_CoefficientEchange'):
1551 self.imprime(2,(self.dico_mot["ProfilTemporel_CoefficientEchange"]))
1552 self.texteCuve += self.amontAval('Amont_CoefficientEchange','Aval_CoefficientEchange')
1554 self.texteCuve+="0. 138454. "+"\n"
1555 self.texteCuve+="20. 19972. "+"\n"
1556 self.texteCuve+="200. 2668. "+"\n"
1557 self.texteCuve+="1000. 2668. "+"\n"
1558 self.texteCuve+="CC"+"\n"
1560 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' :
1561 self.texteCuve+="#"+"\n"
1562 self.texteCuve+="# instant (s) / Debit massique (kg/s)"+"\n"
1563 if self.dico_mot.has_key('ProfilTemporel_DebitMassique'):
1564 self.imprime(2,(self.dico_mot["ProfilTemporel_DebitMassique"]))
1565 self.texteCuve += self.amontAval('Amont_DebitMassique','Aval_DebitMassique')
1567 self.texteCuve+="0. 18.4 "+"\n"
1568 self.texteCuve+="20. 18.4 "+"\n"
1569 self.texteCuve+="200. 31.1 "+"\n"
1570 self.texteCuve+="1000. 31.1 "+"\n"
1571 self.texteCuve+="CC"+"\n"
1573 self.texteCuve+="#"+"\n"
1574 self.texteCuve+="# instant (s) / Temperature d injection de securite (degC)"+"\n"
1575 if self.dico_mot.has_key('ProfilTemporel_TemperatureInjection'):
1576 self.imprime(2,(self.dico_mot["ProfilTemporel_TemperatureInjection"]))
1577 self.texteCuve += self.amontAval('Amont_TemperatureInjection','Aval_TemperatureInjection')
1579 self.texteCuve+="0. 7.0 "+"\n"
1580 self.texteCuve+="20. 7.0 "+"\n"
1581 self.texteCuve+="200. 7.0 "+"\n"
1582 self.texteCuve+="1000. 7.0 "+"\n"
1583 self.texteCuve+="CC"+"\n"
1585 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Temperature imposee du fluide et debit d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Courbe APRP' :
1586 self.texteCuve+="#"+"\n"
1587 self.texteCuve+="# Transitoire des coefficients d echange : modele VESTALE"+"\n"
1588 self.texteCuve+="#"+"\n"
1589 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1590 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1591 self.texteCuve += self.ecritVariable('DiametreHydraulique')
1592 self.texteCuve += self.ecritVariable('DiametreHydraulique_mess')
1593 self.texteCuve+="#"+"\n"
1594 self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire')
1595 self.texteCuve += self.ecritVariable('SectionEspaceAnnulaire_mess')
1596 self.texteCuve+="#"+"\n"
1597 self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle')
1598 self.texteCuve += self.ecritVariable('HauteurCaracConvectionNaturelle_mess')
1599 self.texteCuve+="#"+"\n"
1600 self.texteCuve += self.ecritVariable('CritereConvergenceRelative')
1601 self.texteCuve += self.ecritVariable('CoefficientsVestale')
1602 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1603 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1605 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Debit massique et temperature d injection de securite' or str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' :
1606 self.texteCuve+="#"+"\n"
1607 self.texteCuve+="# Transitoire de temperature fluide locale : modele CREARE"+"\n"
1608 self.texteCuve+="#"+"\n"
1609 #self.texteCuve += self.ecritVariable('VolumeMelange_CREARE')
1610 self.texteCuve+="# instant (s) / Volume de melange CREARE (m3)"+"\n"
1611 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1612 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1613 if self.dico_mot.has_key('ProfilTemporel_VolumeMelange_CREARE'):
1614 self.imprime(2,(self.dico_mot["ProfilTemporel_VolumeMelange_CREARE"]))
1615 self.texteCuve += self.amontAval('Amont_VolumeMelange_CREARE','Aval_VolumeMelange_CREARE')
1617 self.texteCuve+="0. 14.3 "+"\n"
1618 self.texteCuve+="20. 14.2 "+"\n"
1619 self.texteCuve+="CC"+"\n"
1620 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1621 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1623 self.texteCuve+="#"+"\n"
1624 self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE')
1625 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1626 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1627 self.texteCuve += self.ecritVariable('TemperatureInitiale_CREARE_mess')
1628 self.texteCuve+="#"+"\n"
1629 self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure')
1630 self.texteCuve += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
1631 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT':
1632 self.texteCuve+="#BLOC_TFDEBIT"+"\n"
1634 self.texteCuve+="#"+"\n"
1635 self.texteCuve+="# instant (s) / temperature imposee du fluide (degC)"+"\n"
1636 self.texteCuve+="0. 286. "+"\n"
1637 self.texteCuve+="20. 20. "+"\n"
1638 self.texteCuve+="200. 7. "+"\n"
1639 self.texteCuve+="1000. 80. "+"\n"
1640 self.texteCuve+="CC"+"\n"
1641 self.texteCuve+="#"+"\n"
1642 self.texteCuve+="############################################################################################"+"\n"
1645 def genereTexteTFDEBIT(self):
1647 self.texteTFDEBIT = ""
1649 if self.dico_mot.has_key('TypeConditionLimiteThermique'):
1650 if str(self.dico_mot["TypeConditionLimiteThermique"])=='Calcul TEMPFLU puis DEBIT' :
1651 self.texteTFDEBIT+="# instant (s) / pression (MPa)"+"\n"
1652 self.texteTFDEBIT+=" "+"\n"
1653 self.imprime2(2,(self.dico_mot["ProfilTemporel_Pression"]))
1654 self.texteTFDEBIT += self.amontAval('Amont_Pression','Aval_Pression')
1656 # self.texteTFDEBIT+=" "+"\n"
1657 # self.texteTFDEBIT += self.affecteValeur('TypeConditionLimiteThermique', self.valeurproposee[str(self.dico_mot["TypeConditionLimiteThermique"])])
1659 self.texteTFDEBIT+=" "+"\n"
1660 self.imprime2(2,(self.dico_mot["ProfilTemporel_TemperatureImposeeFluide"]))
1661 self.texteTFDEBIT += self.amontAval('Amont_TemperatureImposeeFluide','Aval_TemperatureImposeeFluide')
1663 self.texteTFDEBIT+=" "+"\n"
1664 self.imprime2(2,(self.dico_mot["ProfilTemporel_DebitInjection"]))
1665 self.texteTFDEBIT += self.amontAval('Amont_DebitInjection','Aval_DebitInjection')
1667 self.texteTFDEBIT+=" "+"\n"
1668 self.texteTFDEBIT += self.ecritVariable('DiametreHydraulique')
1669 self.texteTFDEBIT += self.ecritVariable('DiametreHydraulique_mess')
1670 self.texteTFDEBIT+="#"+"\n"
1671 self.texteTFDEBIT += self.ecritVariable('SectionEspaceAnnulaire')
1672 self.texteTFDEBIT += self.ecritVariable('SectionEspaceAnnulaire_mess')
1673 self.texteTFDEBIT+="#"+"\n"
1674 self.texteTFDEBIT += self.ecritVariable('HauteurCaracConvectionNaturelle')
1675 self.texteTFDEBIT += self.ecritVariable('HauteurCaracConvectionNaturelle_mess')
1676 self.texteTFDEBIT+="#"+"\n"
1677 self.texteTFDEBIT += self.ecritVariable('CritereConvergenceRelative')
1678 self.texteTFDEBIT += self.ecritVariable('CoefficientsVestale')
1680 self.texteTFDEBIT+=" "+"\n"
1681 self.imprime2(2,(self.dico_mot["ProfilTemporel_VolumeMelange_CREARE"]))
1682 self.texteTFDEBIT += self.amontAval('Amont_VolumeMelange_CREARE','Aval_VolumeMelange_CREARE')
1684 self.texteTFDEBIT+=" "+"\n"
1685 self.texteTFDEBIT += self.ecritVariable('SurfaceEchange_FluideStructure')
1686 self.texteTFDEBIT += self.ecritVariable('SurfaceEchange_FluideStructure_mess')
1687 self.texteTFDEBIT += self.ecritVariable('InstantPerteCirculationNaturelle')
1688 self.texteTFDEBIT += self.ecritVariable('TempInjectionSecurite')
1690 self.texteTFDEBIT+="Fichier inutile"+"\n"
1693 def imprime(self,nbdeColonnes,valeur):
1695 self.transforme(valeur)
1697 while i < len(self.liste):
1698 for k in range(nbdeColonnes) :
1699 self.texteCuve+=str(self.liste[i+k]) +" "
1700 self.texteCuve+="\n"
1703 def imprime2(self,nbdeColonnes,valeur):
1705 self.transforme(valeur)
1707 while i < len(self.liste):
1708 for k in range(nbdeColonnes) :
1709 self.texteTFDEBIT+=str(self.liste[i+k]) +" "
1710 self.texteTFDEBIT+="\n"
1714 def transforme(self,valeur):
1716 if type(i) == tuple :
1719 self.liste.append(i)