From 49b0e0cfdafdf2d92ca6398349bae26e254eac75 Mon Sep 17 00:00:00 2001 From: Yohann Pipeau Date: Mon, 14 Mar 2022 15:15:53 +0100 Subject: [PATCH] Move the documentation of the elements of the catalog to the head of their declaration --- ReacteurNumerique/cata_RN_EDG_PN.py | 571 ++++++++++++++-------------- 1 file changed, 290 insertions(+), 281 deletions(-) diff --git a/ReacteurNumerique/cata_RN_EDG_PN.py b/ReacteurNumerique/cata_RN_EDG_PN.py index de2d2681..d1d389e5 100644 --- a/ReacteurNumerique/cata_RN_EDG_PN.py +++ b/ReacteurNumerique/cata_RN_EDG_PN.py @@ -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="**")) -- 2.39.2