]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Move the documentation of the elements of the catalog to the head of their declaration
authorYohann Pipeau <yohann.pipeau@edf.fr>
Mon, 14 Mar 2022 14:15:53 +0000 (15:15 +0100)
committerEric Fayolle <eric.fayolle@edf.fr>
Fri, 8 Apr 2022 08:44:07 +0000 (10:44 +0200)
ReacteurNumerique/cata_RN_EDG_PN.py

index de2d2681642cbd0aa53cbe062dfb454cb4adead6..d1d389e5d5d8b47413530086fde833d64a0ed854 100644 (file)
@@ -211,170 +211,170 @@ class _ScenarioData(ASSD):
 Assembly = OPER(
     nom="Assembly",
     sd_prod=_Assembly,
+    fr="Description d'un élément du cœur",
+    ang="Core element description",
     assembly_type=SIMP(
+        fr="Type d'élément cœur (assemblage combustible ou réflecteur",
+        ang="Type of the core element (fuel assembly or reflector",
         statut="o",
         typ="TXM",
-        into=("UOX", "MOX", "REF"),
-        fr="Type d'élément cœur (assemblage combustible ou réflecteur",
-        ang="Type of the core element (fuel assembly or reflector"),
+        into=("UOX", "MOX", "REF")),
     description=BLOC(
         condition="assembly_type != 'REF'",
+        fr="Description d'un assemblage combustible",
+        ang="Fuel assembly description",
         assembly_width=SIMP(
-            statut="o",
-            typ="R",
-            unite="m",
             fr="Pas inter-assemblage dans le cœur",
-            ang="Fuel assembly pitch in the core"),
-        fuel_density=SIMP(
+            ang="Fuel assembly pitch in the core",
+            unite="m",
             statut="o",
-            typ="R",
-            defaut=0.95,
-            unite="g/cm3",
+            typ="R"),
+        fuel_density=SIMP(
             fr=("Ratio entre masse volumique nominale et la masse volumique "
                 "théorique des pastilles combustible"),
             ang=("Ratio between the nominal density and the theoretical "
-                 "density of the fuel pellets")),
+                 "density of the fuel pellets"),
+            unite="g/cm3",
+            statut="o",
+            typ="R",
+            defaut=0.95),
         radial_description=FACT(
+            fr="Description radiale de l'assemblage combustible",
+            ang="Fuel assembly radial description",
             statut="o",
             clad_outer_radius=SIMP(
-                statut="o",
-                typ="R",
-                unite="m",
                 fr="Rayon externe de la gaine des crayons combustible",
-                ang="Clad external radius of the fuel pins"),
-            guide_tube_outer_radius=SIMP(
-                statut="o",
-                typ="R",
+                ang="Clad external radius of the fuel pins",
                 unite="m",
-                fr="Rayon externe des tubes guides",
-                ang="Clad external radius of the guide tubes"),
-            fuel_rod_pitch=SIMP(
                 statut="o",
-                typ="R",
+                typ="R"),
+            guide_tube_outer_radius=SIMP(
+                fr="Rayon externe des tubes guides",
+                ang="Clad external radius of the guide tubes",
                 unite="m",
+                statut="o",
+                typ="R"),
+            fuel_rod_pitch=SIMP(
                 fr="Pas inter-crayon dans l'assemblage",
-                ang="Fuel pin pitch in the assembly"),
-            nfuel_rods=SIMP(
+                ang="Fuel pin pitch in the assembly",
+                unite="m",
                 statut="o",
-                typ="I",
+                typ="R"),
+            nfuel_rods=SIMP(
                 fr="Nombre de crayons combustibles dans l'assemblage",
-                ang="Number of fuel pins in the assembly"),
-            fr="Description radiale de l'assemblage combustible",
-            ang="Fuel assembly radial description"),
+                ang="Number of fuel pins in the assembly",
+                statut="o",
+                typ="I")),
         axial_description=FACT(
+            fr="Description axiale de l'assemblage combustible",
+            ang="Fuel assembly axial description",
             statut="o",
             active_length_start=SIMP(
-                statut="o",
-                typ="R",
-                unite="m",
                 fr="Altitude basse de la partie active",
-                ang="Lower altitude of the active part"),
-            active_length_end=SIMP(
-                statut="o",
-                typ="R",
+                ang="Lower altitude of the active part",
                 unite="m",
+                statut="o",
+                typ="R"),
+            active_length_end=SIMP(
                 fr="Altitude haute de la partie active",
-                ang="Upper altitude of the active part"),
-            fr="Description axiale de l'assemblage combustible",
-            ang="Fuel assembly axial description"),
+                ang="Upper altitude of the active part",
+                unite="m",
+                statut="o",
+                typ="R")),
         grids=FACT(
+            fr="Description des grilles",
+            ang="Grids description",
             statut="o",
             mixing=FACT(
+                fr="Description des grilles de mélange",
+                ang="Mixing grids description",
                 statut="o",
                 positions=SIMP(
+                    fr="Altitude basse de la grille",
+                    ang="Grid lower altitude",
+                    unite="m",
                     statut="f",
                     typ="R",
-                    max="**",
-                    unite="m",
-                    fr="Altitude basse de la grille",
-                    ang="Grid lower altitude"),
+                    max="**"),
                 size=SIMP(
-                    statut="o",
-                    typ="R",
-                    unite="m",
                     fr="Hauteur de la grille",
-                    ang="Grid height"),
-                fr="Description des grilles de mélange",
-                ang="Mixing grids description"),
+                    ang="Grid height",
+                    unite="m",
+                    statut="o",
+                    typ="R")),
             non_mixing=FACT(
+                fr="Description des grilles de maintien",
+                ang="Holding grids description",
                 statut="o",
                 positions=SIMP(
+                    fr="Altitude basse de la grille",
+                    ang="Grid lower altitude",
+                    unite="m",
                     statut="f",
                     typ="R",
-                    max="**",
-                    unite="m",
-                    fr="Altitude basse de la grille",
-                    ang="Grid lower altitude"),
+                    max="**"),
                 size=SIMP(
-                    statut="o",
-                    typ="R",
-                    unite="m",
                     fr="Hauteur de la grille",
-                    ang="Grid height"),
-                fr="Description des grilles de maintien",
-                ang="Holding grids description"),
-            fr="Description des grilles",
-            ang="Grids description"),
-        fr="Description d'un assemblage combustible",
-        ang="Fuel assembly description"),
-    fr="Description d'un élément du cœur",
-    ang="Core element description")
+                    ang="Grid height",
+                    unite="m",
+                    statut="o",
+                    typ="R")))))
 
 
 # TODO: Define the names of the possible compositions (Black, Grey, B4C, Hafnium and Pyrex)
 RodBank = OPER(
     nom="RodBank",
     sd_prod=_RodBank,
+    fr="Description d'un groupe de grappes absorbantes",
+    ang="Rod bank description",
     rod_type=SIMP(
+        fr="Type de grappes absorbantes",
+        ang="Type of rod clusters",
         statut="o",
         typ="TXM",
-        into=("homogeneous", "heterogeneous"),
-        fr="Type de grappes absorbantes",
-        ang="Type of rod clusters"),
+        into=("homogeneous", "heterogeneous")),
     description_HOM=BLOC(
         condition="rod_type == 'homogeneous'",
+        fr="Description d'un groupe de grappes absorbantes homogènes axialement",
+        ang="Axially homogeneous rod bank description",
         rod_composition=SIMP(
-            statut="o",
-            typ="TXM",
             fr="Type de matériau absorbant des grappes absorbantes",
-            ang="Absorbing material type of the rod clusters"),
-        fr="Description d'un groupe de grappes absorbantes homogènes axialement",
-        ang="Axially homogeneous rod bank description"),
+            ang="Absorbing material type of the rod clusters",
+            statut="o",
+            typ="TXM")),
     description_HET=BLOC(
         condition="rod_type == 'heterogeneous'",
+        fr="Description d'un groupe de grappes absorbantes hétérogène axialement",
+        ang="Axially heterogeneous rod bank description",
         bottom_composition=SIMP(
-            statut="o",
-            typ="TXM",
             fr="Type de matériau absorbant dans la partie basse des grappes absorantes",
-            ang="Absorbing material type in the lower part of the rod clusters"),
-        splitting_heigh=SIMP(
+            ang="Absorbing material type in the lower part of the rod clusters",
             statut="o",
-            typ="R",
-            unite="m",
+            typ="TXM"),
+        splitting_heigh=SIMP(
             fr=("Altitude de séparation entre la partie haute et la partie "
                 "basse des grappes absorbantes"),
             ang=("Splitting height between the upper part and the lower part "
-                 "of the rod clusters")),
-        upper_composition=SIMP(
+                 "of the rod clusters"),
+            unite="m",
             statut="o",
-            typ="TXM",
+            typ="R"),
+        upper_composition=SIMP(
             fr="Type de matériau absorbant dans la partie haute des grappes absorantes",
-            ang="Absorbing material type in the upper part of the rod clusters"),
-        fr="Description d'un groupe de grappes absorbantes hétérogène axialement",
-        ang="Axially heterogeneous rod bank description"),
+            ang="Absorbing material type in the upper part of the rod clusters",
+            statut="o",
+            typ="TXM")),
     step_height=SIMP(
-        statut="o",
-        typ="R",
-        unite="m",
         fr="Hauteur d'un pas",
-        ang="Step height"),
-    nsteps=SIMP(
+        ang="Step height",
+        unite="m",
         statut="o",
-        typ="I",
+        typ="R"),
+    nsteps=SIMP(
         fr="Nombre de pas du groupe de grappes",
-        ang="Rod bank steps number"),
-    fr="Description d'un groupe de grappes absorbantes",
-    ang="Rod bank description")
+        ang="Rod bank steps number",
+        statut="o",
+        typ="I"))
 
 
 def gen_assembly_maps():
