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 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 18.104.22.168).
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 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)