Due to the complex interaction between the coupled partial differential equations the idea of iteration schemes is relatively old. Instead of solving the fully coupled equation system by a Newton method, the equations are solved consecutively in suitable blocks until convergence is reached. A classic example is Gummel's algorithm [18], for other examples see e.g. [127,128,129]. Each of these schemes has its advantages under specific circumstances, e.g. bias conditions and the device type. As it is impossible to implement all useful schemes, a different solution has been sought in Minimos-NT which makes heavy use of its powerful input language. Iteration schemes are defined to consist of iteration blocks. These blocks can be arbitrarily nested. For each block the user can specify:
The iteration blocks are processed in order. Before each iteration the convergence criterion (the while-condition) and the failure criterion of the active block are tested. If the failure criterion evaluates to true the execution is terminated with an error state. If not and the convergence condition evaluates to true another iteration will be performed otherwise the iteration block is terminated successfully and the next block is processed. The conditions can be arbitrary expressions. Normally the runtime information the simulator writes back to the database is used to formulate the conditions.
An iteration block does not need to specify an equation set in which case they are used as grouping constructs. With these features an individual iteration scheme can be tailored to solve even such complex problems as electro-thermal mixed-mode simulations [130].
Robert Klima 2003-02-06