@@ -395,23 +395,29 @@ def gen_assembly_maps():
     for i in range(NMIN_CORE_FUEL_ELTS, NMAX_CORE_FUEL_ELTS):
         dico["assembly_map_%d" % i] = BLOC(
             condition="nb_assembly == %d" % i,
+            fr="Description radiale du cœur",
+            ang="Core radial description",
             xaxis=SIMP(
+                fr="Nom des repères radiaux du cœur suivant l'axe ouest-est",
+                ang="Name of core radial marks following the west-east axis",
                 statut="o",
                 typ="TXM",
                 min=i + 2,
                 max=i + 2,
-                defaut=def_xaxis[i],
-                fr="Nom des repères radiaux du cœur suivant l'axe ouest-est",
-                ang="Name of core radial marks following the west-east axis"),
+                defaut=def_xaxis[i]),
             yaxis=SIMP(
+                fr="Nom des repères radiaux du cœur suivant l'axe nord-sud",
+                ang="Name of core radial marks following the north-south axis",
                 statut="o",
                 typ="TXM",
                 min=i + 2,
                 max=i + 2,
-                defaut=def_yaxis[i],
-                fr="Nom des repères radiaux du cœur suivant l'axe nord-sud",
-                ang="Name of core radial marks following the north-south axis"),
+                defaut=def_yaxis[i]),
             assembly_map=SIMP(
+                fr=("Répartition radiale des assemblages combustibles et des "
+                    "réflecteurs dans le cœur"),
+                ang=("Radial repartition of the fuel assemblies and the "
+                     "reflectors in the core"),
                 statut="o",
                 typ=Matrice(
                     nbLigs=i + 2,
@@ -421,12 +427,10 @@ def gen_assembly_maps():
                         ("RW","S","R","P","N","L","K","J","H","G","F","E","D","C","B","A","RE",),
                         ("RS","15","14","13","12","11","10","09","08","07","06","05","04","03","02","01","RN",)),
                     defaut=(i + 2) * [(i + 2) * ["."]],
-                    coloree=True),
-                fr=("Répartition radiale des assemblages combustibles et des "
-                    "réflecteurs dans le cœur"),
-                ang=("Radial repartition of the fuel assemblies and the "
-                     "reflectors in the core")),
+                    coloree=True)),
             rod_map=SIMP(
+                fr="Répartition radiale des groupes de grappes dans le cœur",
+                ang="Rod banks radial repartition in the core",
                 statut="o",
                 typ=Matrice(
                     nbLigs=i + 2,
@@ -436,10 +440,10 @@ def gen_assembly_maps():
                     typElt="TXM",
                     listeHeaders=None,
                     coloree=True),
-                defaut=(i + 2) * [(i + 2) * ["."]],
-                fr="Répartition radiale des groupes de grappes dans le cœur",
-                ang="Rod banks radial repartition in the core"),
+                defaut=(i + 2) * [(i + 2) * ["."]]),
             BU_map=SIMP(
+                fr="Taux de combustion moyen des assemblages combustibles en GW.j/t",
+                ang="Average burnup of the fuel assemblies in GW.d/t",
                 statut="o",
                 typ=Matrice(
                     nbLigs=i + 2,
@@ -449,80 +453,80 @@ def gen_assembly_maps():
                     typElt="R",
                     listeHeaders=None,
                     coloree=True),
-                defaut=(i + 2) * [(i + 2) * ["."]],
-                fr="Taux de combustion moyen des assemblages combustibles en GW.j/t",
-                ang="Average burnup of the fuel assemblies in GW.d/t"),
-            fr="Description radiale du cœur",
-            ang="Core radial description")
+                defaut=(i + 2) * [(i + 2) * ["."]]))
     return dico
 
 
 Techno_data = OPER(
     nom="Techno_data",
     sd_prod=_TechnoData,
+    fr="Description technologique du cœur",
+    ang="Core technological description",
     assembly_list=SIMP(
+        fr="Sélection des assemblages combustible",
+        ang="Fuel assemblies selection",
         statut="o",
         typ=_Assembly,
         min=1,
-        max="**",
-        fr="Sélection des assemblages combustible",
-        ang="Fuel assemblies selection"),
+        max="**"),
     rodbank_list=SIMP(
+        fr="Sélection des groupes de grappes",
+        ang="Rod banks selection",
         statut="o",
         typ=_RodBank,
         min=0,
-        max="**",
-        fr="Sélection des groupes de grappes",
-        ang="Rod banks selection"),
+        max="**"),
     radial_description=FACT(
+        fr="Description radiale du cœur",
+        ang="Radial description of the core",
         statut="o",
         nb_assembly=SIMP(
+            fr="Nombre d'éléments combustible sur la tranche du cœur",
+            ang="Number of fuel elements on one side of the core",
             statut="o",
             typ="I",
-            into=list(range(NMIN_CORE_FUEL_ELTS, NMAX_CORE_FUEL_ELTS)),
-            fr="Nombre d'éléments combustible sur la tranche du cœur",
-            ang="Number of fuel elements on one side of the core"),
+            into=list(range(NMIN_CORE_FUEL_ELTS, NMAX_CORE_FUEL_ELTS))),
         **(gen_assembly_maps())),
     axial_description=FACT(
+        fr="Description axiale du cœur",
+        ang="Axial description of the core",
         statut="o",
         lower_refl_size=SIMP(
-            statut="o",
-            typ="R",
-            unite="m",
             fr="Hauteur du réflecteur axial bas",
-            ang="Height of bottom axial reflector"),
-        upper_refl_size=SIMP(
-            statut="o",
-            typ="R",
+            ang="Height of bottom axial reflector",
             unite="m",
+            statut="o",
+            typ="R"),
+        upper_refl_size=SIMP(
             fr="Hauteur du réflecteur axial haut",
-            ang="Height of top axial reflector")),
+            ang="Height of top axial reflector",
+            unite="m",
+            statut="o",
+            typ="R")),
     nominal_power=SIMP(
-        statut="o",
-        typ="R",
-        unite="W",
         fr="Puissance thermique nominale du cœur",
-        ang="Nominal thermal power of the core"),
-    Fuel_power_fraction=SIMP(
+        ang="Nominal thermal power of the core",
+        unite="W",
         statut="o",
-        typ="R",
-        defaut=0.974,
+        typ="R"),
+    Fuel_power_fraction=SIMP(
         fr="Fraction de la puissance dissipée dans le combustible",
-        ang="Power fraction dissipated in the fuel"),
-    by_pass=SIMP(
+        ang="Power fraction dissipated in the fuel",
         statut="o",
         typ="R",
-        defaut=0.07,
+        defaut=0.974),
+    by_pass=SIMP(
         fr="Fraction du débit de bypass cœur",
-        ang="Bypass core flow fraction"),
-    core_volumic_flowrate=SIMP(
+        ang="Bypass core flow fraction",
         statut="o",
         typ="R",
-        unite="m3/h",
+        defaut=0.07),
+    core_volumic_flowrate=SIMP(
         fr="Débit volumique cœur",
-        ang="Core volume flowrate"),
-    fr="Description technologique du cœur",
-    ang="Core technological description")
+        ang="Core volume flowrate",
+        unite="m3/h",
+        statut="o",
+        typ="R"))
 
 
 # TODO: Split this class in two: neutronic and thermalhydraulic)
