next up previous contents
Next: 4.5.3 PROMIS-NT Model Classes Up: 4.5 The PROMIS-NT Input Deck Previous: 4.5.1 Logical Structure of


4.5.2 PROMIS-NT Process Flow

Besides the knowledge of the input deck structure, the hierarchical information flow, the model developer has also to be aware of the program flow and sequence of Model evaluations to allow for the successful development of diffusion models. The PROMIS-NT process flow can be divided into three major phases:

.
The initialization phase (Fig. 4.4) starts by parsing the complete input deck. In case the optional StartUp Model instance is defined the concerning Model class is immediately instantiated and evaluated. No type requirements or input parameters are defined or demanded for these Model instances. The typical application of a StartUp Model is to prepare input PIF files (Appendix D) or to eventually compile external Model libraries.

Figure 4.4: Program flow of the PROMIS-NT initialization phase from the users point of view
\begin{figure}
\begin{center}
\includegraphics[width=0.94\textwidth]{figures/PromisNT_Flow_Init.eps}\end{center}\end{figure}

The next step is the instantiation and evaluation of the PromisNTSetup Model instance, followed by the definition of all quantities resulting from the evaluation of the QuantityListModel and ChargeStateTableModel instances. After evaluating the ProcessTemperatureModel to obtain the process temperature value for the start time of the simulation and the evaluation of the DeviceSetupModel, the PROMIS-NT process flow continues with the setup of the segment specific Model instances.

All SegmentPreProcessingSetupModel, SegmentCoefficientSetupModel, BoundaryCoefficientSetupModel, and SegmentPostProcessingSetupModel instances will be evaluated by iteration over all ``active'' segments. In this context ``active'' means that within the PromisNTSetup model instance the associative list diffusionModel assigns the Promis model structure to the according segment (Section 4.5.3.5).

The subsequent program loops determine the initial conditions of the differential equation system (4.1) - (4.10). All QuantityInitializationModel instances are evaluated by iterating in the innermost loop over the points of the simulation grid, then over all quantities contained on a single segment. In the outermost loop is performed by iterating over all ``active'' segments.

The initialization phase is concluded by the evaluation of the optional DevicePreProcessingModel instance defined by using the PromisNTSetupModel instance. The purpose of this model is to offer the possibility for interaction with the user in between the quantity initialization and the actual transient simulation such as providing some information about the initial quantity distributions resulting from the setup procedure so far described.

.
The transient simulation (Fig. 4.5) is performed by iterating over all coefficient models defined during the previous initialization phase to compute the coefficient values in (4.1) - (4.10). Again looping is done by first evaluating any model for all points of the simulation grid, repeating this innermost loop for all coefficient models and with the lowest frequency for all ``active'' segments and boundaries. These loops in turn are repeated for all time steps t_k. Due to the time step control mechanisms of the simulator no ordering of subsequent time steps is possible.

Figure 4.5: Program flow of PROMIS-NT during the transient simulation phase from the users point of view
\begin{figure}
\begin{center}
\includegraphics[width=0.94\textwidth]{figures/PromisNT_Flow_Main.eps}\end{center}\end{figure}

.
The post processing phase (Fig. 4.6) shows some similarities to the initialization phase and is used to determine the final values of all quantities which will be written to the resulting PIF file. Therefore a triple loop over all QuantityPostProcessingModel instances is performed analogously to the QuantityPreProcessingModel evaluation loop during the initialization phase. Again an optional DevicePostProcessingModel instance can be used for interacting with the user before the resulting PIF file is generated.

The last possibility to intervene the program flow of PROMIS-NT is to define the optional ShutDownModel instance. Similar to the StartUpModel instance it can for example be used for user defined conversions of the resulting PIF file (Appendix D)

Figure 4.6: Program flow of the PROMIS-NT post processing phase from the users point of view
\begin{figure}
\begin{center}
\includegraphics[width=0.94\textwidth]{figures/PromisNT_Flow_Post.eps}\end{center}\end{figure}


next up previous contents
Next: 4.5.3 PROMIS-NT Model Classes Up: 4.5 The PROMIS-NT Input Deck Previous: 4.5.1 Logical Structure of
Robert Mlekus
1999-11-14