\section{INTRODUCTION}\label{sect:intro}

DONJON is a full-core modelization code designed around solution techniques of 
the neutron diffusion or simplified $P_n$ equation.\cite{PIP2016}
The current DONJON package is an evolution version, released as an attempt
to introduce the innovative capabilities for the full-core modeling and simulations
of different types of nuclear reactors sush as Pressurized Water Reactors (PWRs),
legacy CANDU reactors, and Advanced CANDU Reactors (ACRs). The computer code DONJON (Release 4.0)
is part of Version4 distribution\cite{v4}, implemented in Fortran-77, based on a 32-bit address
space and containing modules that can be called from CLE-2000.\cite{cle2000}. The current DONJON
package (DONJON Version5) is a rewrite of the code built around the Ganlib5 kernel, intended to
be 64-bit clean.\cite{ganlib5}

DONJON execution depends on other computer codes, components of Version4,
namely: GANLIB, UTILIB, DRAGON\cite{dragon}, and TRIVAC\cite{trivac}
codes. The DRAGON modules are used with DONJON code to define the reactor
geometry, to provide the macroscopic cross-section libraries and to perform
micro-depletion calculations. The TRIVAC
solver modules are used to perform a spatial discretization of the reactor geometry
and to provide the numerical solution according to the user-selected numerical
procedure\cite{ah1,ah2,ah3,ah4,ah5,ah6}.
The UTILIB library provides the utility and linear algebra libraries.
Finally, the GANLIB computer code provides CLE-2000 capabilities to control
data flows and to implement {\sl computational schemes}. GANLIB also provide
LCM data structures to exchange information between modules.

The DONJON code is divided into several modules, each module is designed
to perform some particular tasks. The transfer of information between the modules
is achieved by means of well defined data structure. Several design features,
data structure and computing algorithms were recovered, revised and adapted
from the previous DONJON version\cite{donjon,donjstruc}. One of the main
concerns of the DONJON developers is to ensure the code reliability and extensibility.

The DONJON modules are first designed for the reactor full-core modeling in
\dusa{3-D} Cartesian geometry. These modules are built around the reactor fuel
lattice specification corresponding to the common design features of CANDU
reactors. The modules related to the modeling of reactivity mechanisms, which are
normally presented in the reactor core, also constitute an important part of code.
The DONJON code can perform several full-core calculations and can be used
to determine some important core characteristics, such as the power and normalized
flux distributions over the reactor core. All full-core calculations using current version
of DONJON correspond to the reactor static conditions.

The modeling of the reactor fuel lattice using DONJON is made in considering
that the fuel lattice is composed of a well defined number of fuel channels and
bundles. All reactor channels contain the same number of fuel bundles and are
identified by their specific names. The fuel bundles have a distinct set of properties
that are recovered and interpolated according to the specified global and local
parameters. The interpolation of fuel properties with respect to burnup distribution
can be performed according to the time-average or instantaneous models\cite{rozon}.
The time-average calculation is performed in considering the bidirectional refuelling
scheme of reactor channels and assuming that all channels have the same bundle-shift.

The modeling of the reactivity mechanisms is based on their specified parameters,
which include the devices position, rods insertion level, water filling level, direction
of movement, etc. The rod-devices insertion level can be set according to their
nominal positions or they can be displaced in and out of core. The devices can also
be divided into several groups so that they can be manipulated, displaced or moved
simultaneously. The time-dependent behaviour of the moving devices can be modeled
and used for the transient simulations or reactor control studies. The reactivity worth
of devices can also be studied and predicted using DONJON.

The reactor material properties are essentially recovered from the reactor database,
obtained from the lattice calculations using DRAGON code. The two distinct
macroscopic cross-section libraries can be constructed using DONJON.
The first \dds{macrolib} is constructed only for the material properties which
are evolution-independent, such as reflector and devices properties. The second
\dds{macrolib} is constructed only for the fuel properties, defined per each fuel
bundle over the fuel lattice. The two libraries are next combined and updated,
according to the devices insertion level. The produced extended \dds{macrolib}
is subsequently used to obtain the numerical solution, using TRIVAC modules.

Finally, it should be noted that the DONJON code development is permanently
in progress. The future updates will provide several extended capabilities
for the reactor design and calculations; they will be gradually added to the
subsequent DONJON versions.
