In this project we develop a package OpenNTP to solve a neutron transport equation.
Neutron Transport Package OpenNTP(Open Neutron Transport Package from the Radiations and Nuclear Systems Group), is an open-source code written in FORTRAN90 for a pedagogical purpose to solve the steady-state multigroup neutron transport equation using either:
- Collision Probablity Method (CP) in One-Dimensional for Slab, Cylindrical or Spherical geoemtry.
- Discrete Ordinate Method (SN) in One or Two-Dimensional for Cartesian Geometry.
- Method of Characteristics (MOC) in One-Dimensional for Slab Geometry. The code, including the graphical user interface is developed and maintained by Mohamed LAHDOUR (PhD student) and Prof. Tarek EL BARDOUNI from University Abdelmalek Essaadi Tetouan Morocco .
cd OpenNTP
This directory contains two folders Docs (documentation) and src (the program source files)
cd OpenNTP/src/app/sources
This directory contains OpenNTPsource files written in FORTRAN90 such as:
-
TRANSPORT_CP.F90 (for the pollision probablity method in One-Dimensional),
-
TRANSPORT_SN.F90 (for the discrete ordinate method in One-Dimensional),
-
TRANSPORT_MOC.F90 (for the method of characteristics in One-Dimensional) and
-
TRANSPORT_2D_SN.F90 (for the discrete ordinate method in two-Dimensional)
cd OpenNTP/src/app
This directory contains the modules generated by f2py3 namely CP1D.so, SlabSN.so, SlabMOC.so and SN2D.so which will be imported by python3 as modules.
cd OpenNTP/src
This directory contains the python3 files for Graphical User Interface (GUI)
This quick install guide outlines the basic steps needed to install OpenNTPon your computer.
-
If you are using Ubuntu 20.04, open a terminal in a GNU/Linux box then install gfortran with the following commands:
sudo apt-get install gfortran
-
You need to install numpy (F2PY) and matplotlib library to run the package OpenNTP:
sudo apt-get install python3-numpy sudo apt-get install python3-matplotlib
-
You need to install PyQt5 on Ubuntu with python to run the GUI:
sudo apt-get install python3-pyqt5
-
Install the OpenNTP package
git clone https://github.com/mohamedlahdour/OpenNTP.git
-
Import the OpenNTP and run the package in the following way:
cd OpenNTP $ python3 gui.py
- Graphical User Interface
A graphical user interface written in Python programing language has been developed to simplify the use of package OpenNTP. After starting the software by typing the following command line in a terminal:
cd OpenNTP
$ python3 gui.py
A main window (GUI) of the package OpenNTPon an Ubuntu Linux machine will be displayed as in Figure bellow.
- Examples & test suite
The input data file must be in JSON format. The first method is to write it directly in Text editor as is shown in the figure bellow, which illustrates an example input file of a simplified nuclear reactor with a quarter of the x,y square 2D core taken from Barros et al., 2003
{
"data": {
"parameter": {
"id": 100,
"Total number of energy groups": 1,
"Total number of materials": 3,
"Total number of pin cells": 3,
"Total number of assemblies": 1,
"Core":[[1]],
"Total number of active pin cells": 4,
"Number of angular discretizations": 8,
"The l-order Legendre polynomial": 0,
"Maximum number of iterations": 500,
"Criterion of Keff convergence": 1.0e-6
},
"Assemblies": [
{
"id": 1,
"nom": "assembly 1",
"assembly":[[1,2,3,3,3,3],
[2,2,3,3,3,3],
[3,3,3,3,3,3],
[3,3,3,3,3,3],
[3,3,3,3,3,3],
[3,3,3,3,3,3]]
}
],
"PinCells": [
{
"id": 1,
"nom": "cell 1",
"width_x":[10],
"width_y":[10],
"mat_fill": [[1]],
"fine_mesh": [[2]]
},
{
"id": 2,
"nom": "cell 2",
"width_x":[10],
"width_y":[10],
"mat_fill": [[2]],
"fine_mesh": [[2]]
},
{
"id": 3,
"nom": "cell 3",
"width_x":[10],
"width_y":[10],
"mat_fill": [[3]],
"fine_mesh": [[2]]
}
],
"materials": [
{
"id": 1,
"nom": "Mat 1",
"XSTotal": [0.3264],
"XSNuFission": [0.11491],
"XSScatter Matrix":[[0.225216]],
"XSChi": [1.0]
},
{
"id": 2,
"nom": "Mat 2",
"XSTotal": [0.3264],
"XSNuFission": [0.10072],
"XSScatter Matrix":[[0.225216]],
"XSChi": [1.0]
},
{
"id": 3,
"nom": "Mat 3",
"XSTotal": [0.3264],
"XSNuFission": [0.0],
"XSScatter Matrix":[[0.29376]],
"XSChi": [0.0]
}
]
}
}
To facilitate the creation of a new OpenNTP input file, a set of dialog boxes have been developed (Below) which allows users to create the OpenNTP input file in a simpler, faster and interactive. Users can fill up all information about the OpenNTP input file (including: number of group energy, materials, Pin cells, assemblies, type of geometry, multi-group cross sections ...) and once they have specified input files in JSON format will be automatically created in the window Text editor by clicking on button Generate Input file.
- Definition of Pin Cells by introducing in each coarse meshes size along the x and y-axis, then the material index and the number of fine mesh.
- inserting the pin cells index into each assembly.
- Definition of the general structure of the reactor core by inserting the assembly indices in their locations.
- Insertion of total multi-group macroscopic cross section data.
- Insertion of nu-fission multi-group macroscopic cross section data.
- Insertion of scatternig matrix multi-group macroscopic cross section data
- Insertion of fission spectrum data.
The Run button is used to running the multi-group scheme, and the figure below shows the values of the multiplication factor as a function of the iteration numbers.
The geometry button allowing to plot in two dimensions the geometry to study. The plotting mode of the geometry is based on the presence of an input file. A depiction of the geometry for the example input file given in sub section Creating JSON Input File
is illustrated in Figure bellow
The Plot button refers to a set of routines programming in fortran and python to plot the scalar flux in space of one or two-dimensional and in each energy group. The figure bellow shows the flux for the example input file given in sub section Creating JSON Input File
with four regions and four materials after clicking on the Plot button.
Next we will visualize the pin power results obtained from the OpenNTP calculations.
The level-symmetric quadrature set is used in the Discrete Ordinates method (Lewis and Miller, 1984). The subscript refers to the number of directions along each axis with half being positive and half negative. The figure below give the weights and angles used for each set in the 1st octant which will be displayed automatically by clicking on the Ordinate button
The following is the corresponding output to the above case. A brief outline of the output file contents is version and run time information, print of input values of the name list variables, print of relevant parameters after setup, calculation run time parametres method, scalar flux solution and output parameters solution to transport eqaution.
********************************************************************************
ERSN, UNIVERSITY ABDELMALEK ESSAADI FACULTY OF SCIENCES - TETOUAN, MOROCCO
CODE DEVELOPED BY MOHAMED LAHDOUR, PHD STUDENT
OpenNTP: SN DISCRETE ORDINATES METHOD
DIMENSION: TWO DIMENSIONS (2D)
GEOMETRY: CARTESIAN
VERSION NUMBER: 1.2
VERSION DATE: 10 September 2020
RAN ON: 2020-09-08 16:46:12.96 (H:M:S)
********************************************************************************
----------------------------------------------------------
INPUT PARAMETER - VALUES FROM INPUT
----------------------------------------------------------
ENERGY GROUPS NUMBER: 1
PIN CELLS NUMBER: 3
ASSEMBLIES NUMBER: 1
X REGIONS NUMBER PIN CELL: 1
Y REGIONS NUMBER PIN CELL: 1
MATERIALS NUMBER: 3
SIZE OF EACH X REGION PIN CELL 1 : 10.00000
SIZE OF EACH Y REGION PIN CELL 1 : 10.00000
SIZE OF EACH X REGION PIN CELL 2 : 10.00000
SIZE OF EACH Y REGION PIN CELL 2 : 10.00000
SIZE OF EACH X REGION PIN CELL 3 : 10.00000
SIZE OF EACH Y REGION PIN CELL 3 : 10.00000
NUMBER OF DIRECTIONS ALONG EACH AXIS: 8
ORDER LEGENDRE POLYNOMIAL: 0
TOTAL NUMBER OF X FINE MESHES: 12
TOTAL NUMBER OF Y FINE MESHES: 12
CONVERGENCE CRITERION of KEFF AND FLUX: 1.0E-06
----------------------------------------------------------
CALCULATION RUN-TIME PARAMETERS SN
----------------------------------------------------------
LEVEL SYMMETRIC GAUSSIAN QUADRATURE SETS:
--------------------------------------------------------------------------------------
| N. ORDER MU ETA PSI WEIGHTS |
--------------------------------------------------------------------------------------
| 1 9.51190E-01 2.18218E-01 2.18218E-01 1.20988E-01 |
| 2 7.86796E-01 2.18218E-01 5.77350E-01 9.07407E-02 |
| 3 7.86796E-01 5.77350E-01 2.18218E-01 9.07407E-02 |
| 4 5.77350E-01 2.18218E-01 7.86796E-01 9.07407E-02 |
| 5 5.77350E-01 5.77350E-01 5.77350E-01 9.25926E-02 |
| 6 5.77350E-01 7.86796E-01 2.18218E-01 9.07407E-02 |
| 7 2.18218E-01 2.18218E-01 9.51190E-01 1.20988E-01 |
| 8 2.18218E-01 5.77350E-01 7.86796E-01 9.07407E-02 |
| 9 2.18218E-01 7.86796E-01 5.77350E-01 9.07407E-02 |
| 10 2.18218E-01 9.51190E-01 2.18218E-01 1.20988E-01 |
PSEUDO CROSS SECTIONS DATA:
MATERIAL : 1
-------------------------------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING FISSION SPECTRUM |
-------------------------------------------------------------------------------------------------------------
| 1 3.26400E-01 1.01184E-01 1.14910E-01 2.25216E-01 1.00000E+00 |
MATERIAL : 2
-------------------------------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING FISSION SPECTRUM |
-------------------------------------------------------------------------------------------------------------
| 1 3.26400E-01 1.01184E-01 1.00720E-01 2.25216E-01 1.00000E+00 |
MATERIAL : 3
-------------------------------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING FISSION SPECTRUM |
-------------------------------------------------------------------------------------------------------------
| 1 3.26400E-01 3.26400E-02 0.00000E+00 2.93760E-01 0.00000E+00 |
----------------------------------------------------------
REACTION RATE SOLUTION IN THE REACTOR CORE
----------------------------------------------------------
REACTION RATE SOLUTION PER MATERIAL PER ENERGY GROUP:
MATERIAL : 1
----------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING |
----------------------------------------------------------------------------------------
| 1 4.34270E+01 1.34624E+01 1.52886E+01 2.99646E+01 |
MATERIAL : 2
----------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING |
----------------------------------------------------------------------------------------
| 1 4.34270E+01 1.34624E+01 1.34006E+01 2.99646E+01 |
MATERIAL : 3
----------------------------------------------------------------------------------------
| GROUP TOTAL ABSORPTION NU*FISSION SCATTERING |
----------------------------------------------------------------------------------------
| 1 4.34270E+01 4.34270E+00 0.00000E+00 3.90843E+01 |
----------------------------------------------------------
NORMALIZED PIN POWER
----------------------------------------------------------
-------------------------------------------------------------------------------------------
| 1 2 3 4 5 6
-------------------------------------------------------------------------------------------
| 1 1.94264E+00 8.05401E-01 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
| 2 8.05401E-01 4.46556E-01 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
| 3 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
| 4 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
| 5 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
| 6 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
----------------------------------------------------------
NORMALIZED SCALAR FLUX SOLUTION IN EACH PIN CELL
----------------------------------------------------------
FLUXES PER PIN CELL PER ENERGY GROUP:
P I N C E L L G R O U P 1
-------------------------------------------------------------------------------------------
| 1 2 3 4 5 6
-------------------------------------------------------------------------------------------
| 1 4.22644E+00 1.99911E+00 4.19516E-01 5.87915E-02 8.88593E-03 1.38960E-03
| 2 1.99911E+00 1.10841E+00 2.63669E-01 4.10562E-02 6.62966E-03 1.10609E-03
| 3 4.19516E-01 2.63669E-01 9.15996E-02 1.96766E-02 3.76927E-03 7.41365E-04
| 4 5.87915E-02 4.10562E-02 1.96766E-02 6.52452E-03 1.71886E-03 4.73865E-04
| 5 8.88593E-03 6.62966E-03 3.76927E-03 1.71886E-03 7.14541E-04 2.52099E-04
| 6 1.38960E-03 1.10609E-03 7.41365E-04 4.73865E-04 2.52099E-04 1.11194E-04
----------------------------------------------------------
NORMALIZED SCALAR FLUX SOLUTION
----------------------------------------------------------
FLUXES PER MESH PER ENERGY GROUP:
M E S H G R O U P 1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 1 2 3 4 5 6 7 8 9 10 11 12
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 1 1.51757E+01 1.25356E+01 8.31381E+00 4.55413E+00 1.96698E+00 6.89694E-01 2.72592E-01 9.60390E-02 4.08394E-02 1.45043E-02 6.50531E-03 2.05659E-03
| 2 1.25356E+01 1.04705E+01 7.11655E+00 4.00482E+00 1.75449E+00 6.23031E-01 2.47885E-01 8.89812E-02 3.77109E-02 1.35766E-02 6.17408E-03 1.93921E-03
| 3 8.31381E+00 7.11655E+00 5.18501E+00 3.08418E+00 1.37562E+00 5.05546E-01 2.03652E-01 7.65937E-02 3.18624E-02 1.22205E-02 5.34500E-03 1.83288E-03
| 4 4.55413E+00 4.00483E+00 3.08418E+00 1.94754E+00 9.18779E-01 3.64076E-01 1.52467E-01 5.99611E-02 2.53957E-02 1.00772E-02 4.52120E-03 1.57397E-03
| 5 1.96698E+00 1.75449E+00 1.37562E+00 9.18779E-01 5.04298E-01 2.32969E-01 1.01933E-01 4.36983E-02 1.84267E-02 8.07057E-03 3.51854E-03 1.34865E-03
| 6 6.89694E-01 6.23031E-01 5.05546E-01 3.64076E-01 2.32969E-01 1.28958E-01 6.18999E-02 2.85876E-02 1.28548E-02 5.87919E-03 2.88652E-03 1.14267E-03
| 7 2.72592E-01 2.47885E-01 2.03652E-01 1.52467E-01 1.01933E-01 6.18999E-02 3.44233E-02 1.70353E-02 8.36818E-03 4.26139E-03 2.22194E-03 1.00977E-03
| 8 9.60390E-02 8.89812E-02 7.65938E-02 5.99611E-02 4.36983E-02 2.85876E-02 1.70353E-02 9.80037E-03 5.10214E-03 2.89464E-03 1.70953E-03 7.45139E-04
| 9 4.08394E-02 3.77109E-02 3.18624E-02 2.53957E-02 1.84267E-02 1.28548E-02 8.36817E-03 5.10214E-03 3.27840E-03 1.96886E-03 1.19390E-03 5.78951E-04
| 10 1.45042E-02 1.35766E-02 1.22205E-02 1.00772E-02 8.07056E-03 5.87918E-03 4.26139E-03 2.89463E-03 1.96886E-03 1.35837E-03 8.33637E-04 4.18694E-04
| 11 6.50531E-03 6.17409E-03 5.34500E-03 4.52120E-03 3.51855E-03 2.88652E-03 2.22194E-03 1.70953E-03 1.19390E-03 8.33638E-04 5.93469E-04 2.85603E-04
| 12 2.05658E-03 1.93921E-03 1.83288E-03 1.57396E-03 1.34865E-03 1.14267E-03 1.00977E-03 7.45136E-04 5.78951E-04 4.18693E-04 2.85603E-04 1.69660E-04
----------------------------------------------------------
OUTPUT PARAMETER - SOLUTION TO TRANSPORT EQUATION
----------------------------------------------------------
K-EFF = 0.998636
TOTAL OUTER ITERATIONS = 79
TOTAL INNER ITERATIONS = 36
TOTAL EXECUTION TIME = 0:00:00.44 (H:M:S)
********************************************************************************
Setting up input file for slab geometry in two energy groups with isotropic scattering source.
{
"data": {
"parameter": {
"id": 100,
"Total number of energy groups": 2,
"Total number of materials": 2,
"Total number of pin cells": 2,
"Total number of assemblies": 1,
"Total number of active pin cells": 1,
"Core":[1],
"Number of angular discretizations": 10,
"The l-order Legendre polynomial": 0,
"Maximum number of iterations": 200,
"Criterion of Keff convergence": 1.0e-5
},
"Assemblies": [
{
"id": 1,
"name": "1",
"assembly": [2,1,2]
}
],
"PinCells": [
{
"id": 1,
"name": "URRb",
"width":[9.726784],
"mat_fill": [1],
"fine_mesh": [10]
},
{
"id": 2,
"name": "H2O",
"width":[5.630757],
"mat_fill": [2],
"fine_mesh": [10]
}
],
"materials": [
{
"id": 1,
"name": "URRb",
"XSTotal": [0.88721, 2.9727],
"XSNuFission": [0.00209, 0.07391],
"XSScatter Matrix":[[[0.838920, 0.04635],
[0.000767, 2.91830]]],
"XSChi": [1.0, 0.0]
},
{
"id": 2,
"name": "H2O",
"XSTotal": [0.88798, 2.9865],
"XSNuFission": [0, 0],
"XSScatter Matrix":[[[0.83975, 0.04749],
[0.000336, 2.96760]]],
"XSChi": [0, 0]
}
]
}
}
- Geometry in a one-dimensional slab
- Flux in a one-dimensional slab
An example for cylindrical infinite cell equivalent to the TRIGA MARK-II research reactor pin cell is presented here by using 7 energy groups
{
"data": {
"parameter": {
"id": 100,
"Total number of energy groups": 7,
"Total number of materials": 5,
"Total number of pin cells": 5,
"Total number of assemblies": 1,
"Core": [1],
"Total number of active pin cells": 1,
"Number of angular discretizations": 2,
"The l-order Legendre polynomial": 0,
"Maximum number of iterations": 200,
"Criterion of Keff convergence": 1.0E-6
},
"Assemblies": [
{
"id": 1,
"name": "Assembly 1",
"assembly": [1,2,3,4,5]
}
],
"PinCells": [
{
"id": 1,
"name": "Pin Cell 1",
"ray": [0.3175],
"mat_fill": [1],
"fine_mesh": [5]
},
{
"id": 2,
"name": "Pin Cell 2",
"ray": [1.82769],
"mat_fill": [2],
"fine_mesh": [5]
},
{
"id": 3,
"name": "Pin Cell 3",
"ray": [1.83150],
"mat_fill": [3],
"fine_mesh": [5]
},
{
"id": 4,
"name": "Pin Cell 4",
"ray": [1.88230],
"mat_fill": [4],
"fine_mesh": [5]
},
{
"id": 5,
"name": "Pin Cell 5",
"ray": [2.285814144],
"mat_fill": [5],
"fine_mesh": [5]
}
],
"materials": [
{
"id": 1,
"nom": "material 1",
"XSTotal": [0.297551431, 0.288909664, 0.290306468, 0.286637159, 0.295583239, 0.326837471, 0.155639234],
"XSNuFission": [0, 0, 0, 0, 0, 0, 0],
"XSScatter Matrix":[[[0.269680893, 0.021221626, 0, 0, 0, 0, 0],
[0.015676686, 0.263059691, 0.005057992, 0, 0, 0, 0],
[0, 0.013507066, 0.273815991, 0.001186857, 0, 0, 0],
[0, 0, 0.014034288, 0.270365363, 0.002092507, 0, 0],
[0, 0, 0, 0.00079017, 0.292969338, 0, 0],
[0, 0, 0, 0, 0.001078437, 0.32539832 , 0],
[0, 0, 0, 0, 0.000007539, 0.011162732, 0.14376993]]],
"XSChi": [0, 0, 0, 0, 0, 0, 0]
},
{
"id": 2,
"nom": "material 2",
"XSTotal": [2.994544, 1.408450959, 0.817921932, 0.633026483, 0.650866502, 0.515434679, 0.243844582],
"XSNuFission": [0.362087986, 0.179080763, 0.09568437, 0.03889374, 0.013653221, 0.001011529, 0.00163296],
"XSScatter Matrix":[[[2.739733851, 0.036287563, 0.014790886, 0, 0, 0, 0],
[0.038125613, 1.255653823, 0.014136713, 0, 0, 0, 0],
[0.166974328, 0.274556127, 0.320581789, 0.00109001, 0, 0, 0],
[0.036264407, 0.11429219, 0.651920757, -0.19634513, 0.001532029, 0, 0],
[0.003270334, 0.00846593, 0.051970962, 0.052892578, 0.512276254, 0, 0],
[0.000000452, 0.000001176, 0.000010132, 0.000008685, 0.162129535, 0.352055605, 0],
[0, 0, 0.000000177, 0.000000059, 0.001637495, 0.098331459, 0.142495556]]],
"XSChi": [0, 0, 0, 0, 0.000390, 0.126214, 0.872105]
},
{
"id": 3,
"nom": "material 3",
"XSTotal": [0, 0, 0, 0, 0, 0, 0],
"XSNuFission": [0, 0, 0, 0, 0, 0, 0],
"XSScatter Matrix":[[[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]]],
"XSChi": [0, 0, 0, 0, 0, 0, 0]
},
{
"id": 4,
"nom": "material 4",
"XSTotal": [1.153239138, 1.012997908, 0.947913799, 0.908546838, 0.966825787, 0.46508365, 0.201018163],
"XSNuFission": [0, 0, 0, 0, 0, 0, 0],
"XSScatter Matrix":[[[0.810739629, 0.066072482, 0, 0, 0, 0, 0],
[0.070201393, 0.778857964, 0.018049333, 0, 0, 0, 0],
[0.000005432, 0.055959691, 0.806723946, 0.003927282, 0, 0, 0],
[0, 0, 0.061596098, 0.790102323, 0.005981459, 0, 0],
[0, 0, 0, 0.003658891, 0.950937049, 0 , 0],
[0, 0, 0, 0, 0.005035727, 0.459136241, 0],
[0, 0, 0, 0, 0.000075732, 0.014066679, 0.185277698]]],
"XSChi": [0, 0, 0, 0, 0, 0, 0]
},
{
"id": 5,
"nom": "material 5",
"XSTotal": [3.102999797, 1.73516897, 0.980823407, 0.642418097, 0.567747919, 0.419879925, 0.201975672],
"XSNuFission": [0, 0, 0, 0, 0, 0, 0],
"XSScatter Matrix":[[[2.631785406, 0.437581882, 0.00907283, 0, 0, 0, 0],
[0.609582022, 1.041127377, 0.071965385, 0, 0, 0, 0],
[0.141504305, 0.538385484, 0.292249692, 0.002089256, 0, 0, 0],
[0.036338638, 0.123430676, 0.814518036, -0.336757332, 0.001951418, 0, 0],
[0.003425563, 0.009933065, 0.061937554, 0.066020159, 0.425993565, 0, 0],
[0.000000363, 0.000001996, 0.000009253, 0.00000889, 0.203705679, 0.216356046, 0],
[0, 0, 0.000000253, 0, 0.001995558, 0.110723501, 0.089154896]]],
"XSChi": [0, 0, 0, 0, 0, 0, 0]
}
]
}
}
- Geometry in a two-dimensional TRIGA Reactor
- Flux in a one-dimensional TRIGA Reactor
The infinite cell in OpenMC is represented by hexagonal cell with reflective boundaries. The infinite multiplication factor values obtained in OpenNTP and OpenMC are shown in Table below.
Calculate infinite multiplication factor .
+----------------------+------------------+
| Surface | kinf |
+======================+==================+
| OpenNTP | 1.403180 |
| | |
+----------------------+------------------+
| | |
| OpenMC | 1.40359(8pcm) |
+----------------------+------------------+
Setting up input file for the Uc-H2O(2)-1-0-SL benchmark taken from [Sood, A., et al.,2003]. <https://doi.org/10.1016/S0149-1970(02)00098-7>
_, which is a sphere geometry in one energy groups with isotropic scattering source.
{
"data": {
"parameter": {
"id": 100,
"Total number of energy groups": 1,
"Total number of materials": 2,
"Total number of pin cells": 2,
"Total number of assemblies": 1,
"Core": [1],
"Total number of active pin cells": 1,
"Number of angular discretizations": 2,
"The l-order Legendre polynomial": 0,
"Maximum number of iterations": 200,
"Criterion of Keff convergence": 1.0E-6
},
"Assemblies": [
{
"id": 1,
"name": "Assembly 1",
"assembly": [1,2]
}
],
"PinCells": [
{
"id": 1,
"name": "Pin Cell 1",
"ray": [6.12745],
"mat_fill": [1],
"fine_mesh": [1000]
},
{
"id": 2,
"name": "Pin Cell 2",
"ray": [12.2549],
"mat_fill": [2],
"fine_mesh": [1000]
}
],
"materials": [
{
"id": 1,
"name": "Uc",
"XSTotal": [0.3264],
"XSNuFission": [0.176733066],
"XSScatter Matrix":[[[0.248064]]],
"XSChi": [1]
},
{
"id": 2,
"name": "H2O",
"XSTotal": [0.3264],
"XSNuFission": [0.0],
"XSScatter Matrix":[[[0.29376]]],
"XSChi": [0]
}
]
}
}
- Geometry in a one-dimensional sphere
- Flux in a one-dimensional sphere
Dependencies:
- python (>=3.8.2)
- numpy (>=1.19.1)
- matplotlib (>=3.3.1)
- Mohamed LAHDOUR
- Tarek El Bardouni
This code is distributed under the GNU General Public License, see the LICENSE file.