2.9 Iteration scheme and convergence
The system of equations formed by the Poisson and continuity equations are solved in an iterative manner (see Fig. 2.5) based on the work of Gummel. [ 15 ] First, a guess is made for the potential and the carrier densities. With this guess, a correction \(\delta V(x)\) to the potential is calculated from the Poisson equation: this Poisson solver is iterative and keeps on improving the potential until the changes \(\delta V\) become very small (i.e. smaller than \(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} tolPois}}\)). This new potential is then used to update the carrier densities by solving the continuity equations. This process, the main loop, is repeated until convergence is reached.
How do we know when the main loop has converged? Of course, the Poisson solver should have converged. Depending on the numerical settings (see parameter \(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} convVar}}\)), we monitor either the relative change in carrier densities (including the ions), or the error on the current density. We can also choose to do a combination of the two.
If we focus on the carrier densities (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} convVar}}\) = 1), then the iteration stops and convergence is deemed successful if the relative change in the densities is smaller than a preset tolerance (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} tolDens}}\)). Next, the program computes the internal and external current densities and their error. The error (in A/m\(^2\), so it is absolute rather than relative) is based on the root-mean-square deviation of the current from its average value.
Alternatively, if we are mostly interested in the current-voltage characteristic and the internal variables (most notably the carrier and ion densities) are of secondary interest, we can focus on the current density (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} convVar}}\) = 2). In this case, convergence is deemed successful if the relative error in the current is smaller than its tolerance \(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} tolCurr}}\). Please note, that if the current itself is very small (equilibrium conditions), then this is problematic and convergence is successful if the absolute error (so in A/m\(^2\)) is smaller than a constant (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} tolCurrAbs}}\) in DDTypesAndConstants, set to \(q\) A/m\(^2\)).
There are two other options: We can require that the density or the current is sufficiently accurate (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} convVar}}\) = 3), or we require that both criteria are met (\(\mathtt{\require{color}{\color[rgb]{0.000000000000000,0.500000000000000,0.500000000000000} convVar}}\) = 4). The former is somewhat lax. The latter is, of course, more strict. Section 5.3 provides some guidance on the appropriate choice of values for these parameters.