From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t 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