]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Menage ds les catalogues
authorEric Fayolle <eric.fayolle@edf.fr>
Thu, 1 Sep 2022 16:36:15 +0000 (18:36 +0200)
committerEric Fayolle <eric.fayolle@edf.fr>
Thu, 1 Sep 2022 16:36:15 +0000 (18:36 +0200)
17 files changed:
ReacteurNumerique/cata_PETIT_test1.xml [deleted file]
ReacteurNumerique/cata_RN_EDG.py
ReacteurNumerique/cata_RN_EDG_yp.py [changed from file to symlink]
ReacteurNumerique/cata_RN_EDG_yp_test_driver_1.comm
ReacteurNumerique/cata_RN_EDG_yp_test_driver_2.comm
ReacteurNumerique/cata_RN_UQ.py
ReacteurNumerique/cata_UQ.py
ReacteurNumerique/creationAsEficas.py
ReacteurNumerique/creationAsEficasToutPetit.py [deleted file]
ReacteurNumerique/edg_REP1300_FULL.comm
ReacteurNumerique/md.comm [deleted file]
ReacteurNumerique/petitCata.xsd [deleted file]
ReacteurNumerique/post_csv.py [deleted file]
ReacteurNumerique/toto.comm [deleted file]
ReacteurNumerique/toutPetit.comm [deleted file]
ReacteurNumerique/toutPetitCata.py [deleted file]
ReacteurNumerique/toutPetitCata.xsd [deleted file]

diff --git a/ReacteurNumerique/cata_PETIT_test1.xml b/ReacteurNumerique/cata_PETIT_test1.xml
deleted file mode 100644 (file)
index ad006e5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<RN_EDG:RN_EDG xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:RN_EDG="http://chercheurs.edf.com/logiciels/RN_EDG" xsi:schemaLocation="http://chercheurs.edf.com/logiciels/RN_EDG cata_PETIT.xsd">
-<RN_EDG:AssemblyDKLibFile>
-       <RN_EDG:rod_bank_names>
-               <RN_EDG:n1>A</RN_EDG:n1>
-               <RN_EDG:n2>B</RN_EDG:n2>
-       </RN_EDG:rod_bank_names>
-       <RN_EDG:rod_bank_names>
-               <RN_EDG:n1>C</RN_EDG:n1>
-               <RN_EDG:n2>D</RN_EDG:n2>
-       </RN_EDG:rod_bank_names>
-</RN_EDG:AssemblyDKLibFile>
-</RN_EDG:RN_EDG>
index a151ae30beba7e84ffe6d05fbe671b3a16448786..8ce7d62b832b4dfa4a6e476ba4f8736776e175e3 100644 (file)
@@ -859,4 +859,4 @@ Scenario_data = OPER(
         validators=VerifPostTreatment(),
         max="**"))
 
