1 # -*- coding: utf-8 -*-
7 JdC = JDC_CATA(code="DESCARTES",
14 def __init__(self,**args):
15 apply(ASSD.__init__,(self,),args)
16 name=string.ljust(self.__class__.__name__[:12],12)
18 def __getitem__(self,attrname):
19 return self.etape[attrname]
22 if hasattr(self,'_dbsun'):return self._dbsun
31 # Definition des types d'objet qui seront produits par les commandes
32 # Il suffit de declarer une classe qui derive de la classe mere TObjet
33 # qui derive elle meme de la classe ASSD utilisee dans EFICAS
35 class Isotope (TObjet):pass
36 class BornesEnergie (TObjet):pass
37 class BibliothequeIsotopes (TObjet):pass
38 class ChaineFiliation(TObjet) :pass
39 class Materiau (TObjet):pass
40 class Point (TObjet):pass
41 class Vecteur (TObjet):pass
42 class Droite (TObjet):pass
43 class Segment (TObjet):pass
44 class ArcCercle (TObjet):pass
45 class Secteur (TObjet):pass
46 class Conique (TObjet):pass
47 class Triangle (TObjet):pass
48 class Rectangle (TObjet):pass
49 class Carre (TObjet):pass
50 class Hexagone (TObjet):pass
51 class Polygone (TObjet):pass
52 class Sphere (TObjet):pass
53 class BoiteRectangulaire (TObjet):pass
54 class BoiteGenerale (TObjet):pass
55 class CylindreX (TObjet):pass
56 class CylindreY (TObjet):pass
57 class CylindreZ (TObjet):pass
58 class Cylindre (TObjet):pass
59 class Cone (TObjet):pass
60 class PrismeHexagonal (TObjet):pass
61 class Tore (TObjet):pass
62 class Plan (TObjet):pass
63 class PlanX (TObjet):pass
64 class PlanY (TObjet):pass
65 class PlanZ (TObjet):pass
66 class Polyedre (TObjet):pass
67 class Quadrique (TObjet):pass
68 class Cellule(TObjet) :pass
69 class Cluster(TObjet):pass
70 class Orientation(TObjet):pass
71 class FormePositionnee (TObjet):pass
72 class GeometrieSurfacique(TObjet):pass
73 class GeometrieCombinatoire(TObjet):pass
74 class Reseau(TObjet):pass
75 class GrilleAssemblage (TObjet):pass
76 class PartieInferieureAssemblageCombustible (TObjet):pass
77 class PartieSuperieureAssemblageCombustible (TObjet):pass
78 class OptionsAutoprotection(TObjet):pass
79 class AssemblageType(TObjet):pass
80 class AssemblageCombustibleCharge (TObjet):pass
81 class ElementBarre (TObjet):pass
82 class ElementsGrappeCommande (TObjet):pass
83 class ElementsAbsorbantsFixes (TObjet):pass
84 class GrappeBouchonAssemblage (TObjet):pass
85 #class ElementsAssemblage (TObjet):pass
86 class SystemeUnitesMesure (TObjet):pass
87 class Vide (TObjet):pass
88 class ReflexionIsotrope (TObjet):pass
89 class ReflexionSpeculaire (TObjet):pass
90 class Albedo (TObjet):pass
91 class Translation (TObjet):pass
92 class Rotation (TObjet):pass
93 class ConditionLimiteSpeciale (TObjet):pass
94 class ConditionLimiteGenerale (TObjet):pass
95 class CorrespondanceReperePositionReseau (TObjet):pass
96 class PositionAssemblageCombustible (TObjet):pass
97 class PositionInstrumentationInterne (TObjet):pass
98 class PositionGrappesCommande (TObjet):pass
99 class StructuresInternesReacteur (TObjet):pass
100 class CaracteristiquesPalier (TObjet):pass
101 class SiteNucleaire (TObjet):pass
102 class EspaceVariations (TObjet):pass
103 class DonneesEvolutionIrradiation (TObjet):pass
104 class ConditionsFonctionnementMoyennes (TObjet):pass
105 #class PlanChargementCoeur (TObjet):pass
106 class DateClesCampagne (TObjet):pass
107 class OptionsCodes (TObjet):pass
108 class DonneesGeneralesEtude (TObjet):pass
111 # ----------------------------------------------------------------------------------------------------------------------------------
112 # Classe ISOTOPE : Classe de definition d'un isotope
113 # Caracteristiques elementaires des isotopes ou molecules et liens avec les bibliotheques de donnees nucleaires
114 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
115 ISOTOPE=OPER(nom="ISOTOPE",sd_prod=Isotope,op=0,
117 fr = "Definition d'un isotope ou d'une molecule et de ses bibliotheques",
118 ang = "Isotope or Molecule definition and data libraries",
119 Symbole = SIMP (typ='TXM',statut='o'),
120 MasseAtomique = SIMP (typ='R',statut='o',fr="Masse atomique en uma"),
121 NombreDeCharge = SIMP (typ='I',statut='o',fr="Nombre de charge atomique Z"),
122 NombreDeMasse = SIMP (typ='I',statut='o',fr="Nombre de masse atomique A"),
123 Type = SIMP (typ='TXM',statut='f',into=('Standard','Detecteur','Structure','Poison'),fr="Type de l'isotope"),
124 ConstituantsChimiques = SIMP (typ='TXM',max='**',statut='f',fr="Symboles des constituants elementaires de la molecule"),
125 NomsBibliotheque = NUPL ( max = '**',
127 elements = ( SIMP (typ='TXM',fr="Identificateur Procedure Bibliotheque"),
128 SIMP (typ='TXM',fr="Identifiant de l'isotope dans la bibliotheque"))),
129 NomsBibliothequeAutoprotegee = NUPL ( max = '**',
131 elements = ( SIMP (typ='TXM',fr="Identificateur Procedure Bibliotheque"),
132 SIMP (typ='TXM',fr="Identifiant Bibliotheque autoprotegee de l'isotope")))
134 # ----------------------------------------------------------------------------------------------------------------------------------
135 # Classe BORNES_ENERGIE : Classe de definition des limites en energie d'un maillage multigroupe
137 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
138 BORNES_ENERGIE=OPER(nom="BORNES_ENERGIE",sd_prod=BornesEnergie,op=0,
139 fr = "Definition d une discretisation de l espace energetique",
140 ang = "Definition of an energy discretisation",
141 NbMacrogroupes = SIMP (typ='I',statut='o',fr="Nombre de macrogroupes du maillage energetique"),
142 BornesEnergetiques = SIMP (typ='R',max='**',statut='o',fr="Bornes en energie du maillage energetique"),
144 # -----------------------------------------------------------------------------------------------------------------------------------
145 # Classe BIBLIOTHEQUE_ISOTOPES : Classe de definition d'une bibliotheque des donnees nucleaires d'isotopes ou de molecules
146 # Caracteristiques elementaires des isotopes ou molecules
147 # et liens avec les bibliotheques de donnees nucleaires
148 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
149 BIBLIOTHEQUE_ISOTOPES=OPER(nom="BIBLIOTHEQUE_ISOTOPES",sd_prod=BibliothequeIsotopes,op=0,
151 fr = "Definition d une bibliotheque de donnees nucleaires des isotopes",
152 ang = "Definition of an isotopic nuclear data library",
153 Description = SIMP (typ='TXM',statut='f'),
157 SystemeExploitation = SIMP (typ='TXM',fr="Systeme d'exploitation"),
158 NomFichier = SIMP (typ='TXM',fr="Nom du fichier"),
159 FormatFichier = SIMP (typ='TXM',fr="Format du fichier",statut='f'),
160 BornesEnergetiques = SIMP (typ=BornesEnergie,statut='f',fr="Bornes en eV du maillage en energie"))
162 # -----------------------------------------------------------------------------------------------------------------------------------
163 # Classe CHAINE_FILIATION : Classe de definition des filiations isotopiques dues aux transmutations
164 # sous irradiation neutronique.
165 # Description textuelle sous format (APOLLO2, SUNSET ou DARWIN) ou description particuliere Descartes.
166 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
167 CHAINE_FILIATION = OPER (nom="CHAINE_FILIATION",op=0,sd_prod=ChaineFiliation,
169 fr = "Definition d'une chaine de filiation isotopique sous irradiation",
170 ang = "Definition of a depletion chain",
171 NombreIsotopes = SIMP (typ='I',statut='o',fr="Nombre d'isotopes decrits dans la chaine"),
172 ChaineAPOLLO2 = SIMP (typ='TXM',statut='f',fr="Description de la chaine sous format APOLLO2"),
173 ChaineSUNSET = SIMP (typ='TXM',statut='f',fr="Description de la chaine sous format SUNSET"),
174 ChaineDARWIN = SIMP (typ='TXM',statut='f',fr="Nom du fichier contenant la description DARWIN de la chaine"),
175 Isotopes = FACT ( max = '**', statut = 'f',
176 Isotope = FACT ( max = '**', statut = 'f',
177 IsotopePere = SIMP (typ=Isotope,fr="Nom isotope pere",statut='o'),
178 TypeReaction = SIMP (typ='TXM',fr="Type de reaction",statut='o'),
179 RapportBranchement = SIMP (typ='R',fr="Rapport de branchement",defaut=1.,statut='f')
183 # -----------------------------------------------------------------------------------------------------------------------------------
184 # Classe MATERIAU : Classe de définition d'un matériau à partir de mélange d'isotopes ou de matériaux.
185 # Définition alternative par donnée des enrichissements
186 # Caractéristiques fournies a 20 C.
187 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
188 MATERIAU=OPER(nom="MATERIAU",op=0,sd_prod=Materiau,
190 fr = "Definition d'un materiau",
191 ang = "Definition of a mixture",
192 TypeDefinition = SIMP (typ='TXM',statut='f',defaut="Isotopique",into=("Isotopique","Enrichissement")),
193 BlocIsotopique = BLOC (condition = "TypeDefinition=='Isotopique'",
194 Type = SIMP ( statut = 'o',
196 into = ('Absorbant','Combustible','Melange','ModerateurInterne','ModerateurExterne','Detecteur',
197 'Grille','Gaine','Tube','Poison','PoisonConsommable','AbsorbantIntegre',
198 'Solide','Liquide','Gaz','MateriauVide'),
199 defaut = 'Combustible'),
200 MethodeMelange = SIMP (statut='o',typ='TXM',into=('Isotopique','Massique','Concentration'),defaut='Massique'),
201 Constituants = NUPL ( statut = 'o',
203 elements = (SIMP (typ=(Isotope,Materiau)),SIMP (typ='R')),
204 fr = "Couples (Isotope ou Materiau) et (Pourcentage ou Cencentration)")
206 BlocEnrichissement = BLOC (condition = "TypeDefinition=='Enrichissement'",
207 Type = SIMP (typ='TXM',into=('UO2','MOX','UO2Gadolinium','MOXGadolinium'),statut='o'),
208 EnrichissementU235 = SIMP (typ=('R','TXM'),defaut=3.7,statut='f',fr="Enrichissement % en U235 du combustible"),
209 EnrichissementPu = SIMP (typ=('R','TXM'),defaut=0.,statut='f',fr="Enrichissement % en plutonium du combustible"),
210 EnrichissementGado = SIMP (typ=('R','TXM'),defaut=0.,statut='f',fr="Enrichissement % en Gd2O3 du combustible"),
211 VecteurPu = NUPL ( max='**',statut='f',
212 elements=( SIMP (typ=Isotope,fr="Nom isotope du plutonium"),
213 SIMP (typ='R',fr="Pourcentage isotopique"))),
214 DateReference = SIMP (typ='I',min=3,max=3,statut='f',fr="Date J M A de reference du combustible"),
215 DateDivergence = SIMP (typ='I',min=3,max=3,statut='f',fr="Date J M A de divergence du reacteur ou ce combustible est charge"),
216 VieillissementJours = SIMP ( typ = 'R',
219 fr = "Nbre de jours de vieillissement du combustible, calculable si on donne DateDivergence")),
220 MasseVolumique = SIMP (statut='f',typ=('R','I','TXM'),fr="Masse volumique theorique du materiau g/cm3"),
221 TauxEvidement = SIMP (statut='f',typ=('R','I'),fr="Taux % d'evidement du materiau"),
222 TauxPorosite = SIMP (statut='f',typ=('R','I'),fr="Taux % de porosite du materiau"),
223 Temperature = SIMP (statut='f',typ=('R','I','TXM'),fr="Temperature en Celsius du materiau"),
224 GazRemplissage = SIMP (statut='f',typ=(Isotope,Materiau),defaut='HE4',fr="Gaz de remplissage des evidements du materiau solide"),
225 PressionInitialeGaz = SIMP (statut='f',typ=('R','I'),defaut=32.,fr="Pression en bars du gaz de remplissage des evidements"),
226 DilatationLineaire = SIMP (statut='f',typ=('R','I'),fr="Coefficient de dilatation thermique lineaire cm/C du materiau"),
227 Chaine = SIMP (statut='f',typ=ChaineFiliation,defaut='ChaineSaturee',fr="Chaine de filiation isotopique associee au materiau"),
228 TauxImpuretes = SIMP (statut='f',typ=('R','I'),fr="Taux % d'impuretes")
230 # ==================================================================================================================================
231 # Definition des Classes elementaires pour la geometrie
232 # ==================================================================================================================================
233 # Classe POINT : Classe de definition d'un point de l'espace
234 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
235 POINT = OPER (nom="POINT",op=0,sd_prod=Point,
237 fr = "Definition d'un point de l'espace",
238 ang = "Definition of a point in space",
239 Coordonnees = SIMP (typ='R',min=2,max=3,statut='o',fr="Coordonnees du point dans l'espace")
241 # -----------------------------------------------------------------------------------------------------------------------------------
242 # Classe VECTEUR : Classe de definition d'un vecteur dans l'espace
243 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
244 VECTEUR = OPER (nom="VECTEUR",op=0,sd_prod=Vecteur,
246 fr = "Definition d'un vecteur dans l'espace",
247 ang = "Definition of a vector in space",
248 regles = (UN_PARMI ('Composantes','Points')),
249 Composantes = SIMP (typ='R',min=2,max=3,statut='f',fr="Composantes du vecteur en 2D ou 3D"),
250 Points = SIMP (typ=Point,min=2,max=2,statut='f',fr="Vecteur defini par deux points") ) ;
251 # -----------------------------------------------------------------------------------------------------------------------------------
252 # Classe DROITE : Classe de definition d'une droite
253 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
254 DROITE = OPER (nom="DROITE",op=0,sd_prod=Droite,
256 fr = "Definition d'une droite par 2 POINTs, 1 POINT et 1 VECTEUR, ou Equation ax + by + cz + d = 0",
257 ang = "Definition of a straight line with 2 POINTs or with Equation ax + by + cz + d = 0",
258 regles = (UN_PARMI ('Points','Equation','VecteurOrigine')),
259 Points = SIMP (typ=Point,min=2,max=2,statut='f',fr="Deux points de definition de la droite"),
260 Equation = SIMP (typ='R',min=2,max=4,statut='f',fr="Coefficients successifs abcd de l'equation d'une droite"),
261 VecteurOrigine = FACT (statut='f',
262 Vecteur = SIMP (typ=Vecteur,statut='f',fr="Donnee du vecteur directeur de la droite"),
263 Origine = SIMP (typ=Point,statut='f',fr="Donnee d'un point de passage de la droite"))) ;
264 # -----------------------------------------------------------------------------------------------------------------------------------
265 # Classe SEGMENT : Classe de definition d'un segment (Idem DROITE + Longueur et Origine)
266 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
267 SEGMENT = OPER (nom="SEGMENT",op=0,sd_prod=Segment,
269 fr = "Definition d'un segment 2 Points ou Origine + ((Longueur + Equation ax + by + d = 0) ou vecteur)",
270 ang = "Definition of a segment ax + by + cz + d = 0",
271 regles = (UN_PARMI ('Points','Equation','Vecteur')),
272 Points = SIMP (typ=Point,min=2,max=2,statut='f',fr="Deux points de definition du segment"),
273 Equation = SIMP (typ='R',min=2,max=4,statut='f',fr="Coefficients successifs abcd de l'equation de la droite "),
274 Vecteur = SIMP (typ=Vecteur,statut='f',fr="Donnee du vecteur directeur du segment"),
275 Longueur = SIMP (typ='R',statut='f',fr="Longueur du segment"),
276 Origine = SIMP (typ=Point,statut='f',fr="Donnee de l'origine du segment") ) ;
277 # -----------------------------------------------------------------------------------------------------------------------------------
278 # Classe ARC_CERCLE : Classe de definition d'un arc de cercle
279 # Angles donnes en degres
280 # Dans le cas 2D on peut positionner l'arc de cercle en donnant l'angle du debut de l'arc par rapport a l'axe Ox
281 # Dans le cas 3D on donne en plus la hauteur et l'axe directeur de l'arc
282 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
283 ARC_CERCLE = OPER (nom="ARC_CERCLE",op=0,sd_prod=ArcCercle,
285 fr = "Definition d'un arc de cercle",
286 ang = "Definition of a circular arc",
287 Type = SIMP (typ='TXM',statut='f',defaut='2D',into=('2D','3D'),fr="Type d'arc 2D ou 3D"),
288 Rayon = SIMP (typ='R',statut='o',fr="Rayon de l'arc de cercle"),
289 Angles = SIMP (typ='R',max=2,defaut=(360.,0.),statut='f',fr="Angles en degres de l'arc : Total et Debut"),
290 VecteurAxe = SIMP (typ=Vecteur,statut='f',fr="Vecteur directeur de l'axe de l'arc") ) ;
291 # -----------------------------------------------------------------------------------------------------------------------------------
292 # Classe SECTEUR : Classe de definition d'un disque ou d'un secteur d'une couronne circulaire
293 # Angle du secteur donne en degres (360° par defaut)
294 # Dans le cas 2D on peut positionner le secteur en donnant l'angle du debut de secteur par rapport a l'axe Ox
295 # Dans le cas 3D on donne en plus la hauteur et l'axe directeur du secteur
296 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
297 SECTEUR = OPER (nom="SECTEUR",op=0,sd_prod=Secteur,
299 fr = "Definition d'un disque ou d'un secteur d'une couronne",
300 ang = "Definition of a circular sector",
301 Type = SIMP (typ='TXM',statut='o',into=('2D','3D'),fr="Type de secteur 2D ou 3D"),
302 Rayons = SIMP (typ='R',min=2,max=2,statut='o',fr="Rayons interne et externe de la couronne"),
303 Angles = SIMP (typ='R',max=2,defaut=(360.,0.),statut='f',fr="Angles en degres du secteur"),
304 Hauteur = SIMP (typ='R',defaut=0.,statut='f',fr="Hauteur du secteur"),
305 VecteurAxe = SIMP (typ=Vecteur,defaut=0.,statut='f',fr="Vecteur directeur de l'axe du secteur") ) ;
306 # -----------------------------------------------------------------------------------------------------------------------------------
307 # Classe CONIQUE : Classe de definition d'une conique 2D
308 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
309 CONIQUE = OPER (nom="CONIQUE",op=0,sd_prod=Conique,
311 fr = "Definition d'une conique 2D ax2+by2+cxy+dx+ey+f=0",
312 ang = "Definition of a quadratic curve 2D",
313 Equation = SIMP (typ='R',min=2,max=6,statut='o',fr="Coefficients successifs abcdef de l'equation d'une conique"),
314 OrigineVecteur = NUPL (
315 elements = (SIMP (typ=Point),SIMP (typ=Vecteur)),
317 fr = "Donnee de l'origine et du vecteur directeur") ) ;
318 # -----------------------------------------------------------------------------------------------------------------------------------
319 # Classe TRIANGLE : Classe de definition d'un triangle
320 # Angles donnes en degres par rapport a l'axe Ox horizontal
321 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
322 TRIANGLE = OPER (nom="TRIANGLE",op=0,sd_prod=Triangle,
324 fr = "Definition d'un triangle",
325 ang = "Definition of a triangle",
326 regles = (UN_PARMI ('Points','AngleCotes')),
327 Points = SIMP (typ=Point,min=3,max=3,statut='f'),
328 AngleCotes = SIMP (typ='R',min=3,max=3,statut='f',fr="Donnee d'un Angle en degres et Longueurs de deux cotes")
330 # -----------------------------------------------------------------------------------------------------------------------------------
331 # Classe RECTANGLE : Classe de definition d'un rectangle
332 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
333 RECTANGLE = OPER (nom="RECTANGLE",op=0,sd_prod=Rectangle,
335 fr = "Definition d'un rectangle",
336 ang = "Definition of a rectangle",
337 regles = (UN_PARMI ('Points','Cotes')),
338 Points = SIMP (typ=Point,min=3,max=3,statut='f',fr="Definition du rectangle par trois points"),
339 Cotes = SIMP (typ='R',min=2,max=2,statut='f',fr="Donnee de la longueur de deux cotes") ) ;
340 # -----------------------------------------------------------------------------------------------------------------------------------
341 # Classe CARRE : Classe de definition d'un carre
342 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
343 CARRE = OPER (nom="CARRE",op=0,sd_prod=Carre,
345 fr = "Definition d'un carre",
346 ang = "Definition of a square",
347 regles = (UN_PARMI ('Points','Cote')),
348 Points = SIMP (typ=Point,min=2,max=2,statut='f',fr="Definition du carre par deux points"),
349 Cote = SIMP (typ='R',statut='f',fr="Donnee de la longueur du cote du carre")
351 # -----------------------------------------------------------------------------------------------------------------------------------
352 # Classe HEXAGONE : Classe de definition d'un hexagone
353 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
354 HEXAGONE = OPER (nom="HEXAGONE",op=0,sd_prod=Hexagone,
356 fr = "Definition d'un hexagone",
357 ang = "Definition of an hexagon",
358 Rayon = SIMP (typ='R',statut='f',fr="Rayon du cercle inscrit dans l'hexagone")
360 # -----------------------------------------------------------------------------------------------------------------------------------
361 # Classe POLYGONE : Classe de definition d'un polygone
362 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
363 POLYGONE = OPER (nom="POLYGONE",op=0,sd_prod=Polygone,
365 fr = "Definition d'un polygone",
366 ang = "Definition of a polygon",
367 Points = SIMP (typ=Point,max='**',statut='f',fr="Definition d'un polygone par tous ses points")
369 # ==================================================================================================================================
370 # Definition des Classes pour une geometrie 3D : Elements geometriques combinatoires ou surfaciques
371 # L'utilisation de certaines classes de combinatoire en surfacique consiste a simplement specifier la position de l'objet
372 # ou a eliminer certaines surfaces limites de la classe
373 # Pour une sphere : donnee du centre de la sphere
374 # Pour un cylindre : Pas de donnee de la hauteur, mais donnee d'un point de l'axe du cylindre
375 # ==================================================================================================================================
376 # -----------------------------------------------------------------------------------------------------------------------------------
377 # Classe SPHERE : Classe de definition d'une sphere (ou d'une sphere sectorisee ou decoupee en rondelles)
378 # Des portions de la sphere peuvent etre selectionnees en donnant leurs cotes limites sur un axe de la sphere
379 # (origine de l'axe au centre de la sphere, donc cotes comprises entre -R, +R si R est le rayon de la sphere)
380 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
381 SPHERE = OPER (nom="SPHERE",op=0,sd_prod=Sphere,
383 fr = "Definition d'une forme spherique",
384 ang = "Definition of a spherical form",
385 Rayon = SIMP (typ='R',statut='o',fr="Rayon de la sphere"),
386 Secteur = SIMP (typ='R',statut='f',fr="Angle du secteur de la sphere"),
387 TranchesAxiales = NUPL (
390 fr = "Limites des tranches axiales de la sphere sectorisee",
391 elements = (SIMP (typ='R',fr="Cote depart de la tranche"),SIMP (typ='R',fr="Cote finale de la tranche"))) ) ;
392 # -----------------------------------------------------------------------------------------------------------------------------------
393 # Classe BOITE_RECTANGULAIRE : Classe de definition d'une forme parallelepipedique de cotes paralleles aux axes de reference
394 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
395 BOITE_RECTANGULAIRE = OPER (nom="BOITE_RECTANGULAIRE",op=0,sd_prod=BoiteRectangulaire,
397 fr = "Definition d'une d'une forme parallelepipedique rectangulaire",
398 ang = "Definition of a rectangular box form",
399 Cotes = SIMP (typ='R',min=3,max=3,statut='o',fr="Longueurs des Cotes de la boite rectangulaire") ) ;
400 # -----------------------------------------------------------------------------------------------------------------------------------
401 # Classe BOITE_GENERALE : Classe de definition d'une forme parallelepipedique quelconque
402 # Le plan de base de la boite doit etre le plan xOy. On donne donc uniquement les 2 vecteurs **normaux**
403 # aux 2 autres plans, et les 3 longueurs des arretes principales.
404 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
405 BOITE_GENERALE = OPER (nom="BOITE_GENERALE",op=0,sd_prod=BoiteGenerale,
407 fr = "Definition d'une forme parallelepipedique quelconque",
408 ang = "Definition of a general box form",
409 VecteursDirecteurs = SIMP (typ=Vecteur,min=2,max=2,statut='o',fr="Vecteurs normaux aux faces non horizontales de la boite"),
410 Cotes = SIMP (typ='R',min=3,max=3,statut='o',fr="Longueurs des Cotes de la boite") ) ;
411 # -----------------------------------------------------------------------------------------------------------------------------------
412 # Classe CYLINDRE_X : Classe de definition d'une forme cylindrique d'axe parallele a Ox
413 # Pour tous les cylindres, la donnee de deux rayons transforme le cylindre circulaire en cylindre elliptique
414 # La donnee d'un angle limite le cylindre a ce secteur
415 # Pour un secteur d'un cylindre elliptique, il est necessaire de donner en plus l'angle de depart du secteur
416 # par rapport a l'axe majeur de l'ellipse
417 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
418 CYLINDRE_X = OPER (nom="CYLINDRE_X",op=0,sd_prod=CylindreX,
420 fr = "Definition d'une forme cylindrique d'axe parallele a Ox",
421 ang = "Definition of a right cylinder form // Ox",
422 Rayons = SIMP (typ='R',max=2,statut='o',fr="Rayons mineur et majeur du cylindre X"),
423 Hauteur = SIMP (typ='R',statut='f',fr="Hauteur du cylindre X"),
424 Angles = SIMP (typ='R',max=2,statut='f',fr="Angles du secteur du cylindre X") ) ;
425 # -----------------------------------------------------------------------------------------------------------------------------------
426 # Classe CYLINDRE_Y : Classe de definition d'une forme cylindrique d'axe parallele a Oy
427 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
428 CYLINDRE_Y = OPER (nom="CYLINDRE_Y",op=0,sd_prod=CylindreY,
430 fr = "Definition d'une forme cylindrique d'axe parallele a Oy",
431 ang = "Definition of a right cylinder form // Oy",
432 Rayons = SIMP (typ='R',max=2,statut='o',fr="Rayons mineur et majeur du cylindre Y"),
433 Hauteur = SIMP (typ='R',statut='f',fr="Hauteur du cylindre Y"),
434 Angles = SIMP (typ='R',max=2,statut='f',fr="Angles du secteur du cylindre Y") ) ;
435 # -----------------------------------------------------------------------------------------------------------------------------------
436 # Classe CYLINDRE_Z : Classe de definition d'une forme cylindrique d'axe parallele a Oz
437 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
438 CYLINDRE_Z = OPER (nom="CYLINDRE_Z",op=0,sd_prod=CylindreZ,
440 fr = "Definition d'une forme cylindrique d'axe parallele a Oz",
441 ang = "Definition of a right cylinder form // Oz",
442 Rayons = SIMP (typ='R',max=2,statut='o',fr="Rayons mineur et majeur du cylindre Z"),
443 Hauteur = SIMP (typ='R',statut='f',fr="Hauteur du cylindre Z"),
444 Angles = SIMP (typ='R',max=2,statut='f',fr="Angles du secteur du cylindre Z") ) ;
445 # -----------------------------------------------------------------------------------------------------------------------------------
446 # Classe CYLINDRE : Classe de definition d'une forme cylindrique quelconque
447 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
448 CYLINDRE = OPER (nom="CYLINDRE",op=0,sd_prod=Cylindre,
450 fr = "Definition d'une forme cylindrique quelconque",
451 ang = "Definition of a general cylinder form",
452 Rayons = SIMP (typ='R',max=2,statut='o',fr="Rayons mineur et majeur du cylindre"),
453 VecteurAxe = SIMP (typ=Vecteur,statut='o',fr="Vecteur directeur de l'axe du cylindre"),
454 Hauteur = SIMP (typ='R',statut='f',fr="Hauteur du cylindre"),
455 Angles = SIMP (typ='R',max=2,statut='f',fr="Angles du secteur du cylindre") ) ;
456 # -----------------------------------------------------------------------------------------------------------------------------------
457 # Classe CONE : Classe de definition d'un forme conique
458 # Une portion de cone peut etre definie en donnant les cotes axiales (origine de l'axe du cone au sommet du cone) de
460 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
461 CONE = OPER (nom="CONE",op=0,sd_prod=Cone,
463 fr = "Definition d'une forme conique",
464 ang = "Definition of a conic form",
465 DemiAngleSommet = SIMP (typ='R',statut='o',fr="Demi-angle au sommet"),
466 LimitesAxiales = SIMP (typ='R',min=2,max=2,statut='f',fr="Limites axiales du cone"),
467 VecteurAxe = SIMP (typ=Vecteur,statut='o',fr="Vecteur directeur de l'axe du cone") ) ;
468 # -----------------------------------------------------------------------------------------------------------------------------------
469 # Classe PRISME_HEXAGONAL : Classe de definition d'une forme de prisme hexagonal 3D
470 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
471 PRISME_HEXAGONAL = OPER (nom="PRISME_HEXAGONAL",op=0,sd_prod=PrismeHexagonal,
473 fr = "Definition d'une forme de prisme hexagonal 3D",
474 ang = "Definition of a 3D hexagonal form",
475 Rayon = SIMP (typ='R',statut='o',fr="Rayon du cercle circonscrit (=cote de l'hexagone)"),
476 Hauteur = SIMP (typ='R',statut='f',fr="Hauteur de l'hexagone"),
477 VecteurAxe = SIMP (typ=Vecteur,statut='o',fr="Vecteur directeur de l'axe de l'hexagone") ) ;
478 # -----------------------------------------------------------------------------------------------------------------------------------
479 # Classe TORE : Classe de definition d'une forme toroidale
480 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
481 TORE = OPER (nom="TORE",op=0,sd_prod=Tore,
483 fr = "Definition d'une forme toroidale",
484 ang = "Definition of a toroidal form",
485 Rayons = SIMP (typ='R',min=2,max=2,statut='o',fr="Rayons du tore : 1/2 distance a l'axe et rayon de la section du tore") ) ;
486 # ==================================================================================================================================
487 # Definition des Classes pour une geometrie 3D : Elements geometriques surfaciques
488 # ==================================================================================================================================
489 # ----------------------------------------------------------------------------------------------------------------------------------
490 # Classe PLAN : Classe de definition d'un plan
491 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
492 PLAN = OPER (nom="PLAN",op=0,sd_prod=Plan,
494 fr = "Definition d'un plan ax + by + cz + d = 0",
495 ang = "Definition of a plane surface ax + by + cz + d = 0",
496 Points = SIMP (typ=Point,min=3,max=3,statut='f',fr="Donnee de 3 points non alignes"),
497 Equation = SIMP (typ='R',min=2,max=4,statut='f',fr="Coefficients successifs abcd de l'equation du plan")
499 # ----------------------------------------------------------------------------------------------------------------------------------
500 # Classe PLAN_X : Classe de definition d'un plan perpendiculaire a l'axe Ox
501 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
502 PLAN_X = OPER (nom="PLAN_X",op=0,sd_prod=PlanX,
504 fr = "Definition d'un plan perpendiculaire a Ox",
505 ang = "Definition of a plane surface perpendicular to Ox",
506 Cote = SIMP (typ='R',statut='o',fr="Cote du plan // OyOz") ) ;
507 # ----------------------------------------------------------------------------------------------------------------------------------
508 # Classe PLAN_Y : Classe de definition d'un plan perpendiculaire a l'axe Oy
509 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
510 PLAN_Y = OPER (nom="PLAN_Y",op=0,sd_prod=PlanY,
512 fr = "Definition d'un plan perpendiculaire a Oy",
513 ang = "Definition of a plane surface perpendicular to Oy",
514 Cote = SIMP (typ='R',statut='o',fr="Cote du plan // OxOz") ) ;
515 # ----------------------------------------------------------------------------------------------------------------------------------
516 # Classe PLAN_Z : Classe de definition d'un plan perpendiculaire a l'axe Oz
517 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
518 PLAN_Z = OPER (nom="PLAN_Z",op=0,sd_prod=PlanZ,
520 fr = "Definition d'un plan perpendiculaire a Oz",
521 ang = "Definition of a plane surface perpendicular to Oz",
522 Cote = SIMP (typ='R',statut='o',fr="Cote du plan // OxOy") ) ;
523 # -----------------------------------------------------------------------------------------------------------------------------------
524 # Classe POLYEDRE : Classe de definition d'une forme polyhedrique 3D quelconque (N faces, N > 4)
525 # Definition surfacique : Donnee des N plans et du choix du cote positif ou negatif
526 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
527 POLYEDRE = OPER (nom="POLYEDRE",op=0,sd_prod=Polyedre,
529 fr = "Definition d'une forme polyhedrique 3D quelconque ",
530 ang = "Definition of a 3D polyhedron form with N > 4 plane faces",
535 fr = "Surfaces planes limites du polyedre",
536 elements = (SIMP (typ=(Plan,PlanX,PlanY,PlanZ),fr="Plans limites du polyedre"),
537 SIMP (typ='TXM',into=('Plus','Moins'),fr="Choix du cote positif ou negatif de l'espace")))
540 # elements = (SIMP (typ=(Plan,PlanX,PlanY,PlanZ),fr="Plans limites du polyedre"),
541 # ----------------------------------------------------------------------------------------------------------------------------------
542 # Classe QUADRIQUE : Classe de definition d'une quadrique 3D
543 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
544 QUADRIQUE = OPER (nom="QUADRIQUE",op=0,sd_prod=Quadrique,
546 fr = "Definition d'une quadrique 3D ax2+by2+cz2+dxy+eyz+fxz+gx+hy+iz+j=0",
547 ang = "Definition of a quadratic curve 3D ax2+by2+cz2+dxy+eyz+fxz+gx+hy+iz+j=0",
548 Equation = SIMP (typ='R',min=2,max=10,statut='o',fr="Coefficients successifs abcdefghij de l'equation d'une quadrique") ) ;
549 # -----------------------------------------------------------------------------------------------------------------------------------
550 # Classe CELLULE : Classe de definition d'une cellule (ensemble elementaire de regions annulaires et sectorisees)
551 # Apres la hauteur de la cellule, entree des donnees par listes successives pour l'ensemble des couronnes de la
552 # cellule, la zone externe etant decrite a part dans l'attribut FormeTechnologique :
553 # - Liste des materiaux
554 # - Liste des rayons des couronnes correspondantes
555 # - Liste des sous-couronnes : - Numero de couronne a discretiser (Numero 1 a partir du centre),
556 # - Nombre de sous-couronnes,
557 # - Mot-cle Equivolumique si decoupage en sections transverses egales,
558 # - Rayons des couronnes intermediaires ou proportions volumiques si mot-cle
559 # Proportions indique anterieurement.
560 # - Liste des sectorisations : - Nom de couronne a sectoriser ,
561 # - Nombre de secteurs,
562 # - Mot-cle Equivolumique si decoupage en secteurs egaux et positionnement du premier
563 # secteur par rapport a l'axe x, et pas de changement de composition du secteur,
564 # - Mot-cle alternatif Angle si on veut modifier ou positionner les secteurs dans la
565 # couronne : on donne alors des triplets de donnees pour chaque secteur :
566 # - nom du materiau composant le le secteur,
567 # - position trigonometrique en \260 du debut du secteur
568 # - et angle en \260 du secteur.
569 # Le trace des secteurs sont definis en partant du centre de la couronne.
570 # Pour la sectorisation de la forme externe, deux cas se presentent :
571 # - soit pas de couronnes internes : les secteurs se tracent alors en partant
572 # du centre de la forme externe,
573 # - dans le cas contraire, les secteurs partent du centre des couronnes.
574 # Les secteurs peuvent ne pas couvrir l'ensemble de la couronne.
575 # Pour la zone peripherique, on doit definir les cotes de la cellule (cas cartesien), son materiau, sa
576 # discretisation, et le decentrage du centre des couronnes par rapport au centre de ce contour peripherique
577 # (Coordonnees x,y du centre des couronnes / au centre du contour)
578 # Pour le moment, limitation a 2D
579 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
580 CELLULE = OPER (nom="CELLULE",op=0,sd_prod=Cellule,
582 fr = "Definition d'une cellule elementaire d'un assemblage",
583 ang = "Definition of a basic pin cell",
584 Type = SIMP (typ='TXM',defaut='Combustible',
585 into=( 'Combustible','BarreGrise','BarreNoire','BarreAcier','BarreAic','BarreB4c',
586 'Detecteur','Trou','TubeGuide','Postiche','Pyrex','ExPyrex','Gadolinium',
587 'CellType1','CellType2','CellType3'),statut='o'),
588 HauteurMoyenne = SIMP (typ='R',defaut=1.,statut='o',fr="Hauteur moyenne de la cellule de base"),
590 NomsSymboliques = SIMP (typ='TXM',max='**',statut='o',fr="Liste des noms arbitraires des couronnes"),
591 Materiaux = SIMP (typ=Materiau,max='**',statut='o',fr="Liste des materiaux des couronnes"),
592 Temperatures = SIMP (typ=('R','I','TXM'),max='**',statut='o',fr="Liste des temperatures des couronnes"),
593 Rayons = SIMP (typ='R',max='**',statut='o',fr="Liste des rayons des couronnes"),
594 RayonsMineurs = SIMP (typ='R',max='**',statut='f',fr="Liste des rayons mineurs des couronnes elliptiques"),
595 Hauteurs = SIMP (typ='R',max='**',statut='f',fr="Liste des hauteurs des couronnes")),
596 SousCouronnes = FACT (
599 NomCouronne = SIMP (typ='TXM',fr="Nom symbolique de la couronne"),
600 NbSousCouronnes = SIMP (typ='I',fr="Nombre de sous-couronnes de discretisation"),
601 TypeDiscretisation = SIMP (typ='TXM',defaut='Equivolumique',into=('Equivolumique','Proportions','Equidistant'),statut='f'),
602 ProportionsVolumiques = SIMP (typ='R',statut='f',max='**',fr="Proportions volumiques optionnelles des sous-couronnes"),
603 ProfilTemperature = SIMP (typ='R',max='**',statut='f',fr="Profil de temperature")),
604 Homogeneisation = FACT (
607 NomCouronne = SIMP (typ='TXM',fr="Nom arbitraire de la couronne homogeneisee"),
608 ListeCouronnes = SIMP (typ='TXM',max='**',fr="Liste des noms des couronnes jointives a homogeneiser")),
612 NomCouronne = SIMP (typ='TXM',statut='o',fr="Nom de la couronne ou de la forme externe a sectoriser"),
613 NbSecteurs = SIMP (typ='I',fr="Nombre de secteurs de la couronne",statut='o'),
614 TypeSectorisation = SIMP (typ='TXM',defaut='Coins',into=('Equivolumique','Angle','Coins','MilieuxCotes'),statut='f'),
615 Sectorisation = FACT (
618 Materiaux = SIMP (typ=Materiau,max='**',fr="Materiau des secteurs"),
619 Temperatures = SIMP (typ=('R','I','TXM'),max='**',fr="Temperature des secteurs"),
620 AnglesDepart = SIMP (typ='R',max='**',fr="Angle de depart du secteur"),
621 Angles = SIMP (typ='R',max='**',fr="Angle du secteur"))),
622 FormeExterne = FACT (
623 NomSymbolique = SIMP (typ='TXM',statut='f'),
625 typ=(ArcCercle,Carre,Rectangle,Hexagone,Triangle,Polygone),
626 statut = 'f', # la donnee est facultative si la cellule est inserree dans un reseau
627 fr = "Forme geometrique exterieure"),
628 Materiau = SIMP (typ=Materiau,fr="Materiau de la forme externe"),
629 Temperature = SIMP (typ=('R','I','TXM'),fr="Temperature du materiau de la forme externe"),
630 Decentrement = SIMP (
636 fr = "Coordonnees xyz du centre des couronnes / centre du contour")) ) ;
637 # -----------------------------------------------------------------------------------------------------------------------------------
638 # Classe CLUSTER : Classe de definition d'un cluster de cellules cylindriques de forme exterieure quelconque
639 # Un cluster est defini comme une superposition centree de cadrans telephoniques (a l'ancienne mode), chaque
640 # cadran ayant des trous de tailles differentes, l'ensemble etant dispose dans un contour de forme quelconque.
641 # Possibilites donnees ci-dessous :
642 # - Positionnement des couronnes de canaux, chaque canal etant une CELLULE predefinie,
643 # - Definition du fond du cluster :
644 # - Serie de couronnes de materiaux distincts
645 # - Forme exterieure quelconque
646 # - Sectorisation eventuelle de la zone peripherique
647 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
648 CLUSTER = OPER (nom="CLUSTER",op=0,sd_prod=Cluster,
649 fr = "Definition d'un cluster de cellules cylindriques",
650 ang = "Definition of a cylindrical cell cluster",
651 Hauteur = SIMP (typ='R',defaut=1.,statut='f',fr="Hauteur du cluster"),
653 Cellules = SIMP (typ=Cellule,max='**',fr="Liste des cellules sur chaque cercle"),
654 Rayons = SIMP (typ='R',max='**',fr="Liste des rayons des couronnes de cellules"),
655 Angles = SIMP (typ='R',max='**',fr="Liste des pas angulaires de positionnement des cellules cylindriques")),
656 FormeGlobale = FACT (
657 NomSymbolique = SIMP (typ='TXM'),
658 RayonsInternes = SIMP (typ='R',max='**',fr="Liste des rayons des couronnes internes",statut='f'),
659 MateriauxInternes = SIMP (typ=Materiau,max='**',fr="Materiaux Couronnes internes",statut='f'),
660 TemperaturesInternes = SIMP (typ=('R','I','TXM'),max='**',fr="Temperatures des materiaux internes",statut='f'),
661 FormeExterne = SIMP (
662 typ = (ArcCercle,Carre,Rectangle,Hexagone,Triangle,Polygone),
664 fr = "Forme geometrique exterieure"),
665 MateriauExterne = SIMP (typ=Materiau,fr="Materiau de la forme externe",statut='o'),
666 TemperatureExterne = SIMP (typ=('R','I','TXM'),max='**',fr="Temperature du materiau externe",statut='f'),
667 Decentrement = SIMP (
673 fr = "Coordonnees xyz du centre des couronnes / centre du contour")),
674 SecteursExternes = FACT (
675 NbSecteurs = SIMP (typ='I',fr="Nombre de secteurs de la couronne externe",statut='o'),
679 into = ('Equivolumique','Angle','Coins','MilieuxCotes'),
681 Materiaux = SIMP (max='**',typ=Materiau,fr="Materiau des secteurs",statut='f'),
682 AngleDepart = SIMP (max='**',typ='R',fr="Angle de depart des secteurs",statut='f'),
683 AngleSecteur = SIMP (max='**',typ='R',fr="Angle des secteurs",statut='f')) ) ;
684 # -----------------------------------------------------------------------------------------------------------------------------------
685 # Classe ORIENTATION : Classe de definition d'une orientation angulaire dans un plan 2D apres symetrie eventuelle / Ox
686 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
687 ORIENTATION = OPER (nom="ORIENTATION",op=0,sd_prod=Orientation,
689 fr = "Definition d'une orientation d'un reseau ou d'une cellule",
690 ang = "Definition of a cell or lattice orientation",
691 Symetrie = SIMP (typ=(Plan,PlanX,PlanY,PlanZ),statut='f',fr="Indication d'une operation de symetrie / Plan"),
692 AngleRotation = SIMP (typ='R',defaut=0.,statut='f',fr="Angle de rotation en degres"),
693 CentreRotation = SIMP (typ=Point,statut='f',fr='Centre de rotation'),
694 AxeRotation = SIMP (typ=Vecteur,statut='f',fr="Vecteur de l'axe de rotation") ) ;
695 # -----------------------------------------------------------------------------------------------------------------------------------
696 # Classe FORME_POSITIONNEE : Classe de definition d'une forme geometrique positionnee
697 # La position est definie a l'aide du centre de la forme geometrique,
698 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
699 FORME_POSITIONNEE = OPER (nom="FORME_POSITIONNEE",op=0,sd_prod=FormePositionnee,
701 fr = "Definition d'une forme positionnee",
702 ang = "Definition of a shape and its position",
704 typ = (Sphere,BoiteRectangulaire,BoiteGenerale,CylindreX,CylindreY,CylindreZ,Cylindre,Cone,
705 PrismeHexagonal,Tore,Polyedre,Cellule,Cluster),
707 fr = "Forme geometrique de base a positionner"),
708 PositionCentre = SIMP (typ=Point,statut='o',fr="Coordonnees du centre de la forme geometrique"),
709 OrientationForme = SIMP (typ=Orientation,statut='f',fr="Orientation de la forme")
711 # -----------------------------------------------------------------------------------------------------------------------------------
712 # Classe GEOMETRIE_SURFACIQUE : Classe de definition d'une geometrie surfacique
713 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
714 GEOMETRIE_SURFACIQUE = OPER (nom="GEOMETRIE_SURFACIQUE",op=0,sd_prod=GeometrieSurfacique,
716 fr = "Definition d'une geometrie surfacique",
717 ang = "Definition of a surfacic geometry",
718 MateriauRemplissage = SIMP (typ=Materiau,statut='o',fr="Materiau de remplissage de la geometrie surfacique"),
722 fr = "Serie de couples (Surface,Plus ou Moins) definissant les surfaces limites de la geometrie",
725 SIMP (typ='TXM',into=('Plus','Moins'))))
728 # simp (typ=(PlanX,PlanY,PlanZ,Plan,CylindreX,CylindreY,CylindreZ,Cylindre,Sphere,Cone,Quadrique)),
730 # -----------------------------------------------------------------------------------------------------------------------------------
731 # Classe GEOMETRIE_COMBINATOIRE : Classe de definition d'une geometrie combinatoire
732 # Ecrasement : Constitution par ecrasements successifs (dans l'ordre des donnees) de la
733 # Geometrie Initiale, la frontiere externe etant celle de la geometrie initiale
734 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
735 GEOMETRIE_COMBINATOIRE = OPER (nom="GEOMETRIE_COMBINATOIRE",op=0,sd_prod=GeometrieCombinatoire,
737 fr = "Definition d'une geometrie combinatoire",
738 ang = "Definition of a combinatorial geometry",
739 GeometriePremierPlan = SIMP (typ=FormePositionnee,statut='o',fr="Geometrie se trouvant au premier plan"),
740 GeometrieEcrasee = SIMP (typ=FormePositionnee,max='**',statut='f',
741 fr="Geometries ecrasées et surchargées par la GeometriePremierPlan"),
742 GeometrieUnion = SIMP (typ=FormePositionnee,max='**',statut='f',
743 fr="Geometries a reunir a la GeometriePremierPlan en gardant les interfaces, les intersections etant des volumes particuliers"),
744 GeometrieReunion = SIMP (typ=FormePositionnee,max='**',statut='f',
745 fr="Geometries a reunir a la GeometriePremierPlan pour former un volume unique"),
746 GeometrieIntersection = SIMP (typ=FormePositionnee,max='**',statut='f',
747 fr="Geometries a intersecter avec la GeometriePremierPlan")
750 # -----------------------------------------------------------------------------------------------------------------------------------
751 # Classe CORRESPONDANCE_REPERE_POSITION_RESEAU : Classe de definition de la position des assemblages combustibles dans un REP
752 # Reperes (bataille navale ou autre) et
753 # Coordonnees cartesiennes entieres des assemblages combustibles pour un type de palier
754 # Origine des coordonnees en bas a gauche d'un systeme en xy
755 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
756 CORRESPONDANCE_REPERE_POSITION_RESEAU = OPER (nom="CORRESPONDANCE_REPERE_POSITION_RESEAU",op=0,sd_prod=CorrespondanceReperePositionReseau,
758 fr = "Correspondance entre reperes alphanumeriques et cases d'un reseau",
759 ang = "Alphanumeric identificators and lattice coordinates",
760 Positions = NUPL ( max='**',statut='o',
761 elements=(SIMP (typ='TXM',fr="Repere alphanumerique arbitraire de l'assemblage"),
762 SIMP (typ='I',fr="Premiere Coordonnee entiere de l'assemblage"),
763 SIMP (typ='I',fr="Seconde Coordonnee entiere de l'assemblage")))
766 # -----------------------------------------------------------------------------------------------------------------------------------
768 # Classe de definition d'un reseau de juxtapositions de cellules ou de reseaux
769 # Assemblage de cellules ou de reseaux dans une grille rectangulaire ou hexagonale
770 # Les positions des cellules et des reseaux dans le nouveau reseau sont a fournir sur les mailles
771 # du reseau sans tenir compte des symetries,
772 # Le reseau peut etre charge :
773 # - de maniere uniforme : un seul type de CELLULE ou de RESEAU
774 # - de maniere complete : a chaque maille doit etre affecte un reseau ou une cellule et optionnellement son
775 # orientation, l'ordre des donnees dans le plan radial etant celui obtenu en partant de l'element le plus
776 # bas a gauche, et dans le sens axial ensuite (eventuellement si 3D)
777 # - de maniere partielle : liste des cellules et reseaux charges et leur position xyz dans le nouveau reseau
778 # et orientations correspondantes de ces cellules et reseaux
779 # Des reperes alphanumeriques arbitraires peuvent etre associes a chaque maille du reseau, ce qui permet
780 # si necessaire de manipuler ces elements du reseau par l'intermediaire de ces symboles (exemple des
781 # reperes bataille navale des assemblages dans le reseau d'un coeur REP).
782 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
783 RESEAU = OPER (nom="RESEAU",op=0,sd_prod=Reseau,
785 fr = "Definition d'un reseau compose de juxtapositions de cellules, de reseaux ou d'assemblages",
786 en = "Definition of a lattice",
787 Identificateur = SIMP (typ='TXM',statut='f',fr="Identificateur arbitraire du reseau"),
788 TypeGeometrie = SIMP (typ='TXM',into=('cartesienne','hexagonale'),defaut='cartesienne',statut='f'),
789 NbMaillesX = SIMP (typ='I',defaut=17,statut='o',fr="Nbre de mailles sur le premier axe du reseau"),
790 NbMaillesY = SIMP (typ='I',defaut=17,statut='f',fr="Nbre de mailles sur le second axe du reseau"),
791 NbMaillesZ = SIMP (typ='I',defaut=1 ,statut='f',fr="Nbre de mailles sur l'axe vertical du reseau"),
792 PasReseau = SIMP (typ='R',defaut=1.26 ,statut='f',max=2,fr="Pas du reseau en X et Y"),
793 MateriauRemplissage = SIMP (typ=Materiau,defaut='ModExt',statut='f',fr="Materiau de remplissage du reseau"),
794 TypeDefinition = SIMP (typ='TXM',statut='f',defaut="Complet",into=("Uniforme","Complet","Partiel")),
795 BlocUniforme = BLOC (condition = "TypeDefinition=='Uniforme'",
796 ElementsBase = SIMP (typ=(Cellule,Reseau,Cluster,GeometrieCombinatoire,AssemblageCombustibleCharge),statut='o',
797 fr = "Remplissage uniforme du nouveau reseau par un element particulier"),
798 OrientationElement = SIMP (typ=Orientation,fr="Orientation de l'element geometrique de base",statut='f')),
799 BlocComplet = BLOC (condition = "TypeDefinition=='Complet'",
800 ElementsBase = NUPL (max='**', statut='f',
801 elements=(SIMP (typ=(Cellule, Reseau, GeometrieCombinatoire,AssemblageCombustibleCharge)),
802 SIMP (typ='TXM',fr="Sigle ou repere associe a l'element geometrique de base"))),
803 Chargement = SIMP (typ='TXM',statut='f',max='**',
804 fr="Liste ordonnee des sigles associes aux elements geometriques charges"),
805 Regroupement = SIMP (typ='I',statut='f',max='**',
806 fr="Indices de regroupement des elements en approximation multicellule"),
807 Reperes = SIMP (typ='TXM',max='**',statut='f',fr="Reperes arbitraires des elements charges"),
809 BlocPartiel = BLOC (condition = "TypeDefinition=='Partiel'",
810 Chargement = FACT (max='**',
811 ElementsPositionnes = NUPL (max='**', statut='f',
812 elements=(SIMP (typ=(Cellule, Reseau, GeometrieCombinatoire,AssemblageCombustibleCharge)),
813 SIMP (typ='I',min=2,max=2,fr="Coordonnees i j de l'element geometrique de base"))),
814 ElementsReperes = NUPL (max='**', statut='f',
815 elements=(SIMP (typ=(Cellule, Reseau, GeometrieCombinatoire,AssemblageCombustibleCharge)),
816 SIMP (typ='TXM',fr="Repere associe a l'element geometrique de base"))),
817 CorrespondanceReperePositions = SIMP (typ=CorrespondanceReperePositionReseau,
819 fr="Correspondance entre Repere alphanumerique et coordonnees dans le reseau"),
820 OrientationElement = SIMP (typ=Orientation,max='**',statut='f',fr="Orientation des elements a positionner"),
822 ZonePeripherique = FACT (
823 Epaisseurs = SIMP (typ='R',max='**',statut='f',fr="Liste des epaisseurs des couches peripheriques"),
824 Materiaux = SIMP (typ=Materiau,max='**',statut='f',fr="Liste des materiaux des couches peripheriques"),
825 MateriauExterne = SIMP (typ=Materiau,statut='f',fr="Materiau de remplissage de la zone externe du reseau hexagonal"))
828 # -----------------------------------------------------------------------------------------------------------------------------------
829 # Classe GRILLE_ASSEMBLAGE : Classe de definition des grilles composant le squelette des assemblages combustibles
830 # Caracteristiques technologiques (dimension, materiaux de composition) et positionnement simplifie
831 # des materiaux dans les canaux de l'assemblage pour dilution homogene a 2D dans le milieu peripherique.
832 # - Materiaux fournis sous forme de couples (nom de materiau et masse en g)
833 # - Repartition decrite en donnant pour une liste de materiaux (faisant partie des materiaux
834 # precedemment indiques) la liste des types de cellules (precedee du mot-cle TypeCellule) et des
835 # types de materiaux (precedes du mot-cle TypeMateriau) devant etre modifies par la presence des
837 # < liste de MATERIAU >,
838 # TypeCellule < liste de types de cellule >,
839 # TypeMateriau < liste de types de materiau >
840 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
841 GRILLE_ASSEMBLAGE = OPER (nom="GRILLE_ASSEMBLAGE",op=0,sd_prod=GrilleAssemblage,
843 fr = "Definition d'une grille d'assemblage",
844 ang = "Definition of an elementary assembly grid",
845 TypeGrille = SIMP (typ='TXM',defaut='GrilleMelange',statut='f',fr="Type de grille de structure assemblage"),
846 Hauteur = SIMP (typ='R',defaut=3.3,statut='f',fr="Hauteur de la grille de structure assemblage"),
847 Largeur = SIMP (typ='R',defaut=21.338,statut='f',fr="Largeur de la grille de structure assemblage"),
848 MateriauxMasse = NUPL (
849 elements = (SIMP (typ=Materiau),SIMP (typ='R')),
852 fr = "Serie de couples (Materiau,masse en g) de composition de la grille"),
856 MateriauGrille = SIMP (typ=Materiau,fr="Nom du materiau a repartir",statut='o'),
857 TypeCellule = SIMP (typ='TXM',max='**',statut='o',fr="Liste des types de cellule ou est reparti le materiau"),
858 TypeMateriau = SIMP (typ='TXM',max='**',statut='o') )
860 # -----------------------------------------------------------------------------------------------------------------------------------
861 # Classe PARTIE_INFERIEURE_ASSEMBLAGE_COMBUSTIBLE : Classe de definition de l'embout inferieur d'un assemblage combustible
862 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
863 PARTIE_INFERIEURE_ASSEMBLAGE_COMBUSTIBLE = OPER (nom="PARTIE_INFERIEURE_ASSEMBLAGE_COMBUSTIBLE",op=0,sd_prod=PartieInferieureAssemblageCombustible,
865 fr = "Definition de la partie inferieure d'un assemblage combustible",
866 ang = "Definition of the bottom part of a fuel assembly",
867 MateriauEmbout = SIMP (typ=Materiau, statut='f',defaut='ACIER',fr="Materiau de l'embout inferieur"),
868 MasseBouchonInferieurCrayonCombustible = SIMP (typ='R',statut='o',fr="Masse du bouchon inferieur du crayon combustible"),
869 HauteurBouchonInferieurCrayonCombustible = SIMP (typ='R',statut='o',fr="Hauteur du bouchon inferieur du crayon combustible"),
870 MateriauBouchonInferieurCrayonCombustible = SIMP (typ=Materiau, statut='f',defaut='ZIRCALOY',fr="Materiau du bouchon inferieur du crayon combustible"),
871 MasseEmbout = SIMP (typ='R',statut='o',fr="Masse de l'embout inferieur"),
872 EpaisseurPlaqueAdaptatrice = SIMP (typ='R',statut='o',fr="Epaisseur de la plaque adaptatrice de l'embout inferieur"),
873 LargeurPlaqueAdaptatrice = SIMP (typ='R',statut='o',fr="Largeur de la plaque adaptatrice de l'embout inferieur"),
874 TrousPlaqueAdaptatrice = NUPL (
877 elements = ( SIMP (typ='I',statut='o',fr="Nombre de trous de taille definie ci-apres"),
878 SIMP (typ='TXM',into=('Rayon','Cotes'),statut='o',fr="Choix de la forme des trous, elliptique ou rectangulaire"),
879 SIMP (typ='R',min=2,max=2,statut='o',fr="Rayons ou cotes des trous"),
880 SIMP (typ='TXM',defaut='Hauteur',into=('Hauteur','Epaisseur'),statut='o',fr="Mot-cle au choix"),
881 SIMP (typ='R',statut='o',fr="Hauteur des trous dans la plaque adaptatrice"))),
882 JeuBouchonCombustiblePlaque = SIMP (typ='R',statut='o',fr="Hauteur du jeu entre bouchon combustible et plaque adaptatrice"),
883 HauteurPied = SIMP (typ='R',statut='o',fr="Hauteur du pied de l'embout inferieur"),
884 CapuchonRint = SIMP (typ='R',statut='f',fr="Rayon interne du capuchon"),
885 CapuchonRext = SIMP (typ='R',statut='f',fr="Rayon externe du capuchon"),
886 HauteurVisEpaulee = SIMP (typ='R',statut='f',fr="Hauteur des vis epaulees des tubes guides"),
887 MasseVisEpaulee = SIMP (typ='R',statut='f',fr="Masse totale des vis epaulees des tubes guides"),
888 VisEpauleeRint = SIMP (typ='R',statut='f',fr="Rayon interne d'une vis epaulee"),
889 VisEpauleeRext = SIMP (typ='R',statut='f',fr="Rayon externe d'une vis epaulee"),
890 MasseFiltre = SIMP (typ='R',statut='f',fr="Masse du filtre anti-debris"),
891 MateriauFiltre = SIMP (typ=Materiau, statut='f', defaut='INCONEL',fr="Materiau du filtre anti-debris"),
892 HauteurCale = SIMP (typ='R',statut='f',fr="Hauteur de la cale dans le crayon combustible"),
893 MateriauCale = SIMP (typ=Materiau, statut='f', defaut='ACIER',fr="Materiau de la cale dans le crayon combustible"),
894 RayonPionCentrage = SIMP (typ='R',statut='f',fr="Rayon externe des pions de centrage de la plaque inferieure coeur"),
895 HauteurPionCentrage = SIMP (typ='R',statut='f',fr="Hauteur des pions de centrage de la plaque inferieure coeur"),
896 HauteurOgivePionCentrage = SIMP (typ='R',statut='f',fr="Hauteur de l'ogive des pions de centrage de la plaque inferieure coeur"),
897 MateriauPionCentrage = SIMP (typ=Materiau, statut='f',defaut='ACIER',fr="Materiau des pions de centrage de la plaque inferieure coeur"),
898 HauteurBouchonTubeGuide = SIMP (typ='R',statut='f',fr="Hauteur des bouchons des tubes guides"),
899 MateriauBouchonTubeGuide = SIMP (typ=Materiau, statut='f',defaut='ACIER',fr="Materiau des bouchons des tubes guides")
902 # -----------------------------------------------------------------------------------------------------------------------------------
903 # Classe PARTIE_SUPERIEURE_ASSEMBLAGE_COMBUSTIBLE : Classe de definition de l'embout superieur d'un assemblage combustible
904 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
905 PARTIE_SUPERIEURE_ASSEMBLAGE_COMBUSTIBLE = OPER (nom="PARTIE_SUPERIEURE_ASSEMBLAGE_COMBUSTIBLE",op=0,sd_prod=PartieSuperieureAssemblageCombustible,
907 fr = "Definition de la partie superieure d'un assemblage combustible",
908 ang = "Definition of the top part of a fuel assembly",
909 MateriauEmbout = SIMP (typ=Materiau, statut='f',defaut='ACIER',fr="materiau de l'embout superieur"),
910 MasseBouchonSuperieurCrayonCombustible = SIMP (typ='R',statut='o',fr="Masse du bouchon superieur du crayon combustible"),
911 HauteurBouchonSuperieurCrayonCombustible = SIMP (typ='R',statut='o',fr="Hauteur du bouchon superieur du crayon combustible"),
912 MateriauBouchonSuperieurCrayonCombustible = SIMP (typ=Materiau, statut='f',defaut='ZIRCALOY',fr="Materiau du bouchon superieur du crayon combustible"),
913 RessortCrayonCombustible = SIMP (typ='R',statut='o',fr="Masse du ressort du crayon combustible"),
914 HauteurChambreExpansion = SIMP (typ='R',statut='o',fr="Hauteur de la chambre d'expansion"),
915 MasseEmbout = SIMP (typ='R',statut='o',fr="Masse de l'embout superieur"),
916 HauteurEmbout = SIMP (typ='R',statut='o',fr="Hauteur de l'embout superieur"),
917 MasseRessortsEmbout = SIMP (typ='R',statut='o',fr="Masse des ressorts de l'embout superieur"),
918 MateriauRessortsEmbout = SIMP (typ=Materiau, statut='f', defaut='INCONEL',fr="Materiau des ressorts de l'embout superieur"),
919 EpaisseurPlaqueAdaptatrice = SIMP (typ='R',statut='o',fr="Epaisseur de la plaque adaptatrice"),
920 LargeurPlaqueAdaptatrice = SIMP (typ='R',statut='o',fr="Largeur de la plaque adaptatrice"),
921 TrousPlaqueAdaptatrice = NUPL (
924 elements = ( SIMP (typ='I',),
925 SIMP (typ='TXM',into=('Rayon','Cotes')),
926 SIMP (typ='R',min=2,max=2,fr="Rayons mineur et majeur ou Cotes du trou"),
927 SIMP (typ='TXM',into=('Hauteur','Epaisseur')),
928 SIMP (typ='R',fr="Hauteur du trou"))),
929 JeuBouchonCombustiblePlaque = SIMP (typ='R',statut='o',fr="Hauteur du jeu entre Bouchon combustible et Plaque adaptatrice"),
930 EpaisseurJupe = SIMP (typ='R',statut='o',fr="Epaisseur de la jupe de l'embout superieur"),
931 HauteurJupe = SIMP (typ='R',statut='f',fr="Hauteur de la jupe de l'embout superieur"),
932 RayonPionCentrage = SIMP (typ='R',statut='f',fr="Rayon des pions de centrage superieurs"),
933 HauteurPionCentrage = SIMP (typ='R',statut='f',fr="Hauteur des pions de centrage superieurs"),
934 HauteurOgivePionCentrage = SIMP (typ='R',statut='f',fr="Hauteur de l'ogive des pions de centrage superieurs"),
935 MateriauPionCentrage = SIMP (typ=Materiau, statut='f',defaut='ACIER',fr="Materiau des pions de centrage superieurs"),
936 RayonInterneManchon = SIMP (typ='R',statut='f',fr="Rayon interne des manchons des tubes guides"),
937 RayonExterneManchon = SIMP (typ='R',statut='f',fr="Rayon externe des manchons des tubes guides"),
938 HauteurManchon = SIMP (typ='R',statut='f',fr="Hauteur des manchons des tubes guides"),
939 MasseManchon = SIMP (typ='R',statut='f',fr="Masse d'un manchon des tubes guides") ) ;
940 # -----------------------------------------------------------------------------------------------------------------------------------
941 # Classe OPTIONS_AUTOPROTECTION : Classe de definition des donnees d'autoprotection du code de reseau
942 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
943 OPTIONS_AUTOPROTECTION = OPER (nom="OPTIONS_AUTOPROTECTION",op=0,sd_prod=OptionsAutoprotection,
945 fr = "Definition des donnees d'autoprotection des resonances",
946 ang = "Definition of resonance self shielding data",
947 TypeCombustible = SIMP (typ='TXM',max='**',statut='o',fr="Type de combustible auquel s'appliquent ces options d'autoprotection"),
948 MethodeAutoprotection = SIMP (typ='TXM',into=('SanchezCoste','SousGroupes'),defaut='SanchezCoste',statut='f'),
949 IsotopesAutoproteges = NUPL (
951 elements = (SIMP (typ=Isotope,statut='o',fr="Nom de l'isotope a autoproteger"),
952 SIMP (typ='TXM',into=('Moyenne','Detaillee','Couronne'),statut='o'),
953 SIMP (typ='TXM',into=('Materiaux','Cellules'),statut='f',fr="Choix d'autoprotection sur les materiaux ou les cellules"),
954 SIMP (typ='TXM',max='**',statut='f',fr="Liste des types de materiaux ou de cellules concernes"))),
955 Irradiations = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs d'autoprotection"),
956 IrradiationsPoison = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs d'autoprotection des poisons integres au combustible")
958 # -----------------------------------------------------------------------------------------------------------------------------------
959 # Classe ASSEMBLAGE_TYPE : Classe de definition d'un type d'assemblage (ensemble de crayons ou de reseaux quelconques)
960 # Rajout des structures grilles et embouts (dans le cas des REP)
961 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
962 ASSEMBLAGE_TYPE = OPER (nom="ASSEMBLAGE_TYPE",op=0,sd_prod=AssemblageType,
964 fr = "Definition d'un assemblage type et des elements associes eventuels",
965 ang = "Definition of an assembly type and its associated elements",
966 # TypeGeometrie = SIMP (typ='TXM',into=('Cartesienne','Hexagonale','Generale'),defaut='Cartesienne',statut='f'),
967 # TypeAbsorbant = SIMP (typ='TXM',defaut='0P',statut='f'),
968 # Identificateur = SIMP (typ='TXM',defaut='AFA 17 0P 0P',statut='f'),
969 Geometrie = SIMP (typ=(Cellule,Reseau,GeometrieCombinatoire),statut='o',max='**',
970 fr="Liste des geometries associees a l'assemblage"),
971 # Symetrie = SIMP (typ='TXM',into=('1/4','1/8','1/2','PI','PI/2','PI/6','PI/3','2PI/3','SansSymetrie'),
972 # defaut='SansSymetrie',statut='f'),
973 # ZoneCalculee = SIMP (typ='TXM',defaut='Entiere',
974 # into=('Entiere','1/2 N','1/2 S','1/2 E','1/2 O','1/4 N-E','1/4 N-O','1/4 S-E',
975 # '1/4 S-O','1/8 E-NE','1/8 N-NE','1/8 N-NO',
976 # '1/8 O-SO','1/8 S-SO','1/8 S-SE','1/8 E-SE',
977 # '1/6 E','1/6 NE','1/6 NO','1/6 O''1/6 SO','1/6 SE'),statut='f'),
978 GrillesStructure = NUPL (
981 elements = ( SIMP (typ=GrilleAssemblage,fr="Type de grille"),
982 SIMP (typ='R',max='**',fr="Positions axiales du type de grille"))),
983 PartieInferieure = SIMP (typ=PartieInferieureAssemblageCombustible,statut='f',fr="Type d'embout inferieur"),
984 PartieSuperieure = SIMP (typ=PartieSuperieureAssemblageCombustible,statut='f',fr="Type d'embout superieur"),
985 ElementsAssocies = SIMP (typ=(ElementsGrappeCommande,ElementsAbsorbantsFixes,GrappeBouchonAssemblage),max='**',statut='f')
986 # ZoneCalculee = SIMP (typ='DROITE',min=2,max=2,statut='f',fr="Droites delimitant la zone de calcul"),
987 # DonneesAutoprotection = SIMP (typ=Autoprotection,statut='f')
989 # -----------------------------------------------------------------------------------------------------------------------------------
990 # Classe ASSEMBLAGE_COMBUSTIBLE_CHARGE : Classe de definition d'un assemblage combustible charge dans un coeur REP
992 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
993 ASSEMBLAGE_COMBUSTIBLE_CHARGE = OPER (nom="ASSEMBLAGE_COMBUSTIBLE_CHARGE",op=0,sd_prod=AssemblageCombustibleCharge,
995 fr = "Definition d'un assemblage combustible charge en reacteur",
996 ang = "Definition of a core loaded fuel assembly ",
997 Identificateur = SIMP (typ='TXM',statut='o',fr="Code d'identification de l'assemblage combustible"),
998 Constructeur = SIMP (typ='TXM',statut='o',into=('FRAMATOME','SIEMENS','ABB','ENUSA','WESTINGHOUSE')),
999 TypeAssemblage = SIMP (typ=AssemblageType,statut='o'),
1000 CleControle = SIMP (typ='TXM',statut='o'),
1001 Engagement = SIMP (typ='TXM',statut='o'),
1002 NumeroLot = SIMP (typ='I',statut='o'),
1003 EnrichissementTheoriqueU235 = SIMP (typ='R',statut='o'),
1004 EnrichissementTheoriquePu = SIMP (typ='R',statut='f'),
1005 MasseTheoriqueNL = SIMP (typ='R',statut='o'),
1006 MasseInitialeUPu = SIMP (typ='R',statut='o'),
1007 MasseInitialeU232 = SIMP (typ='R',statut='f'),
1008 MasseInitialeU234 = SIMP (typ='R',statut='f'),
1009 MasseInitialeU235 = SIMP (typ='R',statut='f'),
1010 MasseInitialeU236 = SIMP (typ='R',statut='f'),
1011 MasseInitialePu239 = SIMP (typ='R',statut='f'),
1012 MasseInitialePu240 = SIMP (typ='R',statut='f'),
1013 MasseInitialePu241 = SIMP (typ='R',statut='f'),
1014 MasseInitialePu242 = SIMP (typ='R',statut='f'),
1015 MasseInitialeAm241 = SIMP (typ='R',statut='f'),
1016 AbsorbantFixe = SIMP (typ='TXM',statut='f'),
1020 elements = ( SIMP (typ='TXM',fr="Identificateur de la campagne"),SIMP (typ='TXM',fr="Etat de l'assemblage"))),
1021 BibliothequeNeutronique = SIMP (typ='TXM',statut='f',fr="Repertoire des Bibliothèques neutroniques associees") ) ;
1022 # ----------------------------------------------------------------------------------------------------------------------------------
1023 # Classe ELEMENT_BARRE : Classe de définition d'une barre element d'un assemblage
1024 # Definition des barres des grappes de commande (barre et gaine, et composants axiaux)
1025 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1026 ELEMENT_BARRE = OPER (nom="ELEMENT_BARRE",op=0,sd_prod=ElementBarre,
1028 fr = "Définition d'une barre element d'un assemblage",
1029 en = "Definition of an assembly rod element",
1030 MateriauPartieInferieure = SIMP (typ=Materiau,statut='o',defaut='ACIER',fr="Materiau composant la partie inferieure de la barre"),
1031 MateriauPartieSuperieure = SIMP (typ=Materiau,statut='o',defaut='ACIER',fr="Materiau composant la partie superieure de la barre"),
1032 HauteurBarre = SIMP (typ='R',statut='o',fr="Hauteur de la barre"),
1033 HauteurPartieInferieure = SIMP (typ='R',statut='f',fr="Hauteur de la partie inferieure de la barre"),
1034 HauteurPartieSuperieure = SIMP (typ='R',statut='f',fr="Hauteur de la partie superieure de la barre"),
1035 RayonInternePartieInferieure = SIMP (typ='R',statut='f',defaut=0.,fr="Rayon Interne de la partie inferieure de la barre"),
1036 RayonInternePartieSuperieure = SIMP (typ='R',statut='f',defaut=0.,fr="Rayon Interne de la partie superieure de la barre"),
1037 RayonExternePartieInferieure = SIMP (typ='R',statut='o',fr="Rayon Externe de la partie inferieure de la barre"),
1038 RayonExternePartieSuperieure = SIMP (typ='R',statut='f',fr="Rayon Externe de la partie superieure de la barre"),
1039 MasseRessort = SIMP (typ='R',statut='o',fr="Masse du ressort de la barre"),
1040 MateriauRessort = SIMP (typ=Materiau,statut='o',fr="Materiau du ressort de la barre"),
1041 HauteurRessort = SIMP (typ='R',statut='o',fr="Hauteur du ressort de la barre"),
1042 HauteurBouchonInferieur = SIMP (typ='R',defaut=0.,statut='f',fr="Hauteur du bouchon inferieur de la barre"),
1043 HauteurBouchonSuperieur = SIMP (typ='R',defaut=0.,statut='f',fr="Hauteur du bouchon superieur de la barre"),
1044 RayonBouchonInferieur = SIMP (typ='R',defaut=0.,statut='f',fr="Rayon externe du bouchon inferieur de la barre"),
1045 RayonBouchonSuperieur = SIMP (typ='R',defaut=0.,statut='f',fr="Rayon externe du bouchon superieur de la barre"),
1046 MateriauGaine = SIMP (typ=Materiau,defaut='ACIER',statut='o',fr="Materiau de la gaine externe de la barre"),
1047 RayonInterneGaine = SIMP (typ='R',defaut=0.,statut='f', fr="Rayon Interne de la gaine externe de la barre"),
1048 RayonExterneGaine = SIMP (typ='R',defaut=0.,statut='f', fr="Rayon Externe de la gaine externe de la barre")
1050 #----------------------------------------------------------------------------------------------------------------------------------
1051 # Classe ELEMENTS_GRAPPE_COMMANDE : Classe de définition des éléments des grappes de commande
1052 # Association avec les différents types de barres absorbantes
1053 # Description simplifiée de l'araignée et du bouchon des barres
1054 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1055 ELEMENTS_GRAPPE_COMMANDE = OPER (nom="ELEMENTS_GRAPPE_COMMANDE",op=0,sd_prod=ElementsGrappeCommande,
1057 fr = "Définition des éléments des grappes de commande",
1058 en = "Definition of control rod cluster components",
1059 ElementsBarre = SIMP (typ= ElementBarre, max='**',statut='f',fr="Liste des barres absorbantes associees"),
1060 HauteurPasInsertion = SIMP (typ='R',defaut=1.5875, statut='f'),
1061 HauteurInsertionMax = SIMP (typ='R',defaut=300., statut='f'),
1062 NbPasInsertion = SIMP (typ='I',defaut=0, statut='f'),
1063 HauteurAraignee16P = SIMP (typ='R',defaut=0., statut='f'),
1064 HauteurAraignee4M = SIMP (typ='R',defaut=0., statut='f'),
1065 HauteurAraignee4G = SIMP (typ='R',defaut=0., statut='f'),
1066 HauteurPommeau = SIMP (typ='R',defaut=0., statut='f'),
1067 RayonPommeau = SIMP (typ='R',defaut=0., statut='f') ) ;
1068 # -----------------------------------------------------------------------------------------------------------------------------------
1069 # Classe ELEMENTS_ABSORBANTS_REP : Classe de definition des elements des grappes d'absorbants fixes
1071 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1072 ELEMENTS_ABSORBANTS_FIXES = OPER (nom="ELEMENTS_ABSORBANTS_FIXES",op=0,sd_prod=ElementsAbsorbantsFixes,
1074 fr = "Definition des elements des grappes d'absorbants fixes",
1075 ang = "Definition of non movable absorber control rod cluster elements",
1076 # Limitation a 12 caracteres
1077 # HBouchInfPyrex = SIMP (typ='R',statut='f'),
1078 # RBouchInfPyrex = SIMP (typ='R',statut='f'),
1079 # HZoneVidePyrex = SIMP (typ='R',statut='f'),
1080 # HBouchSupPyrex = SIMP (typ='R',statut='f'),
1081 # RBouchSupPyrex = SIMP (typ='R',statut='f'),
1082 # MatBouchonPyrex = SIMP (typ=Materiau,statut='f')
1083 CrayonPyrexHauteurBouchonInferieur = SIMP (typ='R',statut='f'),
1084 CrayonPyrexRayonBouchonInferieur = SIMP (typ='R',statut='f'),
1085 CrayonPyrexHauteurZoneVide = SIMP (typ='R',statut='f'),
1086 CrayonPyrexHauteurBouchonSuperieur = SIMP (typ='R',statut='f'),
1087 CrayonPyrexRayonBouchonSuperieur = SIMP (typ='R',statut='f'),
1088 CrayonPyrexMateriauBouchon = SIMP (typ=Materiau,statut='f') ) ;
1089 # -----------------------------------------------------------------------------------------------------------------------------------
1090 # Classe GRAPPE_BOUCHON_ASSEMBLAGE_REP : Classe de definition d'une grappe bouchon
1092 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1093 GRAPPE_BOUCHON_ASSEMBLAGE = OPER (nom="GRAPPE_BOUCHON_ASSEMBLAGE",op=0,sd_prod=GrappeBouchonAssemblage,
1095 fr = "Definition d'une grappe bouchon d'assemblage combustible",
1096 ang = "Definition of ",
1097 HauteurBouchonPartieBasse = SIMP (typ='R',statut='f'),
1098 RayonBouchonPartieBasse = SIMP (typ='R',statut='f'),
1099 HauteurBouchonPartieIntermediaire1 = SIMP (typ='R',statut='f'),
1100 RayonBouchonPartieIntermediaire1 = SIMP (typ='R',statut='f'),
1101 HauteurBouchonPartieIntermediaire2 = SIMP (typ='R',statut='f'),
1102 RayonBouchonPartieIntermediaire2 = SIMP (typ='R',statut='f'),
1103 HauteurBouchonRegionSousPlaque = SIMP (typ='R',statut='f'),
1104 HauteurBouchonRegionSurPlaque = SIMP (typ='R',statut='f'),
1105 RayonBouchonRegionPlaque = SIMP (typ='R',statut='f'),
1106 HauteurSupport = SIMP (typ='R',statut='f'),
1107 MasseGrappe = SIMP (typ='R',statut='f'),
1108 Materiau = SIMP (typ=Materiau,statut='f') ) ;
1109 # -----------------------------------------------------------------------------------------------------------------------------------
1110 # Classe ELEMENTS_ASSEMBLAGE : Classe de définition des éléments associes a l'assemblage combustibe REP
1112 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - class ReflexionIsotrope (TObjet):pass
1113 #ELEMENTS_ASSEMBLAGE = OPER (nom="ELEMENTS_ASSEMBLAGE",op=0,sd_prod=ElementsAssemblage,
1115 # fr = "Definition des elements associes a l'assemblage",
1116 # ang = "Definition of the fuel assembly associated elements",
1117 # GrappeBouchon = SIMP (typ=GrappeBouchonAssemblage,statut='o'),
1118 # CrayonsAbsorbants = SIMP (typ=ElementsAbsorbants,statut='o'),
1119 # GrappesCommande = SIMP (typ=ElementsGrappeCommande,statut='o')
1121 # ----------------------------------------------------------------------------------------------------------------------------------
1122 # Classe SYSTEME_UNITES_MESURE : Classe de definition du systeme d'unites pour l'expression des donnees
1123 # Sauf indication contraire dans les attributs des classes, les unites utilisees sont definies
1124 # dans la classe ci-dessous
1125 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1126 SYSTEME_UNITES_MESURE = OPER (nom="SYSTEME_UNITES_MESURE",op=0,sd_prod=SystemeUnitesMesure,
1128 fr = "Definition du systeme d'unites pour l'expression des donnees",
1129 ang = "Definition of data unit system",
1130 Longueur = SIMP (typ='TXM',statut='o',defaut='cm'),
1131 Masse = SIMP (typ='TXM',statut='o',defaut='g'),
1132 Temps = SIMP (typ='TXM',statut='o',defaut='s'),
1133 Irradiation = SIMP (typ='TXM',statut='o',defaut='MWj/t'),
1134 Fluence = SIMP (typ='TXM',statut='o',defaut='n/kb'),
1135 SectionEfficaceMicroscopique = SIMP (typ='TXM',statut='o',defaut='barn'),
1136 SectionEfficaceMacroscopique = SIMP (typ='TXM',statut='o',defaut='cm-1'),
1137 MasseVolumique = SIMP (typ='TXM',statut='o',defaut='g/cm3'),
1138 Concentration = SIMP (typ='TXM',statut='o',defaut='E24*atome/cm3'),
1139 Temperature = SIMP (typ='TXM',statut='o',defaut='C'),
1140 ProportionMateriau = SIMP (typ='R',statut='o',defaut=0.01),
1141 Taux = SIMP (typ='R',statut='o',defaut=0.01),
1142 Enrichissement = SIMP (typ='R',statut='o',defaut=0.01),
1143 Pression = SIMP (typ='TXM',statut='o',defaut='bar') ) ;
1144 # ----------------------------------------------------------------------------------------------------------------------------------
1145 # Classes CONDITION_LIMITE elementaires : Classes de definition de Conditions limites elementaires
1146 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1147 VIDE = OPER (nom="VIDE",op=0,sd_prod=Vide,
1148 fr = "Condition aux limites de vide",
1149 ang= "Void boundary condition" ) ;
1151 REFLEXION_ISOTROPE = OPER (nom="REFLEXION_ISOTROPE",op=0,sd_prod=ReflexionIsotrope,
1152 fr = "Condition aux limites de reflexion isotrope",
1153 ang= "Isotropic Reflexion boundary condition" ) ;
1155 REFLEXION_SPECULAIRE = OPER (nom="REFLEXION_SPECULAIRE",op=0,sd_prod=ReflexionSpeculaire,
1156 fr = "Condition aux limites de reflexion speculaire",
1157 ang= "Specular Reflexion boundary condition" ) ;
1158 ALBEDO = OPER (nom="ALBEDO",op=0,sd_prod=Albedo,
1159 fr = "Condition aux limites d'albedo",
1160 ang= "Albedo boundary condition",
1161 albedo = SIMP (typ='R',statut='o',max='**') ) ;
1162 TRANSLATION = OPER (nom="TRANSLATION",op=0,sd_prod=Translation,
1163 fr = "Condition aux limites de translation",
1164 ang = "Translation boundary condition",
1165 Vecteur = SIMP (typ=Vecteur,statut='o') ) ;
1166 ROTATION = OPER (nom="ROTATION",op=0,sd_prod=Rotation,
1167 fr = "Condition aux limites de rotation",
1168 ang = "Rotational boundary condition",
1169 Centre = SIMP (typ=Point,statut='o'),
1170 Angle = SIMP (typ='R',statut='o',defaut=90.) ) ;
1171 # ----------------------------------------------------------------------------------------------------------------------------------
1172 # Classe CONDITION_LIMITE_SPECIALE : Classe de definition de Conditions limites sur les surfaces elementaires de la geometrie
1173 # modifiant la CL generale
1174 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1175 CONDITION_LIMITE_SPECIALE = OPER (nom="CONDITION_LIMITE_SPECIALE",op=0,sd_prod=ConditionLimiteSpeciale,
1177 fr = "Condition limite particuliere qui sera plaquee sur la geometrie",
1178 ang = "Special boundary condition added to the geometry",
1179 Type = SIMP (typ=(Vide,ReflexionIsotrope,ReflexionSpeculaire, Albedo, Translation, Rotation),statut='o'),
1180 ZonesApplication = SIMP ( typ=(Segment,ArcCercle,Conique),max='**',statut='o',
1181 fr="Liste des segments ou surfaces sur lesquels porte la condition limite")
1183 # ----------------------------------------------------------------------------------------------------------------------------------
1184 # Classe CONDITION_LIMITE_GENERALE : Classe de definition des conditions limites de l'objet geometrique complet
1185 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1186 CONDITION_LIMITE_GENERALE = OPER (nom="CONDITION_LIMITE_GENERALE",op=0,sd_prod=ConditionLimiteGenerale,
1188 fr = "Condition limite a la surface externe de la geometrie complete",
1189 ang = "Boundary condition for the complete geometry",
1190 ZoneCalculee = NUPL (statut='f',min=2,max=2,fr="Droites ou plans delimitant la zone de calcul",
1191 elements = (SIMP (typ=(Droite,Plan)), SIMP (typ='TXM',into=('Plus','Moins')))),
1192 ConditionParDefaut = SIMP (typ=(Vide, ReflexionIsotrope, ReflexionSpeculaire, Albedo),
1193 defaut=ReflexionIsotrope,
1195 fr="Condition limite par defaut"),
1196 ConditionsParticulieres = NUPL (
1197 fr = "Conditions particulieres modifiant localement la condition limite par defaut",
1200 elements = (SIMP (typ='TXM',into=('X-','X+','Y-','Y+','Z-','Z+','R+','X','Y','Z')),
1201 SIMP (typ=(Vide,ReflexionIsotrope,ReflexionSpeculaire, Albedo, Translation, Rotation)))),
1202 ConditionsSupplementaires = SIMP (
1203 typ = ConditionLimiteSpeciale,
1206 fr = "Conditions limites non exprimables avec les donnees precedentes")
1208 # -----------------------------------------------------------------------------------------------------------------------------------
1209 # Classe POSITION_ASSEMBLAGE_COMBUSTIBLE : Classe de definition de la position des assemblages combustibles dans un REP
1210 # Reperes (bataille navale ou autre) et
1211 # Coordonnees cartesiennes entieres des assemblages combustibles pour un type de palier
1212 # Origine des coordonnees en bas a gauche d'un systeme en xy
1213 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1214 POSITION_ASSEMBLAGE_COMBUSTIBLE = OPER (nom="POSITION_ASSEMBLAGE_COMBUSTIBLE",op=0,sd_prod=PositionAssemblageCombustible,
1216 fr = "Position des assemblages combustibles",
1217 ang = "Position of fuel assemblies",
1218 NbAssemblagesCombustibles = SIMP (typ='I',statut='o',defaut=157),
1219 regles=(UN_PARMI('PositionReseau', 'Positions'),),
1220 PositionReseau = SIMP (typ=CorrespondanceReperePositionReseau,statut="f"),
1221 Positions = NUPL ( max='**',statut='f',
1222 elements=(SIMP (typ='TXM',fr="Repere alphanumerique arbitraire de l'assemblage"),
1223 SIMP (typ='I' ,fr="Premiere Coordonnee entiere de l'assemblage"),
1224 SIMP (typ='I' ,fr="Seconde Coordonnee entiere de l'assemblage")))
1226 # -----------------------------------------------------------------------------------------------------------------------------------
1227 # Classe POSITION_INSTRUMENTATION : Classe de definition de la position des assemblages instrumentes dans un REP
1228 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1229 POSITION_INSTRUMENTATION_INTERNE = OPER (nom="POSITION_INSTRUMENTATION_INTERNE",op=0,sd_prod=PositionInstrumentationInterne,
1231 fr = "Definition de la position des assemblages instrumentes",
1232 ang = "Definition of neutron flux detector position",
1233 # TypePalier = SIMP (typ='TXM',max='**',statut='o'),
1234 NbAssemblagesInstrumentes = SIMP (typ='I',statut='o'),
1238 elements = (SIMP (typ='TXM',fr= "Type d'instrumentation"),
1239 SIMP (typ='I',min=2,max=2,fr= "Coordonnees entieres de l'assemblage instrumente dans le reseau"))) ) ;
1240 # -----------------------------------------------------------------------------------------------------------------------------------
1241 # Classe POSITION_GRAPPES_COMMANDE : Classe de definition des grappes de commande pour un type de schema de grappe
1242 # Donnees de la position (coordonnees entieres en xy), du type de grappe et du groupe d'appartenance
1243 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1244 POSITION_GRAPPES_COMMANDE = OPER (nom="POSITION_GRAPPES_COMMANDE",op=0,sd_prod=PositionGrappesCommande,
1246 fr = "Definition des grappes de commande pour un schema d'implantation particulier",
1247 ang = "Definition of control rod cluster position ant type",
1248 TypeSchema = SIMP (typ='TXM',statut='o'),
1249 NbTotalGrappes = SIMP (typ='I',statut='o'),
1250 PositionsEtType = NUPL (max='**',statut='o',
1251 elements=(SIMP (typ='TXM',fr="Nom du groupe de grappes"),
1252 SIMP (typ='I',fr="Nombre de grappes du groupe"),
1253 SIMP (typ='TXM',fr="Type de grappes"),
1254 SIMP (typ='I',max='**',fr="Coordonnees des grappes"))) ) ;
1255 # -----------------------------------------------------------------------------------------------------------------------------------
1256 # Classe STRUCTURES_INTERNES_REACTEUR : Classe de definition des structures internes du coeur du reacteur
1257 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1258 STRUCTURES_INTERNES_REACTEUR = OPER (nom="STRUCTURES_INTERNES_REACTEUR",op=0,sd_prod=StructuresInternesReacteur,
1260 fr = "Definition des structures internes du coeur",
1261 ang = "Definition of core internal structures",
1262 PlaqueInferieureCoeur = FACT (
1263 Epaisseur = SIMP (typ='R',statut='o', fr="Epaisseur de la plaque inferieure du coeur"),
1264 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER',fr="Materiau de la plaque inferieure du coeur"),
1268 SIMP (typ='I', fr="Nombre de trous dont on donne les dimensions"),
1269 SIMP (typ='TXM',into=('Rayon','Cotes'), fr="Mot-cle indiquant si on donne le rayon ou les cotes"),
1270 SIMP (typ='R',min=2,max=2, fr="Rayon ou cotes des trous"),
1271 SIMP (typ='TXM',into=('Hauteur','Epaisseur'),fr="Mot-cle indiquant l'entree de la hauteur du trou"),
1272 SIMP (typ='R', fr="Hauteur du trou")))),
1273 PlaqueSuperieureCoeur = FACT (
1274 Epaisseur = SIMP (typ='R', fr="Epaisseur de la plaque superieure du coeur"),
1275 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER',fr="Materiau de la plaque superieure du coeur"),
1279 SIMP (typ='I', fr="Nombre de trous dont on donne les dimensions"),
1280 SIMP (typ='TXM',into=('Rayon','Cotes'), fr="Mot-cle indiquant si on donne le rayon ou les cotes"),
1281 SIMP (typ='R',min=2,max=2, fr="Rayon ou cotes des trous"),
1282 SIMP (typ='TXM',into=('Hauteur','Epaisseur'),fr="Mot-cle indiquant l'entree de la hauteur du trou"),
1283 SIMP (typ='R', fr="Hauteur du trou")))),
1284 CloisonnementCoeur = FACT (
1285 Epaisseur = SIMP (typ='R', fr="Epaisseur du cloisonnement du coeur"),
1286 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER', fr="Materiau du cloisonnement du coeur"),
1287 DimensionsInterieures = NUPL (
1290 SIMP (typ='I', fr="Nombre d'assemblages dans la rangee"),
1291 SIMP (typ='TXM',into=('Assemblages','Assemblies'),fr="Mot-cle suivant le nombre d'assemblages"),
1292 SIMP (typ='TXM',into=('Largeur','Cote'), fr="Mot-cle precedant la largeur interieure du cloisonnement"),
1293 SIMP (typ='R', fr="Largeur interieure du cloisonnement"),
1294 SIMP (typ='TXM',into=('NbJeuCloisonGrille','NbJeu'),fr="Mot-cle precedant le nombre de jeux CloisonGrille"),
1295 SIMP (typ='I', fr="Nombre de jeux CloisonGrille"))),
1296 TrousDepressurisation = NUPL (elements=(SIMP (typ='I',fr="Nombre de trous de depressurisation"),
1297 SIMP (typ='TXM',into=('Rayon','Radius'),fr="Mot-cle precedant la valeur du rayon des trous"),
1298 SIMP (typ='R',fr="Rayon des trous de depressurisation"))),
1299 TemperatureMoyenne = SIMP (typ='R',fr="Temperature Moyenne du cloisonnement")),
1300 RenfortsInternes = FACT (
1301 Nombre = SIMP (typ='I',max='**'),
1302 Epaisseur = SIMP (typ='R',max='**'),
1303 Materiau = SIMP (typ=Materiau,max='**',statut='f',defaut='ACIER'),
1304 NbTrousDepressurisation = SIMP (typ='I',max='**'),
1305 RayonsTrousDepressurisation = SIMP (typ='R',max='**'),
1306 TemperatureMoyenne = SIMP (typ='R'),statut='f'),
1307 EnveloppeVirole = FACT (
1308 RayonInterne = SIMP (typ='R'),
1309 RayonExterne = SIMP (typ='R'),
1310 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER'),
1311 TemperatureMoyenne = SIMP (typ='R')),
1313 RayonInterne = SIMP (typ='R'),
1314 RayonExterne = SIMP (typ='R'),
1315 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER'),
1316 Secteurs = NUPL (max='**',elements=(SIMP (typ='R'),SIMP (typ='R'))),
1317 TemperatureMoyenne = SIMP (typ='R')),
1319 RayonInterne = SIMP (typ='R'),
1320 RayonExterne = SIMP (typ='R'),
1321 Materiau = SIMP (typ=Materiau,statut='f',defaut='ACIER'),
1322 TemperatureMoyenne = SIMP (typ='R')) ) ; # Fin STRUCTURES_INTERNES_REACTEUR
1323 # -----------------------------------------------------------------------------------------------------------------------------------
1324 # Classe CARACTERISTIQUES_PALIER : Classe de definition des donnees generales d'un type de palier de reacteur
1325 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1326 CARACTERISTIQUES_PALIER = OPER (nom="CARACTERISTIQUES_PALIER",op=0,sd_prod=CaracteristiquesPalier,
1328 fr = "Definition des donnees generales d'un type de palier de reacteur",
1329 ang = "Definition of general data for a type of nuclear reactor",
1330 TypePalier = SIMP (typ='TXM',statut='o',fr="Identificateur du type de palier"),
1331 PositionCombustible = SIMP (typ=PositionAssemblageCombustible,statut='o'),
1332 PositionDetecteur = SIMP (typ=PositionInstrumentationInterne,statut='o'),
1333 StructuresInternes = SIMP (typ=StructuresInternesReacteur,statut='o'),
1334 NbBouclesPrimaires = SIMP (typ='I',statut='o',defaut=3,fr="Nombre de boucles primaires"),
1335 NbTubesParGV = SIMP (typ='I',statut='f',fr="Nombre de tubes par GV") ) ;
1336 # -----------------------------------------------------------------------------------------------------------------------------------
1337 # Classe SITE_NUCLEAIRE_EDF : Classe de definition d'un site nucleaire EDF (Tranches, paliers et numero comptable)
1338 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1339 SITE_NUCLEAIRE = OPER (nom="SITE_NUCLEAIRE",op=0,sd_prod=SiteNucleaire,
1341 fr = "Definition d'un site nucleaire EDF",
1342 ang = "Definition of a nuclear power plant site",
1343 NomSite = SIMP (typ='TXM',statut='o',fr="Nom du site nucleaire",defaut='TRICASTIN'),
1344 Tranches = NUPL (max='**',elements=( SIMP (typ='I' ,statut='o',fr="Numero de la tranche nucleaire"),
1345 SIMP (typ='TXM',statut='o',fr="Trigramme de la tranche nucleaire"),
1346 SIMP (typ=CaracteristiquesPalier,statut='o',fr="Type de palier"),
1347 SIMP (typ='I' ,statut='o',fr="Numero comptable de la tranche"))) ) ;
1348 # -----------------------------------------------------------------------------------------------------------------------------------
1349 # Classe ESPACE_VARIATIONS : Classe de definition des parametres de contre-reactions neutroniques et de leurs variations
1350 # Donnees definissant l'espace des parametres dont dependent les bibliotheques
1351 # neutroniques et la discretisation de leur espace de variation.
1352 # Definition de la methode de balayage de cet espace (Suite d'options complementaires) :
1353 # 1) ParametresIndependants : Calculs independants en donnant successivement a chacun
1354 # des parametres leurs valeurs individuelles
1355 # 2) CoinsDomaine : Rajout des calculs aux limites extremes du domaine
1356 # 3) BordsDomaine : Rajout des calculs aux bords du domaine
1357 # 4) Grilles2D : Rajout des calculs sur les grilles 2D
1358 # passant par un point de reference
1359 # 5) CasParticuliers : Rajout de points specifiques de calcul
1360 # 6) EspaceComplet : Balayage complet du domaine des parametres
1361 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1362 ESPACE_VARIATIONS = OPER (nom="ESPACE_VARIATIONS",op=0,sd_prod=EspaceVariations,
1364 fr = "Definition de l'espace de variation des parametres neutroniques",
1365 ang = "Definition of feedback or variable parameters",
1366 Variations = NUPL (max='**',statut='f',
1367 elements=( SIMP (typ='TXM',fr="Nom du parametre a faire varier"),
1368 SIMP (typ='R',max='**',fr="Valeurs discretes de variation du parametre"))),
1369 MethodeBalayage = SIMP (
1372 defaut = 'ParametresIndependants',
1373 into = ('ParametresIndependants','CoinsDomaine','BordsDomaine','Grilles2D','CasParticuliers','EspaceComplet'),
1375 TypeVariation = SIMP (typ='TXM',defaut='absolu',into=('relatif','absolu'),statut='f'),
1376 CasParticuliers = NUPL (max='**',statut='f',fr="Liste des couples (Parametre, Valeur du parametre) pour les cas particuliers",
1377 elements=(SIMP (typ='TXM'),SIMP (typ='R'))),
1378 CasReference = NUPL (max='**',statut='f',fr="Liste des couples (Parametre, Valeur du parametre) pour le cas de reference",
1379 elements=(SIMP (typ='TXM'),SIMP (typ='R'))) ) ;
1380 # -----------------------------------------------------------------------------------------------------------------------------------
1381 # Classe DONNEES_EVOLUTION_IRRADIATION : Classe de definition des valeurs d'irradiation intervenant dans les phases de calcul et d'edition
1382 # Pour le moment, on ne considere que l'Evolution, les Editions, l'Autoprotection et les ContreReactions
1383 # ou les irradiations de reprise (Normale, Gs et Beta pour EDF).
1384 # Donnees consistant pour chaque phase d'une liste d'irradiations en MWj/t
1385 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1386 DONNEES_EVOLUTION_IRRADIATION = OPER (nom="DONNEES_EVOLUTION_IRRADIATION",op=0,sd_prod=DonneesEvolutionIrradiation,
1388 fr = "Definition des donnees du calcul d'evolution et des irradiations de reprise",
1389 ang = "Definition of depletion calculation data and burnup restart calculations",
1390 Unite = SIMP (typ='TXM',defaut='MWj/t',into=('MWj/t','Jours'),statut='f',fr="Unite pour les irradiations"),
1391 Minimum = SIMP (typ='R',defaut=0.,statut='f',fr="Irradiation du debut de calcul"),
1392 Maximum = SIMP (typ='R',defaut=100000.,statut='f',fr="Irradiation maximum des calculs"),
1393 Evolution = SIMP (typ='R',max='**',defaut=0.,statut='f',fr="Irradiations du calcul d'evolution"),
1394 Editions = SIMP (typ='R',max='**',defaut=0.,statut='f',fr="Irradiations ou se font les editions"),
1395 ContreReactions = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs de reprise de contre-reactions"),
1396 ReprisesGs = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs de reprise GS EDF"),
1397 ReprisesBeta = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs de reprise BETA EDF"),
1398 Reprises = SIMP (typ='R',max='**',statut='f',fr="Irradiations ou se font les calculs de reprise"),
1399 Refroidissement = FACT (
1400 Instants = SIMP (typ='R',max='**',fr="Irradiations de debut de refroidissement du combustible"),
1401 Jours = SIMP (typ=('R','I'),max='**',fr="Nombre de jours de refroidissement correspondant aux instants de refroidissement")),
1402 InsertionGrappe = NUPL (max='**',statut='f',elements=(
1403 SIMP (typ='TXM',fr="Type de grappe inseree"),
1404 SIMP (typ=('R','I'), min=2,max=2,fr="Irradiations de Debut et Fin d'insertion de la grappe"),
1405 SIMP (typ='R',fr="Cote axiale de la limite inferieure de la grappe inseree"))) ) ;
1406 # -----------------------------------------------------------------------------------------------------------------------------------
1407 # Classe CONDITIONS_FONCTIONNEMENT : Classe de definition des conditions de fonctionnement Reacteur pour une campagne donnee
1409 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1410 CONDITIONS_FONCTIONNEMENT_MOYENNES = OPER (nom="CONDITIONS_FONCTIONNEMENT_MOYENNES",op=0,sd_prod=ConditionsFonctionnementMoyennes,
1412 fr = "Definition des conditions de fonctionnement pour une campagne donnee",
1413 ang = "Definition of a campaign operating conditions ",
1414 IdentificateurCampagne = SIMP (typ='TXM',statut='f',fr="Identificateur de la campagne"),
1415 PuissanceElectriqueMW = SIMP (typ='R',statut='o',defaut=900.,fr="Puissance electrique du reacteur en MW"),
1416 PuissanceThermiqueMWth = SIMP (typ='R',statut='o',defaut=2775.,fr="Puissance thermique du reacteur en MWth"),
1417 PressionPrimaireEntreeBar = SIMP (typ='R',statut='o',defaut=155.1,fr="Pression du moderateur en bars a l'entree du coeur actif"),
1418 PressionPrimaireSortieBar = SIMP (typ='R',statut='o',defaut=155.1,fr="Pression du moderateur en bars en sortie du coeur actif"),
1419 TitreMoyenBorePpm = SIMP (typ='R',statut='o',defaut=500.,fr="Titre moyen en ppm en bore dans le moderateur"),
1420 TmodEntreePnulleC = SIMP (typ='R',statut='o',defaut=286.0,fr="Temperature en C du moderateur a puissance nulle a l'entree du coeur"),
1421 TmodEntreePnomC = SIMP (typ='R',statut='o',defaut=286.4,fr="Temperature en C du moderateur a puissance nominale a l'entree du coeur"),
1422 DeltaTmodEntreeSortiePnomC = SIMP (typ='R',statut='o',defaut=39.0,fr="Ecart en C de temperature entre entree et sortie du coeur a puissance nominale"),
1423 TmodMoyenneCoeurPnomC = SIMP (typ='R',statut='o',defaut=305.3,fr="Temperature moyenne en C du moderateur dans le coeur actif"),
1424 TmodMoyenneCuvePnomC = SIMP (typ='R',statut='f',defaut=305.0,fr="Temperature moyenne en C du moderateur dans la cuve"),
1425 TcomMoyennePnomC = SIMP (typ='R',statut='f',defaut=600.0,fr="Temperature moyenne en C du combustible dans le coeur"),
1426 TmodMoyenneReflecteurPnomC = SIMP (typ='R',statut='f',defaut=296.0,fr="Temperature moyenne en C du reflecteur radial"),
1427 PositionGrappeHaute = SIMP (typ='I',statut='f',defaut=225,fr="Position haute des grappes, en nombre de pas extraits"),
1428 DebitPrimaireConceptionM3_h = SIMP (typ='R',statut='f',defaut=70500.,fr="Debit primaire de conception dans le coeur en m3/h"),
1429 ProportionDebitCoeurCuve = SIMP (typ='R',statut='f',defaut=0.97,fr="Rapport du debit coeur / debit cuve"),
1430 NbTubesGVBouches = SIMP (typ='I',statut='f',defaut=0,fr="Nombre de tubes GV bouches"),
1431 SectionEcoulementCoeur = SIMP (typ='R',statut='f',defaut=3.87,fr="Section d'ecoulement du moderateur dans le coeur en m2")
1432 ) ; # Fin CONDITIONS_FONCTIONNEMENT
1433 # -----------------------------------------------------------------------------------------------------------------------------------
1434 # Classe PLAN_CHARGEMENT_COEUR : Classe de definition du plan de chargement combustible d'un coeur pour une campagne donnee
1435 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1436 #PLAN_CHARGEMENT_COEUR = OPER (nom="PLAN_CHARGEMENT_COEUR",op=0,sd_prod=PlanChargementCoeur,
1438 # fr = "Definition du plan de chargement combustible d'un coeur",
1439 # ang = "Definition of a fuel loading core map ",
1440 # IdentificateurCampagne = SIMP (typ='TXM',statut='o'),
1441 # TypePlan = SIMP (typ='TXM',into=('STD','FR','FF','FFG'), statut='f'),
1442 # AssemblagePosition = NUPL (
1444 # elements = ( SIMP (typ=AssemblageCombustibleCharge,fr="Identificateur de l'assemblage"),
1445 # SIMP (typ='TXM',statut='f',fr="Repere alphanumerique de la Position dans le coeur"),
1446 # SIMP (typ='I',min=2,max=2,statut='f',fr="Coordonnees ij dans le plan radial du reseau du coeur")))
1448 # -----------------------------------------------------------------------------------------------------------------------------------
1449 # Classe DATES_CLES_CAMPAGNE : Classe de definition des dates cles d'une campagne et de sa longueur
1451 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1452 DATES_CLES_CAMPAGNE = OPER (nom="DATES_CLES_CAMPAGNE",op=0,sd_prod=DateClesCampagne,
1454 fr = "Definition des dates cles d'une campagne et de sa longueur",
1455 ang = "Definition of the campaign dates and length",
1456 IdentificateurCampagne = SIMP (typ='TXM',statut='o',defaut='CZ101'),
1457 DateDDC = SIMP (typ='I',min=3,max=3,statut='o',fr="Date J M A de debut de campagne"),
1458 DatePnom = SIMP (typ='I',min=3,max=3,statut='o',fr="Date J M A d'atteinte de la puissance nominale"),
1459 DateFDC = SIMP (typ='I',min=3,max=3,statut='o',fr="Date J M A de fin de campagne"),
1460 LongueurNaturelleTheoriqueMWj_t = SIMP (typ='R',statut='f',fr="Longueur naturelle theorique calculee de la campagne en MWj/t"),
1461 LongueurNaturelleRecaleeMWj_t = SIMP (typ='R',statut='f',fr="Longueur naturelle recalee calculee de la campagne en MWj/t"),
1462 LongueurNaturelleExperimentaleMWj_t = SIMP (typ='R',statut='f',fr="Longueur naturelle mesuree de la campagne en MWj/t"),
1463 LongueurAnticipationJepp = SIMP (typ='R',statut='f',fr="Nombre de JEPP d'anticipation"),
1464 LongueurProlongationJepp = SIMP (typ='R',statut='f',fr="Nombre de JEPP de prolongation"),
1465 LongueurTotaleExperimentaleMWj_t = SIMP (typ='R',statut='f',fr="Longueur totale de la campagne en MWj/t") ) ;
1466 # -----------------------------------------------------------------------------------------------------------------------------------
1467 # Classe OPTIONS_CODES : Classe de definition des options generales et du type de calcul demande
1469 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1470 OPTIONS_CODES = OPER (nom="OPTIONS_CODES",op=0,sd_prod=OptionsCodes,
1471 fr = "Definition des options des codes de calcul",
1472 ang = "Definition of calculation code options",
1473 # TypeCalcul = SIMP (typ='TXM',defaut='Evolution',statut='f'),
1474 # CodeCalcul = SIMP (typ='TXM',defaut='SUNSET',statut='f'),
1475 # ConditionLimite = SIMP (typ=ConditionLimiteGenerale,statut='o'),
1476 OptionsCodeReseau = FACT (
1477 OptionMulticellule = SIMP (typ='TXM',defaut='ROTH',statut='f',into=('ROTH','MULTICELLULE'),fr="Option du calcul multicellule"),
1478 OptionPij = SIMP (typ='TXM',defaut='&UP0 &ROTH',statut='f',into=('&UP0 &ROTH','&UP0 &HETE','&UP1 &HETE'),fr="Option du calcul des Pij"),
1479 ParametresIntegration = SIMP (typ='TXM',defaut='MAIL_INT 7 7 7 7',statut='f',fr="Donnees du maillage d'integration en heterogene"),
1480 ProportionNoyauxParDefaut = SIMP (typ='R',defaut=1.E-12,statut='f',fr="Valeur initiale des concentrations des noyaux lourds non definis"),
1481 OptionLaplacienB2 = SIMP (typ='TXM',defaut='CRITIQUE',statut='f',into=('CRITIQUE','NUL','IMPOSE'),fr="Option du calcul des fuites homogenes"),
1482 LaplacienB2 = SIMP (typ='R',defaut=0.,statut='f',fr="Valeur initiale du laplacien du calcul des fuites"),
1483 OrdreAnisotropie = SIMP (typ='I',defaut=1,statut='f',fr="Ordre d'anisotropie des sections de transfert"),
1484 Autoprotection = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Calcul d'autoprotection ou non"),
1485 DonneesAutoprotection = SIMP (typ=OptionsAutoprotection,statut='f',max='**',fr="Nom des objets decrivant les isotopes a autoproteger et les options associees"),
1486 RecalculAutoprotection = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Demande ou non de recalcul de l'autoprotection"),
1487 Equivalence = SIMP (typ='TXM',defaut='Non',statut='f',into=('Oui','Non'),fr="Demande ou non de calcul d'equivalence"),
1488 NbGroupesEquivalence = SIMP (typ='I',max='**',defaut=(2,6,16),statut='f',fr="Liste des nombres de groupes des calculs d'quivalence"),
1489 EditionAssemblage = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Demande d'edition des sections efficaces homogeneisees sur l'ensemble du domaine"),
1490 EditionCellule = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Demande d'edition des sections efficaces homogeneisees par cellule"),
1491 EditionFluxDetaille = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Demande d'edition des flux moyens sur l'ensemble du domaine sur la maillage multigroupe detaille"),
1492 EditionMilieu = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Demande d'edition des compositions isotopiques detaillees sur tous les milieux de calcul"),
1493 EditionTrimaran = SIMP (typ='TXM',defaut='Non',statut='f',into=('Oui','Non'),fr="Demande d'edition des sections efficaces pour TRIPOLI multigroupe"),
1494 SpectreNeutrons = SIMP (typ='TXM',defaut='Prompt',statut='f',into=('Prompt','Retarde'),fr="Type de spectre de neutrons pour le calcul de transport"),
1495 ListeIsotopesEdites = SIMP (typ='TXM',statut='f',max='**',fr="Liste des initiales des symboles des isotopes a editer"),
1496 FichierBickley = SIMP (typ='TXM',statut='f',fr="Nom du fichier des fonctions Bickley"),
1497 EditionIsotopeHomogene = SIMP (typ='TXM',defaut='Non',statut='f',into=('Oui','Non'),fr="Demande d'edition de constitution d'isotopes homogeneises sous forme APOLLIB"),
1498 RepertoireHomoge = SIMP (typ='TXM',statut='f',fr="Nom du repertoire du fichier des isotopes homogenes sous forme APOLLIB"),
1499 FichierHomoge = SIMP (typ='TXM',statut='f',fr="Nom du fichier des isotopes homogenes sous forme APOLLIB"),
1500 ExecutableAPOLLO = NUPL (
1501 elements = ( SIMP (typ='TXM',fr="Systeme d'exploitation"),SIMP (typ='TXM',fr="Nom du fichier executable")),
1503 ProceduresApollo2 = FACT (
1504 OptionsListing = SIMP (typ='TXM',statut='f'),
1505 Evolution = SIMP (typ='TXM',statut='f'),
1506 Reprise = SIMP (typ='TXM',statut='f'),
1507 Equivalence = SIMP (typ='TXM',statut='f'),
1508 EditionCellule = SIMP (typ='TXM',statut='f'),
1509 EditionHomoge = SIMP (typ='TXM',statut='f')),
1510 ProceduresSunset = FACT (
1511 Evolution = SIMP (typ='TXM',statut='f'),
1512 Reprise = SIMP (typ='TXM',statut='f'),
1513 Equivalence = SIMP (typ='TXM',statut='f'),
1514 EditionCellule = SIMP (typ='TXM',statut='f'),
1515 EditionHomoge = SIMP (typ='TXM',statut='f'))),
1516 # --------------------------------------------------------------
1517 OptionsCodeCoeur = FACT (
1518 ReactiviteVisee = SIMP (typ='R',defaut=0.,statut='f',fr="Valeur en pcm de la reactivite visee en calcul critique"),
1519 EfficaciteBoreEstimee = SIMP (typ='R',defaut=-6.,statut='f',fr="Valeur estimee en pcm/ppm de l'efficacite du bore"),
1520 TitreBoreInitiale = SIMP (typ='R',defaut=600.,statut='f',fr="Valeur estimee en ppm du titre en bore du moderateur"),
1521 ApproximationTransport = SIMP (typ='TXM',defaut='SPn',statut='f',into=('SPn','Sn')),
1522 BlocSPn = BLOC (condition = "ApproximationTransport=='SPn'",
1523 OrdreApproximation = SIMP (typ='I',defaut=1,statut='f',fr="Ordre n impair de la methode SPn"),
1524 ElementFini = SIMP (typ='TXM',defaut='RTN0',statut='f',into=('RTN0','RTN1'),fr="Type d'element fini"),
1525 MaxIterationsDiffusion = SIMP (typ='I',defaut=1,into=(1,2,3,4,5),statut='f',fr="Nombre maximal d'iterations de diffusion")),
1526 BlocSn = BLOC (condition = "ApproximationTransport=='Sn'",
1527 OrdreApproximation = SIMP (typ='I',defaut=4,statut='f',fr="Ordre n pair de la methode Sn"),
1528 ElementFini = SIMP (typ='TXM',defaut='RTN',statut='f',into=('RTN','BDM'),fr="Type d'element fini"),
1529 Acceleration = SIMP (typ='TXM',defaut='Oui',statut='f',into=('Oui','Non'),fr="Acceleration par la diffusion"),
1530 MaxIterationsDiffusion = SIMP (typ='I',defaut=20,statut='f',fr="Nombre maximal d'iterations de calcul de diffusion") ),
1531 PrecisionValeurPropre = SIMP (typ='R',defaut=1.E-5,statut='f',fr="Precision sur la valeur propre"),
1532 PrecisionFlux = SIMP (typ='R',defaut=1.E-3,statut='f',fr="Precision sur le flux"),
1533 PrecisionResolutionMultigroupe = SIMP (typ='R',defaut=1.E-6,statut='f',fr="Precision de la resolution multigroupe"),
1534 PrecisionIterationTermeDiffusion = SIMP (typ='R',defaut=1.E-6,statut='f',fr="Precision des iterations sur le terme de diffusion"),
1535 MaxIterationsEnEnergie = SIMP (typ='I',defaut=1,statut='f',fr="Nombre maximal d'iterations pour la resolution Gauss Seidel en energie"),
1536 MaxIterationsTermeDiffusion = SIMP (typ='I',defaut=1,statut='f',fr="Nombre maximal d'iterations sur le terme de diffusion"),
1537 MaxIterationsDecompositionDomaine = SIMP (typ='I',defaut=1,statut='f',fr="Nombre d'iterations de decomposition de domaine"),
1538 MaxIterationsKeffAvantCR = SIMP (typ='I',defaut=1,statut='f',fr="Nombre de calculs de keff avant appel aux contre-reactions"),
1539 GestionAutomatiquePasCinetique = SIMP (typ='TXM',defaut='Oui',into=('Oui','Non'),statut='f',fr="Gestion automatique du pas de temps du calcul cinetique"),
1540 PrecisionIterationsFluxPrecurseurs = SIMP (typ='R',defaut=1.E-6,statut='f',fr="Precision sur les iterations Flux Precurseurs"),
1541 PrecisionParametreGestionAutomatique = SIMP (typ='R',defaut=0.0008,statut='f',fr="Precision sur les iterations Flux Precurseurs"),
1542 MaxIterationsFluxPrecurseurs = SIMP (typ='I',defaut=50,statut='f',fr="Nombre maximal d'iterations Flux Precurseurs"),
1543 ThetaSchemaCinetique = SIMP (typ='R',defaut=0.5,statut='f',fr="Valeur du parametre theta du schema cinetique") ),
1544 # ------------------------------------------------------------------------------------------------------------------------------------
1545 OptionsThermiqueThermohydraulique = FACT (
1546 CoefficientEchangeGaineFluide = SIMP (typ='TXM',defaut='DITTUS_BOELTER',into=('FLICA','DITTUS_BOELTER'),statut='f',
1547 fr="Option du Coefficient d'échange gaine-fluide (flux < au flux critique)"),
1548 CoefficientEchangeGaineFluideEbullition = SIMP (typ='TXM',defaut='BST',into=('BST','TONG'),statut='f',
1549 fr="Option du Coefficient d'échange gaine-fluide (Ebullition en film)"),
1550 CoefficientEchangeJeuPastilleGaineConstantTransitoire = SIMP (typ='TXM',defaut='Non',into=('Non','Oui'),statut='f',
1551 fr="Option de constance des coefficients d'échange gap"),
1552 CoefficientEchangeJeuPastilleGaine = SIMP (typ='TXM',defaut='HGAP_88',into=('EJECTION','TUO2','PLIN_BU','FIXE','HGAP_88'),statut='f',
1553 fr="Option du Coefficient d'échange du jeu pastille-gaine"),
1554 BlocHgapTuo2 = BLOC (condition = "CoefficientEchangeJeuPastilleGaine=='TUO2'",
1555 Tuo2Initiale = SIMP (typ='R',statut='o',
1556 fr="Température initiale combustible pour le calcul du coefficient d'échange") ),
1557 BlocHgapFixe = BLOC (condition = "CoefficientEchangeJeuPastilleGaine=='FIXE'",
1558 Hgap = SIMP (typ='R',statut='o',defaut=5850.,fr="Valeur imposée du coefficient d'échange") ),
1559 ConductiviteCombustible = SIMP (typ='TXM',defaut='HGAP_88',into=('STORA','WESTINGHOUSE','HGAP_88','COMETHE'),statut='f',
1560 fr="Option du Coefficient de conductivité du combustible"),
1561 CapaciteCalorifiqueCombustible = SIMP (typ='TXM',defaut='UO2_FRAMATOME',into=('UO2_BATES','UO2_FRAMATOME','UO2_THYC'),statut='f',
1562 fr="Option du Coefficient de conductivité du combustible"),
1563 MateriauGaine = SIMP (typ='TXM',defaut='ZIRCALOY_CYRANO',into=('ZIRCALOY_CYRANO', 'ZIRCALOY_THYC', 'INCOLOY_800',
1564 'CHROMESCO_3', 'INOX_16', 'INOX_321', 'INOX_347', 'INOX_347_OXYDE',
1565 'INCONEL_600', 'NICKEL_75', 'PLATINE'),statut='f',
1566 fr="Materiau de la gaine pour le calcul du roCp de la gaine et de sa conductivite"),
1567 FluxCritique = SIMP (typ='R',defaut=180.E4,fr="Valeur du flux critique en W/m2"),
1568 FractionPuissanceCombustible = SIMP (typ='R',defaut=0.974,fr="Fraction de la puissance degagee dans le combustible"),
1569 Creusement = SIMP (typ='TXM',defaut='Uniforme',statut='f',into=('Uniforme','Runnals','Framatome','Twinkle','Mox','EDF','Specifique')),
1570 BlocCreusement = BLOC (condition = "Creusement=='Specifique'",
1571 RayonsCreusement = SIMP (typ='R',statut='o',fr="Rayons de definition du creusement de puissance (nz)"),
1572 IrradiationsCreusement = SIMP (typ='R',statut='o',fr="Irradiations de definition du creusement de puissance (nbu)"),
1573 EnrichissementsCreusement = SIMP (typ='R',statut='o',fr="Enrichissements de definition du creusement de puissance (nen)"),
1574 PuissancesUO2 = SIMP (typ='R',max='**',statut='f',fr="Valeurs des creusements de puissance P(nz,nbu,nen) dans une pastille UO2"),
1575 PuissancesMOX = SIMP (typ='R',statut='f',fr="Valeurs des creusements de puissance P(nz,nbu,nen) dans une pastille MOX") ),
1576 DiscretisationPastilleCombustible = SIMP (typ='I',defaut=4,statut='f',fr="Nombre de points de discretisation radiale de la pastille combustible"),
1577 DiscretisationGaine = SIMP (typ='I',defaut=2,statut='f',fr="Nombre de points de discretisation radiale de la gaine de la pastille combustible"),
1578 PrecisionCalculThermique = SIMP (typ='R',defaut=0.1,fr="Precision en Celsius du calcul thermique radiale du crayon"),
1579 PrecisionCalculThermohydraulique = SIMP (typ='R',defaut=0.01,fr="Precision en Celsius du calcul thermohydraulique de la temperature du moderateur"),
1580 MaxIterationsThermique = SIMP (typ='I',defaut=100,statut='f',fr="Nombre maximum d'iterations du calcul de thermique"),
1581 MaxIterationsThermohydraulique = SIMP (typ='I',defaut=100,statut='f',fr="Nombre maximum d'iterations du calcul de thermohydraulique"),
1582 MethodeIntegrationThermohydraulique = SIMP (typ='TXM',defaut='Gauss',statut='f',into=('Gauss','NonGauss'),fr="Methode d'integration thermohydraulique"),
1583 PerteDeCharge = SIMP (typ='TXM',defaut='Non',statut='f',into=('Non','Oui'),fr="Prise en compte ou non de la perte de charge axiale"),
1584 TableEau = SIMP (typ='TXM',defaut='Thetis',statut='f',into=('Thetis','Interne'),
1585 fr="Calcul des caracteristiques du moderateur par THETIS ou par des tables internes") ),
1586 # ----------------------------------------------------------------------------------------------------------------------------------
1587 OptionsContreReactions = FACT (
1588 ContreReactions = SIMP (typ='TXM',defaut='Oui',into=('Oui','Non'),fr="Prise en compte des contre-reactions ou non"),
1589 PrecisionPuissance = SIMP (typ='R',defaut=1.E-4,fr="Precision sur la puissance a la fin des iterations de contre-reactions"),
1590 PrecisionKeff = SIMP (typ='R',defaut=1.E-5,fr="Precision sur keff a la fin des iterations de contre-reactions"),
1591 MethodeCalculSection = SIMP (typ='TXM',defaut='Spline1D',into=('Spline1D','SplinenD','Tabulation'),
1592 fr="Methode de calcul des sections efficaces avec Contre-reactions") )
1593 ) ; # Fin OPTIONS_CODES
1594 # -----------------------------------------------------------------------------------------------------------------------------------
1595 # Classe DONNEES_GENERALES_ETUDE : Classe de definition des caracteristiques globales de l'etude
1596 # Definition de la centrale (site, numero de tranche) et numero de campagne d'irradiation
1597 # Ces caracteristiques d'environnement de l'etude doivent permettre de recuperer l'ensemble
1598 # des parametres de fonctionnement nominales du reacteur sujet de l'etude (creation de
1599 # bibliotheques ou calcul de coeur)
1600 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1601 DONNEES_GENERALES_ETUDE = OPER (nom="DONNEES_GENERALES_ETUDE",op=0,sd_prod=DonneesGeneralesEtude,
1603 fr = "Definition de la centrale sujet de l'etude et des options globales de l'etude",
1604 ang = "Definition of the power plant and of the global options",
1605 TypeCode = SIMP (typ='TXM',defaut='Reseau',into=('Reseau','Coeur'),statut='o'),
1606 SiteNucleaire = SIMP (typ=SiteNucleaire,defaut='TRICASTIN',statut='o'),
1607 BlocCoeur = BLOC (condition = "TypeCode=='Coeur'",
1608 NumeroTranche = SIMP (typ='I',defaut=1,statut='f'),
1609 NumeroCampagne = SIMP (typ='I',defaut=1,statut='f'),
1610 IdentificateurCampagne = SIMP (typ='TXM',defaut='TN101',statut='f'),
1611 DatesCampagne = SIMP (typ=DateClesCampagne,statut='f'),
1612 TypeGestion = SIMP (typ = 'TXM',
1615 into = ('310Q','310T','325T','325Q','340Q','345AL',
1616 '370Q','370T','400T','HMOX','MOXNT','TMOX')),
1617 TypeSchemaGrappe = SIMP (typ = 'TXM',
1618 defaut = '900CPYUO2',
1620 into = ('900CP0','900CPYUO2INITIAL','900CPYUO2',
1621 '900CPYUO2AL','900CPYMOX','1300','N4')),
1622 PositionGrappe = SIMP (typ=PositionGrappesCommande,statut='f'),
1623 TypeEvaluationSurete = SIMP (typ='TXM',defaut='900STD',statut='f',
1624 into=('900STD','900GARANCE','1300STD','1300GEMMES','N4STD')),
1625 ModePilotage = SIMP (typ='TXM',defaut='G',statut='f',into=('A','G','X')),
1626 PlanChargement = SIMP (typ=Reseau,statut='f'),
1627 CodeCalcul = SIMP (typ='TXM',defaut='SNCODE',statut='f')),
1628 BlocReseau = BLOC (condition = "TypeCode=='Reseau'",
1629 Assemblage = SIMP (typ=AssemblageType,statut='f'),
1630 ContreReactions = SIMP (typ=EspaceVariations,statut='f'),
1631 CodeCalcul = SIMP (typ='TXM',defaut='SUNSET',statut='f')),
1632 ConditionsMoyennes = SIMP (typ=ConditionsFonctionnementMoyennes,statut='f'),
1633 Options = SIMP (typ=OptionsCodes,statut='f'),
1634 PasIrradiation = SIMP (typ=DonneesEvolutionIrradiation,statut='f'),
1635 # ConditionLimite = SIMP (typ=ConditionLimiteGenerale,statut='o'),
1636 TypeCalcul = SIMP (typ='TXM',max='**',defaut='Evolution',
1637 into=('Evolution','EvolutionMicroscopique','Reprise','Statique','Cinetique',
1638 'BoreImpose','BoreCritique'),statut='f')
1641 class resultat(TObjet): pass
1642 class resultat2(resultat): pass
1644 CALCUL=OPER(nom="CALCUL",op=10,sd_prod=resultat,
1645 materiau=SIMP(typ=Materiau),
1646 PRESSION=SIMP(defaut=10000.,typ="R")
1649 CALCUL2=OPER(nom="CALCUL2",op=11,sd_prod=resultat2,
1650 donnee=SIMP(typ=resultat),
1651 materiau=SIMP(typ=Materiau),