Manual of CBZ/Burner
Go CHIBA
September 9, 2024

Contents
1 Introduction

2

2 Required data ﬁles

3

3 Generation of input data
3.1 Assignment of multi-group cross section data and fuel burnup chain data . . . . . . . . . . . . . . . . .
3.2 Retreival of the nuclide transmutation chain data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Material data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Geometrical data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Burnup (or irradiation) condition input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
4
6
7
7
8

4 Execution of fuel burnup calculation and output of calculation results
4.1 Execution of fuel burnup calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Output of the results on the screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Storing calculation results in external ﬁles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10
10
10
11

5 Exercise

131

1 INTRODUCTION

12Introduction

Several isotopes of heavy nuclides such as uranium and plutonium can ﬁssion with high probability when they collidewith neutrons, and an energy of approximately 200 MeV is generated per one ﬁssion reaction. As the results, the heavy
nucleus is divided into two fragments known as ﬁssion product (FP). Most (approximately 80%) of the ﬁssion energy
become kinetic energy of FP and these energy ﬁnally is converted to the heat energy and the electric energy in the
nuclear power plants.
Since heavy nuclei are converted to FP by ﬁssion reactions, the amount of the heavy nuclei in nuclear fuel gradually
decreases with the operation of the nuclear power plant. The heavy nuclides which can ﬁssion contribute to the ﬁssion
chain reaction, so if the amount of them decreases, it becomes hard to maintain the ﬁssion chain reaction. Thus,
in nuclear power plants, relatively large amount of nuclear fuels are loaded to a nuclear reactor when it starts its
operation. If the large amount of nuclear fuels are loaded, the reactor core becomes a supercritical state, so the large
positive reactivity is compensated by inserting control rods made of neutron absorbing materials, by diluting the boron,
which is also strong neutron absorbing material, into the coolant, or by mixing the other neutron absorbing material
gadolinium with fuels, and the critical state is maintained. As the power plant operation continues, the amount ofﬁssioning materials in nuclear fuels is decreased, and reactivity is also decreased. Thus the control rod is gradually
withdrawn or the boron concentration is reduced to maintain the critical state.
Uranium-238, which is main consituent of the uranium fuel, is converted to uranium-239 by absorbing a neutron,and this uranium-239 is converted to plutonium-238, which is a ﬁssioning nuclide, via sequential two β decays. Thismeans that the amounts of uranium-235 and plutonium-239 decreased with the power plant operation, but the sametime, plutonium-239 is newly generated by the neutron absorption of uranium-238 and it can contribute to teh ﬁssion
chain reaction.
Furthermore, the amount of FP generated through the ﬁssion reactions is also important. The kinds of FP areover 1,000, and some of them can emit quite strong radiation rays and some have long half-lives and remain in the
spent nuclear fuels. When we consider the reprocessing, the intermediate storage, and the ﬁnal disposal of the spent
nuclear fuel, we need to grasp how much the radioactive FP are contained in the spent fuels. Also the amount of FP
accumulated in the spent fuel is important in the accident analysis. Each of FP is generated by a ﬁssion reaction witha given probability, and most of FP are neutron-rich unstable nuclides and are transmuted to the diﬀerent nuclide
according to their intrinsic decay half-lives. Nuclides included in the nuclear fuel can also convert to the other nuclides
via neutron-nuclide reactions.
As described below, the compositions of the nuclear fuels loaded to the nuclear reactor change with the plant
operation. This is called nuclear fuel burnup, and changes in the nuclear fuel composition during the nuclear fuelburnup should be accurately predicted.
A reactor physics code system CBZ has several packeges to numerically simulate the nuclear fuel burnup, and thisdocument is devoted to the brief description of the package of the nuclear fuel burnup calculations for a single nuclear
fuel pin cell, CBZ/Burner.

2 REQUIRED DATA FILES

2

3

Required data ﬁles

The Burner module requires several speciﬁc data for the nuclear fuel burnup calculations such as multi-group reaction
cross section data, the FP decay data, the FP yield data, etc. The multi-group cross section data are stored in the
CBGLIB directory, and the fuel burnup-relevant data are stored in the CBGLIB BURN directory.
When one wants to use the Burner module, the following structure of the directories would be typical.
/home/
CBG/src/ (CBZ source program)
CBGCAL/Burner/ (CBZ calculation ﬁles)
CBGLIB/
j4.107g.iwt4/ (JENDL-4.0-based 107-group library)Bell-107g/(Optimized Bell-factor for 107-group library)
CBGLIB BURN/CBG CHAIN/ (Fuel burnup chain data)
CBG FY/ (Cumulative ﬁssion yield data)
DDFile/ (Decay data)
ReactionEnergy/ (Data of generated energy per one ﬁssion reaction)
atomic mass/ (Atomic mass data)
decay constant/ (Decay constant data)

The present tutorial will give explanations based on the sample ﬁle main.burn tutorial.cxx in the directory
Burner.
The fuel burnup calculation can be carried out by compiling and running this main.burn tutorial.cxx ﬁle. If you
fail to do this, please consult with Chiba.

