wiki:GuarDyan_features

Version 23 (modified by dieda, 7 years ago) ( diff )

--

GUARDYAN Basic Features

Aims

GUARDYAN simulates the time evolution of fission chains. The neutrons are followed from the beginning to the end of a time interval. This tracking philosophy differs from the usual source convergence calculations where neutrons are followed from generation to generation, i.e. from fission event until the next fission event. The source term for GUARDYAN is a "snapshot" of the neutron population at a time instance consisting of delayed neutron precursors waiting to "hatch" and prompt neutrons crossing the time boundary. The time dependent changes in the neutron population may originate from time dependent changes of the cross sections either as change of a material or of the temperature of a certain material. The current version of GUARDYAN is not capable of simulating thermal or any other feedback this feature is planned for future releases.

Software and Hardware Environment

A code written in CUDA/C++ is basically separated responsible for reading cross section data from the input, the second for host side tasks, the third part is the GPU kernel which runs the simulation. Currently the host side code consists of cca. 65000 lines and the device side code consists of cca. 5000 lines.

Dependencies: CUDA: 8.0, NVIDIA driver: 375.66, GCC: 5.4.0, Qt: 5.5.1

Hardware: 2 x Geforce GTX 690, 4 x Geforce GTX 1080

Features

Geometry descriptors

In order to run simulations on a real reactor geometry we need to create the tools for defining geometry. Similarly to other particle transport codes (Serpent, MCNP, OpenMC) in GUARDYAN geomety is defined by cells containing isotopes. Cells are defined by bounding surfaces. These data can be given in xml files.

Surfaces

In the current version general positioned sphere, plane, cone, torus and infinite cylinder are supported in special cases according to Table 1. More surface types are added in later releases.

$ \quad \quad \quad  \quad \quad \quad S(x,y,z)          \\ 
px \quad \quad \   x-x_0           \\ 
py \quad \quad \   y-y_0           \\ 
pz \quad \quad \   z-z_0           \\ 
p  \quad \quad \ \   Ax+By+Cz-D      \\ 
cx \quad \quad \  y^2+z^2-r^2     \\ 
cy \quad \quad \  x^2+z^2-r^2     \\ 
cz \quad \quad \  x^2+y^2-r^2    \\ 
c/x \quad \quad (y-y_0)^2+(z-z_0)^2-r^2   \\ 
c/y \quad \quad (x-x_0)^2+(z-z_0)^2-r^2   \\ 
c/z \quad \quad (x-x_0)^2+(y-y_0)^2-r^2   \\ 
so  \quad \quad \ \  x^2+y^2+z^2-r^2                    \\ 
sx  \quad \quad \ (x-x_0)^2+y^2+z^2-r^2                    \\ 
sy  \quad \quad \ x^2+(y-y_0)^2+z^2-r^2                    \\ 
sz  \quad \quad \ x^2+y^2+(z-z_0)^2-r^2                    \\ 
s   \quad \quad \ \ (x-x_0)^2+(y-y_0)^2+(z-z_0)^2-r^2 \\ 
sq  \quad \quad  A(x-x_0)^2+B(y-y_0)^2+C(z-z_0)^2+2D(x-x_0)+2E(y-y_0)+2F(z-z_0)+G  \\ 
kx  \quad \quad   \sqrt{y^2+z^2}-t(x-x_0)  \\ 
ky  \quad \quad   \sqrt{x^2+z^2}-t(y-y_0) \\ 
kz  \quad \quad   \sqrt{x^2+y^2}-t(z-z_0) \\ 
k/x \quad \quad    \sqrt{(y-y_0)^2+(z-z_0)^2}-t(x-x_0)  \\ 
k/y \quad \quad   \sqrt{(x-x_0)^2+(z-z_0)^2}-t(y-y_0) \\ 
k/z \quad \quad    \sqrt{(x-x_0)^2+(y-y_0)^2}-t(z-z_0) \\               
tx  \quad \quad \  \frac{(x-x_0)^2}{B^2}+\frac{\left( \sqrt{(y-y_0)^2+(z-z_0)^2} - A \right) ^2}{C^2} -1  \\ 
ty  \quad \quad \  \frac{(y-y_0)^2}{B^2}+\frac{\left( \sqrt{(x-x_0)^2+(z-z_0)^2} - A \right) ^2}{C^2} -1                  \\ 
tz  \quad \quad \   \frac{(z-z_0)^2}{B^2}+\frac{\left( \sqrt{(x-x_0)^2+(y-y_0)^2} - A \right) ^2}{C^2} -1                   \\ $  

Table 1. Surfaces available GUARDYAN

Cells

Cells may be defined as an intersection or union of spaces divided by surfaces. Cells may be filled into either rectangular or hexagonal lattices.

Fig. 1. Fuel rods in a hexagonal lattice

Isotopes and Cross Sections

Cells are considered homogeneous and filled with a single material defined by the isotopes, their relative abundance and material density. Cross sections are read from ACE format files.

Fig. 2. Cross section of U-235 as read by GUARDYAN

In current implementation GUARDYAN stores the energy partitioning structure separately for every isotope. To find the cross section of a neutron with given energy GUARDYAN useS binary search and linear interpolation.

GUARDYAN createS materials from isotopes using the fraction of the constituent in the material and the material density. Before the simulation GUARDYAN generates the total macroscopic cross sections and the majorant cross sections for the Woodcock method for every material.

