\subsection{The {\tt DREF:} module}\label{sect:DREFData}

This module is used to set fixed sources that can be used in the right hand term of an adjoint
fixed source eigenvalue problem. This type of equation appears in generalized perturbation theory (GPT) applications.
The fixed sources set in {\tt DREF:} are corresponding to the gradient of the RMS functional which is a measure of
the discrepancy between actual and reference (or target) power distributions. The actual power distribution is recovered from 
a \dusa{MICRO} or \dusa{MACRO} object. The reference power distribution is recovered from 
a \dusa{MICREF} or \dusa{MACREF} object.

\vskip 0.08cm

Actual power values are defined as
$$
P_i\{\bff(\phi)(r)\}\equiv \left< H , \phi \right>_i=\int_0^\infty dE \int_{V_i} d^3r \, H(\bff(r),E) \, \phi(\bff(r),E)
$$

\noindent where the power factors $H(\bff(r),E)$ and fluxes $\phi(\bff(r),E)$ are recovered from {\tt H-FACTOR} and 
{\tt FLUX-INTG} records in a {\sc macrolib} object.

\vskip 0.08cm

The RMS error on power distribution is an homogeneous functional of the flux defined as
$$
F\{\bff(\phi)(r)\}=\sum_i \left({\left< H , \phi \right>_i\over \left< H , \phi \right>} - {P^*_i\over \sum_j P^*_j} \right)^2
$$
\noindent where the reference (or target) powers $P^*_i$ are obtained from the full-core reference transport calculation.

\vskip 0.08cm

The gradient of functional $F\{\bff(\phi)(r)\}$ is a $G$-group function of space defined as
$$
\bff(\nabla)F\{\bff(\phi)(\zeta);\bff(r)\}={2\over \left< H , \phi \right>} \sum_i  \left({\left< H , \phi \right>_i\over \left< H , \phi \right>} -
{P^*_i\over \sum_j P^*_j}\right)\left( \delta_i(\bff(r))-{\left< H , \phi \right>_i\over \left< H , \phi \right>} \right) \left[\matrix{H_1(\bff(r))\cr H_2(\bff(r)) \cr \vdots \cr H_G(\bff(r)) }\right]
$$

\noindent where $\delta_i(\bff(r))=1$ if $\bff(r) \in V_i$ and $=0$ otherwise.

\vskip 0.08cm

Each fixed source $\bff(\nabla)F\{\bff(\phi)(\zeta);\bff(r)\}$ is orthogonal to the flux $\bff(\phi)(\bff(r))$.

\vskip 0.08cm

The calling specifications are:

\begin{DataStructure}{Structure \dstr{DREF:}}
\dusa{SOURCE}~\moc{:=}~\moc{DREF:}~\dusa{FLUX}~\dusa{TRACK}~$~\{$~\dusa{MICRO}~$|$~\dusa{MACRO}~$\}~\{$~\dusa{MICREF}~$|$~\dusa{MACREF}~$\}$ \\
~~~~~~~~~~~~$[$ \moc{::}~$[$ \moc{EDIT}~\dusa{iprint} $]~[$ \moc{RMS} {\tt>>}\dusa{RMS\_VAL}{\tt <<}~$]~~]$~;
\end{DataStructure}

\noindent where
\begin{ListeDeDescription}{mmmmmmm}

\item[\dusa{SOURCE}] {\tt character*12} name of a {\sc fixed sources} (type {\tt L\_GPT}) object open in creation
mode. This object contains the adjoint fixed source corresponding to the RMS error on power distribution.

\item[\dusa{FLUX}] {\tt character*12} name of the actual {\sc flux} (type {\tt L\_FLUX}) object open in read-only mode.

\item[\dusa{TRACK}] {\tt character*12} name of the actual {\sc tracking} (type {\tt L\_TRACK}) object open in read-only mode.

\item[\dusa{MICRO}] {\tt character*12} name of the actual {\sc microlib} (type {\tt L\_LIBRARY}) object open in read-only mode. The information on
the embedded macrolib is used.

\item[\dusa{MACRO}] {\tt character*12} name of the actual {\sc macrolib} (type {\tt L\_MACROLIB}) object open in read-only mode.

\item[\dusa{MICREF}] {\tt character*12} name of reference (or target) {\sc microlib} (type {\tt L\_LIBRARY}) object open in read-only mode. The
information contained in the embedded macrolib is used to compute $P^*_i$ values.

\item[\dusa{MACREF}] {\tt character*12} name of reference (or target) {\sc macrolib} (type {\tt L\_MACROLIB}) object open in read-only mode. This
information is used to compute $P^*_i$ values.

\item[\moc{EDIT}] keyword used to set \dusa{iprint}.

\item[\dusa{iprint}] index used to control the printing in module {\tt DREF:}. =0 for no print; =1 for minimum printing (default value).

\item[\moc{RMS}] keyword used to recover the RMS error on power distribution in a CLE-2000 variable.

\item[\dusa{RMS\_VAL}] {\tt character*12} CLE-2000 variable name in which the extracted RMS value will be placed.

\end{ListeDeDescription}

\eject