-from cata_RN_UQ import *
+#from cata_RN_UQ import *
deleted file mode 100644 (file)
index b173c2e622739cda81747f67e3a7f6422a86eaad..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,878 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""Definition of the data model used by the integration bench.
-
-Warnings
---------
-EFICAS will import this file as Python module with the ``__import__`` special
-function so, this module must not use relative import.
-"""
-# pylint: disable=import-error
-# pylint: disable=too-few-public-methods
-
-# TODO: Create a main object that point on the different subobjects and force its name
-
-# EFICAS
-from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA, VerifTypeTuple, Matrice
-from Accas import Tuple as _Tuple
-from Extensions.i18n import tr
-
-# Warning: The names of these variables are defined by EFICAS
-JdC = JDC_CATA(code="RN_EDG")
-VERSION_CATALOGUE = "V_0"
-
-# Define the minimum and the maximum number of elements (reflectors and fuel
-# assemblies) on the core's side
-NMIN_CORE_FUEL_ELTS = 1
-NMAX_CORE_FUEL_ELTS = 18
-
-# Available absorbing material type in the rod clusters
-ROD_COMPOSITIONS = (
-    "Black",   # Full AIC rods
-    "Grey",    # Mix between AIC and steel rods
-    "B4C",     # Full B4C rods
-)
-
-# Available options for the core elements rotation
-ASSEMBLY_ROTATIONS = (
-    ".",   # identity
-    "R1",  # 90° counter-clock
-    "R2",  # 180°
-    "R3",  # 270° counter-clock
-    "UD",  # up-down
-    "LR",  # left-right
-    "TR",  # transpose x/y
-    "RT",  # transpose x/-y
-)
-
-class Tuple(_Tuple):
-    """Organize the data into a fixed size tuple.
-
-    Warnings
-    --------
-    This class respect the EFICAS conventions.
-    """
-
-    def __convert__(self, valeur):
-        if len(valeur) != self.ntuple:
-            return None
-        return valeur
-
-
-class VerifPostTreatment(VerifTypeTuple):
-    """Validate the data comming from ``Scenario_data.post_processing``.
-
-    Warnings
-    --------
-    This class respect the EFICAS conventions.
-    """
-    # pylint: disable=invalid-name
-    # pylint: disable=missing-function-docstring
-    # pylint: disable=no-self-use
-
-    PHYSICS = ("Neutronics", "Thermalhydraulics")
-    FORMATS = ("MED", "SUM", "MIN", "MAX", "MEAN")
-
-    def __init__(self):
-        super().__init__(("TXM", "TXM"))
-        self.cata_info = ""
-
-    def info(self):
-        return tr(": vérifie les \ntypes dans un tuple")
-
-    def infoErreurListe(self):
-        return tr("Les types entres ne sont pas permis")
-
-    def default(self, valeur):
-        return valeur
-
-    def isList(self):
-        return 1
-
-    def convertItem(self, valeur):
-        if len(valeur) != len(self.typeDesTuples):
-            raise ValueError(
-                tr("%s devrait être de type  %s ") % (valeur, self.typeDesTuples))
-        ok = self.verifType(valeur)
-        if ok == 0:
-            raise ValueError(
-                tr("%s devrait être de type  %s (%d)") % (valeur, self.typeDesTuples, ok))
-        if ok < 0:
-            raise ValueError(
-                tr("%s devrait être dans %s ") % (valeur[1], self.FORMATS))
-        return valeur
-
-    def verifItem(self, valeur):
-        try:
-            if len(valeur) != len(self.typeDesTuples):
-                return 0
-            ok = self.verifType(valeur)
-            if ok != 1:
-                return 0
-        except:  # pylint: disable=bare-except
-            return 0
-        return 1
-
-    def verifType(self, valeur):  # pylint: disable=arguments-differ
-        ok = 0
-        for v in valeur:
-            if isinstance(v, (bytes, str)):
-                ok += 1
-        if ok == len(self.typeDesTuples):
-            if valeur[1] in self.FORMATS:
-                return 1
-            return -1
-        return 0
-
-    def verif(self, valeur):
-        if type(valeur) in (list, tuple):
-            liste = list(valeur)
-            for val in liste:
-                if self.verifItem(val) != 1:
-                    return 0
-            return 1
-        return 0
-
-
-class _Assembly(ASSD):
-    pass
-
-
-class _TechnoData(ASSD):
-    pass
-
-
-class _RodBank(ASSD):
-    pass
-
-
-class _ModelData(ASSD):
-    pass
-
-
-class _ScenarioData(ASSD):
-    pass
-
-
-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")),
-    description=BLOC(
-        condition="assembly_type != 'REF'",
-        fr="Description d'un assemblage combustible",
-        ang="Fuel assembly description",
-        assembly_width=SIMP(
-            fr="Pas inter-assemblage dans le cœur",
-            ang="Fuel assembly pitch in the core",
-            unite="m",
-            statut="o",
-            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"),
-            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(
-                fr="Rayon externe de la gaine des crayons combustible",
-                ang="Clad external radius of the fuel pins",
-                unite="m",
-                statut="o",
-                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",
-                unite="m",
-                statut="o",
-                typ="R"),
-            nfuel_rods=SIMP(
-                fr="Nombre de crayons combustibles dans l'assemblage",
-                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(
-                fr="Altitude basse de la partie active",
-                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",
-                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="**"),
-                size=SIMP(
-                    fr="Hauteur de la grille",
-                    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="**"),
-                size=SIMP(
-                    fr="Hauteur de la grille",
-                    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")),
-    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(
-            fr=("Type de matériau absorbant des grappes absorbantes (Types "
-                "autorisés : {})").format(
-                    ", ".join(ROD_COMPOSITIONS)),
-            ang=("Absorbing material type of the rod clusters (Authorized "
-                 "types: {})").format(
-                     ", ".join(ROD_COMPOSITIONS)),
-            statut="o",
-            typ="TXM",
-            into=ROD_COMPOSITIONS)),
-    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(
-            fr=("Type de matériau absorbant dans la partie basse des grappes "
-                "absorantes (Types autorisés : {})").format(
-                    ", ".join(ROD_COMPOSITIONS)),
-            ang=("Absorbing material type in the lower part of the rod "
-                 "clusters (Authorized types: {})").format(
-                     ", ".join(ROD_COMPOSITIONS)),
-            statut="o",
-            typ="TXM",
-            into=ROD_COMPOSITIONS),
-        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"),
-            unite="m",
-            statut="o",
-            typ="R"),
-        upper_composition=SIMP(
-            fr=("Type de matériau absorbant dans la partie haute des grappes "
-                "absorantes (Types autorisés : {})").format(
-                    ", ".join(ROD_COMPOSITIONS)),
-            ang=("Absorbing material type in the upper part of the rod "
-                 "clusters (Authorized types: {})").format(
-                     ", ".join(ROD_COMPOSITIONS)),
-            statut="o",
-            typ="TXM",
-            into=ROD_COMPOSITIONS)),
-    step_height=SIMP(
-        fr="Hauteur d'un pas",
-        ang="Step height",
-        unite="m",
-        statut="o",
-        typ="R"),
-    nsteps=SIMP(
-        fr="Nombre de pas du groupe de grappes",
-        ang="Rod bank steps number",
-        statut="o",
-        typ="I"))
-
-
-def gen_assembly_maps():
-    """Generate all the possible maps (one for each possible core size) for the
-    data cointained in ``Techno_data.radial_description.assembly_map``."""
-    # Build the default axes names
-    xsym_list = list("ABCDEFGHJKLNPRSTUVWXYZ")
-    xsym_list.reverse()
-    ysym_list = ["%02d" % i for i in range(NMIN_CORE_FUEL_ELTS, NMAX_CORE_FUEL_ELTS + 1)]
-    ysym_list.reverse()
-    def_xaxis = {}
-    def_yaxis = {}
-    for i in range(NMIN_CORE_FUEL_ELTS, NMAX_CORE_FUEL_ELTS + 1):
-        def_xaxis[i] = ["RW"] + xsym_list[-i:] + ["RE"]
-        def_yaxis[i] = ["RS"] + ysym_list[-i:] + ["RN"]
-
-    dico = {}
-    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]),
-            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]),
-            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,
-                    nbCols=i + 2,
-                    typElt=_Assembly,
-                    listeHeaders=(
-                        ("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",)),  # pylint: disable=line-too-long
-                    defaut=(i + 2) * [(i + 2) * ["."]],
-                    coloree=True)),
-            rotation_map=SIMP(
-                fr="Rotation des éléments du cœur. Valeur possibles : {}".format(
-                    ", ".join([repr(elt) for elt in ASSEMBLY_ROTATIONS])),
-                ang="Core elements rotation. Possible values : {}".format(
-                    ", ".join([repr(elt) for elt in ASSEMBLY_ROTATIONS])),
-                statut="o",
-                typ=Matrice(
-                    nbLigs=i + 2,
-                    nbCols=i + 2,
-                    typElt="TXM",
-                    typEltInto=ASSEMBLY_ROTATIONS,
-                    coloree=True),
-                defaut=(i + 2) * [(i + 2) * ["."]]),
-            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,
-                    nbCols=i + 2,
-                    valSup=1,
-                    valMin=-1,
-                    typElt="TXM",
-                    listeHeaders=None,
-                    coloree=True),
-                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,
-                    nbCols=i + 2,
-                    valSup=90000.,
-                    valMin=0.,
-                    typElt="R",
-                    listeHeaders=None,
-                    coloree=True),
-                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="**"),
-    rodbank_list=SIMP(
-        fr="Sélection des groupes de grappes",
-        ang="Rod banks selection",
-        statut="o",
-        typ=_RodBank,
-        min=0,
-        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))),
-        **(gen_assembly_maps())),
-    axial_description=FACT(
-        fr="Description axiale du cœur",
-        ang="Axial description of the core",
-        statut="o",
-        lower_refl_size=SIMP(
-            fr="Hauteur du réflecteur axial bas",
-            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",
-            unite="m",
-            statut="o",
-            typ="R")),
-    nominal_power=SIMP(
-        fr="Puissance thermique nominale du cœur",
-        ang="Nominal thermal power of the core",
-        unite="W",
-        statut="o",
-        typ="R"),
-    Fuel_power_fraction=SIMP(
-        fr="Fraction de la puissance dissipée dans le combustible",
-        ang="Power fraction dissipated in the fuel",
-        statut="o",
-        typ="R",
-        defaut=0.974),
-    by_pass=SIMP(
-        fr="Fraction du débit de bypass cœur",
-        ang="Bypass core flow fraction",
-        statut="o",
-        typ="R",
-        defaut=0.07),
-    core_volumic_flowrate=SIMP(
-        fr="Débit volumique cœur",
-        ang="Core volume flowrate",
-        unite="m3/h",
-        statut="o",
-        typ="R"))
-
-
-class _AssemblyDKLibFile(ASSD):
-    """Manage informations about a fuel assembly DKLib file."""
-
-
-class _ReflectorDKLibFile(ASSD):
-    """Manage informations about a reflector DKLib file."""
-
-
-AssemblyDKLibFile = OPER(
-    nom="AssemblyDKLibFile",
-    sd_prod=_AssemblyDKLibFile,
-    fr="Description d'un fichier DKLib assemblage combustible",
-    ang="Description of a fuel assembly DKLib file",
-    filename=SIMP(
-        fr="Nom du fichier DKLib",
-        ang="DKLib filename",
-        statut="o",
-        typ=("Fichier", "DKLib Files (.dklib);;DKZip Files (.dkzip);;All Files ()", "Sauvegarde")),
-    pattern=SIMP(
-        fr="Nom du pattern à utiliser dans le fichier DKLib",
-        ang="Name of the pattern to use in the DKLib file",
-        statut="o",
-        typ="TXM"),
-    rod_bank_names=SIMP(
-        fr=("Nom de la configuration de grappe dans la DKLib pour chaque type "
-            "de matériaux absorbants disponibles dans le modèle sous la forme "
-            "({{{}}}, nom dans la DKLib)").format(", ".join(ROD_COMPOSITIONS)),
-        ang=("Name of the rod cluster configuration in the DKLib file for any "
-             "type of absorbing materials available in the model under the form "
-             "({{{}}}, name in the DKLib)").format(", ".join(ROD_COMPOSITIONS)),
-        statut="o",
-        typ=Tuple(2),
-        # TODO: Check if the first string is ROD_COMPOSITIONS
-        validators=VerifTypeTuple(("TXM", "TXM")),
-        max="**"))
-
-
-ReflectorDKLibFile = OPER(
-    nom="ReflectorDKLibFile",
-    sd_prod=_ReflectorDKLibFile,
-    fr="Description d'un fichier DKLib réflecteur",
-    ang="Description of a reflector DKLib file",
-    filename=SIMP(
-        fr="Nom du fichier DKLib",
-        ang="DKLib filename",
-        statut="o",
-        typ=("Fichier", "DKLib Files (.dklib);;DKZip Files (.dkzip);;All Files ()","Sauvegarde")),
-    radial_pattern=SIMP(
-        fr="Nom du pattern contenant les données du réflecteur radial",
-        ang="Name of the pattern containing the radial reflector data",
-        statut="o",
-        typ="TXM"),
-    lower_pattern=SIMP(
-        fr="Nom du pattern contenant les données du réflecteur axial bas",
-        ang="Name of the pattern containing the lower reflector data",
-        statut="o",
-        typ="TXM"),
-    upper_pattern=SIMP(
-        fr="Nom du pattern contenant les données du réflecteur axial haut",
-        ang="Name of the pattern containing the upper reflector data",
-        statut="o",
-        typ="TXM"))
-
-
-# TODO: Split this class in two: neutronic and thermalhydraulic)
-# TODO: Or split this class in N classes (one for each code)
-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")),
-    scale=SIMP(
-        fr="Sélection de l'échelle du modèle",
-        ang="Scale model selection",
-        statut="o",
-        typ="TXM",
-        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",
-        code=SIMP(
-            fr="Sélection du code de neutronique cœur",
-            ang="Core neutronic code selection",
-            statut="o",
-            typ="TXM",
-            into=("COCAGNE", "APOLLO3")),
-        cocagne_bloc=BLOC(
-            condition="code == 'COCAGNE'",
-            cocagne_options=FACT(
-                fr="Options de modélisations spécifiques au code COCAGNE.",
-                ang="COCAGNE specific modeling options",
-                statut="o",
-                n_threads=SIMP(
-                    fr="Nombre de threads alloués aux solveurs",
-                    ang="Number of threads allocated to the solvers",
-                    statut="f",
-                    typ="I",
-                    val_min=1),
-                core_elements_vs_dklib=SIMP(
-                    fr=("Association des éléments du cœur aux bibliothèques neutroniques "
-                        "sous la forme (assemblage combustible, DKLib)"),
-                    ang=("Association between the core elements and the neutronic libraries "
-                        "in the form (fuel assembly, DKLib)"),
-                    statut="o",
-                    typ=Tuple(2),
-                    # TODO: Check if the attribute assembly_type of the
-                    #       Assembly object is 'REF' then the type of the
-                    #       DKLibFile must be ReflectorDKLibFile and, if not,
-                    #       the type of the DKLibFile must be AssemblyDKLibFile
-                    validators=VerifTypeTuple((_Assembly, (_AssemblyDKLibFile, _ReflectorDKLibFile))),
-                    max="**"))),
-        # 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")),
-            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(
-                    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"),
-                    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")),
-            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(
-                    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"),
-                    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")),
-        thyc_bloc=BLOC(
-            condition="code == 'THYC'",
-            thyc_options=FACT(
-                fr="Options de modélisations spécifiques au code THYC.",
-                ang="THYC specific modeling options",
-                statut="o",
-                n_threads=SIMP(
-                    fr="Nombre de threads alloués aux solveurs",
-                    ang="Number of threads allocated to the solvers",
-                    statut="f",
-                    typ="I",
-                    val_min=1))),
-        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")),
-            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(
-                    fr="Nombre de mailles radiales dans les assemblages combustibles",
-                    ang="Radial mesh number in the fuel assemblies",
-                    statut="o",
-                    typ="I")),
-            pellet=SIMP(
-                fr="Nombre de mailles radiales dans la pastille combustible",
-                ang="Radial mesh number in the fuel pellet",
-                statut="o",
-                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",
-                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(
-                fr="Nombre de mailles axiales dans le réflecteur bas",
-                ang="Axial mesh number in the lower reflector",
-                statut="o",
-                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",
-                statut="o",
-                typ="I"),
-            upper_refl=SIMP(
-                fr="Nombre de mailles axiales dans le réflecteur haut",
-                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(
-            fr="Nom du fichier décrivant le maillage",
-            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.),
-    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"),
-    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.),
-    initial_boron_concentration=SIMP(
-        fr="Concentration en bore initiale",
-        ang="Initial boron concentration",
-        unite="ppm",
-        statut="o",
-        typ="R",
-        val_min=0.,
-        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),
-    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),
-    initial_rod_positions=SIMP(
-        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 "
-            "pas extraits et (Rodcluster@H08, 0) pour la grappe H08 "
-            "complètement insérée)"),
-        ang=("Initial position of the rod banks and the rod clusters in the "
-             "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)"),
-        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", )),
-    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(
-            fr="Nom de la grappe éjectée",
-            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="**"),
-        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")),
-        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(
-                fr=("Puissance thermique du cœur déclenchant un arrêt "
-                    "automatique du réacteur"),
-                ang="Core thermal power triggering an automatic reactor shutdown",
-                unite="MW",
-                statut="o",
-                typ="R"),
-            complete_SCRAM_time=SIMP(
-                fr="Temps de chute des grappes",
-                ang="Rod cluster fall time",
-                unite="s",
-                statut="o",
-                typ="R"))),
-    post_processing=SIMP(
-        # 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(
-                physics=VerifPostTreatment.PHYSICS,
-                formats=VerifPostTreatment.FORMATS)),
-        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)),
-        statut="f",
-        typ=Tuple(2),  # TODO: Use a triplet (parameter, physic, format) instead of a doublet
-        validators=VerifPostTreatment(),
-        max="**"))
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..6ff8a8df97ab7e34a631f3e686b621a82791ab97
--- /dev/null
@@ -0,0 +1 @@
+cata_RN_EDG_yp_v1.py
\ No newline at end of file
index aa00599f2aef4b13c70f7264b5934aefe5dbf659..cf864b5da55788821e1ed01bf88e41049fd9bd72 100644 (file)
@@ -3,6 +3,7 @@ thermo_model=Model_data(physics='Thermalhydraulics',
                         scale='component',
                         code='THYC',
                         thyc_options=_F(n_threads=23,),
+                        nprocs=2,
                         radial_meshing=_F(fluid='subdivision',
                                           fluid_subdivision=1,
                                           pellet=8,
@@ -11,4 +12,4 @@ thermo_model=Model_data(physics='Thermalhydraulics',
                                          fuel=40,
                                          upper_refl=1,),);
 #VERSION_CATALOGUE:V_0:FIN VERSION_CATALOGUE
-#CHECKSUM:ea75a6791472ab21137d2c91d59f3362:FIN CHECKSUM
\ No newline at end of file
+#CHECKSUM:63c60c86f79fba9512ae3bc2f18c7249:FIN CHECKSUM
\ No newline at end of file
index 3fbfefc04b5de4d6027ca594e0cb4beff83f12e3..fc0c4567f31c592a00d5cd22fed4f73618368beb 100644 (file)
@@ -8,188 +8,85 @@ U1=Assembly(assembly_type='UOX',
                                   guide_tube_outer_radius=0.006025,
                                   fuel_rod_pitch=0.0126,
                                   nfuel_rods=264,),
-            axial_description=_F(active_length_start=0.21,
-                                 active_length_end=4.4772,),
-            grids=_F(mixing=_F(positions=(0.69216,1.19766,1.70316,2.20866,2.71416,3.20416,3.69416,4.18416,),
+            axial_description=_F(active_length_start=0.2,
+                                 active_length_end=1.5,),
+            grids=_F(mixing=_F(positions=(1.0807,),
                                size=0.033,),
-                     non_mixing=_F(positions=(0.026,4.2412,),
+                     non_mixing=_F(positions=(0.026,),
                                    size=0.033,),),);
 
-UGD=Assembly(assembly_type='UOX',
-             assembly_width=0.21504,
-             fuel_density=0.95,
-             radial_description=_F(clad_outer_radius=0.00475,
-                                   guide_tube_outer_radius=0.006025,
-                                   fuel_rod_pitch=0.0126,
-                                   nfuel_rods=264,),
-             axial_description=_F(active_length_start=0.21,
-                                  active_length_end=4.4772,),
-             grids=_F(mixing=_F(positions=(0.69216,1.19766,1.70316,2.20866,2.71416,3.20416,3.69416,4.18416,),
-                                size=0.033,),
-                      non_mixing=_F(positions=(0.026,),
-                                    size=0.033,),),);
+RB=RodBank(rod_type='homogeneous',
+           rod_composition='Black',
+           step_height=0.008,
+           nsteps=162,);
 
-RB=RodBank(rod_type='heterogeneous',
-           bottom_composition='Black',
-           splitting_heigh=1.4224,
-           upper_composition='B4C',
-           step_height=0.016,
-           nsteps=260,);
-
-N1=RodBank(rod_type='heterogeneous',
-           bottom_composition='Black',
-           splitting_heigh=1.4224,
-           upper_composition='B4C',
-           step_height=0.016,
-           nsteps=260,);
-
-N2=RodBank(rod_type='heterogeneous',
-           bottom_composition='Black',
-           splitting_heigh=1.4224,
-           upper_composition='B4C',
-           step_height=0.016,
-           nsteps=260,);
-
-G1=RodBank(rod_type='homogeneous',
-           rod_composition='Grey',
-           step_height=0.016,
-           nsteps=260,);
-
-G2=RodBank(rod_type='homogeneous',
-           rod_composition='Grey',
-           step_height=0.016,
-           nsteps=260,);
-
-techno_data=Techno_data(assembly_list=(REF,U1,UGD,),
-                        rodbank_list=(RB,G1,G2,N1,N2,),
-                        radial_description=_F(nb_assembly=15,
-                                              xaxis=('RW','S','R','P','N','L','K','J','H','G','F','E','D','C','B','A','RE',),
-                                              yaxis=
-                                              ('RS','15','14','13','12','11',
-                                                      '10','09','08','07','06','05','04','03','02','01','RN',),
+techno_data=Techno_data(technology='Other',
+                        assembly_list=(REF,U1,),
+                        rodbank_list=(RB,),
+                        radial_description=_F(nb_assembly=6,
+                                              xaxis=('RW','F','E','D','C','B','A','RE',),
+                                              yaxis=('RS','06','05','04','03','02','01','RN',),
                                               assembly_map=
                                               ([REF,REF,REF,REF,REF,REF,
-                                                             REF,REF,REF,REF,REF,REF,REF,REF,REF,REF,REF,],[REF,REF,
-                                                             REF,REF,REF,U1,U1,U1,U1,U1,U1,U1,REF,REF,REF,REF,REF,],
-                                                             [REF,REF,REF,UGD,U1,UGD,UGD,U1,U1,U1,UGD,UGD,U1,UGD,REF,
-                                                             REF,REF,],[REF,REF,UGD,U1,U1,U1,U1,UGD,U1,UGD,U1,U1,U1,U1,
-                                                             UGD,REF,REF,],[REF,REF,U1,U1,U1,UGD,U1,UGD,U1,UGD,U1,UGD,
-                                                             U1,U1,U1,REF,REF,],[REF,U1,UGD,U1,UGD,U1,U1,UGD,U1,UGD,U1,
-                                                             U1,UGD,U1,UGD,U1,REF,],[REF,U1,UGD,U1,U1,U1,UGD,UGD,U1,
-                                                             UGD,UGD,U1,U1,U1,UGD,U1,REF,],[REF,U1,U1,UGD,UGD,UGD,UGD,
-                                                             U1,UGD,U1,UGD,UGD,UGD,UGD,U1,U1,REF,],[REF,U1,U1,U1,U1,U1,
-                                                             U1,UGD,UGD,UGD,U1,U1,U1,U1,U1,U1,REF,],[REF,U1,U1,UGD,UGD,
-                                                             UGD,UGD,U1,UGD,U1,UGD,UGD,UGD,UGD,U1,U1,REF,],[REF,U1,UGD,
-                                                             U1,U1,U1,UGD,UGD,U1,UGD,UGD,U1,U1,U1,UGD,U1,REF,],[REF,U1,
-                                                             UGD,U1,UGD,U1,U1,UGD,U1,UGD,U1,U1,UGD,U1,UGD,U1,REF,],
-                                                             [REF,REF,U1,U1,U1,UGD,U1,UGD,U1,UGD,U1,UGD,U1,U1,U1,REF,
-                                                             REF,],[REF,REF,UGD,U1,U1,U1,U1,UGD,U1,UGD,U1,U1,U1,U1,UGD,
-                                                             REF,REF,],[REF,REF,REF,UGD,U1,UGD,UGD,U1,U1,U1,UGD,UGD,U1,
-                                                             UGD,REF,REF,REF,],[REF,REF,REF,REF,REF,U1,U1,U1,U1,U1,U1,
-                                                             U1,REF,REF,REF,REF,REF,],[REF,REF,REF,REF,REF,REF,REF,REF,
-                                                             REF,REF,REF,REF,REF,REF,REF,REF,REF,],),
+                                                             REF,REF,],[REF,REF,U1,U1,U1,U1,REF,REF,],[REF,U1,U1,U1,U1,
+                                                             U1,U1,REF,],[REF,U1,U1,U1,U1,U1,U1,REF,],[REF,U1,U1,U1,U1,
+                                                             U1,U1,REF,],[REF,U1,U1,U1,U1,U1,U1,REF,],[REF,REF,U1,U1,
+                                                             U1,U1,REF,REF,],[REF,REF,REF,REF,REF,REF,REF,REF,],),
                                               rotation_map=
-                                              (['.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.'],['.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.','.','.'],
-                                                             ['.','.','.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.'],['.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.'],['.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.'],['.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.'],['.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.'],['.','.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.'],['.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.'],['.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.'],['.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.','.'],['.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.'],['.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.'],['.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.'],['.','.','.','.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.'],['.','.','.',
-                                                             '.','.','.','.','.','.','.','.','.','.','.','.','.','.'],
-                                                             ['.','.','.','.','.','.','.','.','.','.','.','.','.','.',
-                                                             '.','.','.'],),
+                                              (['R1','R1','R1','R1',
+                                                             'R1','R1','R1','R1'],['R1','R1','.','.','.','.','R1',
+                                                             'R1'],['R1','.','.','.','.','.','.','R1'],['R1','.','.',
+                                                             '.','.','.','.','R1'],['R1','.','.','.','.','.','.','R1'],
+                                                             ['R1','.','.','.','.','.','.','R1'],['R1','R1','.','.',
+                                                             '.','.','R1','R1'],['R1','R1','R1','R1','R1','R1','R1',
+                                                             'R1'],),
                                               rod_map=
                                               (['#','#','#','#','#','#','#',
-                                                        '#','#','#','#','#','#','#','#','#','#'],['#','#','#','#','#','.',
-                                                        '.','.','.','.','.','.','#','#','#','#','#'],['#','#','#','.','.',
-                                                        '.','.','.','RB','.','.','.','.','.','#','#','#'],['#','#','.','.',
-                                                        '.','G2','.','N2','.','N2','.','G2','.','.','.','#','#'],['#','#',
-                                                        '.','.','N1','.','.','.','G1','.','.','.','N1','.','.','#','#'],
-                                                        ['#','.','.','G2','.','RB','.','.','.','.','.','RB','.','G2','.',
-                                                        '.','#'],['#','.','.','.','.','.','.','.','N1','.','.','.','.','.',
-                                                        '.','.','#'],['#','.','.','N2','.','.','.','.','.','.','.','.','.',
-                                                        'N2','.','.','#'],['#','.','RB','.','G1','.','N1','.','RB','.','N1',
-                                                        '.','G1','.','RB','.','#'],['#','.','.','N2','.','.','.','.','.',
-                                                        '.','.','.','.','N2','.','.','#'],['#','.','.','.','.','.','.','.',
-                                                        'N1','.','.','.','.','.','.','.','#'],['#','.','.','G2','.','RB',
-                                                        '.','.','.','.','.','RB','.','G2','.','.','#'],['#','#','.','.',
-                                                        'N1','.','.','.','G1','.','.','.','N1','.','.','#','#'],['#','#',
-                                                        '.','.','.','G2','.','N2','.','N2','.','G2','.','.','.','#','#'],
-                                                        ['#','#','#','.','.','.','.','.','RB','.','.','.','.','.','#','#',
-                                                        '#'],['#','#','#','#','#','.','.','.','.','.','.','.','#','#','#',
-                                                        '#','#'],['#','#','#','#','#','#','#','#','#','#','#','#','#','#',
-                                                        '#','#','#'],),
+                                                        '#'],['#','#','.','.','.','.','#','#'],['#','.','.','.','RB','.',
+                                                        '.','#'],['#','.','RB','.','.','.','.','#'],['#','.','.','.','.',
+                                                        'RB','.','#'],['#','.','.','RB','.','.','.','#'],['#','#','.','.',
+                                                        '.','.','#','#'],['#','#','#','#','#','#','#','#'],),
                                               BU_map=
                                               ([0.0,0.0,0.0,0.0,0.0,0.0,0.0,
-                                                       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,
-                                                       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,40.0,0.0,0.0,
-                                                       40.0,40.0,20.0,40.0,40.0,0.0,0.0,40.0,0.0,0.0,0.0],[0.0,0.0,40.0,0.0,
-                                                       40.0,20.0,40.0,0.0,40.0,0.0,40.0,20.0,40.0,0.0,40.0,0.0,0.0],[0.0,0.0,
-                                                       0.0,40.0,20.0,20.0,20.0,40.0,20.0,40.0,20.0,20.0,20.0,40.0,0.0,0.0,
-                                                       0.0],[0.0,0.0,0.0,20.0,20.0,20.0,40.0,0.0,40.0,0.0,40.0,20.0,20.0,
-                                                       20.0,0.0,0.0,0.0],[0.0,0.0,40.0,40.0,20.0,40.0,20.0,40.0,20.0,40.0,
-                                                       20.0,40.0,20.0,40.0,40.0,0.0,0.0],[0.0,0.0,40.0,0.0,40.0,0.0,40.0,
-                                                       20.0,20.0,20.0,40.0,0.0,40.0,0.0,40.0,0.0,0.0],[0.0,0.0,20.0,40.0,
-                                                       20.0,40.0,20.0,20.0,60.0,20.0,20.0,40.0,20.0,40.0,20.0,0.0,0.0],[0.0,
-                                                       0.0,40.0,0.0,40.0,0.0,40.0,20.0,20.0,20.0,40.0,0.0,40.0,0.0,40.0,0.0,
-                                                       0.0],[0.0,0.0,40.0,40.0,20.0,40.0,20.0,40.0,20.0,40.0,20.0,40.0,20.0,
-                                                       40.0,40.0,0.0,0.0],[0.0,0.0,0.0,20.0,20.0,20.0,40.0,0.0,40.0,0.0,40.0,
-                                                       20.0,20.0,20.0,0.0,0.0,0.0],[0.0,0.0,0.0,40.0,20.0,20.0,20.0,40.0,
-                                                       20.0,40.0,20.0,20.0,20.0,40.0,0.0,0.0,0.0],[0.0,0.0,40.0,0.0,40.0,
-                                                       20.0,40.0,0.0,40.0,0.0,40.0,20.0,40.0,0.0,40.0,0.0,0.0],[0.0,0.0,0.0,
-                                                       40.0,0.0,0.0,40.0,40.0,20.0,40.0,40.0,0.0,0.0,40.0,0.0,0.0,0.0],[0.0,
-                                                       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,
-                                                       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],),),
-                        axial_description=_F(lower_refl_size=0.21,
-                                             upper_refl_size=0.21,),
-                        nominal_power=4000000000.0,
+                                                       0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,
+                                                       0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,
+                                                       0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,
+                                                       0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],),),
+                        axial_description=_F(lower_refl_size=0.2,
+                                             upper_refl_size=0.2,),
+                        nominal_power=100000000.0,
                         Fuel_power_fraction=0.974,
-                        by_pass=0.07,
-                        core_volumic_flowrate=90940.0,);
+                        by_pass=0.0,
+                        core_volumic_flowrate=13737.2,);
 
 AF3R_400=AssemblyDKLibFile(filename='cocagne_data/dklib/AF3R_400.dklib',
                            pattern='PALU_AF3R_17_4.00_0P_0P_100_100__535_306.5_0.7127__500____________________________P13',
                            rod_bank_names=(('Black','black_rods'),('Grey','grey_rods'),('B4C','b4c_rods')),);
 
-AF3R_400_12G_GD80U071=AssemblyDKLibFile(filename='cocagne_data/dklib/AF3R_400_12G_GD80U071.dklib',
-                                        pattern=\
-                                          'PALU_AF3R_17_4.0012G12G_100_100__535_306.5_0.7127__500___________GD__8_U_0.71_____P13',
-                                        rod_bank_names=(('Black','black_rods'),('Grey','grey_rods'),('B4C','b4c_rods')),);
-
-REFL_PWR1300=ReflectorDKLibFile(filename='cocagne_data/dklib/Reflecteur_REP1300.dkzip',
-                                radial_pattern='R',
-                                lower_pattern='lower',
-                                upper_pattern='upper',);
+REP1300=ReflectorDKLibFile(filename='cocagne_data/dklib/Reflecteur_REP1300.dkzip',
+                           radial_pattern='R',
+                           lower_pattern='lower',
+                           upper_pattern='upper',);
 
 neutro_model=Model_data(physics='Neutronics',
                         scale='component',
                         code='COCAGNE',
-                        cocagne_options=_F(core_elements_vs_dklib=((REF,REFL_PWR1300),(U1,AF3R_400),(UGD,AF3R_400_12G_GD80U071)),),
+                        cocagne_options=_F(n_threads=6,
+                                           nprocs=1,
+                                           core_elements_vs_dklib=((REF,REP1300),(U1,AF3R_400)),),
                         radial_meshing=_F(flux_solver='subdivision',
                                           flux_subdivision=2,
                                           feedback_solver='subdivision',
                                           feedback_subdivision=1,),
-                        axial_meshing=_F(lower_refl=2,
-                                         fuel=42,
-                                         upper_refl=2,),);
+                        axial_meshing=_F(lower_refl=1,
+                                         fuel=21,
+                                         upper_refl=1,),);
 
 thermo_model=Model_data(physics='Thermalhydraulics',
                         scale='component',
                         code='THYC',
-                        thyc_options=_F(),
+                        thyc_options=_F(n_threads=6,),
+                        nprocs=2,
                         radial_meshing=_F(fluid='subdivision',
                                           fluid_subdivision=1,
                                           pellet=8,
@@ -198,19 +95,17 @@ thermo_model=Model_data(physics='Thermalhydraulics',
                                          fuel=40,
                                          upper_refl=1,),);
 
-scenario_data=Scenario_data(initial_power=0.1,
+scenario_data=Scenario_data(initial_power=100.0,
                             initial_power_unit='% Nominal power',
-                            initial_core_inlet_temperature=290.0,
-                            initial_boron_concentration=1300.0,
+                            initial_core_inlet_temperature=300.0,
+                            initial_boron_concentration=600.0,
                             initial_inlet_pressure=160.2,
-                            initial_outlet_pressure=157.2,
-                            initial_rod_positions=(('Rodbank@RB',201),('Rodbank@N1',96),('Rodbank@N2',260),('Rodbank@G1',260),('Rodbank@G2',260),('Rodcluster@H08',260)),
+                            initial_outlet_pressure=155.0,
+                            initial_rod_positions=(('Rodbank@RB',162),('Rodcluster@B04',0)),
                             scenario_type='RIA',
-                            ejected_rod='H02',
-                            rod_position_program=((0.0,0),(0.1,260)),
-                            SCRAM='YES',
-                            SCRAM_power=1130.0,
-                            complete_SCRAM_time=1.0,
-                            post_processing=(('Fuel temperature@Thermalhydraulics','MAX'),('Neutronic power@Neutronics','SUM'),('Fuel temperature@Thermalhydraulics','MED'),('Neutronic power@Neutronics','MED')),);
+                            ejected_rod='B04',
+                            rod_position_program=((0.0,0),(0.1,162)),
+                            SCRAM='NO',
+                            post_processing=(('Fuel temperature','Thermalhydraulics','MAX'),('Neutronic power','Neutronics','SUM'),('Fuel temperature','Thermalhydraulics','MED'),('Rodbank@RB','Neutronics','VALUE'),('Rodcluster@B04','Neutronics','VALUE')),);
 #VERSION_CATALOGUE:V_0:FIN VERSION_CATALOGUE
-#CHECKSUM:c06d10ac9fa4f4f20cad8266b6f6455d:FIN CHECKSUM
+#CHECKSUM:cd6b2c347ac3ee843b94b8ee510ce4b2:FIN CHECKSUM
\ No newline at end of file
index c6a024b3d423af5db7b66068a8c4ee8a1d7dfb84..6d7a73e31fe322315979225c36a049fce85c944c 100644 (file)
@@ -7,9 +7,19 @@ if os.path.dirname(repEficas) not in sys.path :
    sys.path.insert(0,repEficas)
 import types
 
-from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA,  Matrice, Tuple, AU_MOINS_UN, A_VALIDATOR, PROC
+#from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA,  Matrice, Tuple, AU_MOINS_UN, A_VALIDATOR, PROC
 from Noyau.N_VALIDATOR import Valid
 
+# #autonome=1
+# autonome=0
+# if autonome : 
+#     from Accas import *
+#     #from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA,  Matrice, Tuple, AU_MOINS_UN, A_VALIDATOR, PROC
+#     JdC = JDC_CATA(code="UQ");
+#     ExpressionIncertitude = creeOperExpressionIncertitude(dictUQ, dicoDesSortiesPossibles);
+# else:
+from cata_RN_EDG import *
+
 # sert a activer les options d incertitude dans eficas
 # et a changer le convert en convertUQ
 avecIncertitude=True
@@ -34,10 +44,3 @@ from cata_UQ import creeOperExpressionIncertitude
 ExpressionIncertitude=creeOperExpressionIncertitude(dictUQ, dicoDesSortiesPossibles, scriptPosttraitement, scriptDeLancement)
 
 
-#autonome=1
-autonome=0
-if autonome : 
-    from Accas import *
-    JdC = JDC_CATA(code="UQ");
-    ExpressionIncertitude = creeOperExpressionIncertitude(dictUQ, dicoDesSortiesPossibles);
-
index 8823ab78188e5b3751ff4d9eb2c9f4ec39e20e1a..12d68396c5b1a3eb1d04b7287761c7e339971e05 100644 (file)
@@ -1355,6 +1355,7 @@ def definitIntoOuput(objExpression, contexte):
 
 def changeIntoOuput(objPostPro):
     mesPostProVal=objPostPro.valeur
+    print('--------- mesPostProVal ----------- :',mesPostProVal)
     contexte=objPostPro.etape.parent.g_context
     # on essaye d assurer la compatibilite du catalogue UQ pour les 2 versions du catalogue RN_EDG
     if len(mesPostProVal[0]) == 2 :
@@ -1369,12 +1370,13 @@ def changeIntoOuput(objPostPro):
             maDef.addInto(nomAProposer)
     if len(mesPostProVal[0]) == 3 :
         for (nomVar,phys,fonct) in mesPostProVal :
+            if '@' in nomVar : continue # Les noms des grandeurs et les associations à leurs définitions doivent être revues dans une nvlle version du cata_RN.py
             if fonct == 'MED' : continue
             nomAProposer= nomVar+'@'+phys+'@'+fonct
             nomBloc    = 'b_physique_' + phys 
             nomBlocVar = ('b_var_'+nomVar).replace( ' ','__')
             maDef=contexte['ExpressionIncertitude'].entites['Output'].entites['VariableDeSortie'].entites[nomBloc].entites[nomBlocVar].entites['VariablePosttraiteeAssociee']
-    
+            maDef.addInto(nomAProposer)
 
 def creeOutput(monDicoVarSortie,scriptPosttraitement):
     intoVariable=list(monDicoVarSortie.keys())
@@ -1401,8 +1403,8 @@ def creeOutput(monDicoVarSortie,scriptPosttraitement):
        ang="Postprocessing Script File",
        statut="o",
        typ=("FichierNoAbs", "All Files ()"),  defaut=scriptPosttraitement)
-    VariableDeSortie = FACT ( max='**', statut ='o', Physique=Physique, **lesBlocs, FonctionDAggregation=FonctionDAggregation, ScriptPosttraitement=ScriptPosttraitement, Unit=Unit,Format=Format)
-    output = FACT (max=1, statut ='o', VariableDeSortie=VariableDeSortie)
+    VariableDeSortie = FACT ( max='**', statut ='o', Physique=Physique, **lesBlocs, FonctionDAggregation=FonctionDAggregation, Unit=Unit,Format=Format)
+    output = FACT (max=1, statut ='o', VariableDeSortie=VariableDeSortie, ScriptPosttraitement=ScriptPosttraitement)
     return output
 
 def creeOperExpressionIncertitude(monDicoVarDeter, monDicoVarSortie,scriptPosttraitement, scriptDeLancement ):
@@ -1495,9 +1497,9 @@ def creeOperExpressionIncertitude(monDicoVarDeter, monDicoVarSortie,scriptPosttr
                     EmpiricalStandardDeviation = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
                         fr = "Ecart-type empirique",
                         ang = "Empirical standard deviation",),
-                    EmpiricalQuantile = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
-                        fr = "Quantile empirique",
-                        ang = "Empirical quantile",),
+                    EmpiricalQuantile = SIMP ( statut = "o", typ = 'TXM', into = ( 'no', ), defaut = 'no', #into = ( 'yes', 'no' ), 
+                                               fr = "Quantile empirique (Non encore implémenté)",
+                        ang = "Empirical quantile (Not Yet Implemented)",),
                     BlocEmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ",
                         EmpiricalQuantile_Order = SIMP ( statut = "o", typ = 'R', defaut = 0.95,
                             val_min = 0.0, val_max = 1.0,
@@ -1515,10 +1517,9 @@ def creeOperExpressionIncertitude(monDicoVarDeter, monDicoVarSortie,scriptPosttr
         Execution = FACT (max=1, statut ='o',
              bloc_OT = BLOC (condition = 'UncertaintyTool == "OpenTurns"',
                 ExecutionMode = SIMP ( statut = "o", typ = "TXM", into = ['desktop', 'cluster']),
-                NbOfProcs      = SIMP ( statut = 'o', typ ="I" ,  defaut = 1, val_min = 1),
-                NbDeBranches  = SIMP ( statut = "o", typ = "I", val_min = 0, fr='nb d evaluations simultanees'),
-                JobName        = SIMP ( statut = 'o', typ ="TXM", defaut='idefix_rn_job'),
+                NbDeBranches  = SIMP ( statut = "o", typ = "I", val_min = 0, fr='nb d evaluations Persalys simultanees'),
                 bloc_OT_local = BLOC (condition = 'ExecutionMode == "desktop"',
+                    JobName        = SIMP ( statut = 'o', typ ="TXM", defaut='idefix_rn_job'),
                     ResourceName   = SIMP ( statut = 'o', typ ="TXM", defaut ='localhost'),
                     Login   = SIMP ( statut = 'o', typ ="TXM", defaut ='C65845'), #TODO
 #                    WorkDirectory = SIMP ( statut = 'o', typ='Repertoire' , defaut='/tmp/C65845_workingdir_uncertainty'), #TODO: Login + NonExistent
@@ -1529,13 +1530,15 @@ def creeOperExpressionIncertitude(monDicoVarDeter, monDicoVarSortie,scriptPosttr
                        fr="Nom du fichier script de lancement",  ang="script File to launch",),
                 ),
                 bloc_OT_cluster = BLOC (condition = 'ExecutionMode == "cluster"',
+                    MultiJobStudy  = SIMP ( statut = "o", typ = bool, defaut=False,fr='Si True, un job est soumis pour chaque évaluation de branche'),
+                    NbOfProcs      = SIMP ( statut = 'o', typ ="I" ,  defaut = 1, val_min = 1, fr='Equivaut au nombre de tasks SLURM affectées à chaque job'),
+                    JobName        = SIMP ( statut = 'o', typ ="TXM", defaut='idefix_rn_job'),
                     ResourceName   = SIMP ( statut = 'o', typ ="TXM", defaut ='gaia'),
                     Login   = SIMP( statut = 'o', typ ="TXM", defaut ='C65845'),
                     WorkDirectory = SIMP ( statut = 'o', typ='TXM' , defaut='/scratch/C65845/workingdir/persalys_light'), #TODO: Login
 #                    WorkDirectory = SIMP ( statut = 'o', typ='Repertoire' , defaut='/scratch/C65845/workingdir/persalys_light'), #TODO: Login
                     ResultDirectory = SIMP ( statut = 'o', typ='TXM' , defaut='/tmp/idefix_rn_job'), #TODO: JobName
 #                    ResultDirectory = SIMP ( statut = 'o', typ='Repertoire' , defaut='/tmp/idefix_rn_job'), #TODO: JobName
-                    MultiJobStudy  = SIMP ( statut = "o", typ = bool, defaut=False),
                     Consigne =  SIMP(statut="o", homo="information", typ="TXM",
                        defaut="Le chemin d'accès au script de lancement est celui utilisé par les machines du cluster."),
                     ScriptDeLancement=SIMP( statut="o",  typ=("FichierNoAbs", "All Files ()"), defaut=scriptDeLancement,
index 23d46247271a01bb0ae6302a8587c45ab3f349ae..bd19a14cdbba87e770823a1f59f8c266a278131b 100755 (executable)
@@ -4,7 +4,7 @@ import sys
 
 #print(sys.argv[:])
 
-import petitCata_driver as mdm
+import cata_MOYEN_driver as mdm
 import pyxb
 
 #THESE CONFIGURATION LINES ARE FOR ADVANCED INTERNAL TEST ONLY, YOU DON'T NEED TO CONFIGURE PYXB LIKE THIS
@@ -46,7 +46,9 @@ for o in objPyxbRB : print (o.toDOM(element_name='rb').toprettyxml())
 
 listeArgAss.append(objPyxbRB)
 dicoArgAss['rod_bank_names']=objPyxbRB
-AssemblyFileObjPyx=mdm.T_AssemblyDKLibFile(**dicoArgAss)
+print ('dicoArgAss', dicoArgAss)
+AssemblyFileObjPyx=mdm.T_AssemblyDKLibFile(**dicoArgAss) #Objet invalide avec un orderedContent hasardeux
+#AssemblyFileObjPyx=mdm.T_AssemblyDKLibFile()
 
 print ('listeArgAss', listeArgAss)
 newOrderedContent=[]
@@ -57,10 +59,17 @@ for obj in listeArgAss:
     # pour chaque liste de tuple
         #dicoArgAss['rod_bank_names']=None
         badObjPyxb=mdm.T_AssemblyDKLibFile(**dicoArgAss)
-        for newObj in obj :
-            print (newObj)
+        #badObjPyxb=mdm.T_AssemblyDKLibFile(**{}) #Evite le model check
+        for newObj in obj : #newobj est une rod_bank_names
+            print ('newObj', newObj)
+            print ('badObjPyxb ordredcontent', badObjPyxb.orderedContent())
+            #print (badObjPyxb.toDOM(element_name='badObjPyxb').toprettyxml())
             badObjPyxb.append(newObj)
+            print ('badObjPyxb ordredcontent', badObjPyxb.orderedContent())
             for c in badObjPyxb.orderedContent() :
+                 print ('___________________')
+                 print ('c.value', c.value)
+                 print ('___________________')
                  if hasattr (c,'value') and c.value == newObj : newOrderedContent.append(c)
                  continue
         continue
diff --git a/ReacteurNumerique/creationAsEficasToutPetit.py b/ReacteurNumerique/creationAsEficasToutPetit.py
deleted file mode 100755 (executable)
index 16070b3..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#! /usr/bin/env python3
-# -*- coding:utf-8 -*-
-import sys
-
-#print(sys.argv[:])
-
-import toutPetitCata_driver as mdm
-import pyxb
-
-#THESE CONFIGURATION LINES ARE FOR ADVANCED INTERNAL TEST ONLY, YOU DON'T NEED TO CONFIGURE PYXB LIKE THIS
-#mdm.pyxb.GlobalValidationConfig._setContentInfluencesGeneration(mdm.pyxb.GlobalValidationConfig.NEVER)
-mdm.pyxb.GlobalValidationConfig._setContentInfluencesGeneration(mdm.pyxb.GlobalValidationConfig.ALWAYS)
-mdm.pyxb.GlobalValidationConfig._setInvalidElementInContent(mdm.pyxb.GlobalValidationConfig.RAISE_EXCEPTION)
-mdm.pyxb.GlobalValidationConfig._setOrphanElementInContent(mdm.pyxb.GlobalValidationConfig.RAISE_EXCEPTION)
-
-dd = mdm.CreateFromDocument(open('toto.xml').read())
-eltOk=dd.AssemblyDKLibFile[0]
-eltFils=dd.AssemblyDKLibFile[0].rod_bank_names
-print ('eltOk.orderedContent()', eltOk.orderedContent())
-
-elt=pyxb.binding.basis.ElementContent(eltFils, instance=eltOk, tag=pyxb.namespace.ExpandedName(mdm.Namespace, 'rod_bank_names'))
-print ('eltContent', elt)
-print ('elementDeclaration._ElementDeclaration__key',getattr(eltOk,elt.elementDeclaration._ElementDeclaration__key))
-
-
-listeArgAss=[]
-dicoArgAss={}
-#filename=mdm.T_filename('/tmp/oo')
-#listeArgAss.append(filename)
-#dicoArgAss['filename']=filename
-#pattern=mdm.T_filename('hhhh')
-#listeArgAss.append(pattern)
-#dicoArgAss['pattern']=pattern
-
-objPyxbRB=[]
-listeArg=[]
-listeArg.append(mdm.T_rod_bank_names_n1_tuple('A'))
-listeArg.append(mdm.T_rod_bank_names_n2_tuple('B'))
-objPyxbRB.append(mdm.T_rod_bank_names(*listeArg))
-listeArg=[]
-listeArg.append(mdm.T_rod_bank_names_n1_tuple('C'))
-listeArg.append(mdm.T_rod_bank_names_n2_tuple('D'))
-objPyxbRB.append(mdm.T_rod_bank_names(*listeArg))
-print ('objPyxbRB', objPyxbRB)
-for o in objPyxbRB : print (o.toDOM(element_name='rb').toprettyxml())
-
-listeArgAss.append(objPyxbRB)
-dicoArgAss['rod_bank_names']=objPyxbRB
-print ('dicoArgAss', dicoArgAss)
-AssemblyFileObjPyx=mdm.T_AssemblyDKLibFile(**dicoArgAss)
-
-print ('listeArgAss', listeArgAss)
-newOrderedContent=[]
-for obj in listeArgAss:
-    print ('-------------------- for', newOrderedContent)
-    print (obj)
-    if  isinstance(obj, list):
-    # pour chaque liste de tuple
-        #dicoArgAss['rod_bank_names']=None
-        badObjPyxb=mdm.T_AssemblyDKLibFile(**dicoArgAss)
-        for newObj in obj :
-            print (newObj)
-            print ('badObjPyxb ordredcontent', badObjPyxb.orderedContent())
-            badObjPyxb.append(newObj)
-            print ('badObjPyxb ordredcontent', badObjPyxb.orderedContent())
-            for c in badObjPyxb.orderedContent() :
-                 print ('___________________')
-                 print ('c.value', c.value)
-                 print ('___________________')
-                 if hasattr (c,'value') and c.value == newObj : print ('ajout de', c); newOrderedContent.append(c)
-                 continue
-        continue
-    #newOrderedContent.append(AssemblyFileObjPyx.orderedContent()[list(map(lambda o:id(o.value), AssemblyFileObjPyx.orderedContent())).index(id(obj))] )
-
-for i in range(len(newOrderedContent)):
-    print (newOrderedContent[i])
-    try : AssemblyFileObjPyx.orderedContent()[i]=newOrderedContent[i]
-    except : AssemblyFileObjPyx.orderedContent().append(newOrderedContent[i])
-print ('AssemblyFileObjPyx.orderedContent', AssemblyFileObjPyx.orderedContent())
-
-print (AssemblyFileObjPyx.toDOM(element_name='rb').toprettyxml())
index 89ed0bcccedf736400a6d7014b7ab2ab227215ff..97d1b66ace4ec9917d3f7b84608f6b48e989213d 100644 (file)
@@ -211,5 +211,4 @@ scenario_data=Scenario_data(initial_power=0.1,
                             SCRAM_power=1130.0,
                             complete_SCRAM_time=1.0,
                             post_processing=(('Fuel temperature@Thermalhydraulics','MAX'),('Neutronic power@Neutronics','SUM'),('Fuel temperature@Thermalhydraulics','MED'),('Neutronic power@Neutronics','MED')),);
-#VERSION_CATALOGUE:V_0:FIN VERSION_CATALOGUE
-#CHECKSUM:c06d10ac9fa4f4f20cad8266b6f6455d:FIN CHECKSUM
\ No newline at end of file
+
diff --git a/ReacteurNumerique/md.comm b/ReacteurNumerique/md.comm
deleted file mode 100644 (file)
index 51b1354..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-thermo_model=Model_data(physics='Thermalhydraulics',
-                        scale='component',
-                        code='THYC',
-                        thyc_options=_F(n_threads=23,),
-                        radial_meshing=_F(fluid='subdivision',
-                                          fluid_subdivision=1,
-                                          pellet=8,
-                                          clad=2,),
-                        axial_meshing=_F(lower_refl=1,
-                                         fuel=40,
-                                         upper_refl=1,),);
-
diff --git a/ReacteurNumerique/petitCata.xsd b/ReacteurNumerique/petitCata.xsd
deleted file mode 100644 (file)
index 90ddbff..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-xmlns="http://chercheurs.edf.com/logiciels/RN_EDG"
-xmlns:RN_EDG="http://chercheurs.edf.com/logiciels/RN_EDG"
-targetNamespace="http://chercheurs.edf.com/logiciels/RN_EDG"
-elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">
-       <xs:simpleType name="AccasAssd">
-               <xs:restriction base="xs:string">
-               </xs:restriction>
-       </xs:simpleType>
-       <xs:simpleType name="T_rod_bank_names_n1_tuple">
-               <xs:restriction base="xs:string"/>
-               </xs:simpleType>
-       <xs:simpleType name="T_rod_bank_names_n2_tuple">
-               <xs:restriction base="xs:string"/>
-               </xs:simpleType>
-       <xs:complexType name="T_rod_bank_names">
-               <xs:sequence>
-                       <xs:element name="n1" type="T_rod_bank_names_n1_tuple" minOccurs="1" maxOccurs="1"/>
-                       <xs:element name="n2" type="T_rod_bank_names_n2_tuple" minOccurs="1" maxOccurs="1"/>
-               </xs:sequence>
-               <xs:attribute name="sdType" type="xs:string" fixed="Tuple"/>
-       </xs:complexType>
-       <xs:complexType name="T_AssemblyDKLibFile" >
-               <xs:sequence>
-                       <xs:element name="rod_bank_names" type="RN_EDG:T_rod_bank_names" minOccurs="1" maxOccurs="unbounded"/>
-               </xs:sequence>
-               <xs:attribute name="sdName" type="xs:string"/>
-               <xs:attribute name="sdType" type="xs:string" fixed="ASSD"/>
-               <xs:attribute name="typeUtilisateur" type="xs:string" fixed="_AssemblyDKLibFile"/>
-       </xs:complexType>
-       <xs:element name="RN_EDG" type="RN_EDG:T_RN_EDG"/>
-               <xs:complexType name="T_RN_EDG">
-                 <xs:choice minOccurs="0" maxOccurs="unbounded">
-                       <xs:element name="AssemblyDKLibFile" type="RN_EDG:T_AssemblyDKLibFile" minOccurs="0" maxOccurs="1">
-                               <xs:annotation>
-                                       <xs:documentation>Description of a fuel assembly DKLib file</xs:documentation>
-                               </xs:annotation>
-                       </xs:element>
-                 </xs:choice>
-               </xs:complexType>
-</xs:schema>
diff --git a/ReacteurNumerique/post_csv.py b/ReacteurNumerique/post_csv.py
deleted file mode 100644 (file)
index 057e638..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-# Exemple de script pour lire la sortie csv du banc 
-#
-# Lecture des valeurs dans le csv et renvoi de la valeur après application de la fonction d'agragation max,min et moy
-
-#To get the history in python
-#print('\n'.join([str(readline.get_history_item(i + 1)) for i in range(readline.get_current_history_length())]))
-
-def vMax(arrayNx2):
-    import numpy as np
-    
-    return np.apply_along_axis(max, 0, arrayNx2[:,1]).item()
-
-def vMin(arrayNx2):
-    import numpy as np
-    
-    return np.apply_along_axis(min, 0, arrayNx2[:,1]).item()
-
-def vMean(arrayNx2):
-    import numpy as np
-    import statistics
-    
-    return np.apply_along_axis(statistics.mean, 0, arrayNx2[:,1]).item()
-
-def vSum(arrayNx2):
-    import numpy as np
-    
-    return np.apply_along_axis(sum, 0, arrayNx2[:,1]).item()
-
-def vInitialTime(arrayNx2):
-    import numpy as np
-    
-    #Dates on first column, Values on second one
-    timeColumn= arrayNx2[:,0]
-    # Tmin=np.apply_along_axis(min, 0, timeColumn)
-    # assert(arrayNx2[0,0]==Tmin)
-    idxTmin = timeColumn.argmin()
-    assert(idxTmin==0)
-    
-    valTmin= arrayNx2[idxTmin][1].item()
-    
-    return valTmin
-
-def vFinalTime(arrayNx2):
-    import numpy as np
-    
-    #Dates on first column, Values on second one
-    timeColumn= arrayNx2[:,0]
-    # Tmax=np.apply_along_axis(max, 0, timeColumn)
-    # assert(arrayNx2[timeColumn.size,0]==Tmax)
-    idxTmax = timeColumn.argmax()
-    idxMax=timeColumn.size-1
-    assert(idxTmax==idxMax)
-    
-    valTmax= arrayNx2[idxTmax][1].item()
-    
-    return valTmax
-
-def vHalfTime(arrayNx2):
-    import numpy as np
-    
-    #Dates on first column, Values on second one
-    timeColumn= arrayNx2[:,0]
-    Tmin=np.apply_along_axis(min, 0, timeColumn)
-    Tmax=np.apply_along_axis(max, 0, timeColumn)
-    
-    Thalf=(Tmax-Tmin)/2+Tmin
-    idxThalf = (np.abs(timeColumn-Thalf)).argmin()
-    valThalf= arrayNx2[idxThalf][1].item()
-    
-    return valThalf
-
-def get_result_from_csv(variableName:str, functionList, filename:str=None, delimiter=','):
-    from csv import reader
-    import numpy as np
-    
-    transientName = 'Transient duration'
-    
-    #ex: file_csv = "Fuel temperature@Thermalhydraulics@MAX.csv"
-    if filename == None: filename = variableName+'.csv'
-    
-    with open(filename, "r") as csv_file:
-         csv_reader = reader(csv_file, delimiter=delimiter)
-         header = next(csv_reader)
-         header_transient_name=header[1]
-         header_variable_name=header[2]
-         if header_variable_name != variableName:
-             print(sys.stderr,"The variable name {} differs from the file's header one {}".format(variableName, header_variable_name))
-             return -1 #TODO Exception ?
-         if header_transient_name != transientName:
-             print(sys.stderr,"The transient duration name {} differs from the file's header one {}".format(transientName, header_transient_name))
-             return -1 #TODO Exception ?
-    
-    date_value_array=np.loadtxt(file_csv, delimiter = delimiter, skiprows = 1)[:,1:3]
-    valList=[]
-    for func in functionList:
-         valList.append(func(date_value_array))
-    return valList
-
-def get_result_from_csv_v0(variableName:str, function, filename:str=None, delimiter=','):
-    from csv import reader
-    
-    #ex: file_csv = "Fuel temperature@Thermalhydraulics@MAX.csv"
-    if filename == None: filename = variableName+'.csv'
-    
-    with open(filename, "r") as csv_file:
-        csv_reader = reader(csv_file, delimiter=delimiter)
-        header = next(csv_reader)
-        header_variable_name=header[-1]
-        if header_variable_name != variableName:
-            print(sys.stderr,"The variable name {} differs from the file's header one {}".format(variableName, header_variable_name))
-            return -1 #TODO Exception ? 
-        # print("Header:")
-        # print(", ".join(header))
-        # print("Values:")
-        # for row in csv_reader:
-        #     print(", ".join(row))
-    return function(csv_reader)[-1]
-
-# import csv
-
-# #fich_csv = "Execution_APOLLO3/Neutronic power@Neutronics@SUM.csv"
-# fich_csv = "Fuel temperature@Thermalhydraulics@MAX.csv"
-# file_csv = open(fich_csv)
-
-# fich_sort = 'point.res'
-
-# csvReader = csv.reader(file_csv, delimiter=',')
-# header = []
-# header = next(csvReader)
-# # Pour APOLLO3 ?
-# # if len(header) != 2:
-# #     print("Correction des headers contenant des espaces")
-# #     tmp = header
-# #     header = []
-# #     header.append(tmp[1])
-# #     header.append(tmp[-2] + " " + tmp[-1])
-# print(header)
-
-# rows = []
-# for row in csvReader:
-#     ligne = []
-#     for elem in row:
-#         if elem != '':
-#             ligne.append(float(elem))
-#     rows.append(ligne)
-#     #print(ligne)
-# print(rows)
-
-# # reperage des valeurs min et max
-# point_min = rows[0]
-# point_max = rows[0]
-# for point in rows:
-#    if point[2] < point_min[2]:
-#        point_min = point
-#    if point[2] > point_max[2]:
-#        point_max = point
-
-# # impression dans un fichier res de sortie
-# print("point min")
-# print(point_min)
-# print("point max")
-# print(point_max)
-
-# txt = "# time_min min time_max max\n"
-# txt += "{0} {1} {2} {3}".format(point_min[0],point_min[1],point_max[0],point_max[1])
-
-# file_sort = open(fich_sort,'w')
-# file_sort.write(txt)
diff --git a/ReacteurNumerique/toto.comm b/ReacteurNumerique/toto.comm
deleted file mode 100644 (file)
index 561b2c9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-AF3R_400=AssemblyDKLibFile(#filename='cocagne_data/dklib/AF3R_400.dklib',
-                           #pattern='PALU_AF3R_17_4.00_0P_0P_100_100__535_306.5_0.7127__500____________________________P13',
-                           #rod_bank_names=(('Black','black_rods'),('Grey','grey_rods'),('B4C','b4c_rods')),);
-                           rod_bank_names=(('Black','black_rods'),));
-
diff --git a/ReacteurNumerique/toutPetit.comm b/ReacteurNumerique/toutPetit.comm
deleted file mode 100644 (file)
index 00c2fa3..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-AF3R_400=AssemblyDKLibFile(#filename='/tmp/oo',
-                           #pattern='aaa',
-                           rod_bank_names=(('Black','black_rods'),),);
-#VERSION_CATALOGUE:V_0:FIN VERSION_CATALOGUE
-#CHECKSUM:d7e06c28bd7405b0913257d383914c9f:FIN CHECKSUM
diff --git a/ReacteurNumerique/toutPetitCata.py b/ReacteurNumerique/toutPetitCata.py
deleted file mode 100644 (file)
index 29bb649..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""Definition of the data model used by the integration bench.
-
-Warnings
---------
-EFICAS will import this file as Python module with the ``__import__`` special
-function so, this module must not use relative import.
-"""
-# pylint: disable=import-error
-# pylint: disable=too-few-public-methods
-
-# TODO: Create a main object that point on the different subobjects and force its name
-
-# EFICAS
-from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA, VerifTypeTuple, Matrice, Tuple
-from Accas import Tuple as _Tuple
-from Extensions.i18n import tr
-
-# Warning: The names of these variables are defined by EFICAS
-JdC = JDC_CATA(code="RN_EDG")
-VERSION_CATALOGUE = "V_0"
-
-# Define the minimum and the maximum number of elements (reflectors and fuel
-# assemblies) on the core's side
-NMIN_CORE_FUEL_ELTS = 1
-NMAX_CORE_FUEL_ELTS = 18
-
-# Available absorbing material type in the rod clusters
-ROD_COMPOSITIONS = (
-    "Black",   # Full AIC rods
-    "Grey",    # Mix between AIC and steel rods
-    "B4C",     # Full B4C rods
-)
-
-# Available options for the core elements rotation
-ASSEMBLY_ROTATIONS = (
-    ".",   # identity
-    "R1",  # 90° counter-clock
-    "R2",  # 180°
-    "R3",  # 270° counter-clock
-    "UD",  # up-down
-    "LR",  # left-right
-    "TR",  # transpose x/y
-    "RT",  # transpose x/-y
-)
-
-
-
-class _AssemblyDKLibFile(ASSD):
-    """Manage informations about a fuel assembly DKLib file."""
-
-
-
-AssemblyDKLibFile = OPER(
-    nom="AssemblyDKLibFile",
-    sd_prod=_AssemblyDKLibFile,
-    fr="Description d'un fichier DKLib assemblage combustible",
-    ang="Description of a fuel assembly DKLib file",
-    #filename=SIMP(
-    #    fr="Nom du fichier DKLib",
-    #    ang="DKLib filename",
-    #    statut="o",
-    #    typ=("Fichier", "DKLib Files (.dklib);;DKZip Files (.dkzip);;All Files ()", "Sauvegarde")),
-    #pattern=SIMP(
-    #   fr="Nom du pattern à utiliser dans le fichier DKLib",
-    #    ang="Name of the pattern to use in the DKLib file",
-    #    statut="o",
-    #    typ="TXM"),
-    rod_bank_names=SIMP(
-        fr=("Nom de la configuration de grappe dans la DKLib pour chaque type "
-            "de matériaux absorbants disponibles dans le modèle sous la forme "
-            "({{{}}}, nom dans la DKLib)").format(", ".join(ROD_COMPOSITIONS)),
-        ang=("Name of the rod cluster configuration in the DKLib file for any "
-             "type of absorbing materials available in the model under the form "
-             "({{{}}}, name in the DKLib)").format(", ".join(ROD_COMPOSITIONS)),
-        statut="o",
-        typ=Tuple(2),
-        # TODO: Check if the first string is ROD_COMPOSITIONS
-        validators=VerifTypeTuple(("TXM", "TXM")),
-        max="**"))
-
-
diff --git a/ReacteurNumerique/toutPetitCata.xsd b/ReacteurNumerique/toutPetitCata.xsd
deleted file mode 100644 (file)
index 9c88ba4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-xmlns="http://chercheurs.edf.com/logiciels/RN_EDG"
-xmlns:RN_EDG="http://chercheurs.edf.com/logiciels/RN_EDG"
-targetNamespace="http://chercheurs.edf.com/logiciels/RN_EDG"
-elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">
-       <xs:simpleType name="AccasAssd">
-               <xs:restriction base="xs:string">
-               </xs:restriction>
-       </xs:simpleType>
-       <xs:simpleType name="T_rod_bank_names_n1_tuple">
-               <xs:restriction base="xs:string"/>
-               </xs:simpleType>
-       <xs:simpleType name="T_rod_bank_names_n2_tuple">
-               <xs:restriction base="xs:string"/>
-               </xs:simpleType>
-       <xs:complexType name="T_rod_bank_names">
-               <xs:sequence>
-                       <xs:element name="n1" type="T_rod_bank_names_n1_tuple" minOccurs="1" maxOccurs="1"/>
-                       <xs:element name="n2" type="T_rod_bank_names_n2_tuple" minOccurs="1" maxOccurs="1"/>
-               </xs:sequence>
-               <xs:attribute name="sdType" type="xs:string" fixed="Tuple"/>
-       </xs:complexType>
-       <xs:complexType name="T_AssemblyDKLibFile" >
-               <xs:sequence>
-                       <xs:element name="rod_bank_names" type="RN_EDG:T_rod_bank_names" minOccurs="1" maxOccurs="unbounded"/>
-               </xs:sequence>
-               <xs:attribute name="sdName" type="xs:string"/>
-               <xs:attribute name="sdType" type="xs:string" fixed="ASSD"/>
-               <xs:attribute name="typeUtilisateur" type="xs:string" fixed="_AssemblyDKLibFile"/>
-       </xs:complexType>
-       <xs:element name="RN_EDG" type="RN_EDG:T_RN_EDG"/>
-               <xs:complexType name="T_RN_EDG">
-                 <xs:choice minOccurs="0" maxOccurs="unbounded">
-                       <xs:element name="AssemblyDKLibFile" type="RN_EDG:T_AssemblyDKLibFile" minOccurs="0" maxOccurs="1">
-                               <xs:annotation>
-                                       <xs:documentation>Description of a fuel assembly DKLib file</xs:documentation>
-                               </xs:annotation>
-                       </xs:element>
-                 </xs:choice>
-               </xs:complexType>
-</xs:schema>
\ No newline at end of file