3 GENERATION OF INPUT DATA

3

4

Generation of input data

In light-water reactor fuel burnup analyses, the single fuel pincell model, which consists of the fuel pellet, thecladding, and the surronding coolant, is sometimes employed. Out of the coolant region, the speciﬁc boundary conditions
are assigned, and this model is equivalent with the inﬁnite array of this cell on the radial plane. The axial direction isassumed to have inﬁnite length, this single fuel pincell model is a two-dimensional model. An example of a BWR fuelassembly and the associated single pincell model is shown in Fig. 1.

Fig. 1: BWR fuel assembly and single pincell model
In the following, how to use the Burner module is described by seeing a sample input ﬁle main.burn tutorial.cxx.

3.1

Assignment of multi-group cross section data and fuel burnup chain data

In nuclear fuel burnup calculations, we have to know how many reactions which accompany the nuclide transmutation
occur. Among these kinds of reactions, the ﬁssion reaction, the neutron capture reaction, and (n,2n) reactions areimportant. When the ﬁssion reaction occurs, the target nucleus becomes two other nucleus. When the neutron capture
reaction occurs, the target nucleus is converted to an other nucleus whose number of neutrons is large by one than theoriginal one. When the (n,2n) reaction occurs, the target nucleus becomes other one whose number of neutrons is small
by one than the original. If we want to know how many such reactions occur, we require the corresponding reaction
data. Furthermore, the level and energy spectrum of the neutron ﬂux are also required 1 , and these are obtained by
the calculations with the single pincell model. The reaction cross section data are required also in this neutron ﬂux
calculation.
Nuclide transmutations occur through the various neutron-nuclide reactions, and the information on which nuclide
is newly generated through the reaction is required for each reaction and each target nuclide. In addition, the nuclidetransmutations also occur through the radioactive decay, and the information on which nuclide is generated through the
decay is required for each decay path (or mode) and each concerned unclide. These information are summarized as thenuclide transmutation (or burnup) chain in the numerical calculations. The good example of the transmutation
chain can be found in page 186 in the manual of the code system SRAC-2006 (JAEA-Data/Code 2007-004) 2 During
this tutorial, the nuclide transmutation chain for heavy nuclides presented in Fig. 3.3-1 in page 186 and that for FP in
page 190 would be useful. The nuclide transmutation chain for important heavy nuclides in SRAC-2006 is shown in
Fig. 2 as an example.
1 The information on the neutron ﬂux energy spectra are required since the reaction cross sections signiﬁcantly depend on the neutron
incident energy.
2 http://jolissrch-inter.tokai-sc.jaea.go.jp/pdfdata/JAEA-Data-Code-2007-004.pdf

3 GENERATION OF INPUT DATA

5

Fig. 2: Nuclide transmutation chain for important heavy nuclides in SRAC-2006
In CBZ, the data for the reaction cross section and the nuclide transmutation chain are deﬁned as external ﬁles, sothese data should be read in calculations. The following shows the part reading the external ﬁles on the cross section
data and the transmutation chain.
Listing 1: Reading the cross section data and the transmutation chain data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Burner bn ;Burnup bu ;stringcbglibdir (” . . / . . / ” );// (common)bu . R e a d R e a c t i o n E n e r g y F r o m F i l e ( c b g l i b d i r , ” s r a c t y p e ” ) ;// bu . ReadReactionEnergyFromFile ( c b g l i b d i r , ” f r s t a n d a r d ” ) ;bu . GetBurnupChain ( ) . ReadDecayConstantFromFile ( c b g l i b d i r , ” s r a c o r g ” ) ;bu . ReadAtomicMassDataFromFile ( c b g l i b d i r , ” j e f f 3 1 1 ” ) ;// ( FP197 )bn . S e t L i b r a r y ( c b g l i b d i r , ” j e n d l = 4.0 ” ) ;bu . GetBurnupChain ( ) . Set21HeavyMetalChain ( ) ;bu . GetBurnupChain ( ) . ReadFPYieldDataFromFile ( c b g l i b d i r , ” f p 1 9 7 . j 2 0 1 1 t ” ) ;bu . GetBurnupChain ( ) . OverWritingChainData ( c b g l i b d i r , ” f p 1 9 7 . j 2 0 1 1 t ” ) ;// ( A c t i n i d e decay h e a t )bn . AddActinideDecayHeatDataToBurnupChain ( c b g l i b d i r , ”dd . j e f f 3 1 1 ” , bu ) ;// ( Dose c o e f f i c i e n t d a t a )bu . GetBurnupChain ( ) . R e a d D o s e C o e f f i c i e n t D a t a ( c b g l i b d i r ) ;The module Burner to conduct the pin-cell burnup calculations is a class of C++, so the instance of the Burnerclass should be generated in the calculations. In line 1, the instance bn of the Burner class is generated. The following
calculations are carried out with the instance bn.
Whereas the Burner class is to conduct the pin-cell burnup calculations, the actual nuclide transmutation calculations
are carried out with the Burnup class. The Burnup class possesses the one-group cross section data and the instance of
the BurnupChain class to deﬁne the nuclide transmutation chain, and carry out the burnup calculations. The instancebu of the Burnup class is generated in line 2.
In Burner, the reaction cross section data are located on the CBGLIB directory, and the transmutation data are on
the CBGLIB BURN directory. In line 4, the information on these directories are provided.
The multi-group cross section data are read through the method bn.SetLibrary in line 13. In this example, 107group cross section library based on the evaluated nuclear data ﬁle JENDL-4.0 is read. When Burner is used, the
XSLibrary class deﬁnes the multi-group cross section library is deﬁned internally, so users do not have to treat it
directly. If users want to use the methods of the XSLibrary class, they can retreive the instance of the XSLibrary classthrough the GetXSLibrary method of the Burner class.
The nuclide transmutation chain is deﬁned as a member variable of the Burnup class as the instance of the
BurnupChain class. In line 14, it declares to use the 21-heavy nuclide chain consisting of uranium to curium. In
lines 15 and 16, ﬁssion product yield data and ﬁssion product chain data are read from the external ﬁles. The datacontained in the nuclide transmutation chain are diﬀerent among diﬀerent evaluated nuclear data ﬁles, and this sample
reads the data based on the JENDL FP decay data ﬁle 2011.

