1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
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
|