From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001
From: stainer_t <thomas.stainer@oecd-nea.org>
Date: Mon, 8 Sep 2025 13:48:49 +0200
Subject: Initial commit from Polytechnique Montreal

---
 doc/IGE344/SectFLPOW.tex | 176 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 176 insertions(+)
 create mode 100644 doc/IGE344/SectFLPOW.tex

(limited to 'doc/IGE344/SectFLPOW.tex')

diff --git a/doc/IGE344/SectFLPOW.tex b/doc/IGE344/SectFLPOW.tex
new file mode 100644
index 0000000..ba69b72
--- /dev/null
+++ b/doc/IGE344/SectFLPOW.tex
@@ -0,0 +1,176 @@
+\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
-- 
cgit v1.2.3