3 GENERATION OF INPUT DATA

6

The energy data generated through the nuclide reaction, the decay data, and the atomic mass data are read in lines
7, 9, and 10, respectively.

3.2

Retreival of the nuclide transmutation chain data

The data described in the preceding subsection are stored in the instance bu of the Burnup class, and several methods
have been implemented for users to access these data. This subsection describes these methods implemented into the
BurnupChain class to deﬁne the nuclide transmutation chain. More datailed information can be found in the diﬀerent
manual for the CBZ/BurnupChain and NuclideChainData, so you can refer them.
The following is an example to print the nuclide transmutation chain data out.
Listing 2: Printing out of the nuclide transmutation chain data
1
2
3
4
5
6
7

// bu . GetBurnupChain ( ) . S h o w H a l f L i f e ( ) ;// bu . GetBurnupChain ( ) . S h o w D o s e C o e f f i c i e n t ( ) ;// bu . GetBurnupChain ( ) . ShowChainData ( ) ;// bu . GetBurnupChain ( ) . ShowChainDataToOrigin (” Ba137 ” ) ;// bu . GetBurnupChain ( ) . ShowNGBranchingRatio ( ) ;// bu . GetBurnupChain ( ) . ShowFPYieldForFP (” Cs137 ” ) ;// bu . GetBurnupChain ( ) . ShowFPYield (” U235 ” ) ;The following describes each of these methods:
 ShowHalfLife: The decay constants and half-lives of nuclides included in the chain are printed out.
 ShowDoseCoefficient: The dose coeﬃcients of nuclides included in the chain are printed out.
 ShowChainData: The nuclide transmutation chain data are printed out. When no arguments are given, theinformation on which nuclides are newly generated through the neutron reactions and the decays are printed out
for all nuclides contained in the chain are printed out; If users want to retreive the information of one speciﬁc
nuclide, the character data or the index for the concerned nuclide should be given as the argument.
 ShowChainDataToOrigin: The information on which nuclide is origin of the nuclide given as the argument (Ba-137
in this example) is printed out. An example is below:

Listing 3: Example of the ShowChainDataToOrigin method
1
2
3
4
5

# O r i g i n o f Ba137 ( 5 6 1 3 7 0 )#Cs137 ( 5 5 1 3 7 0 ) : Decay#
Ba136 ( 5 6 1 3 6 0 ) : Capture#
Ba137m ( 5 6 1 3 7 1 ) : Decay#
Ba138 ( 5 6 1 3 8 0 ) : ( n , 2 n )0.053
0.972094
1
0.875913

The numerical values at the end of each line are the brancing ratio. This example suggests that Ba-136 isconverted to Ba-137 with 97.2% probability after the neutron capture reaction. The remaining 2.8% becomes
Ba-137m (meta-stable Ba-137).
 ShowNGBranchingRatio: Branching ratio data after the (n,γ) reaction are listed.
 ShowFPYieldForFP: Fission product yield data for the ﬁssile given as the argument are presented.
 ShowFPYield: Fission product yield data for a ﬁssion product given as the augument are presented.

When users want to retreive the speciﬁc data on the nuclide transmutation, they can use the following method inwhich the index of the concerned nuclide index is given as the argument.
Listing 4: Example to retreive the speciﬁc data on the nuclide transmutation
1
2
3
4
5

i n t i d =942390;
r e a l dc=bu . GetBurnupChain ( ) . GetDecayConstant ( i d ) ;r e a l c o e f 1=bu . GetBurnupChain ( ) . G e t D o s e C o e f f i c i e n t I n g e s t i o n ( i d ) ;r e a l c o e f 2=bu . GetBurnupChain ( ) . G e t D o s e C o e f f i c i e n t I n h a l a t i o n ( i d ) ;cout<<i d <<” : ”<<dc<<” ”<<c o e f 1 <<” ”<<c o e f 2 <<” \n” ; e x i t ( 0 ) ;3 GENERATION OF INPUT DATA

