summaryrefslogtreecommitdiff
path: root/doc/IGE351/SectDsystem.tex
blob: 6c3eccf5540e0b767210326a231ae1652929eb3d (plain)
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
\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