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/SectDcompo.tex | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'doc/IGE351/SectDcompo.tex')
| -rw-r--r-- | doc/IGE351/SectDcompo.tex | 417 |
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 |