3.3

7

Material data input

As described below, the fuel pincell model consists of three media: the fuel pellet, the fuel cladding, and the coolant,
and thus the nuclides and their number densities comprising these media should be inputted by users. In Burner, theindex and the number density of the nuclides are inputted for each medium. The following is the part relevant withthe material data input:
Listing 5: Material data input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

// +++ f u e l c o m p o s i t i o n +++// (UO2)
i n t nuc0 =3;i n t mat0 [ ] = { 9 2 2 3 5 0 , 9 2 2 3 8 0 , 8 0 1 6 0 } ;r e a l den0 [ ] = { 7 . 7 5 3 e = 4 , 2 . 1 7 5 e = 2 , 4 . 5 0 5 e = 2}; // 3.4% U5 enrichmentr e a l temp0 = 9 6 8 . 8 ;// ( c l a d i n g )i n t nuc1 =3;i n t mat1 [ ] = { 4 0 0 0 0 0 , 2 6 0 0 0 0 , 2 4 0 0 0 0 } ;r e a l den1 [ ] = { 3 . 7 8 6 e = 2 , 2 . 3 8 2 e = 4 , 6 . 7 7 0 e = 5};r e a l temp1 = 6 0 4 . ;// ( moderator )i n t nuc2 =6;i n t mat2 [ ] = { 1 0 0 1 0 , 8 0 1 6 0 , 5 0 1 0 0 , 2 8 0 0 0 0 , 2 4 0 0 0 0 , 2 6 0 0 0 0 } ;r e a l den2 [ ] = { 5 . 5 7 2 e = 2 , 2 . 7 8 6 e = 2 , 4 . 5 9 2 e = 6 , 3 . 6 8 8 e = 4 , 1 . 6 0 9 e = 4 , 1 . 3 0 6 e = 4};
r e a l temp2 = 5 7 4 . 2 ;=bn . PutFuelData ( nuc0 , mat0 , den0 , temp0 ) ;bn . PutCladData ( nuc1 , mat1 , den1 , temp1 ) ;bn . PutModeratorData ( nuc2 , mat2 , den2 , temp2 ) ;The fuel material data are assigned in line 2 to 6. In line 3, the number of nuclides comprising the medium is given
in nuc0. In line 4, the index of nuclides in this medium is given in mat0 which is the integer-value array. In line 5,
the number densities of the nuclides are given in den0 which is the real-value array. The order in den0 corresponds tothat in mat0. The unit of the number density is 1024 /cm3 . In line 6, the temperature of the fuel pellet region is given
with the unit of K. These number density data of the fuel pellet region is inputted to the instance bn of the Burnerclass through the PutFuelData method in line 18. The number density data for the cladding and coolant regions are
inputted with the same procedure.

3.4

Geometrical data input

The Burner module handles with the fuel pincell model. The fuel pin (or rod) consists of the pellet and cladding having
the cicrular geometry, but the outer boundary of the surrounding coolant region is square (or hexagonal). The periodic
boundary conditions are assumed to the outer boundaries. 3
The fuel pincell model consists of three media, and the fuel pellet and coolant regions are divided into multiple
spatial meshes in solving the transport equation. 4
Figure 1 shows an example of the spatial mesh division in the square pincell model. In this example, three regions
from the center are the fuel pellet region, the forth region is the cladding region, and the others are the coolant region.
The following shows the part to input the geometry information in main.burn tutorial.cxx.
Listing 6: Geometry information input
1
2
3
4
5

// +++ Geometry Data +++r e a l p i n p i t c h = 0 . 6 3 2 5 * 2 . ; // [ cm ]real rr []={0.25 ,0.35 ,0.412 ,0.476 ,0.55 ,0.65 ,0.75};
i n t rmed [ ] = { 0 , 0 , 0 , 1 , 2 , 2 , 2 } ;bn . PutGeometryData ( p i n p i t c h , 7 , r r , rmed ) ;The variable pin pitch in line 2 is the pin pitch of the fuel rods; a distance between fuel rod centers adjacent to eachother. In the fuel pincell model, the pin pitch is a length of the one plane of the outer square of the coolant region.
Its unit is cm. In line 3, the radii of the rings mentioned above are assigned from the smaller one. In line 4, thecorrespondance of each ring region to the medium index is assigned from the center region. The medium index 0 is thefuel pellet, the index 1 is the cladding, and the index 2 is the coolant, respectively. In line 5, the data speciﬁed above
are transfered to the instance bn of the Burner class through the PutGeometryData method of the Burner class. The
second argument is the number of rings.
3 If the fuel pincells are arranged periodically, this boundary condition is rigorous. Also it is possible to use the white reﬂection conditionin which neutrons reaching to the boundary are reﬂected isotropically on the boundary. Calculations with the white reﬂection condition
require lower computational costs than the periodic boundary, but those are approximations. If users want to switch from the periodic
condition to the white condition, they can use the method PutWhiteBoundary of the Burner class.
4 In the actual fuel rod, there is a gap between the fuel pellet region and the cladding region, but it is ignored in this example. It can beunderstood that the fuel region is smeared to the gap region.

