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