From bd7171d346ad4f079aa89b2d9fdd6a56aa0a3b1c Mon Sep 17 00:00:00 2001
From: HEBERT Alain <alain.hebert@polymtl.ca>
Date: Tue, 23 Dec 2025 11:34:01 -0500
Subject: Resolve "Depreciate use of Version 4 and 5.0 Draglibs"

---
 doc/IGE335/Section3.11.tex | 125 +++++++++++++++++++++------------------------
 1 file changed, 58 insertions(+), 67 deletions(-)

(limited to 'doc/IGE335/Section3.11.tex')

diff --git a/doc/IGE335/Section3.11.tex b/doc/IGE335/Section3.11.tex
index ce553d8..13c5693 100644
--- a/doc/IGE335/Section3.11.tex
+++ b/doc/IGE335/Section3.11.tex
@@ -1,105 +1,96 @@
-\subsection{The {\tt CRE:} module}\label{sect:CREData}
+\subsection{The \texttt{FPSPH:} module}
 
-The {\tt CRE:} module is used to create or modify an extended {\sc macrolib} (type {\tt L\_MACROLIB}) containing set of interpolated nuclear properties from a {\sc compo} linked list or {\sc xsm} file (type {\tt L\_COMPO}) . The calling specifications are:
-
-\begin{DataStructure}{Structure \dstr{CRE:}}
-\dusa{NAME1} \moc{:=} \moc{CRE:} $[$ \dusa{NAME1} $]$ $[[$ \dusa{NAME2}  $]]$ \moc{::} \dstr{create\_data}
-\end{DataStructure}
-
-\noindent where
-\begin{ListeDeDescription}{mmmmmmmm}
-
-\item[\dusa{NAME1}] {\tt character*12} name of the linked list or {\sc xsm} file (type {\tt L\_MACROLIB}) containing the extended {\sc macrolib}. If \dusa{NAME1} appears on the RHS, the information previously stored in \dusa{NAME1} is kept.
-
-\item[\dusa{NAME2}] {\tt character*12} name of the linked list or {\sc xsm} file (type {\tt L\_COMPO}) containing a single {\sc compo}.
-
-\item[\dstr{create\_data}] structure containing the data to module {\tt CRE:}.
-
-\end{ListeDeDescription}
+The {\tt FPSPH:} module performs a single SPH iteration. This module is intended to be used in a {\tt REPEAT UNTIL}
+loop, implemented in CLE-2000 macro-language, where the macro calculation is explicitely called, as depicted in
+Fig.~\ref{fig:fig_fpsph}.
 
 \vskip 0.2cm
 
-\subsubsection{Data input for module {\tt CRE:}}
+\begin{figure}[h!]
+\begin{center}
+\includegraphics[scale=0.85]{fpsph.eps} 
+\caption{Fixed point SPH iterations.}\label{fig:fig_fpsph}
+\end{center}
+\end{figure}
 
-\begin{DataStructure}{Structure \dstr{create\_data}}
-$[$ \moc{EDIT} \dusa{iprint} $]$ \\
-$[$ \moc{NMIX} \dusa{nmixt} $]$ \\
-\moc{READ} $[[$ \moc{COMPO} \dusa{NAME2} \dstr{interp\_data} $]]$
+The calling specifications are:
+
+\begin{DataStructure}{Structure \moc{FPSPH:}}
+\dusa{OPTIM} \moc{:=} \moc{FPSPH:} $[$ \dusa{OPTIM} $]$ \dusa{MACROLIB} \dusa{MACROREF} \moc{::} \dstr{fpsph\_data}
 \end{DataStructure}
 
-\goodbreak
 \noindent where
-\begin{ListeDeDescription}{mmmmmmmm}
-
-\item[\moc{EDIT}] key word used to set \dusa{iprint}.
-
-\item[\dusa{iprint}] index used to control the printing in module {\tt
-CRE:}. =0 for no print; =1 for minimum printing (default value); Larger values produce increasing amounts of output.
 
-\item[\moc{NMIX}] key word used to define the number of material mixtures. This data is given if and only if \dusa{NAME1} is created.
+\begin{ListeDeDescription}{mmmmmmmm}
 