3 GENERATION OF INPUT DATA8

0.8
’plotdata’
0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Fig. 3: Spatial mesh division in the fuel pincell model

3.5

Burnup (or irradiation) condition input

Nuclear fuel depletion (burnup) calculations require the imformation on the neutron ﬂux level and the burnup period.
Instead of the neutron ﬂux level, the line power per 1 cm of the fuel rod is sometimes assigned. A part of the burnup
condition input in main.burn tutorial.cxx is shown below:
Listing 7: Burnup condition input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

// +++ Burnup h i s t o r y d a t a +++bn . PutBurnStep ( 2 1 ) ;r e a l p o w e r d e n s i t y l i s t []={
179. , 179. , 179. , 179. , 179. ,179. , 179. , 179. , 179. , 179. ,179. , 179. , 179. , 179. , 179. ,179. , 179. , 179. , 179. , 179. ,0.
} ; // [W/cm ]r e a l burn time []={
0.1 , 1.0 , 2.5 , 5.0 , 7.5 ,10. , 12.5 , 15. , 17.5 , 20. ,22.5 , 25. , 27.5 , 30. , 32.5 ,3 5 . , 3 7 . 5 , 4 0 . , 4 2 . 5 , 4 5 . , // GWd/ t
4 . * 3 6 5 . , // day};
bn . P u t P o w e r D e n s i t y L i s t ( p o w e r d e n s i t y l i s t ) ;bn . PutBurnTime ( b u r n t i m e , true , true ) ; // [ GWd t/ day ] [ accumulate / not ]The fuel burnup calculations are carried out with the divided steps. In each step, neutron ﬂux calculation is carriedout, and the reaction rates for all nuclides in the fuel pin are calculated. Neutron ﬂux spatial and energy distributions
are dependent on the fuel composition, so they change with time and the fuel burnup period should be divided into
steps properly. In line 2, the number of divided steps is assigned. In line 3 to line 9, the line power in each burnup
step is speciﬁed with the unit of W/cm. It is also possible to specify the power as the rated power with MW/tU,
and it can be realized by adding the string ’’MW t’’ in the second argument of the PutPowerDensityList method as
PutPowerDensityList(power density list,’’MW t’’). In this example, the line power in the 21th step is zero, andthis means that the nuclear fuel is discharged from a reactor core during this step 5 In line 10 to line 14, the period ofeach step is assigned, and the unit is “GWd/t”. 6 Please note that the accumulated values are given in this example.
For example, a fact that 1.0 GWD/t at the 2nd step means that the burnup of 1.0 GWD/t at the end of the step 2.
When the line power is zero, the unit for the step length becomes “day” and this is automatically considered by the
Burner class. The reason why the ﬁne burnup division is applied at the beginning of the fuel burnup is to take into
account the behevior of the short-lived ﬁssion products.
In lines 15 and 16, the burnup condition information assigned above are transferred to the instance bn of the Burnerclass.
In the above example, the fuel burnup period of the steps is given as the fuel burnup with GWd/t, but it is also
possible to be given with the day. In such cases, users should switch the second argument of the boolean variable tofalse in the PutBurnTime method of the Burner class. Furthermore, the length of the burnup step can be assigned
5 During the outage period, there are not any neutron reactions but the radioactive decay, the fuel composition should change with time.
6 This is the accumulated power per heavy nuclides weight initially loaded.

3 GENERATION OF INPUT DATA

9with not the cumulative value but the value of the step itself. In such case, please switch the third argument of thboolean variable to false in the PutBurnTime method. 7
If the step length is constant over all burnup steps, the ﬁrst argument of the PutBurnTime method can be deﬁned
with not the array but the single real variable.
In the fuel burnup calculations, the fuel burnup step is further divided into sub-steps. If the line power is given as
the neutron ﬂux normalization condition, the neutron ﬂux should be normalized per every sub-step according to the line
power. If the line power is constant, neutron ﬂux level should be increased with time in the burnup step since the nuclear
fuel inventory decreases with time. This can be taken into account by doing the neutron ﬂux normalization at the substeps. The default number of sub-step divisions in Burner is 20, and it can be changed by using the PutSubstep(inti) method of the Burner class. The number of sub-step divisions is transferred as the argument. The concept of theburnup steps and sub steps is shown in Fig. 4.

Fig. 4: Concept of burnup steps and sub steps
It is possible to use the neutron ﬂux level itself as the neutron ﬂux normalization condition instead of the line power.
In such cases, not the PutPowerDensityList method but the PutFluxLevelList method is used. An example to assign
the neutron ﬂux level is shown below. The unit of the neutron ﬂux level is /cm 2 /s.
Listing 8: Burnup condition input with the neutron ﬂux level assignment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

