\section{Contents of a \dir{system} directory}\label{sect:systemdir}

The {\tt L\_SYSTEM} specification is used to store a set of system matrices (or a set of
perturbations on system matrices) obtained after discretization of the algebraic operators
contained in the neutron transport or diffusion equation. A complete set of matrices can
be written on the root directory. Perturbation matrices corresponding to variations or
derivatives of the cross sections can also be found if the \moc{STEP} directory list
is present.

\subsection{State vector content for the \dir{system} data structure}\label{sect:systemstate}

The dimensioning parameters for this data structure, which are stored in the state vector $\mathcal{S}^{s}_{i}$, represents:

\begin{itemize}
\item $\mathcal{S}^{s}_{1}$: the number of energy groups
\item $\mathcal{S}^{s}_{2}$: the order of a system matrix
\item $\mathcal{S}^{s}_{3}$: the number of delayed neutron precursor groups
\item $\mathcal{S}^{s}_{4}$: the storage type of system matrices:
\begin{displaymath}
\mathcal{S}^{s}_{4} = \left\{
\begin{array}{rl}
 1 & \textrm{BIVAC--compatible profile storage matrices for the diffusion theory} \\
 2 & \textrm{TRIVAC--compatible matrices compatible with the generic
 ADI splitting in} \\
   & \textrm{\Eq{tratr2} or \Eq{tratr3}} \\
 3 & \textrm{TRIVAC--compatible matrices compatible with the Thomas-Raviart
 ADI} \\
   & \textrm{splitting in \Eq{tratr4} or \Eq{tratr5} for the diffusion theory} \\
 11 & \textrm{BIVAC--compatible profile storage matrices for the simplified
 $P_n$ method} \\
 13 & \textrm{TRIVAC--compatible matrices compatible with the Thomas-Raviart
 ADI} \\
   & \textrm{splitting in \Eq{tratr4} or \Eq{tratr5} for the simplified $P_n$ method}
\end{array} \right.
\end{displaymath}
\item $\mathcal{S}^{s}_{5}$: set to $1$ in case where matrices {\tt 'RM'} are available
\item The number of set of perturbation on system matrices $I_{\rm step}=\mathcal{S}^{s}_{6}$ used
for perturbation calculations:
\begin{displaymath}
I_{\rm step} = \left\{
\begin{array}{ll}
0 & \textrm{no {\tt STEP} information available}\\
>0 & \textrm{number of set of perturbation on system matrices.}
\end{array} \right.
\end{displaymath}
\item $\mathcal{S}^{s}_{7}$: number of material mixtures in the macrolib used to
construct the system matrices
\item $\mathcal{S}^{s}_{8}$: number of Legendre orders used to represent the macroscopic cross
sections with the simplified $P_n$ method (maximum integer value of {\tt IL}). Set to zero with the diffusion theory.
\item The type of system matrix assemblies $I_{\rm pert}=\mathcal{S}^{s}_{9}$:
\begin{displaymath}
I_{\rm pert} = \left\{
\begin{array}{ll}
0 & \textrm{calculation of the system matrices}\\
1 & \textrm{calculation of the derivative of these matrices}\\
2 & \textrm{calculation of the first variation of these matrices}\\
3 & \textrm{identical to $I_{\rm pert}=2$, but these variation are added to unperturbed system}\\
  & \textrm{matrices.}
\end{array} \right.
\end{displaymath}
\end{itemize}
\goodbreak

\subsection{The main \dir{system} directory}\label{sect:systemdirmain}

On its first level, the
following records and sub-directories will be found in the \dir{system} directory:

\begin{DescriptionEnregistrement}{Main records and sub-directories in \dir{system}}{8.0cm}
\CharEnr
  {SIGNATURE\blank{3}}{$*12$}
  {Signature of the data structure ($\mathsf{SIGNA}=${\tt L\_SYSTEM\blank{4}}).}
\CharEnr
  {LINK.MACRO\blank{2}}{$*12$}
  {Name of the {\sc macrolib} on which the system matrices are based.}
\CharEnr
  {LINK.TRACK\blank{2}}{$*12$}
  {Name of the {\sc tracking} on which the system matrices are based.}
\IntEnr
  {STATE-VECTOR}{$40$}
  {Vector describing the various parameters associated with this data structure $\mathcal{S}^{s}_{i}$,
  as defined in \Sect{systemstate}.}
\OptRealEnr
  {ALBEDO\_FU//\{igr\}}{$\mathcal{S}^{M}_{8}$}{$\mathcal{S}^{M}_{8}>0$}{}
  {Surface ordered physical albedo functions in each group. The number of physical albedos $\mathcal{S}^{M}_{8}$ is defined
  in \Sect{macrolibstate}. The character suffix {\tt \{igr\}} is the group index defined in format {\tt WRITE(TEXT3,'(I3.3)') igr}.}
\RealVar
  {\{matrix\}}{$N_{\rm dim}$}{} 
  {Set of system matrices}
\OptRealVar
  {\{removalxs\}}{$\mathcal{S}^{s}_{7}$}{$\mathcal{S}^{s}_{4}> 10$}{} 
  {Set of removal cross section arrays used with the simplified $P_n$ method}
\OptRealEnr
  {RM\blank{10}}{$\mathcal{S}^{t}_{11}$}{$\mathcal{S}^{s}_{5}\ne 0$}{}
  {Unit system matrix, i.e., a system matrix corresponding to cross sections all set to 1.0. This matrix is mandatory in space-time
  kinetics cases. {\sl This block is always located on the root directory.}}
\OptRealEnr
  {IRM\blank{9}}{$\mathcal{S}^{t}_{11}$}{$\mathcal{S}^{s}_{5}\ne 0$}{}
  {Inverse of the unit matrix. This record is available only with BIVAC trackings.}
\OptDirlEnr
  {STEP\blank{8}}{$\mathcal{S}^{s}_{6}$}{$\mathcal{S}^{s}_{6}\ge 1$}
  {List of perturbation sub-directories. Each component of this list contains a set of perturbation
  on system matrices corresponding to variations or derivatives of the cross sections. Each
  {\tt STEP} component follows the specification presented in the current \Sect{systemdirmain}.}
\end{DescriptionEnregistrement}

The signature variable for this data structure must be $\mathsf{SIGNA}$=\verb*|L_SYSTEM    |.

\begin{figure}[htbp] 
\begin{center} 
\epsfxsize=13cm
\centerline{ \epsffile{Fig99.eps}}
\parbox{14cm}{\caption{Example of a 5 energy group matrix eigenvalue problem}\label{fig:system}}  \end{center} 
\end{figure}

The discretized neutron transport or diffusion equation is assumed to be given in a form similar to the matrix system represented in \Fig{system}.
Each system matrix \{matrix\} is stored on a block named {\tt TEXT12}, embodying the primary group index {\tt IGR} and the secondary group index {\tt JGR}.

\vskip 0.2cm

The first case corresponds to the following situations:
\begin{itemize}
\item BIVAC--type discretization ($\mathcal{S}^{s}_{4}=1$). In this case, the dimension of
the matrix is equal to {\tt MU(}$\mathcal{S}^{t}_{11}${\tt)}
\item TRIVAC--type discretization of the out-of-group $A$ matrices ({\tt IGR}$\ne${\tt JGR}).
In this case, the dimension of
the matrix is equal to $\mathcal{S}^{t}_{11}$
\item TRIVAC--type discretization of the $B$ matrices. In this case, the dimension of
the matrix is equal to $\mathcal{S}^{t}_{11}$
\end{itemize}
The character name of the system matrix is build using

\begin{verbatim}
WRITE(TEXT12,'(1HA,2I3.3)') JGR,IGR
\end{verbatim}

\vskip 0.1cm

\begin{verbatim}
WRITE(TEXT12,'(1HB,2I3.3)') JGR,IGR
\end{verbatim}

\noindent or

\begin{verbatim}
WRITE(TEXT12,'(1HB,3I3.3)') IDEL,JGR,IGR
\end{verbatim}

\noindent where {\tt IDEL} is the index of a delayed neutron precursor group
(if $\mathcal{S}^{s}_{3} \ge 1$).

\vskip 0.2cm

Otherwise, the TRIVAC--type system matrix is splitted according to Eqs.~(\ref{eq:tratr2})
to~(\ref{eq:tratr5}). The character name of the system matrix is build using

\begin{verbatim}
WRITE(TEXT12,'(A2,1HA,2I3.3)') PREFIX,IGR,IGR
\end{verbatim}

\noindent where {\tt PREFIX} is a character*2 name describing the component
of the system matrix under consideration. The following values are available:

\vskip 0.3cm

\begin{tabular}{|l|l|l|}
\hline
{\tt PREFIX} & type of matrix & dimension $N_{\rm dim}$\\
\hline
{\tt W\_} & matrix component $\bf{W}+\bf{P}_w^\top \bf{U}\bf{P}_w$ or $\bf{A}_w+\bf{R}_w\bf{T}^{-1}\bf{R}_w^\top$ & {\tt MUW(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUW(}$\mathcal{S}^{t}_{26}${\tt )}\\
{\tt X\_} & matrix component $\bf{X}+\bf{P}_x^\top \bf{U}\bf{P}_x$ or $\bf{A}_x+\bf{R}_x\bf{T}^{-1}\bf{R}_x^\top$ & {\tt MUX(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUX(}$\mathcal{S}^{t}_{27}${\tt )} \\
{\tt Y\_} & matrix component $\bf{Y}+\bf{P}_y^\top \bf{U}\bf{P}_y$ or $\bf{A}_y+\bf{R}_y\bf{T}^{-1}\bf{R}_y^\top$ & {\tt MUY(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUY(}$\mathcal{S}^{t}_{28}${\tt )} \\
{\tt Z\_} & matrix component $\bf{Z}+\bf{P}_z^\top \bf{U}\bf{P}_z$ or $\bf{A}_z+\bf{R}_z\bf{T}^{-1}\bf{R}_z^\top$ & {\tt MUZ(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUZ(}$\mathcal{S}^{t}_{29}${\tt )} \\
{\tt WI} & $LDL^\top$ factors of $\bf{W}+\bf{P}_w^\top \bf{U}\bf{P}_w$ or $\bf{A}_w+\bf{R}_w\bf{T}^{-1}\bf{R}_w^\top$ & {\tt MUW(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUW(}$\mathcal{S}^{t}_{26}${\tt )}\\
{\tt XI} & $LDL^\top$ factors of $\bf{X}+\bf{P}_x^\top \bf{U}\bf{P}_x$ or $\bf{A}_x+\bf{R}_x\bf{T}^{-1}\bf{R}_x^\top$ & {\tt MUX(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUX(}$\mathcal{S}^{t}_{27}${\tt )} \\
{\tt YI} & $LDL^\top$ factors of $\bf{Y}+\bf{P}_y^\top \bf{U}\bf{P}_y$ or $\bf{A}_y+\bf{R}_y\bf{T}^{-1}\bf{R}_y^\top$ & {\tt MUY(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUY(}$\mathcal{S}^{t}_{28}${\tt )} \\
{\tt ZI} & $LDL^\top$ factors of $\bf{Z}+\bf{P}_z^\top \bf{U}\bf{P}_z$ or $\bf{A}_z+\bf{R}_z\bf{T}^{-1}\bf{R}_z^\top$ & {\tt MUZ(}$\mathcal{S}^{t}_{11}${\tt )} or {\tt MUZ(}$\mathcal{S}^{t}_{29}${\tt )} \\
\hline
\end{tabular}

\vskip 0.3cm

\noindent where all these matrices are stored in diagonal storage mode.

\vskip 0.3cm

The following values of {\tt PREFIX} will also be used in cases where a
Thomas-Raviart or Thomas-Raviart-Schneider polynomial basis is used ($\mathcal{S}^{t}_{12}=2$ and
$\mathcal{S}^{s}_{4}=3$):

\vskip 0.3cm

\begin{tabular}{|l|l|l|}
\hline
{\tt PREFIX} & type of matrix & dimension $N_{\rm dim}$\\
\hline
{\tt TF} & matrix component $\bf{T}$ & $\mathcal{S}^{t}_{25}$ \\
{\tt WA} & matrix component $\bf{A}_w$ & {\tt MUW(}$\mathcal{S}^{t}_{26}${\tt )} \\
{\tt XA} & matrix component $\bf{A}_x$ & {\tt MUX(}$\mathcal{S}^{t}_{27}${\tt )} \\
{\tt YA} & matrix component $\bf{A}_y$ & {\tt MUY(}$\mathcal{S}^{t}_{28}${\tt )} \\
{\tt ZA} & matrix component $\bf{A}_z$ & {\tt MUZ(}$\mathcal{S}^{t}_{29}${\tt )} \\
{\tt DIFF} & diffusion coefficients used with the Thomas-Raviart-Schneider method &
$N_{\rm los}$ \\
\hline
\end{tabular}

\vskip 0.3cm

\noindent where {\tt TF} is a diagonal matrix and where {\tt WA} to {\tt ZA} are
stored in diagonal profiled mode. The dimension of {\tt DIFF} is related to the number of
lozenges in the domain: $N_{\rm los}=\mathcal{S}^{t}_{14}\times \mathcal{S}^{t}_{15}\times (\mathcal{S}^{t}_{13})^2$.

\vskip 0.3cm

Each removal cross section array \{removalxs\} is stored on a block named {\tt TEXT12}, embodying the Legendre order {\tt IL}, the primary
group index {\tt IGR} and the secondary group index {\tt JGR}. The block name {\tt TEXT12} is build using

\begin{verbatim}
WRITE(TEXT12,'(4HSCAR,I2.2,2I3.3)') IL-1,JGR,IGR
\end{verbatim}

\noindent for the mixture-ordered components of the removal cross section, and

\begin{verbatim}
WRITE(TEXT12,'(4HSCAI,I2.2,2I3.3)') IL-1,JGR,IGR
\end{verbatim}

\noindent for the mixture-ordered components of the inverse removal cross section matrix at each Legendre order.

\eject
