Initialization and Debugging

debuglevel (optional)

The higher this integer number, the more information on the numerical solver is printed to the screen output. Increasing the respective debuglevel to 2 or more significantly increases the volume of the diagnostic output displayed in nextnanomat (or a shell window). As result of the additional I/O load, particularly 1D simulations will slow down correspondingly (especially for currents{} and poisson{} (optional)).


integer value between [-1,3]



insulator_bandgap (optional)

\(I_{\text{gap}}\) affects initial solution of Fermi level.

A large value (relative to band gap) of \(I_{\text{gap}}\) lets Fermi level drop continuously. A small value of \(I_{\text{gap}}\) lets Fermi level drop in barrier and makes it flat in small band gap regions. A better, more meaningful, name for insulator_bandgap might have been initial_energy_scale.

The drift-diffusion current equation reads \(\text{div} \left( \mu n \nabla E_{\text{F}} \right) = G-R\). In order to calculate the density \(n\), we have to know the quasi-Fermi level \(E_{\text{F}}\). Approxismately, the intrinsic density exponentially depends on the band gap \(E_{\text{gap}}\). Therefore we apply a trick, and use \(\text{div} \exp \left( E_{\text{gap}} / I_{\text{gap}} \right) \nabla E_{\text{F}} = 0\) in order to find a first approximation to the quasi-Fermi level, where \(I_{\text{gap}}\) can be entered in the input file (insulator_bandgap) to adjust the convergence behavior of the initial solution.




1.0 # [eV]


0.5 # [eV]