// +++ Burnup h i s t o r y d a t a +++bn . PutBurnStep ( 1 0 ) ;r e a l f l u x l e v e l l i s t []={
5 . 5 8 5 6 e15 , 0 . ,5 . 5 8 5 6 e15 , 0 . ,5 . 5 8 5 6 e15 , 0 . ,5 . 5 8 5 6 e15 , 0 . ,5 . 5 8 5 6 e15 , 0 .
} ; // [ / cm2/ s ]r e a l burn time []={
148 , 60 ,
148 , 60 ,
148 , 60 ,
148 , 60 ,1 4 8 , 4 * 365} ; // [ day ]bn . P u t F l u x L e v e l L i s t ( f l u x l e v e l l i s t ) ;bn . PutBurnTime ( b u r n t i m e , f a l s e , f a l s e ) ; // [ GWd t/ day ] [ accumulate / not ]7 If users want to do calculations with iterative burnup and coolant, please be careful that the coolant period should not be given withthe cumulative vales and that the coolant period is not included in the cumulative burnup value.

4 EXECUTION OF FUEL BURNUP CALCULATION AND OUTPUT OF CALCULATION RESULTS

10

4

Execution of fuel burnup calculation and output of calculation results

4.1

Execution of fuel burnup calculation

With the procedure above, all required information are transferred to the instance bn, so now it is ready to execute theburnup calculation.
A part of the execution of the calculation in main.burn tutorial.cxx is shown below:
Listing 9: Execution of burnup calculation
1

bn . C a l c u l a t i o n ( bu ) ;With this method, a burnup calculation is carried out and results are stored in the instance bn.

4.2

Output of the results on the screen

To access the calculation rsults, users have to do relevant methods of the instance bn after executing the calculation.
A part of outputing the results in main.burn tutorial.cxx is shown below:
Listing 10: Output of the results on the screen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

bn . ShowEigen valu e ( ) ;bn . S h o w N e u t r o n F l u x H i s t o r y ( ) ;// bn . S h o w N u c l i d e L i s t ( ) ;bn . ShowNumberDensityChange ( ) ;s t r i n g nuc name1 [ ] = { ” Xe135 ” , ” Xe137 ” } ;bn . ShowNumberDensityChange ( 2 , nuc name1 ) ;s t r i n g p r t n u c n a m e [ ] = { ”Mo098” , ”Mo099” , ”Mo100” } ;s t r i n g p r t n u c n a m e 2 [ ] = { ”FP” , ”HM” , ”ALL” } ;bn . ShowNumberDensityHistory ( 3 , p r t n u c n a m e , bu , ”nd” ) ;bn . ShowNumberDensityHistoryAtomWise ( ”Mo” , bu , ”nd” ) ;// bn . ShowHeavyMetalWeightRatio ( bu ) ;// bn . ShowCrossSection ( 3 , prt nuc name ) ;// bn . ShowCrossSection ( 0 ) ; // f o r burnup s t e p 0// bn . ShowFuelNeutronFlux ( 0 ) ;// bn . ShowFuelNeutronFluxExcel ( 0 ) ;i n t p r t n u c 2 =5;s t r i n g prt nuc nam2 []={
”U235” , ”U238” , ” Pu239 ” , ” Pu240 ” , ” Pu241 ”};// bn . S h o w N u c l i d e W i s e C o n t r i b u t i o n F o r F i s s i o n ( p r t n u c 2 , prt nuc nam2 ) ;// bn . ShowCaptureToDecayRatio ( p r t n u c 2 , prt nuc nam2 , bu ) ;// bn . ShowGroupDependentCrossSection (” U235 ” ) ;// bn . ShowGroupDependentCrossSectionExcel (” U235 ” ) ;In this example, the following methods are used to retreive the results:
 ShowEigenvalue: The inﬁnite neutron multiplication factor, the conversion ratio, and the neutron ﬂux level atthe beginning of the ﬁrst sub-step at every fuel burnup step are presented.
 ShowNeutronFluxHistory: The burnup step-wise neutron ﬂux levels at the cladding and coolant regions arepresented.
 ShowNuclideList: A list of nuclides in the fuel pellet region is presented.
 ShowNumberDensityChange: The number densities of nuclides before and after the fuel burnup are presented.
Not that nuclides having zero number denzities are not presented. If the real argument is given, it presents thenuclide information whose number densities at the beginning or end of the burnup period are larger than thisvalue. If the number of nuclides and a list of these nuclides are given in the arguments, the information only onthese nuclides are presented.
 ShowNumberDensityHistory: Various data on the speciﬁc nuclides can be presented. The ﬁrst argument is thenumber of the specﬁc nuclides, and the list of these nuclides is given as the second argument. In the list, nuclide
can be speciﬁed with its name as “Xe135”, and also element-wise input such as “Xe” is possible. Users can also
use “FP”, “HM”, and “ALL” which are all ﬁssion products, all heavy nuclides, and all nuclides. 8 Uses can specify
the type of output data with the keyword in the forth argument. The following is a list of the keyword and thecorrespoinding data type.
8 HM is nuclide whose atomic number is larger than 80.

4 EXECUTION OF FUEL BURNUP CALCULATION AND OUTPUT OF CALCULATION RESULTS
Keywordndnd per volbq
bq per thm
kg per thm
w per thmw gamma per thm
w beta per thm
sv per thm ing
sv per thm inh