@@ -530,28 +534,29 @@ Techno_data = OPER(
 Model_data = OPER(
     nom="Model_data",
     sd_prod=_ModelData,
+    fr="Description de la modélisation physique",
+    ang="Physical modeling description",
     physics=SIMP(
+        fr="Sélection de la physique du modèle",
+        ang="Physic model selection",
         statut="o",
         typ="TXM",
-        into=("Neutronics", "Thermalhydraulics"),
-        fr="Sélection de la physique du modèle",
-        ang="Physic model selection"),
+        into=("Neutronics", "Thermalhydraulics")),
     scale=SIMP(
+        fr="Sélection de l'échelle du modèle",
+        ang="Scale model selection",
         statut="o",
         typ="TXM",
-        into=("system", "component", "local"),
-        fr="Sélection de l'échelle du modèle",
-        ang="Scale model selection"),
+        into=("system", "component", "local")),
     b_neutro_compo=BLOC(
         condition="physics == 'Neutronics' and scale == 'component'",
+        fr="Description de la modélisation neutronique à l'échelle du composant",
+        ang="Neutronic modeling description at the component scale",
+
         # TODO: Split this in two: fuel assemblies libraries and reflector libraries)
         # TODO: Use a triplet (assembly, filename, pattern) instead of a doublet for the fuel assemblies libraries
         # TODO: Use a doublet (reflector, filename) for the reflector libraries
         library_map=SIMP(
-            statut="f",
-            typ=Tuple(2),
-            validators=VerifNeutLib(),
-            max="**",
             fr=("Association des éléments du cœur aux bibliothèques neutroniques "
                 "sous la forme (assemblage combustible, nom du fichier@pattern) "
                 "pour les bibliothèques assemblages et sous la forme "
@@ -559,186 +564,185 @@ Model_data = OPER(
             ang=("Association between the core elements and the neutronic libraries "
                  "in the form (fuel assembly, filename@pattern) for the fuel assembly "
                  "libraries and in the form of (reflector, filename) for the "
-                 "reflector libraries")),
+                 "reflector libraries"),
+            statut="f",
+            typ=Tuple(2),
+            validators=VerifNeutLib(),
+            max="**"),
         code=SIMP(
+            fr="Sélection du code de neutronique cœur",
+            ang="Core neutronic code selection",
             statut="o",
             typ="TXM",
-            into=("COCAGNE", "APOLLO3"),
-            fr="Sélection du code de neutronique cœur",
-            ang="Core neutronic code selection"),
+            into=("COCAGNE", "APOLLO3")),
         # TODO: Implement the *4x4* mesh
         radial_meshing=FACT(
+            fr="Maillage radial du cœur",
+            ang="Core radial meshing",
             statut="o",
             flux_solver=SIMP(
+                fr="Type de maillage radial du solveur de flux",
+                ang="Radial mesh type for the flux solver",
                 statut="o",
                 typ="TXM",
-                into=("subdivision", "pin-by-pin"),
-                fr="Type de maillage radial du solveur de flux",
-                ang="Radial mesh type for the flux solver"),
+                into=("subdivision", "pin-by-pin")),
             b_flux_subdivision=BLOC(
                 condition="flux_solver == 'subdivision'",
+                fr=("Paramètres pour les maillages radiaux de type subdivisé "
+                    "pour le solveur de flux"),
+                ang=("Parameters for the subdivided radial meshes types for the "
+                     "flux solver"),
                 flux_subdivision=SIMP(
-                    statut="o",
-                    typ="I",
                     fr=("Nombre de sous-divisions à appliquer à chaque maille "
                         "radiale pour le solveur de flux"),
                     ang=("Subdivision number to apply to all radial meshes for "
-                         "the flux solver")),
-                fr=("Paramètres pour les maillages radiaux de type subdivisé "
-                    "pour le solveur de flux"),
-                ang=("Parameters for the subdivided radial meshes types for the "
-                     "flux solver")),
+                         "the flux solver"),
+                    statut="o",
+                    typ="I")),
             feedback_solver=SIMP(
+                fr="Type de maillage radial du solveur de contre-réaction",
+                ang="Radial mesh type for the feedback solver",
                 statut="o",
                 typ="TXM",
-                into=("subdivision", "pin-by-pin"),
-                fr="Type de maillage radial du solveur de contre-réaction",
-                ang="Radial mesh type for the feedback solver"),
+                into=("subdivision", "pin-by-pin")),
             b_feedback_subdivision=BLOC(
                 condition="feedback_solver == 'subdivision'",
+                fr=("Paramètres pour les maillages radiaux de type subdivisé "
+                    "pour le solveur de contre-réaction"),
+                ang=("Parameters for the subdivided radial meshes types for the "
+                     "feedback solver"),
                 feedback_subdivision=SIMP(
-                    statut="o",
-                    typ="I",
                     fr=("Nombre de sous-divisions à appliquer à chaque maille "
                         "radiale pour le solveur de contre-réaction"),
                     ang=("Subdivision number to apply to all radial meshes for "
-                         "the feedback solver")),
-                fr=("Paramètres pour les maillages radiaux de type subdivisé "
-                    "pour le solveur de contre-réaction"),
-                ang=("Parameters for the subdivided radial meshes types for the "
-                     "feedback solver")),
-            fr="Maillage radial du cœur",
-            ang="Core radial meshing"),
-        fr="Description de la modélisation neutronique à l'échelle du composant",
-        ang="Neutronic modeling description at the component scale"),
+                         "the feedback solver"),
+                    statut="o",
+                    typ="I")))),
     b_thermo_compo=BLOC(
         condition="physics == 'Thermalhydraulics' and scale == 'component'",
+        fr="Description de la modélisation thermohydraulique à l'échelle du composant",
+        ang="Thermalhydraulic modeling description at the component scale",
         code=SIMP(
+            fr="Sélection du code de thermohydraulique cœur",
+            ang="Core thermalhydraulic code selection",
             statut="o",
             typ="TXM",
-            into=("THYC", "CATHARE3", "FLICA4"),
-            fr="Sélection du code de thermohydraulique cœur",
-            ang="Core thermalhydraulic code selection"),
+            into=("THYC", "CATHARE3", "FLICA4")),
         radial_meshing=FACT(
+            fr="Description du maillage radial thermohydraulique à l'échelle du composant",
+            ang="Thermalhydraulic radial meshing description at the component scale",
             statut="o",
             fluid=SIMP(
+                fr="Méthode de maillage radial",
+                ang="Radial meshing method",
                 statut="o",
                 typ="TXM",
-                into=("subdivision", "subchannel"),
-                fr="Méthode de maillage radial",
-                ang="Radial meshing method"),
+                into=("subdivision", "subchannel")),
             b_fluid_subdivision=BLOC(
                 condition="fluid == 'subdivision'",
+                fr="Données spécifiques au maillage radial par subdivision",
+                ang="Specific data for the radial meshing by subdivision",
                 fluid_subdivision=SIMP(
-                    statut="o",
-                    typ="I",
                     fr="Nombre de mailles radiales dans les assemblages combustibles",
-                    ang="Radial mesh number in the fuel assemblies"),
-                fr="Données spécifiques au maillage radial par subdivision",
-                ang="Specific data for the radial meshing by subdivision"),
+                    ang="Radial mesh number in the fuel assemblies",
+                    statut="o",
+                    typ="I")),
             pellet=SIMP(
-                statut="o",
-                typ="I",
                 fr="Nombre de mailles radiales dans la pastille combustible",
-                ang="Radial mesh number in the fuel pellet"),
-            clad=SIMP(
+                ang="Radial mesh number in the fuel pellet",
                 statut="o",
-                typ="I",
+                typ="I"),
+            clad=SIMP(
                 fr="Nombre de mailles radiales dans la gaine des crayons combustibles",
-                ang="Radial mesh number in the clad of the fuel pins"),
-            fr="Description du maillage radial thermohydraulique à l'échelle du composant",
-            ang="Thermalhydraulic radial meshing description at the component scale"),
-        fr="Description de la modélisation thermohydraulique à l'échelle du composant",
-        ang="Thermalhydraulic modeling description at the component scale"),
+                ang="Radial mesh number in the clad of the fuel pins",
+                statut="o",
+                typ="I"))),
     b_scale_compo=BLOC(
         condition="scale == 'component'",
+        fr="Description de la modélisation à l'échelle du composant",
+        ang="Modeling description at the component scale",
         axial_meshing=FACT(
+            fr="Maillage axial du cœur",
+            ang="Core axial meshing",
             statut="o",
             lower_refl=SIMP(
-                statut="o",
-                typ="I",
                 fr="Nombre de mailles axiales dans le réflecteur bas",
-                ang="Axial mesh number in the lower reflector"),
-            fuel=SIMP(
+                ang="Axial mesh number in the lower reflector",
                 statut="o",
-                typ="I",
+                typ="I"),
+            fuel=SIMP(
                 fr="Nombre de mailles axiales dans la partie active de l'assemblage combustible",
-                ang="Axial mesh number in the active part of the fuel assembly"),
-            upper_refl=SIMP(
+                ang="Axial mesh number in the active part of the fuel assembly",
                 statut="o",
-                typ="I",
+                typ="I"),
+            upper_refl=SIMP(
                 fr="Nombre de mailles axiales dans le réflecteur haut",
-                ang="Axial mesh number in the upper reflector"),
-            fr="Maillage axial du cœur",
-            ang="Core axial meshing"),
-        fr="Description de la modélisation à l'échelle du composant",
-        ang="Modeling description at the component scale"),
+                ang="Axial mesh number in the upper reflector",
+                statut="o",
+                typ="I"))),
     b_scale_local=BLOC(
         condition="scale == 'local'",
+        fr="Description de la modélisation à l'échelle du locale",
+        ang="Modeling description at the local scale",
         mesh_file=SIMP(
-            statut="o",
-            typ="Fichier",
             fr="Nom du fichier décrivant le maillage",
-            ang="Name of the file describing the mesh")),
-    fr="Description de la modélisation physique",
-    ang="Physical modeling description")
+            ang="Name of the file describing the mesh",
+            statut="o",
+            typ="Fichier")))
 
 
 Scenario_data = OPER(
     nom="Scenario_data",
     sd_prod=_ScenarioData,
+    fr="Description du transitoire",
+    ang="Transient description",
     initial_power=SIMP(
+        fr="Puissance thermique initiale du cœur",
+        ang="Initial thermal power of the core",
         statut="o",
         typ="R",
         val_min=0.,
-        defaut=100.,
-        fr="Puissance thermique initiale du cœur",
-        ang="Initial thermal power of the core"),
+        defaut=100.),
     initial_power_unit=SIMP(
+        fr="Unité de la puissance thermique initiale du cœur",
+        ang="Unit of the initial thermal power of the core",
         statut="o",
         typ="TXM",
         into=("% Nominal power", "W"),
-        defaut="% Nominal power",
-        fr="Unité de la puissance thermique initiale du cœur",
-        ang="Unit of the initial thermal power of the core"),
+        defaut="% Nominal power"),
     initial_core_inlet_temperature=SIMP(
+        fr="Température initiale de l'eau à l'entrée du cœur",
+        ang="Initial water temperature at the inlet of the core",
+        unite="°C",
         statut="o",
         typ="R",
         val_min=0.,
-        defaut=280.,
-        unite="°C",
-        fr="Température initiale de l'eau à l'entrée du cœur",
-        ang="Initial water temperature at the inlet of the core"),
+        defaut=280.),
     initial_boron_concentration=SIMP(
+        fr="Concentration en bore initiale",
+        ang="Initial boron concentration",
+        unite="ppm",
         statut="o",
         typ="R",
         val_min=0.,
-        defaut=1300.,
-        unite="ppm",
-        fr="Concentration en bore initiale",
-        ang="Initial boron concentration"),
+        defaut=1300.),
     initial_inlet_pressure=SIMP(
+        fr="Pression initiale de l'eau à l'entrée du cœur",
+        ang="Initial water pressure at the inlet of the core",
+        unite="bar",
         statut="o",
         typ="R",
         val_min=0.,
-        defaut=160.2,
-        unite="bar",
-        fr="Pression initiale de l'eau à l'entrée du cœur",
-        ang="Initial water pressure at the inlet of the core"),
+        defaut=160.2),
     initial_outlet_pressure=SIMP(
+        fr="Pression initiale de l'eau à la sortie du cœur",
+        ang="Initial water pressure at the outlet of the core",
+        unite="bar",
         statut="o",
         typ="R",
         val_min=0.,
-        defaut=157.2,
-        unite="bar",
-        fr="Pression initiale de l'eau à la sortie du cœur",
-        ang="Initial water pressure at the outlet of the core"),
+        defaut=157.2),
     initial_rod_positions=SIMP(
-        statut="o",
-        typ=Tuple(2),  # TODO: Use a triplet (type, name, position) instead of a doublet
-        validators=VerifTypeTuple(("TXM", "I")),
-        max="**",
-        unite="extracted steps",
         fr=("Position initiale des groupes de grappes et des grappes dans le "
             "cœur sous la forme (type@nom, position) "
             "(ex. (Rodbank@RB, 62) pour le groupe de grappe RB positionné à 62 "
@@ -748,56 +752,59 @@ Scenario_data = OPER(
              "core in the form (type@name, position) "
              "(e.g. (Rodbank@RB, 62) for the RB rod bank placed at 62 "
              "extracted steps and (Rodcluster@H08, 0) for the rod cluster H08 "
-             "completely inserted)")),
+             "completely inserted)"),
+        unite="extracted steps",
+        statut="o",
+        typ=Tuple(2),  # TODO: Use a triplet (type, name, position) instead of a doublet
+        validators=VerifTypeTuple(("TXM", "I")),
+        max="**"),
     scenario_type=SIMP(
+        fr="Type de transitoire à modéliser",
+        ang="Type of transient to model",
         statut="o",
         typ="TXM",
-        into=("RIA", ),
-        fr="Type de transitoire à modéliser",
-        ang="Type of transient to model"),
+        into=("RIA", )),
     b_ria=BLOC(
         condition="scenario_type == 'RIA'",
+        fr="Données du transitoire 'accident de réactivité'",
+        ang="Data of the 'Reactivity-initiated Accident' transient",
         ejected_rod=SIMP(
-            statut="o",
-            typ="TXM",
             fr="Nom de la grappe éjectée",
-            ang="Name of the ejected rod cluster"),
+            ang="Name of the ejected rod cluster",
+            statut="o",
+            typ="TXM"),
         rod_position_program=SIMP(
+            fr="Loi d'éjection à appliquer à la grappe sous la forme (temps, position)",
+            ang="Ejection law to apply to the ejected rod cluster in the form (time, position)",
+            unite="s, extracted steps",
             statut="o",
             typ=Tuple(2),
             validators=VerifTypeTuple(("R", "I")),
-            max="**",
-            unite="s, extracted steps",
-            fr="Loi d'éjection à appliquer à la grappe sous la forme (temps, position)",
-            ang="Ejection law to apply to the ejected rod cluster in the form (time, position)"),
+            max="**"),
         SCRAM=SIMP(
+            fr="Activation/désactivation de l'arrêt automatique du réacteur",
+            ang="Activation/deactivation of automatic reactor shutdown",
             statut="o",
             typ="TXM",
-            into=("YES", "NO"),
-            fr="Activation/désactivation de l'arrêt automatique du réacteur",
-            ang="Activation/deactivation of automatic reactor shutdown"),
+            into=("YES", "NO")),
         SCRAM_option=BLOC(
             condition="SCRAM == 'YES'",
+            fr="Options relatives à l'arrêt automatique du réacteur",
+            ang="Options relative to the automatic reactor shutdown",
             SCRAM_power=SIMP(
-                statut="o",
-                typ="R",
-                unite="MW",
                 fr=("Puissance thermique du cœur déclenchant un arrêt "
                     "automatique du réacteur"),
-                ang="Core thermal power triggering an automatic reactor shutdown"),
-            complete_SCRAM_time=SIMP(
+                ang="Core thermal power triggering an automatic reactor shutdown",
+                unite="MW",
                 statut="o",
-                typ="R",
-                unite="s",
+                typ="R"),
+            complete_SCRAM_time=SIMP(
                 fr="Temps de chute des grappes",
-                ang="Rod cluster fall time")),
-        fr="Données du transitoire 'accident de réactivité'",
-        ang="Data of the 'Reactivity-initiated Accident' transient"),
+                ang="Rod cluster fall time",
+                unite="s",
+                statut="o",
+                typ="R"))),
     post_processing=SIMP(
-        statut="f",
-        typ=Tuple(2),  # TODO: Use a triplet (parameter, physic, format) instead of a doublet
-        validators=VerifPostTreatment(),
-        max="**",
         # TODO: Give all the possible parameters depending of the physics
         fr=("Données de sortie du calcul sous la forme (paramètre@physique, format). "
             "'physique' peut valoir {physics!r} et 'format' peut valoir {formats!r}".format(
@@ -806,6 +813,8 @@ Scenario_data = OPER(
         ang=("Output computed data in function of time in the form (parameter@physic, format). "
              "'physic' can be {physics!r} and 'format' can be {formats!r})".format(
                 physics=VerifPostTreatment.PHYSICS,
-                formats=VerifPostTreatment.FORMATS))),
-    fr="Description du transitoire",
-    ang="Transient description")
+                formats=VerifPostTreatment.FORMATS)),
+        statut="f",
+        typ=Tuple(2),  # TODO: Use a triplet (parameter, physic, format) instead of a doublet
+        validators=VerifPostTreatment(),
+        max="**"))