-\item[\dusa{nmixt}] the maximum number of material mixtures (a material mixture is characterized by a distinct set of macroscopic cross sections). 
+\item[\dusa{OPTIM}] \texttt{character*12} name of the \dds{optimize} object ({\tt L\_OPTIMIZE} signature) containing the
+SPH factors. At the first call, object \dusa{OPTIM} must appear on LHS to receive its initial values. On subsequent calls, object
+\dusa{OPTIM} must appear on both LHS and RHS to be able to update the previous values.
 
-\item[\moc{READ}] key word used to read the {\sc macrolib} specifications (burnup, neutron exposure, number densities) from the input data file.
+\item[\dusa{MACROLIB}] \texttt{character*12} name of the read-only extended \dds{macrolib} object ({\tt L\_MACROLIB} signature) containing the
+macroscopic cross sections used by the macro-calculation and fluxes produced by the macro-calculation.
 
-\item[\moc{COMPO}] key word used to select a {\sc compo} and to set the interpolation information.
+\item[\dusa{MACROREF}] \texttt{character*12} name of the read-only extended \dds{macrolib} object ({\tt L\_MACROLIB} signature) containing the
+reference macroscopic cross sections and fluxes.
 
-\item[\dusa{NAME2}] {\tt character*12} name of the linked list or {\sc xsm} file (type {\tt L\_COMPO}) containing the selected {\sc compo}.
+\item[\dstr{fpsph\_data}] structure containing the data to the module \texttt{FPSPH:} (see Sect.~\ref{sect:lnsr_data}).
 
-\item[\dstr{interp\_data}] structure containing the interpolation data. This structure is defined as
 \end{ListeDeDescription}
+\clearpage
 
-\begin{DataStructure}{Structure \dstr{interp\_data}}
-$[[$ \moc{MIX} \dusa{matnum} \dusa{HTYPE}$~[$ \moc{DERIV} $]$ \\
-$[$ $\{$ \moc{BURNUP} \dusa{burn} $|$ \moc{N/KB} \dusa{xnkb} $|$ \moc{T-BURNUP} \dusa{burn0} \dusa{burn1} $|$ \moc{T-N/KB} \dusa{xnkb0} \dusa{xnkb1} $\}$ $]$ \\
-$[$ \moc{MICRO} $\{$ $[[$ \dusa{HISO}  $\{$ \dusa{conc} $|$ \moc{*} $\}$ $]]~$ $|$ \moc{ALL} $\}$ $]$ \\
-\moc{ENDMIX} $]]$
-\end{DataStructure}
+\subsubsection{Data input for module \texttt{FPSPH:}}\label{sect:lnsr_data}
 