11

Output data
Nuclide number density over all volume [1024 ]Nuclide number density per unit volume [1024 /cm3 ]Radioactivity over all volume [Bq]Radioactivity per unit fuel mass [Bq/tHM]
Weight per unit fuel mass [kg/tHM]
Decay heat per unit fuel mass [W/tHM]
Decay heat per unit fuel mass (gammma-component) [W/tHM]
Decay heat per unit fuel mass (beta-component) [W/tHM]
Ingested absorbed dose per unit fuel mass [Sv/tHM]
Inhalated absorbed dose per unit fuel mass [Sv/tHM]

In the output yielded by this method, the value is given at the ﬁnal column, and this corresponds to the sum of
the values in all columns. If the ﬁfth argument is true, only the sum is presented.
 ShowNumberDensityHistoryAtomWise: By assigning the name of the element, the results of all isotopes of thiselement are presented. The data type to be outputted is given in the third argument. The keyword is the sameas the ShowNumberDensityHistory method. If users set the forth argument as true, only the sum is presented.
 ShowHeavyMetalWeightRatio: The weight of heavy nuclides before and after the burnup is presented.
 ShowCrossSection: One-group cross section in the fuel region is presented. If the number of the outputted
nuclides and a list of these nuclides, the one-group cross sections dependent on the fuel burnup of these nuclides
are presented. If only one integer value is given in the argument, the one-group cross sections of all nuclides atthe burnup step corresponding to the argument are presented. If the third argument is true, not the one-groupcross sections but the reaction rates are presented. If the forth argument in the integer value is given, users canchange the number of precisions in the output.
 ShowFuelNeutronFlux: The neutron ﬂux enregy spectrum of the fuel pellet region is presented. The concernedburnup step is assigned in the argument This example uses “0”, so the neutron ﬂux energy spectrum at the
beginning of the fuel burnup is presented. When runnning this example, 107 pairs of vales which are energy
group-wise neutron ﬂux are presented, and the left value is the upper energy of the energy group and the rightvalue is the neutron ﬂux. Since neutron ﬂux data are divided by the lethargy width of the corresponding energy
group, ln(E0 /E), the X-axis should be the neutron lethargy or log of energy when plotting these data.
 ShowFuelNeutronFluxExcel: This is almost same as the ShowFuelNeutronFlux method, but it is suited toplotting with the histgram-type graph in Excel.
 ShowNuclideWiseContributionForFission: Nuclide-wise contributions to the total ﬁssion reactions in every
burnup step are presented. Concerned nuclides are speﬁcied in the augument, and the sum of the contributions
is presented with the parenthesis.
 ShowCaptureToDecayRatio: Ratios of neutron capture reaction rates to decay constant are presented. 9
 ShowGroupDependentCrossSection: Energy group-wise cross sections are presented at the end of the burnup forthe speciﬁed nuclide.
 ShowGroupDependentCrossSectionExcel: This is the almost same with ShowGroupDependentCrossSection,
but the output format is suited to the editting with Excel.

4.3

Storing calculation results in external ﬁlesGenerally, calculation results by Burner are printed out on the screen, but it is convenient to store them in external ﬁles
if users want to use calculation results with various cases such as uncertainty quantiﬁcation of nuclide inventories after
furl burnup using the random sampling method. For such cases, a method WriteFileNumberDensity is implemented.
With this method, the inﬁnite neutron multiplication factor and the nuclide number densities at the beginning of thespeciﬁed burnup step can be stored in an external ﬁle whose name can be also assigned by users. An exampe to use
the WriteFileNumberDensity method is shown below:
9 On the number density of one nuclide, the decreasing rate by neutron capture is written as N σϕ and the decreasing rate by decay is
as λN . This method outputs σϕ/λ, so it provides the information of the contribution of neutron capture and decay to the decrease of theconcerned nuclide.

4 EXECUTION OF FUEL BURNUP CALCULATION AND OUTPUT OF CALCULATION RESULTS

12

Listing 11: Storing calculation results in an external ﬁle1
2
3

i n t cyc num =2;
int cyc [ ] = { 0 , 2 0 } ;bn . W r i t e F i l e N u m b e r D e n s i t y ( cyc num , cyc , ” . / ” , ” o u t n d ” , 1 0 ) ;The number of burnp steps to be outputted is assigned by cyc num in line 2, and the burnup steps are assigned withcyc in line 2. Here “0” corresponds to the ﬁrst step, and “20” does to the ﬁnal step if the number of the user-speciﬁed
burnup steps is 20. The third and forth arguments in the WriteFileNumberDensity method are the directory namewhere the external ﬁle is stored and the ﬁle name, respectively. The forth argument is the precision of the prented
values.
The burnup step, the inﬁnite neutron multiplication factor, and the number densities of the nuclides in the fuelpellet region are stored in the ﬁle. The nuclide index corresponding to the order in this ﬁle can be referred by doing
the ShowNumberDensityChange method with the argument of -1.

5 EXERCISE

5

13

Exercise

