\subsection{The \moc{FLPOW:} module}\label{sect:flpow} \vskip 0.2cm The \moc{FLPOW:} module is used to compute and print the flux and power distributions over the reactor core. It also computes and prints some additional information, for example: the fluxes ratios with respect to the thermal energy-group fluxes; the mean power density; the power- and flux-form factors; etc. The computed fluxes and powers are printed either on files or on the screen. Note that the calculation using the \moc{FLPOW:} module can be performed once the numerical solution has been previously established using the \moc{FLUD:} or \moc{KINSOL:} module.\\ According to the user-selected module specification, the average fluxes and powers can be computed per each fuel region over the fuel lattice \dusa{and/or} per each material region over the whole reactor geometry. In either case, all fluxes are normalized to the given total reactor power corresponding to the reactor nominal conditions at core equilibrium. If the reactor is perturbed from its initial state, then a new total reactor power can be recomputed and, accordingly, the flux and power distributions will be updated using the previously computed normalization factor.\\ The \moc{FLPOW:} module will create a new \moc{POWER} object that will store the information related to the reactor fluxes and powers (see \Sect{power}). In addition, the \moc{POWER} object will store several parameters that can be used as power and criticity constraints for the optimization and fuel management purposes, namely: the maximum channel and bundle powers; the channel and bundle power-form factors; the effective multiplication factor (recovered from the \dds{flux} or \dds{kinet} data structure).\\ \noindent The \moc{FLPOW:} module specifications are: \begin{DataStructure}{Structure \moc{FLPOW:}} $\{$ \\ ~~~\dusa{POWER} $[$ \dusa{NRMFLUX} $]~[$ \dusa{FMAP} $]$ \\ ~~~~~~~~\moc{:=} \moc{FLPOW:} $[$ \dusa{POWOLD} $]$ \dusa{FMAP} $\{$ \dusa{FLUX} $|$ \dusa{KINET} $\}$ \dusa{TRACK} \dusa{MATEX} $[$ \dusa{MACRO} $]$ \\ ~~~~~~~~\moc{::} \dstr{descflpow} \\ $|$ \\ ~~~\dusa{POWER} \moc{:=} \moc{FLPOW:} $[$ \dusa{POWOLD} $]$ $\{$ \dusa{FLUX} $|$ \dusa{KINET} $\}$ \dusa{TRACK} \dusa{MACRO} \\ ~~~~~~~~\moc{::} \dstr{descflpow} \\ $\}$ \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\dusa{POWER}] \texttt{character*12} name of the \dds{power} object that will be created by the module. It will contain the information related to the reactor fluxes and powers. \item[\dusa{NRMFLUX}] \texttt{character*12} name of the \dds{flux} object, in creation mode. According to the chosen option, this object contains either the fluxes normalized to the given total reactor power or the fluxes per bundle. Is it useful if you want to compute the detectors readings with the \moc{DETECT:} module. \item[\dusa{POWOLD}] \texttt{character*12} name of the read-only \dds{power} object. It must contain the previously computed flux normalization factor, which corresponds to the reactor nominal or equilibrium conditions. \item[\dusa{FMAP}] \texttt{character*12} name of the \dds{fmap} object containing the fuel lattice specification. When \dusa{FMAP} is specified on the RHS, the fluxes and powers calculations are performed over the fuel lattice as well as over the whole reactor geometry. If \dusa{FMAP} is specified on the LHS, its records \moc{'BUND-PW'} and \moc{'FLUX-AV'} will be set according to the information present in \dusa{POWER}. \item[\dusa{FLUX}] \texttt{character*12} name of the \dds{flux} object, previously created by the \moc{FLUD:} module. The numerical flux solution contained in \dusa{FLUX} is recovered and all flux are normalized to the given total reactor power. \item[\dusa{KINET}] \texttt{character*12} name of the \dds{kinet} object, previously created by the \moc{KINSOL:} module. The numerical flux solution contained in \dusa{KINET} is recovered. \item[\dusa{TRACK}] \texttt{character*12} name of the \dds{track} object, created by the \moc{TRIVAT:} module. The information stored in \dusa{TRACK} is recovered and used for the average flux calculation. \item[\dusa{MATEX}] \texttt{character*12} name of the \dds{matex} object, containing the reactor material index and the h-factors that will be recovered and used for the power calculation. \item[\dusa{MACRO}] \texttt{character*12} name of the \dds{macrolib} object, containing the h-factors that will be recovered and used for the power calculation. \item[\dstr{descflpow}] structure describing the input data to the \moc{FLPOW:} module . \end{ListeDeDescription} \vskip 0.2cm \subsubsection{Input data to the \moc{FLPOW:} module} \noindent Note that the fuel-lattice power distribution can be printed only on the screen.\\ \begin{DataStructure}{Structure \dstr{descflpow}} $[$ \moc{EDIT} \dusa{iprint} $]$ \\ $[~\{$ \moc{PTOT} \dusa{power} $|$ \moc{P-NEW} $\}~]$ \\ $[$ \moc{FSTH} \dusa{fsth} $]~[$ \moc{INIT} $]$ \\ $[~\{$ \moc{NORM} $|$ \moc{BUND} $\}~]$ \\ $[$ \moc{PRINT} $\{$ \moc{MAP} $|$ \moc{DISTR} $[$ \moc{FLUX} $]$ $[$ \moc{RATIO} $]$ $[$ \moc{POWER} $]$ $|$ \moc{ALL} $\}$ $]$ \\ ; \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{EDIT}] keyword used to set \dusa{iprint}. \item[\dusa{iprint}] integer index used to control the printing on screen: = 0 for no print; = 1 for minimum editing (default value); = 2 only channel powers in radial plane are printed; = 3 only bundle powers per each radial plane are printed; = 10 only bundle powers per each channel are printed. Any combination of the values 2, 3 and 10 is possible, for example 5 = 2+3. Note that any other value of \dusa{iprint} behaves as the first lower possible value, for example 7 gives the same output as 5. Moreover channel and bundle powers can be printed only if the \dusa{FMAP} object was provided in the calling specification. \item[\moc{PTOT}] keyword used to specify the input of \dusa{power}. By default, a power is recovered from the \dusa{KINET} object. \item[\dusa{power}] real total reactor power, given in MW. This value must correspond to the reactor nominal conditions. \item[\moc{FSTH}] keyword to specify the thermal to fission power ratio. \item[\dusa{fsth}] thermal to fission power ratio. By default this value is not used, and the total power is the one given after the \moc{PTOT} keyword. \item[\moc{INIT}] keyword used to save the actual power distribution in the {\tt BUND-PW-INI} record of the fuel map object \dusa{FMAP}. It is used by the \moc{AFM:} module to apply power feedback during a fast transient using the initial power distribution instead of the actual power. \item[\moc{P-NEW}] keyword used to indicate that a new total reactor power is to be recomputed, based on the previously calculated flux normalization factor. The flux and power distributions over the reactor core are updated, accordingly. Note that this option is valid only if a read-only \dusa{POWOLD} object is provided. \item[\moc{PRINT}] keyword used to indicate the printing on files. Note that all produced files will have the same extension ``\moc{.res}". \item[\moc{MAP}] keyword used to specify the printing of the average fluxes and flux ratios per fuel bundle. The normalized bundle fluxes are computed and printed for each reactor channel and per each energy group. The flux ratios are computed with respect to the thermal energy-group fluxes; they are printed on the same file. \item[\moc{DISTR}] keyword used to indicate the printing of data computed over the whole reactor geometry. \item[\moc{FLUX}] keyword used to specify the printing of flux distribution. The normalized fluxes are printed in separated files, one file per energy group; the number of produced files will then equal to the total number of energy groups. The flux values are printed for each mesh-splitted volume, in X, Y and Z planes; the virtual regions will have the fluxes values set to 0. \item[\moc{RATIO}] keyword used to specify the printing of flux-ratio distribution. The flux ratios are computed with respect to the thermal energy-group fluxes per each mesh-splitted volume. They are printed in separated files; the number of produced files will equal to the total number of energy groups less one. \item[\moc{POWER}] keyword used to specify the printing of power distribution. The power values are printed for each mesh-splitted volume, in X, Y, and Z planes; the non-fuel regions will have the power values set to 0. \item[\moc{ALL}] keyword used to indicate the printing of all available information, i.e. without particular selection of data. \item[\moc{NORM}] keyword to specify that the output flux object will contain a value per mesh-splitted element, normalized to the given power, as required by the \moc{DETECT:} module. This is the default option. \item[\moc{BUND}] keyword to specify that the output flux object will contain a value per bundle, normalized to the given power. \end{ListeDeDescription} \clearpage