-\goodbreak
+\begin{DataStructure}{Structure \moc{fpsph\_data}}
+$[$ \moc{EDIT} \dusa{iprint} $]$ \\
+$[~$\moc{SPH} $\{$ \moc{PN} $|$ \moc{SN} $\}~]$ \\
+$[$ \moc{GRPMIN} \dusa{ngr1} $]~[$ \moc{GRPMAX} \dusa{ngr2} $]$\\
+$[$ \moc{OUT-STEP-EPS} \dusa{$\epsilon_{ext}$} \\
+$[$ \moc{VAR-VAL-MIN} \dusa{varmin} $]~[$ \moc{VAR-VAL-MAX} \dusa{varmax} $]$ \\
+$[$ \moc{OUT-CONV-TST} {\tt >>} \dusa{$l_{conv}$} {\tt <<} $[$ {\tt >>} \dusa{$rms_{conv}$} {\tt <<} $]~]$ \\
+;
+\end{DataStructure}
 \noindent where
 \begin{ListeDeDescription}{mmmmmmmm}
 
-\item[\moc{MIX}] key word used to set \dusa{matnum}.
-
-\item[\dusa{matnum}] identifier for the material mixture to be created. The maximum number of identifiers permitted is \dusa{nmixt} and the maximum value that \dusa{matnum} may have is \dusa{nmixt}.
-
-\item[\dusa{HTYPE}] name of the material mixture. Each name refers to a type of nuclear data that is stored on a directory in the {\sc compo} linked list or {\sc xsm} file. \dusa{HTYPE} is a {\tt character*12} name built from the concatenation {\sl HCOMPO//HIORD} where \dusa{HCOMPO} is an {\sc ascii} name with a maximum of 8 characters and {\sl HIORD} is a four digit suffix with value {\tt '~~~1'}, {\tt '~~~2'}, {\tt '~~~3'}, etc., indicating the material mixture index.
+\item[\moc{EDIT}] keyword used to set \dusa{iprint}.
 
-\item[\moc{DERIV}] key word used to compute the derivative of the {\sc macrolib} information with respect to \dusa{burn}, \dusa{xnkb}, \dusa{burn1} or \dusa{xnkb1}. By default, the {\sc macrolib} information is not differentiated.
+\item[\dusa{iprint}] index used to control the printing in module.
 
-\item[\moc{BURNUP}] key word used to perform a single interpolation and to set the burnup value \dusa{burn}. By default, the {\sc macrolib} information is computed for $burn=xnkb=0.0$.
+\item[\moc{PN}] keyword to activate a calculation of heterogeneous SPH factors of diffusion, PN or SPN type.
 
-\item[\dusa{burn}] value of the burnup in MW day per tonne of initial heavy elements.
+\item[\moc{SN}] keyword to activate a calculation of heterogeneous SPH factors of PIJ, IC, SN or MOC type.
+This is the default option.
 
-\item[\moc{N/KB}] key word used to perform a single interpolation and to set the neutron exposure value \dusa{xnkb}.
+\item[\moc{GRPMIN}] keyword used to set the first energy group where SPH correction is applied. By default,
+the first energy group index is used.
 
-\item[\dusa{xnkb}] value of the neutron exposure in neutron/kb.
+\item[\dusa{ngr1}] minimum energy group index where SPH correction is applied.
 
-\item[\moc{T-BURNUP}] key word used to perform a time averaged {\sc macrolib} evaluation and to set the burnup values \dusa{burn0} and \dusa{burn1}.
+\item[\moc{GRPMAX}] keyword used to set the last energy group where SPH correction is applied. By default,
+the total number of energy groups in \dusa{MACROLIB} is used.
 
-\item[\dusa{burn0}] initial value of the burnup in MW day per tonne of initial heavy elements.
+\item[\dusa{ngr2}] maximum energy group index where SPH correction is applied.
 
-\item[\dusa{burn1}] final value of the burnup in MW day per tonne of initial heavy elements.
+\item[\moc{OUT-STEP-EPS}] keyword used to set the tolerance of SPH iteration convergence inside module {\tt FPSPH:} (default value
+is $1.0 \times 10^{-4}$).
 
-\item[\moc{T-N/KB}] key word used to perform a time averaged {\sc macrolib} evaluation and to set the neutron exposure values \dusa{xnkb0} and \dusa{xnkb1}.
+\item[\dusa{$\epsilon_{ext}$}] tolerance value (real or double precision).
 
-\item[\dusa{xnkb0}] initial value of the neutron exposure in neutron/kb.
+\item[\moc{VAR-VAL-MIN}] keyword to specify the minimum values of the SPH factors. These values can also be set in a previous call
+to module {\tt GRAD:}.
 
-\item[\dusa{xnkb1}] final value of the neutron exposure in neutron/kb.
+\item[\dusa{varmin}] single real value used for all SPH factors.
 
-\item[\moc{MICRO}] key word used to set the number densities of the extracted isotopes present in the {\sc compo} linked list or {\sc xsm} file. By default, the extracted isotopes are not added to the resulting {\sc macrolib}.
+\item[\moc{VAR-VAL-MAX}] keyword to specify the maximum values of the SPH factors. These values can also be set in a previous call
+to module {\tt GRAD:}.
 
-\item[\dusa{HISO}] {\tt character*12} name of an extracted isotope.
+\item[\dusa{varmax}] single real value used for all SPH factors.
 
-\item[\dusa{conc}] user-defined value of the number density (in $10^{24}$ particles per ${\rm cm}^3$) of the extracted isotope.
+\item[\moc{OUT-CONV-TST}] keyword used to determine if the SPH convergence has been reached.
 
-\item[\moc{*}] the value of the number density for isotope \dusa{HISO} is recovered from the {\sc compo}.
+\item[\dusa{$l_{conv}$}] $=1$ means that SPH convergence has been reached; $=0$ otherwise.
 
-\item[\moc{ALL}] all the values for the number densities are recovered from the {\sc compo}.
-
-\item[\moc{ENDMIX}] end of specification key word for the material mixture.
+\item[\dusa{$rms_{conv}$}] RMS error of the converged SPH factors.
 
 \end{ListeDeDescription}
-
-\eject
+\clearpage
-- 
cgit v1.2.3

