\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.