We describe an adaptive grid method-of-lines (MOL) solution procedure for modelling charge transport and recombination in organic semiconductor devices. The procedure we describe offers an efficient, robust and versatile means of simulating semiconductor devices that allows for much simpler coding of the underlying equations than alternative simulation procedures. The MOL technique is especially well-suited to modelling the extremely stiff (and hence difficult to solve) equations that arise during the simulation of organic—and some inorganic—semiconductor devices. It also has wider applications in other areas, including reaction kinetics, combustion and aero- and fluid dynamics, where its ease of implementation also makes it an attractive choice. The MOL procedure we use converts the underlying semiconductor equations into a series of coupled ordinary differential equations (ODEs) that can be integrated forward in time using an appropriate ODE solver. The time integration is periodically interrupted, the numerical solution is interpolated onto a new grid that is better matched to the solution profile, and the time integration is then resumed on the new grid. The efficacy of the simulation procedure is assessed by considering a single layer device structure, for which exact analytical solutions are available for the electric potential, the charge distributions and the current–voltage characteristics. Two separate state-of-the-art ODE solvers are tested: the single-step Runge–Kutta solver Radau5 and the multi-step solver ODE15s, which is included as part of the Matlab ODE suite. In both cases, the numerical solutions show excellent agreement with the exact analytical solutions, yielding results that are accurate to one part in 1 × 104. The single-step Radau5 solver, however, is found to provide faster convergence since its efficiency is not compromised by the periodic interruption of the time integration when the grid is updated.
You have access to this article
Please wait while we load your content...
Something went wrong. Try again?