Please prepare the input data and perform the burnup calculations for the following condition:
 Pin pitch: 1.265 cm
 Radius of the fuel pellet: 0.412 cm
 Outer radius of the cladding region: 0.476 cm
 Temperatures of fuel, cladding, and coolent: 968.8 / 604.0 / 574.2 K
 Line power: 179 W/cm
 Burnup period: Burnup until 45 GWd/t and 4-year cooling

Please calculate two types of nuclear fuel; the UO2 fuel and the MOX fuel. The U-235 enrichments of the former andlatter cases are 4.1 wt% and 0.2 wt%, respectively, and the Pu content in the MOX fuel is 10.0 wt%. The number
densities of the fuel pellet are shown in Table 1, and those of the cladding and coolant regions are in Table 2. “Index”
in these tables are nuclide index used in CBZ. 10
Table 1: Initial fuel composition
Nuclide

Index

235

922350922380942380942390942400942410942420952410
80160

U
U
238
Pu
239
Pu
240
Pu
241
Pu
242
Pu
241
Am
16
O
238

Number density (1024 /cm3 )UO2
MOX
9.349E-4
4.104E-5
2.159E-2
2.022E-2
4.731E-5
1.223E-3
5.586E-4
2.069E-4
1.418E-4
6.007E-5
4.505E-2
4.500E-2

Table 2: Number densities of clading and moderator regions
RegionClading

Moderator

Nuclide
Zr
Fe
Cr
1
H
16
O
10
B
Ni
Cr
Fe

Index
400000260000240000
10010
80160
50100
280000240000260000

Number density (1024 /cm3 )3.786E-2
2.382E-4
6.770E-5
5.572E-2
2.786E-2
4.592E-6
3.688E-4
1.609E-4
1.306E-4

Based on the results obtained by the fuel burnup calculations, please answer to the following questions. The nuclidetransmutation chain in the SRAC manual would be mondatory. If you need more information, please let Chiba know.

Ex. 1: Plot and compare the inﬁnite multiplication factor with the fuel burnup for the UO 2 and MOX fuels. Also,
by using the ShowFuelNeutronFlux method, plot the energy spectra of the neutron ﬂux in the fuel region of the
UO2 and MOX fuels. Please prepare two ﬁgures with the linear and log scales on the Y-axis.

10 The rule of the nuclide index in CBZ is given as Z × 10000 + A × 10 + L where Z is the atomic number, A is the mass number, and L isthe excitation level. Generally, most of nuclides are in ground state so L is zero, but some nuclides are in meta-stable and L is larger thanzero like Am-242m. For the nuclide having the natural abundance, the mass number is assumed zero, so the index of iron in the naturalabundance is deﬁned as 260000.

5 EXERCISE

14





Ex. 2: Plot the number densities of U-235, -238, Pu-238, Pu-239, -240, -241, -242, and Am-241 with the fuel burnup
for the UO2 and MOX fuels, and brieﬂy explain the trends.






Ex. 3: Plot the nuclide-wise contribution to the ﬁssion reaction with the fuel burnup for the UO 2 and MOX fuelsby using the ShowNuclideWiseContributionForFission method of the Burner class.

Ex. 4: Plot the number densities of Cs-133, -134, and -137 with the fuel burnup for the UO 2 fuel. Also please try
to ﬁt them by the polynomial functions, and estimate how many orders in the polynomial are required for each. If
there is a diﬀerence among these three, please discuss the reason.

Ex. 5: Xe-135 is strong neutron absorbing nuclide and is mainly generated by the beta decay of I-135. Plot the
number densities of Xe-135 and I-135 with the burnup for the UO2 fuel. The trend of them are very diﬀerent fromthose of the Cs isotopes, and please explain the reason.






Ex. 6: Discuss the generaion mechanism of Pu-238 for the UO2 and MOX fuels.

In Ex. 1, it can be easily found that there is a signiﬁcant diﬀerence in the neutron ﬂux energy spectra between the
UO2 and MOX fuels. This can be understood by observing the neutron absorption cross sections and the text which
Chiba prepared before would be helpful. If necessary, please let Chiba know.
In Ex. 6, one method to investigate the mechanism of the nuclide generation is to cut the nuclide transmutation chain.
If you feel one tranmutation path is important for the generation of the concenred nuclide, you can conﬁrm it by cutting
this path and doing the calculations. To cut the chain, you can use the CutChainForDecay, CutChainForCapture, andCutChainForN2N methods in the BurnupChain class. The argument for these methods should be the character-type
variable, so please specify the nuclide name to cut the chain. For example, if you want to cut the decay path from
Pu-241, you can do bu.GetBurnupChain().CutChainForDecay("Pu241"). This should be done before conducting the
calculation with bn.Calculation(bu).
Another way is to make the ﬁssion yield of the speciﬁc nuclide zero. To do this, please use the SetZeroFissionYield
method in the BurnupChain class. This method requires two character-type arguments, and the ﬁrst and second are
the ﬁssile and the ﬁssion product, respectively. If you want to make the Xe-135 ﬁssion yield from the U-235 ﬁssion zero,
you can do bu.GetBurnupChain().SetZeroFissionYield("U235","Xe135").