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/IGE335/Section3.28.tex | 170 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 170 insertions(+)
 create mode 100644 doc/IGE335/Section3.28.tex

(limited to 'doc/IGE335/Section3.28.tex')

diff --git a/doc/IGE335/Section3.28.tex b/doc/IGE335/Section3.28.tex
new file mode 100644
index 0000000..e8ab252
--- /dev/null
+++ b/doc/IGE335/Section3.28.tex
@@ -0,0 +1,170 @@
+\subsection{The {\tt DUO:} module}\label{sect:DUOData}
+
+This module is used to perform a perturbative analysis of two systems in fundamental mode conditions using the Clio formula and to determine the origins
+of Keff discrepancies.
+
+\vskip 0.02cm
+
+The calling specifications are:
+
+\begin{DataStructure}{Structure \dstr{DUO:}}
+\moc{DUO:}~\dusa{MICLIB1}~\dusa{MICLIB2}~\moc{::}~\dstr{DUO\_data} \\
+\end{DataStructure}
+
+\noindent where
+\begin{ListeDeDescription}{mmmmmmm}
+
+\item[\dusa{MICLIB1}] {\tt character*12} name of the first {\sc microlib} (type {\tt L\_LIBRARY}) object open in read-only mode.
+
+\item[\dusa{MICLIB2}] {\tt character*12} name of the second {\sc microlib} (type {\tt L\_LIBRARY}) object open in read-only mode.
+
+\item[\dusa{DUO\_data}] input data structure containing specific data (see \Sect{descDUO}).
+
+\end{ListeDeDescription}
+
+\subsubsection{Data input for module {\tt DUO:}}\label{sect:descDUO}
+
+Note that the input order must be respected.
+
+\vskip -0.5cm
+
+\begin{DataStructure}{Structure \dstr{DUO\_data}}
+$[$~\moc{EDIT} \dusa{iprint}~$]$ \\
+$[$~\moc{ENERGY} $]~[$ \moc{ISOTOPE} $]~[$ \moc{MIXTURE} $]$ \\
+$[$ \moc{REAC} \\
+~~~~$[[$ \dusa{reac} $[$ \moc{PICK}  {\tt >>} \dusa{deltaRho} {\tt <<} $]~]] $\\
+~~\moc{ENDREAC} $]$ \\
+;
+\end{DataStructure}
+
+\noindent where
+\begin{ListeDeDescription}{mmmmmmmm}
+
+\item[\moc{EDIT}] keyword used to set \dusa{iprint}.
+
+\item[\dusa{iprint}] index used to control the printing in module {\tt DUO:}. =0 for no print; =1 for minimum printing (default value).
+
+\item[\moc{ENERGY}] keyword used to perform a perturbation analysis as a function of the energy group indices.
+
+\item[\moc{ISOTOPE}] keyword used to perform a perturbation analysis as a function of the isotopes present in the geometry.
+
+\item[\moc{MIXTURE}] keyword used to perform a perturbation analysis as a function of the mixtures indices.
+
+\item[\moc{REAC}] keyword used to perform a perturbation analysis for specific nuclear reactions.
+
+\item[ \dusa{reac}] \texttt{character*8} name of a nuclear reaction $\sigma_x$. The reactivity effect is computed using the formula
+\begin{equation}
+\delta\lambda_x={(\bff(\phi)^*_1)^\top \delta\shadowS_x \, \bff(\phi)_2\over (\bff(\phi)^*_1)^\top \shadowP_2 \bff(\phi)_2} .
+\end{equation}
+\noindent where $\shadowS_x$ is a matrix containing the the contributions of the reaction $\sigma_x$. The other symbols
+are defined in Sect.~\ref{sect:theoryDUO}. Examples of reaction names are:
+\begin{description}
+\item[{\tt NTOT0}:] total cross section
+\item[{\tt NG}:] radiative capture cross section
+\item[{\tt N2N}:] (n,2n) cross section
+\item[{\tt NFTOT}:] fission cross section
+\item[{\tt NELAS}:] elastic scattering cross section
+\item[{\tt SCAT00}:] scattering matrix
+\item[{\tt NUSIGF}:] dyadic product of the fission spectrum times $\nu$ fission cross section
+\item[{\tt LEAK}:] neutron leakage
+\end{description}
+The balance relation for the global reactivity effect is
+\begin{equation}
+\delta\lambda=\delta\lambda_{\tt NTOT0}-\delta\lambda_{\tt SCAT00}-{\delta\lambda_{\tt NUSIGF}\over K_{\rm eff}}+\delta\lambda_{\tt LEAK}
+\end{equation}
+\noindent where $K_{\rm eff}$ is the effective multiplication factor.
+
+\item[\moc{PICK}]  keyword used to recover the delta-rho discrepancy for reaction \dusa{reac} in a CLE-2000 variable.
+
+\item[\dusa{deltaRho}] \texttt{character*12} CLE-2000 variable name in which the extracted  delta-rho discrepancy will be placed.
+
+\item[\moc{ENDREAC}] keyword used to indicate that no more nuclear reactions will be analysed.
+
+\end{ListeDeDescription}
+
+\subsubsection{Theory} \label{sect:theoryDUO}
+
+The module {\tt DUO:} is an implementation of the {\sc clio} perturbative analysis method, as introduced in Ref.~\citen{clio}. This method is useful for comparing two similar systems in fundamental mode conditions. It is based on fundamental mode balance equations that must be satisfied by the direct
+and adjoint solutions of each of the two systems. The balance equation of the first system is written
+\begin{equation}
+\shadowL_1 \bff(\phi)_1-\lambda_1 \, \shadowP_1 \bff(\phi)_1=\bff(0) \ \ \ {\rm and} \ \ \ \shadowL_1^\top \bff(\phi)^*_1-\lambda_1 \, \shadowP^\top_1 \bff(\phi)^*_1=\bff(0)
+\label{eq:duo1}
+\end{equation}
+
+\noindent where
+\begin{description}
+\item [$\shadowL_1=$] absorption (total plus leakage minus scattering) reaction rate matrix
+\item [$\shadowP_1=$] production (nu times fission) reaction rate matrix
+\item [$\lambda_1=$] one over the effective multiplication factor
+\item [$\bff(\phi)_1=$] direct multigroup flux in each mixture of the geometry
+\item [$\bff(\phi)^*_1=$] adjoint multigroup flux in each mixture of the geometry.
+\end{description}
+
+\vskip 0.08cm
+
+Similarly, the balance equation of the second system is written
+\begin{equation}
+\shadowL_2 \bff(\phi)_2-\lambda_2 \, \shadowP_2 \bff(\phi)_2=\bff(0) .
+\label{eq:duo2}
+\end{equation}
+
+\vskip 0.08cm
+
+Next, we write
+\begin{equation}
+\shadowL_2 = \shadowL_1+\delta\shadowL \, \ \ \ \shadowP_2 = \shadowP_1+\delta\shadowP \ , \ \ \  \bff(\phi)_2=\bff(\phi)_1+\delta\bff(\phi) \ \ \ {\rm and} \ \ \ \lambda_2=\lambda_1+\delta\lambda .
+\label{eq:duo3}
+\end{equation}
+
+\vskip 0.08cm
+
+Substituting \Eq{duo3} into \Eq{duo2}, we write
+\begin{equation}
+\shadowL_1 \bff(\phi)_1+\shadowL_1 \delta\bff(\phi)+\delta\shadowL \bff(\phi)_2-\left[\lambda_1 \, \shadowP_1 \bff(\phi)_1+\lambda_1 \, \shadowP_1 \delta\bff(\phi)+(\lambda_2 \, \shadowP_2-\lambda_1 \, \shadowP_1) \, \bff(\phi)_2\right]=\bff(0) .
+\label{eq:duo4}
+\end{equation}
+
+\vskip 0.08cm
+
+Following the guideline from Ref.~\citen{clio}, we subtract \Eq{duo1} from \Eq{duo4} to obtain
+\begin{equation}
+(\shadowL_1-\lambda_1 \, \shadowP_1) \, \delta\bff(\phi)=(-\delta\shadowL +\lambda_2 \, \shadowP_2-\lambda_1 \, \shadowP_1) \, \bff(\phi)_2
+\label{eq:duo5}
+\end{equation}
+
+\vskip 0.08cm
+
+Next, we left-multiply this matrix system by a row vector equal to $(\bff(\phi)^*_1)^\top$, in order to make the LHS vanishing. This operation is written
+\begin{equation}
+(\bff(\phi)^*_1)^\top(\shadowL_1-\lambda_1 \, \shadowP_1) \, \delta\bff(\phi)=(\bff(\phi)^*_1)^\top(-\delta\shadowL +\lambda_2 \, \shadowP_2-\lambda_1 \, \shadowP_1) \, \bff(\phi)_2=0
+\label{eq:duo6}
+\end{equation}
+
+\noindent because
+\begin{equation}
+(\bff(\phi)^*_1)^\top(\shadowL_1-\lambda_1 \, \shadowP_1) =\bff(0)^\top
+\label{eq:duo7}
+\end{equation}
+
+\noindent in term of \Eq{duo1}.
+
+\vskip 0.08cm
+
+Using the relation $\lambda_2 \, \shadowP_2-\lambda_1 \, \shadowP_1=\delta\lambda\, \shadowP_2+\lambda_1 \, \delta\shadowP$, \Eq{duo6}
+can be rewritten as
+\begin{equation}
+(\bff(\phi)^*_1)^\top(-\delta\shadowL +\delta\lambda\, \shadowP_2+\lambda_1 \, \delta\shadowP) \, \bff(\phi)_2=0
+\label{eq:duo8}
+\end{equation}
+
+\noindent so that
+\begin{equation}
+\delta\lambda={(\bff(\phi)^*_1)^\top(\delta\shadowL -\lambda_1 \, \delta\shadowP) \, \bff(\phi)_2\over (\bff(\phi)^*_1)^\top \shadowP_2 \bff(\phi)_2} .
+\label{eq:duo9}
+\end{equation}
+
+\vskip 0.08cm
+
+Equation \ref{eq:duo9} is {\sl not} a first order perturbation approximation of $\delta\lambda$; it is an {\sl exact} expression of it. Its numerator is used
+to obtain every component of $\delta\lambda$ in term of energy group, isotope, mixture and/or nuclear reaction.
+\eject
-- 
cgit v1.2.3

