Fessenheim-1 exemple

The data written in the file located at ./data/Fessenheim-Bugey-Almaraz.py represent the first start-ups of Almaraz-2, Bugey-2 and Fessenheim-1 and 2. This chapter gives a description of this file content.

The references for this input are :

To get started:

Listing of the modelized cases
for enri, Rods in [[3.10/100, 'None'],
                   [3.10/100, 'AIC']]:

This is the list of some assembly configurations, described by the fuel enrichment and the control rod types. Then,

PyDrag call to the chosen library
materials = pydrag.Materials(NuclearData= 'https://github.com/IRSN/PyNjoy2016/releases/download/JEFF-3.x/drglibJEFF-3.3_295')

This last line allows the user to call a specific nuclear data library. In this case, the library will be downloaded from another Git repository. The Materials call will create a list of pre-defined mixtures.

Note

If the library does already exist in the ./libraries/ folder (created / updated at each calculation), the library is not be downloaded again.

Description of several mixtures
materials.Pyrex.composition={'B2O3':12.5/100,
                             'SiO2':64.8/100,
                             'Al2O3':7.6/100,
                             'K2O':3.2/100,
                             'Na2O':3.1/100}
materials.AIC.set_density(10.1564)
materials.UO2.set_enrichment('U235', enri)
materials.UO2.set_density(10.96*0.95*0.9883)

These lines update different materials’ property : Pyrex composition, AIC density, UO2 fuel density and composition. The Pyrex composition is taken from “Tableau B.16” of reference [2] :

_images/Fessenheim_Pyrex.png

Description of Pyrex composition

Note

In the case of fuel compositions, it is not required to declare the U238 ratio (as it is automatically calculated from the other isotopes).

Description of temperatures and boron concentration
materials.set_tfuel([547, 'F'])
materials.water.set_temperature([547, 'F'])
materials.water.set_boron(600)

Then, the fuel temperature (547°F), moderator temperature (547°F) and boron concentration (600 pcm) are defined. Moreover, the core power is given (in order to be used later during evolution calculation).

Description of assembly grids
materials.grids.set_mass(7*611.4,'Inconel')

The grids are declared : in this case, they are described as 7 grids of 611.4 g of Inconel.

Description of a fuel pin
F = ['UO2', 0.4096,
     'void', 0.4179,
     'Zr4', 0.4750]

An exemple of fue pin description is given : 3 circles of UO2 fuel, “void” (used for the gap dilution, that is Helium in reality) and a Zircaloy-4 clad.

Description of one eighth of assembly pin layout
if Rods == 'None':
  PinLayout = [[I, F, F, O, F, F, O, F, F],
                  [F, F, F, F, F, F, F, F],
                     [F, F, F, F, F, F, F],
                        [O, F, F, O, F, F],
                           [F, F, F, F, F],
                              [O, F, F, F],
                                 [F, F, F],
                                    [F, F],
                                       [F]]
elif Rods == 'AIC':
  PinLayout = [[I, F, F, C, F, F, C, F, F],
                  [F, F, F, F, F, F, F, F],
                     [F, F, F, F, F, F, F],
                        [C, F, F, C, F, F],
                           [F, F, F, F, F],
                              [C, F, F, F],
                                 [F, F, F],
                                    [F, F],
                                       [F]]

The assembly pin layout is given as a list of list, representing each line of pins. These pins are described before (as it is done for the previously given fuel pin). For instance, we have:

  • F: fuel pin

  • C: AIC control rod

  • I: instrumented tube

  • O: water-filled tube

Those plans are taken from reference [2] (Figure 2.10):

_images/fessenheim_plan.png

Assembly pin layout of Fessenheim-1 without control rods (a) and with AIC control rods (b)

Description of several assembly dimensions
geom = pydrag.Geometry(PinLayout, symmetry = '1/8',
                       PinPitch = 0.496*2.54,
                       AssemblyPitch = 8.466*2.54,
                       ActiveHeight = 144*2.54)

This line gives to PyDrag the pin layout and different assembly dimensions in order to represent the assembly geometry. The factor 2.54 is used to convert inches into centimeters.

Calculation of assembly power density
powerDens = pydrag.Power(nbAssemblies = 157, corePower = 2686)

The assembly power density is automatically computed, based on the number of assemblies, the core power, and the different fuel types density.

PyDrag evolution calculation
burnup,kinf = pydrag.Deplete(materials, geom, powerDens, ThermalExpans = True)

This line asks PyDrag to make a depletion calculation (between 0 and 72 Gwd/t, using pre-defined burnup steps), by giving it every different informations related to materials, geometry and assembly power.

PyDrag evolution calculation
    pydrag.CaseMatrix(materials, geom, powerDens, output = 'fessenheim.sap',
                      water_tempereratures = [[265, 'C'],[345, 'C']],
                      fuel_temperatures = [[265, 'C'],[1500, 'C']],
                      boron_concentrations = [0, 3000], # ppm
                      burnup_CaseMatrix = [0, 40000], # MWd/t
                      cpu = 12)

This last line creates a Saphyb library, for the chosen branches, over 12 CPUs :

  • water temperature : 265°C and 345°C

  • fuel temperature : 265°C and 1500°CPUs

  • boron concentrations : 0 and 3000 ppm

  • burnup steps : 0 and 40000 MWd/t.