Memory Use of Cross Section Data

Considering the most important isotopes in a e.g. VVER-440 reactor with fresh fuel: 1H, 2H, 4He,10B, 11B 16O, 17O, 90Zr, 91Zr, 92Zr, 94Zr, 96Zr, 93Nb, 152Gd, 154Gd, 155Gd, 156Gd, 157Gd, 158Gd, 160Gd,174 Hf, 176Hf, 177Hf, 178Hf, 179Hf, 180Hf,235 U, 238U, with 8 different materials defined to store the cross section data for a given temperature 102,4 MB memory is needed on the GPU. For a realistic VVER-440 power plant with full detailed modelling the cross section date reaches 5Gb in memory need. The videocards available at our institute contain 2 (GTX 690) or 8 (GTX 1080) GB memory each for realistic simulations therefore modern videocards offer enough physical memory. This latter example is considered as extreme in memory need.

Neutron Transport

The particle transport is based on conventional Woodcock method where we need to generate the majorant cross sections for a combined energy lattice in advance. For real scattering first we reduce the weight of the particle by the probability of survival using implicit capture then we draw a reaction by the cross sections. We consider reactions with the following MT numbers:

MT=2, 5, 11, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 51-90, 101.

After choosing the reaction, the determination of the new energy and angle of the neutron depends on the given ACE law (ACE Law 3, 4, 7, 9, 11, 44, 61, 66 ). The angle distribution can be isotropic or given in table format. The coordinate system of the given data should also be considered.

Fig. 3. x-y slice of the geometry of 60 uranium oxide rods in water cylinder

Using the geometry seen in Figure 3 at t = 0s we place a 0.1MeV energy source at 0,0,0 point. Figure 4 shows how power density develops in time steps. In Figure 5 the distribution evolved after 1ms is plotted.

Fig. 4. Temporal and spatial evolution of released power

Fig. 5. Power density distribution after 0.001s

There is a possibility of saving the trajectory of the neutrons. In Figure 6. for a 235U sphere at t = 0s we started neutrons at 1eV energy from 0,0,0 point. The first reactions of 500 neutrons is shown on the figure where we indicate elastic scattering with color green, fission with red, every other reaction with yellow.

Fig. 6. Green MT=2, red MT=18, every other reaction is indicated with yellow

Variance Reduction

The time dependent tracking of the neutron population in a multiplying, near critical medium is very challenging in terms of Monte Carlo convergence. A naive analog game in most cases would statistically diverge, moreover it will give an underestimate of the power as the very low chance contributions of a high number of fission in certain chains see Fig. 7. Therefore the calculation is performed always keeping a single particle as a sample of the neutron population gaining or loosing weight at interactions. The neutron weight distribution must be kept around the mean for ensuring statistical convergence. The neutrons are followed from time interval to time interval and the population at the interval ends using splitting and Russian roulette while keeping the total population number constant. Having single, non-branching calculations also supports the architecture of the GPU where threads can be set to single neutron chains.

Fig. 7. Analog and non-analog simulation results for time dependent power evolution for a multiplying medium. Analog simulation produces an underestimate of the power

Biased sampling schemes are applied at fission yield, delayed neutron, interaction type sampling with ongoing development regarding path length sampling and angular biasing.

Dynamic Capabilities

GUARDYAN is meant to be a dynamics Monte Carlo code with thermohydraulic feedback. The current state of the code support time dependent cross section changes without feedback effects.

Validation

GUARDYAN is being validated against MCNP6, using ENDF-B.VII.I. Benchmarking geometries and tallies involve homogenously filled spheres with a point source in the middle and total leakage and flux energy-time spectra are calculated by both codes and results compared. Fluxes after certain interactions also compared for some isotopes.

Element R cm Density g/cm3 Energy MeV Nb neutron Library
13 Al 27 10 2.6989 0,1 1,00E+06 70 c
4 Be 9 5 2 0,1 1,00E+07 70 c
26 Fe 56 10 7.874 0,1 1,00E+06 70 c
1 H 1 50 0,02 0,1 1,00E+06 70 c
2 He 4 500 0,04 0,1 1,00E+06 70 c
3 Li 7 50 0,5 0,1 1,00E+06 70 c
8 O 16 500 0,004 0,1 1,00E+07 70 c
92 U 238 (0,96)/239 (0,04) 10 10,8 0,1 1,00E+06 70 c
40 Zr 90 5 6.52 0,1 1,00E+07 70 c
Zircaloy , see composition 5 6,52 0,1 1,00E+07 70 c
26 Fe 56 (0,95)/54 (0,05) 10 7.874 0,1 1,00E+06 70 c
7 N 4 5 1.24982 0,1 1,00E+07 70 c
9 F 19 5 1.696 0,1 1,00E+07 70 c
11 Na 23 5 0.968e1 0,1 1,00E+06 70 c
12 Mg 24 10 1.738 0,1 1,00E+06 70 c
14 Si 28 10 2.33 0,1 1,00E+06 70 c
94 Pu 239/40/41 (0,5/0,3/0,2) 5 19.816 0,1 1,00E+06 70 c
235 U 10 19.1 0,1 1,00E+06 70 c

Table 2. List of isotopes already validated

Project Participants & Contacts

Publications

Funding

Attachments (10)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.