From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- doc/IGE335/Section2.02.tex | 83 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 doc/IGE335/Section2.02.tex (limited to 'doc/IGE335/Section2.02.tex') diff --git a/doc/IGE335/Section2.02.tex b/doc/IGE335/Section2.02.tex new file mode 100644 index 0000000..29c4de7 --- /dev/null +++ b/doc/IGE335/Section2.02.tex @@ -0,0 +1,83 @@ +\subsection{DRAGON Data Structure and Module Declarations}\label{sect:StrucMod} + +DRAGON is built around the Ganlib kernel and its modules can be called from CLE-2000.\cite{ganlib5,cle2000} +Accordingly, all the modules that will be used during the current execution must +be first identified. One must also define the format of each data structure that +will be processed by these modules. Then, the modules required for the specific +DRAGON calculation are called successively, information being +transferred from one module to the next via the data structures. Finally, +the execution of DRAGON is terminated when it encounters the \moc{END:} module +even if it is followed by additional data records in the input data stream. The +general input data structure therefore follows the calling specifications given +below: + +\begin{DataStructure}{Structure \dstr{DRAGON}} +$[$ \moc{MODULE} $[[$ \dusa{MODNAME} $]]$ \moc{;} $]$ \\ +$[$ \moc{LINKED\_LIST} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\ +$[$ \moc{XSM\_FILE} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\ +$[$ \moc{SEQ\_BINARY} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\ +$[$ \moc{SEQ\_ASCII} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\ +$[[$ \dstr{module} \moc{;} $]]$ \\ +\moc{END:} \moc{;} +\end{DataStructure} + +\noindent where +\begin{ListeDeDescription}{mmmmmmmm} + +\item[\moc{MODULE}] keyword used to specify the list of modules to be used in +this DRAGON execution. + +\item[\dusa{MODNAME}] {\tt character*12} name of a DRAGON or utility module. +The list of DRAGON module is provided in \Sect{DragonModules} while the list of +Utility module is described in \Sect{UtilityModules}. By default a ` ' module +is always available (see \Sectand{UtilityModules}{EQUData}). + +\item[\moc{LINKED\_LIST}] keyword used to specify which data structures will +be stored in linked lists. + +\item[\moc{XSM\_FILE}] keyword used to specify which data structures will be +stored on XSM format files. + +\item[\moc{SEQ\_BINARY}] keyword used to specify which data structures will be +stored on sequential binary files. + +\item[\moc{SEQ\_ASCII}] keyword used to specify which data structures will be +stored on sequential ASCII files. + +\item[\dusa{STRNAME}] {\tt character*12} name of a DRAGON data structure. +Note that on MVS file names are truncated to 7 characters due to a constraint of +this operating system. The list of DRAGON data structure is presented in +\Sect{DragonDataStructures}. + +\item[\dstr{module}] input specifications for a DRAGON or utility module. For +the DRAGON specific modules these input structures will be defined in +\Sect{DragonModuleInput}. For utility modules, the required structures are +described in \Sect{UtilityModuleInput}. + +\item[\moc{END:}] keyword to call the normal end-of-execution utility module. + +\item[\moc{;}] end of record keyword. This keyword is used by DRAGON to +delimit the part of the input data stream associated with each module. + +\end{ListeDeDescription} + +Note that the user generally has the choice to declare most of the data +structures in the format of a linked list to reduce CPU times or as a XSM +file to reduce memory resources. Some exceptions to this general rule are +the tracking files as we will see in \Sect{TRKData}. In general, the data +structure are stored on the sequential ASCII files only for backup purposes. + +\vskip 0.2cm + +The input data normally ends with a call to +the \moc{END:} module (see \Sect{ENDData}). However, the GAN driver will insert +automatically the +\moc{END:} module, even if it was not provided, upon reaching an end-of-file in +the input stream. + +\vskip 0.2cm + +Each \dstr{module} specification contains a description of the execution modules to +be called and its associated input structure. All these +modules, except the \moc{END:} module may be called more than once. + -- cgit v1.2.3