summaryrefslogtreecommitdiff
path: root/doc/IGE335/Section2.02.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/IGE335/Section2.02.tex')
-rw-r--r--doc/IGE335/Section2.02.tex83
1 files changed, 83 insertions, 0 deletions
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.
+