diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /doc/IGE351/SectDsystem.tex | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'doc/IGE351/SectDsystem.tex')
| -rw-r--r-- | doc/IGE351/SectDsystem.tex | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/doc/IGE351/SectDsystem.tex b/doc/IGE351/SectDsystem.tex new file mode 100644 index 0000000..6c3eccf --- /dev/null +++ b/doc/IGE351/SectDsystem.tex @@ -0,0 +1,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 |
