summaryrefslogtreecommitdiff
path: root/doc/IGE351/SectDcompo.tex
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /doc/IGE351/SectDcompo.tex
Initial commit from Polytechnique Montreal
Diffstat (limited to 'doc/IGE351/SectDcompo.tex')
-rw-r--r--doc/IGE351/SectDcompo.tex417
1 files changed, 417 insertions, 0 deletions
diff --git a/doc/IGE351/SectDcompo.tex b/doc/IGE351/SectDcompo.tex
new file mode 100644
index 0000000..9cded50
--- /dev/null
+++ b/doc/IGE351/SectDcompo.tex
@@ -0,0 +1,417 @@
+\section{Contents of a \dir{multicompo} directory}\label{sect:multicompodir}
+
+This object, shown in \Fig{multicompo}, is used to collect information gathered
+from many DRAGON {\sl elementary calculations} performed under various conditions.
+Each elementary calculation is characterized by a tuple of {\sl global} and {\sl local parameters}.
+These parameters are of different types, depending on the nature of the
+study under consideration: type of assembly, power, temperature in a mixture,
+concentration of an isotope, time, burnup or exposure rate in a depletion calculation,
+etc. Each step of a depletion calculation represents an elementay calculation.
+The {\sc multicompo} object is often presented as a {\sl multi-parameter reactor database}.
+
+\begin{figure}[h!]
+\begin{center}
+\epsfxsize=9cm
+\centerline{ \epsffile{compo.eps}}
+\parbox{15cm}{\caption{Representation of a {\sc multicompo}
+object.}\label{fig:multicompo}}
+\end{center}
+\end{figure}
+
+\vskip 0.2cm
+
+The {\sc multicompo} object contains table-of-content information apart from a list
+of {\sl homogenized mixture} directories. Each {\sl homogenized mixture}
+directory contain a list of {\sl elementary calculation} directories whose
+components are embedded {\sc microlib} objects containing the useful data.
+The localization of an elementary calculation
+is done using a tuple of global and local parameters. The elementary calculation indices are
+stored in a tree with the number of levels equal to the number of global {\sl and} local parameters.
+An example of a tree with three parameters is shown in \Fig{ctree}. Each node
+of this tree is associated with the index of the corresponding global parameter (positive index) or
+local parameter (negative index) and with the
+reference to the daughter nodes if they exist. The number if leafs is equal to the number
+of nodes for the last (third) parameter and is equal to the number of elementary
+calculations stored in the {\sc multicompo} object. The index of each elementary calculation is
+therefore an attribute of each leaf.
+
+\begin{figure}[h!]
+\begin{center}
+\epsfxsize=12cm
+\centerline{ \epsffile{tree.eps}}
+\parbox{14cm}{\caption{Parameter tree in a {\sc multicompo} object}\label{fig:ctree}}
+\end{center}
+\end{figure}
+
+\vskip 0.1cm
+
+In each embedded {\sc microlib} directory, the {\tt COMPO:} module recover
+cross sections for a number of {\sl particularized isotopes} and {\sl macroscopic
+sets} named {\tt '*MAC*RES'}, a collection of isotopic cross sections weighted by
+isotopic number densities. Other information is also recovered: multigroup neutron
+fluxes, isotopic number densities, fission spectrum and a set
+of {\sl local parameters}. The local parameters are values that characterize each
+homogenized mixture: local power, burnup, exposure rate, etc.
+
+\subsection{State vector content for the \dir{multicompo} data structure}\label{sect:multicompostate}
+
+The dimensioning parameters for this data structure, which are stored in the state vector
+$\mathcal{S}^{\rm cpo}$, represent:
+
+\begin{itemize}
+\item The number of homogenized mixtures $M_{m}=\mathcal{S}^{\rm cpo}_{1}$. $=0$
+for an empty {\sc multicompo} object.
+\item The number of groups ${G}=\mathcal{S}^{\rm cpo}_{2}$
+\item The exact number of elementary calculations in the {\sc multicompo} ${N_{\rm cal}}=\mathcal{S}^{\rm cpo}_{3}$
+\item The maximum number of elementary calculations in the {\sc multicompo} ${N_{\rm max}}=\mathcal{S}^{\rm cpo}_{4}$
+\item The number of global parameters $N_{\rm glob}=\mathcal{S}^{\rm cpo}_{5}$
+\item The number of local parameters $N_{\rm loc}=\mathcal{S}^{\rm cpo}_{6}$
+\item The number of global parameters linked with isotopes $N_{\rm gl\_iso}=\mathcal{S}^{\rm cpo}_{7}$
+\item The number of global parameters linked with {\sc microlib} objects $N_{\rm gl\_bib}=\mathcal{S}^{\rm cpo}_{8}$
+\item The number of local parameters linked with isotopes $N_{\rm loc\_iso}=\mathcal{S}^{\rm cpo}_{9}$
+\item The number of lines of comment $N_{\rm doc}=\mathcal{S}^{\rm cpo}_{10}$
+\item Geometry index $L_{\rm geo}=\mathcal{S}^{\rm cpo}_{11}$:
+\begin{displaymath}
+L_{\rm geo} = \left\{
+\begin{array}{ll}
+0 & \textrm{the geometries are not available}\\
+1 & \textrm{calculation--ordered homogenized geometries are available.}\\
+\end{array} \right.
+\end{displaymath}
+\item Version identificator $\mathcal{S}^{\rm cpo}_{12}$. Currently equal to {\tt 2006}. This value
+ will change if the {\sc multicompo} specification is to be modified in the future.
+\item The number of user-defined particularized isotopes $\mathcal{S}^{\rm cpo}_{13}$.
+\item Group form factor index $N_{\rm gff}=\mathcal{S}^{\rm cpo}_{14}$:
+\begin{displaymath}
+N_{\rm gff} = \left\{
+\begin{array}{ll}
+-1 & \textrm{the group form factors will be recovered from an {\sc edition} object}\\
+0 & \textrm{the group form factors are not processed}\\
+>0 & \textrm{number of group form factors per energy group. The information is stored in}\\
+ & \textrm{a {\sc macrolib} subdirectory in the {\sc multicompo}.}\\
+\end{array} \right.
+\end{displaymath}
+\item Physical albedo index $N_{\rm alb}=\mathcal{S}^{\rm cpo}_{15}$:
+\begin{displaymath}
+N_{\rm alb} = \left\{
+\begin{array}{ll}
+-1 & \textrm{the physical albedos will be recovered from an {\sc edition} object}\\
+0 & \textrm{the physical albedos are not processed}\\
+>0 & \textrm{number of physical albedos per energy group. The information is stored in}\\
+ & \textrm{a {\sc macrolib} subdirectory in the {\sc multicompo}.}\\
+\end{array} \right.
+\end{displaymath}
+\item Discontinuity factor index $I_{\rm df}=\mathcal{S}^{\rm cpo}_{16}$:
+\begin{displaymath}
+I_{\rm df} = \left\{
+\begin{array}{ll}
+-1 & \textrm{discontinuity factor information will be recovered from an {\sc edition} object}\\
+0 & \textrm{no discontinuity factor information}\\
+1 & \textrm{multigroup boundary current information is available}\\
+2 & \textrm{discontinuity factor information (see \Sect{macroADF}) is available.}
+\end{array} \right.
+\end{displaymath}
+\end{itemize}
+
+\subsection{The main \dir{multicompo} directory}\label{sect:cpodirmain}
+
+On its first level, the
+following records and sub-directories will be found in the \dir{multicompo} directory:
+
+\begin{DescriptionEnregistrement}{Main records in \dir{multicompo}}{8.0cm}
+\CharEnr
+ {SIGNATURE\blank{3}}{$*12$}
+ {Signature of the data structure ($\mathsf{SIGNA}=${\tt L\_MULTICOMPO}).}
+\DirVar
+ {\listedir{namdir}}
+ {Set of sub-directories, each of them containing an independent {\sc multicompo}
+ structure}
+\end{DescriptionEnregistrement}
+
+\begin{DescriptionEnregistrement}{Main records and sub-directories in \listedir{namdir}}{8.0cm}
+\IntEnr
+ {STATE-VECTOR}{$40$}
+ {Vector describing the various parameters associated with this data structure $\mathcal{S}^{\rm cpo}_{i}$,
+ as defined in \Sect{multicompostate}.}
+\OptDirEnr
+ {DEPL-CHAIN\blank{2}}{$*$}
+ {directory containing the \dir{depletion} associated with directory \dir{namdir}, following
+ the specification presented in \Sect{microlibdirdepletion}.}
+\OptCharEnr
+ {COMMENT\blank{5}}{$(N^{\rm cpo}_{10})*80$}{$\mathcal{S}^{\rm cpo}_{10}> 0$}
+ {User--defined comments about the data structure}
+\OptCharEnr
+ {NOMISP\blank{6}}{$(\mathcal{S}^{\tt cpo}_{13})*8$}{$\mathcal{S}^{\tt cpo}_{13}\ge 1$}
+ {Names of the user-defined particularized isotopes.}
+\DirEnr
+ {GLOBAL\blank{6}}
+ {Table--of--content for global parameter information: definition and tabulated values. The specification is presented in \Sect{cpodirarbre}.}
+\OptDirEnr
+ {LOCAL\blank{7}}{$\mathcal{S}^{\rm cpo}_{6}\ge 1$}
+ {Table--of--content for local parameter information. The specification is presented in \Sect{cpodirlocal}.}
+\OptDirlEnr
+ {MIXTURES\blank{4}}{$\mathcal{S}^{\rm cpo}_1$}{$\mathcal{S}^{\rm cpo}_{1}\ge 1$}
+ {List of {\sl homogenized mixture} directories. Each component of this list follows the specification
+ presented in \Sect{homo_mix}.}
+\OptDirlEnr
+ {GEOMETRIES\blank{2}}{$\mathcal{S}^{\rm cpo}_4$}{$\mathcal{S}^{\rm cpo}_{11} = 1$}
+ {List of homogenized {\sl geometry} directories. Each component of this list follows the specification
+ presented in \Sect{geometrydirmain}.}
+\end{DescriptionEnregistrement}
+
+\subsection{The {\tt GLOBAL} sub-directory in \dir{multicompo}}\label{sect:cpodirarbre}
+
+This directory is a table--of--content for the globals parameters. Its
+specification follows:
+
+\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt GLOBAL} in
+\dir{multicompo}}{7.0cm}
+\label{tabl:tabglob}
+\CharEnr
+ {PARKEY\blank{6}}{$(\mathcal{S}^{\rm cpo}_{5})*12$}
+ {User--defined key-words for the global parameters.}
+\CharEnr
+ {PARTYP\blank{6}}{$(\mathcal{S}^{\rm cpo}_{5})*4$}
+ {Character identification for the types of global parameters (eg: {\tt TEMP}, {\tt CONC}, {\tt IRRA},
+ etc.). Temperatures are given in Kelvin.}
+\CharEnr
+ {PARFMT\blank{6}}{$(\mathcal{S}^{\rm cpo}_{5})*8$}
+ {Types for the global parameters (eg: {\tt REAL}, {\tt STRING} or {\tt INTEGER}).}
+\OptCharEnr
+ {PARCHR\blank{6}}{$(\mathcal{S}^{\rm cpo}_{7})*8$}{$\mathcal{S}^{\rm cpo}_{7}\ge 1$}
+ {Isotope names linked to type--{\tt CONC} global parameters.}
+\IntEnr
+ {NVALUE\blank{6}}{$\mathcal{S}^{\rm cpo}_{5}$}
+ {Number of specific values for a global parameters.}
+\IntEnr
+ {PARCAD\blank{6}}{$\mathcal{S}^{\rm cpo}_{5}+1$}
+ {Address of the first element in array {\tt PARCHR}.}
+\IntEnr
+ {PARPAD\blank{6}}{$\mathcal{S}^{\rm cpo}_{5}+1$}
+ {Address of the first element in array {\tt PARBIB}.}
+\OptIntEnr
+ {PARMIL\blank{6}}{$\mathcal{S}^{\rm cpo}_{8}$}{$\mathcal{S}^{\rm cpo}_{8}\ge 1$}
+ {Mixture indices linked to type--{\tt TEMP} or --{\tt CONC} global parameters.}
+\OptCharEnr
+ {PARBIB\blank{6}}{$(\mathcal{S}^{\rm cpo}_{8})*12$}{$\mathcal{S}^{\rm cpo}_{8}\ge 1$}
+ {{\sc microlib} names linked to type--{\tt TEMP} or --{\tt CONC} global parameters.}
+\OptRealVar
+ {\listedir{gvaldir}}{\tt NVALUE(J)}{*}{}
+ {Set of real global parameter arrays. Each element of \listedir{gvaldir} contains a
+ real array containing the tabulated values of the $J$--th global parameter.}
+\OptIntVar
+ {\listedir{gvaldir}}{\tt NVALUE(J)}{*}
+ {Set of integer global parameter arrays. Each element of \listedir{gvaldir} contains an
+ integer array containing the tabulated values of the $J$--th global parameter.}
+\OptCharVar
+ {\listedir{gvaldir}}{$({\tt NVALUE(J)})*12$}{*}
+ {Set of character$*12$ global parameter arrays. Each element of \listedir{gvaldir} contains a
+ character$*12$ array containing the tabulated values of the $J$--th global parameter.}
+\end{DescriptionEnregistrement}
+
+Item \listedir{gvaldir} represents a set of $\mathcal{S}^{\rm cpo}_{5}$ real,
+integer or character*$12$ records. The name of each
+\listedir{gvaldir} record is a {\tt character*12} variable ({\tt text12})
+composed using the following FORTRAN instruction:
+$$
+\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''pval'',I8.8)')}\: J
+$$
+where $J$ is the index of the global parameter with $1 \leq J \leq \mathcal{S}^{\rm cpo}_{5}$. The global
+parameter values of type {\tt REAL} or {\tt INTEGER} are sorted.
+
+\subsection{The {\tt LOCAL} sub-directory in \dir{multicompo}}\label{sect:cpodirlocal}
+
+This directory is a table--of--content for the locals parameters. Its
+specification follows:
+
+\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt LOCAL} in
+\dir{multicompo}}{7.0cm}
+\label{tabl:tabloc}
+\CharEnr
+ {PARKEY\blank{6}}{$(\mathcal{S}^{\rm cpo}_{6})*12$}
+ {User--defined key-words for the local parameters.}
+\CharEnr
+ {PARTYP\blank{6}}{$(\mathcal{S}^{\rm cpo}_{6})*4$}
+ {Character identification for the types of local parameters (eg: {\tt TEMP}, {\tt IRRA}, {\tt FLUB},
+ etc.).}
+\OptCharEnr
+ {PARCHR\blank{6}}{$(\mathcal{S}^{\rm cpo}_{9})*8$}{$\mathcal{S}^{\rm cpo}_{9}\ge 1$}
+ {Isotope names linked to type--{\tt CONC} local parameters.}
+\IntEnr
+ {PARCAD\blank{6}}{$\mathcal{S}^{\rm cpo}_{6}+1$}
+ {Address of the first element in array {\tt PARCHR}.}
+\end{DescriptionEnregistrement}
+
+\subsection{The homogenized mixture sub-directory in \dir{multicompo}}\label{sect:homo_mix}
+
+Each component of the list named {\tt 'MIXTURES'} contains the parameter tree and a list of
+directories:
+
+\begin{DescriptionEnregistrement}{Component of the homogenized mixture directory}{7.5cm}
+\label{tabl:mixture_cpo}
+\DirEnr
+ {TREE\blank{8}}
+ {Parameter tree. The specification is presented in \Sect{cpodirtree}.}
+\DirlEnr
+ {CALCULATIONS}{$\mathcal{S}^{\rm cpo}_{4}$}
+ {List of {\sc microlib} directories. Each component of this list follows the specification
+ presented in \Sect{microlibdirmain} with $M_{m}=1$ (1 mixture) and $\mathcal{M}=4$.}
+\end{DescriptionEnregistrement}
+
+\subsection{The {\tt TREE} sub-directory in a {\tt MIXTURES} component}\label{sect:cpodirtree}
+
+This directory contains local parameter values and the parameter tree. Its specification follows:
+
+\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt TREE} in
+{\tt MIXTURES}}{7.0cm}
+\label{tabl:tabctree}
+\IntEnr
+ {NCALS\blank{7}}{$1$}
+ {Number of elementary calculations.}
+\IntEnr
+ {NVP\blank{9}}{$2$}
+ {{\tt NVP(1)}: Exact number of nodes in the parameter tree. {\tt NVP(2)}: Maximum number of nodes in the parameter tree.}
+\OptIntEnr
+ {NVALUE\blank{6}}{$\mathcal{S}^{\rm cpo}_{6}$}{$\mathcal{S}^{\rm cpo}_{6}\ge 1$}
+ {Number of specific values for a local parameters.}
+\OptRealVar
+ {\listedir{lvaldir}}{\tt NVALUE(J)}{$\mathcal{S}^{\rm cpo}_{6}\ge 1$}{}
+ {Set of real local parameter arrays. Each element of \listedir{lvaldir} contains a
+ real array containing the tabulated values of the $J$--th local parameter.}
+\IntEnr
+ {DEBARB\blank{6}}{{\tt NVP(1)}$+1$}
+ {- If the node does not correspond to the last parameter:
+ index in {\tt DEBARB} of the first daughter of the node.
+ - If the node correspond to the last parameter: index in
+ {\tt DEBARB} where we recover the index of an elementary
+ calculation.}
+\IntEnr
+ {ARBVAL\blank{6}}{{\tt NVP(1)}}
+ {-For a global parameter: index of the parameter in the \listedir{gvaldir}
+ record (see Table~\ref{tabl:tabglob}).
+ -For a local parameter: index of the parameter in the \listedir{lvaldir} record}
+\IntEnr
+ {ORIGIN\blank{6}}{$\mathcal{S}^{\rm cpo}_{4}$}
+ {Index of the mother elementary calculation. This information is useful to follow the
+ historical relation between calculations.}
+\end{DescriptionEnregistrement}
+
+Item \listedir{lvaldir} represents a set of $\mathcal{S}^{\rm cpo}_{6}$ real records. The name of each
+\listedir{lvaldir} record is a {\tt character*12} variable ({\tt text12})
+composed using the following FORTRAN instruction:
+$$
+\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''pval'',I8.8)')}\: J
+$$
+where $J$ is the index of the local parameter with $1 \leq J \leq \mathcal{S}^{\rm cpo}_{6}$. The local
+parameter values are sorted.
+
+\vskip 0.2cm
+
+The parameter tree has the same number of stages as global {\sl and} local parameters. The local parameters
+always follow the global parameters. For each value of
+the $i$--th parameter, the tree indicates the beginning position of the $(i+1)$--th parameter.
+The arrays {\tt DEBARB} and {\tt ARBVAL} are set to localize the results of an elementary calculation
+identified by a specific parameter tuple.
+
+\vskip 0.2cm
+
+An example of a parameter tree is represented here:
+\begin{verbatim}
+ dn = value in DEBARB, (m) = value in ARBVAL
+
+ Root *(0)
+ !
+ Param. Nb 1 d2(1)
+ -------------------
+ ! !
+ Param. Nb 2 d3(1) 4(2)
+ --------- ---------
+ ! ! ! ! !
+ Param. Nb 3 d5(1) 6(3) d7(1) 8(2) 9(3) d10
+
+ Calculation Nb: 4 5 1 2 3
+
+ DEBARB: 2 3 5 7 10 4 5 1 2 3
+ ARBVAL: 0 1 1 2 1 3 1 2 3
+\end{verbatim}
+
+\vskip 0.2cm
+
+The useful dimensions of variables {\tt DEBARB}, {\tt ARBVAL} and {\tt ORIGIN} in
+Table~\ref{tabl:tabctree} are respectively equal to {\tt NVP(1)}$+1$, {\tt NVP(1)}
+and $\mathcal{S}^{\rm cpo}_{3}$. The allocated sizes may be bigger.
+
+\vskip 0.2cm
+
+Each elementary calculation is fully identified by a parameter tuple (the Fortran array {\tt MUPLET(NPTOT)}), an
+integer array of dimension {\tt NPTOT}$=\mathcal{S}^{\rm cpo}_{5}+\mathcal{S}^{\rm cpo}_{6}$. The first
+$\mathcal{S}^{\rm cpo}_{5}$ components correspond to global parameter indices; the following
+$\mathcal{S}^{\rm cpo}_{6}$ components correspond to local parameter indices. Here, {\tt NVP} represents
+the useful size of the {\tt ARBVAL} array. A recursive procedure is required to search the elementary
+calculation index {\tt ICAL} corresponding to this parameter tuple {\tt MUPLET}. Note that some components of the tuple
+can be set to zero in case where the number of global and local parameters is overdetermined. The recursive function
+is called using
+\begin{verbatim}
+ ICAL=NICAL(1,NVP,NPTOT,DEBARB,ARBVAL,MUPLET)
+\end{verbatim}
+
+\noindent and is implemented in Fortran-90 as
+\begin{verbatim}
+RECURSIVE INTEGER FUNCTION NICAL(II,NVP,NPTOT,DEBARB,ARBVAL,MUPLET) RESULT(ICAL)
+ INTEGER II,NVP,NPTOT,DEBARB(NVP+1),ARBVAL(NVP),MUPLET(NPTOT)
+ IF(NPTOT==0) THEN
+ ICAL=DEBARB(II+1)
+ RETURN
+ ENDIF
+ NBOK=0
+ IKEEP=0
+ DO I=DEBARB(II),DEBARB(II+1)-1
+ IF((MUPLET(1)==0).OR.(MUPLET(1)==ARBVAL(I))) THEN
+ JICAL=NICAL(I,NVP,NPTOT-1,DEBARB,ARBVAL,MUPLET(2))
+ IF(JICAL > 0) THEN
+ IKEEP=JICAL
+ NBOK=NBOK+1
+ ELSE IF(JICAL==-1) THEN
+ NBOK=2
+ ENDIF
+ ENDIF
+ ENDDO
+ IF(NBOK > 1) THEN
+ ! Many elementary calculation exist for this tuple.
+ ICAL=-1
+ ELSE IF(NBOK==0) THEN
+ ! No elementary calculation exists for this tuple.
+ ICAL=0
+ ELSE
+ ICAL=IKEEP
+ ENDIF
+END FUNCTION NICAL
+\end{verbatim}
+
+\vskip 0.2cm
+
+Similarly, another Fortran program can be used to search the parameter tuple corresponding to
+the {\tt ICAL}--th elementary calculation:
+\begin{verbatim}
+SUBROUTINE COMUPL(NVP,NPTOT,ICAL,NCALS,DEBARB,ARBVAL,MUPLET)
+ INTEGER NVP,NPTOT,ICAL,NCALS,DEBARB(NVP+1),ARBVAL(NVP),MUPLET(NPTOT)
+ DO I=NVP-NCALS+1,NVP
+ IF(DEBARB(I+1)==ICAL) THEN
+ I0=I
+ EXIT
+ ENDIF
+ ENDDO
+ MUPLET(NPTOT)=ARBVAL(I0)
+ DO IPAR=NPTOT-1,1,-1
+ DO I=1,NVP-NCALS
+ IF(DEBARB(I+1) > I0) THEN
+ I0=I
+ EXIT
+ ENDIF
+ ENDDO
+ MUPLET(IPAR)=ARBVAL(I0)
+ ENDDO
+END SUBROUTINE COMUPL
+\end{verbatim}
+
+\clearpage