MINIMOS-NT has been equipped with an interactive mode. Whereas the conventional operation mode is batch-oriented, the user is now able to influence the simulator settings while the simulation is still running. The simulator is started as usual, so an input-deck is read which contains the complete set of parameters the simulator requires for all kinds of simulations. Actually, there would be no additional user input necessary.
The basic motivation for an interactive mode is related to the various output and logging functions of MINIMOS-NT, which are normally annoying and thus deactivated. Unfortunately, these functions would be of great interest in case problems like non-converging Newton iteration steps occur. In former versions of MINIMOS-NT, it was necessary to restart the complete simulation process in order to have the respective logging activated, for example that of the update norms. This could be even more annoying in case of long steppings or very time consuming three-dimensional or mixed-mode simulations. So the idea of an interactive mode came into mind, which would allow to change the input-deck database during simulation.
A typical scenario is then as follows: MINIMOS-NT is started with an input-deck which specifies a three-dimensional simulation. The first steps, which take several hours, run very well, but then convergence problems are encountered. The user, who was glad about a concise simulator output up to now, normally wants then to see the update norms of all quantities, since this would help to identify the problematic region and/or carrier in the device. The user knows about the interactive mode, presses CTRL-C and after a while a prompt is offered.
Received signal, waiting to enter interactive mode ... Interactive Mode (h for help) ~ > ~ > h h [command] ... print help message c ... continue q ... quit without saving anything cs [dir] ... change current section in input-deck cd [dir] ... change current directory in input-deck ls [dir] ... list given section, else current section alias command ... create an alias (alias x=y;) saveAlias ... save all aliases in .mmi_alias show [item] ... show information on a variable/section showComment [item] ... show information on a variable/section with comment parse command ... parse ipd/ipl command
By issuing ``h'', the list as shown above is offered. The user can now go to the Log section of the input-deck and can set updateInfo to yes.
~ > cd Log ~Log > show ============================================================================ Item: ~Log Type: section Name: Log Fullname: ~Log File:Line: /iuehome/wagner/vproject/mmnt/defaults/root.ipd: 251 Parent: ~ (base section) Ancestor: LogDefaults ---------------------------------------------------------------------------- Type Name Vartype Value Unit ---------------------------------------------------------------------------- variable allTerminalQuantities Boolean true ... variable updateInfo Boolean false variable writeAuxiliary Boolean false variable writeComplex Boolean false ============================================================================ ~Log > ~Log > parse updateInfo = yes; ~Log > show ============================================================================ Item: ~Log ... variable updateInfo Boolean true variable writeAuxiliary Boolean false variable writeComplex Boolean false ============================================================================ ~Log > ~Log > c Continuing ...
This version of the interactive mode offers that specific show capability which also takes all inheritances within the input-deck database into account. In addition, the parsing of complete IPL commands is provided. While these capabilities are deactivated by default, they are automatically enabled when a given number of steps has been exceeded.
The user is able to influence the complete parameter database. This does not make sense for the majority of parameters (for example model parameters), but it might be useful to inquire them on a read-only bases. Furthermore, the interface between the simulator and the input-deck database has to be improved that more keywords are inquired during the simulation process. A prominent example is the choice of the solver for linear equation systems.