The calculation of fluxes over boundaries and interfaces is of fundamental importance to process and device simulation. These fluxes may be electrical currents, heat fluxes, or particle fluxes. The discussion in this thesis is restricted to device and circuit simulation but it should be mentioned that this approach is generally applicable. In case of mixed-mode device simulation the contact currents and their derivatives with respect to the contact voltages are of utmost importance. They are normally calculated in a post-processing step [39]. The problem can be simplified by using a separate variable for the contact current which was first reported in [14] and [40] in conjunction with a finite differences discretization scheme [56]. This concept has been extended by using separate variables for all fluxes at the contacts. It will be shown that with these fluxes the formulation of boundary conditions is extremely simplified, especially in the case of flux boundary conditions, e.g., current or charge controlled contacts or mixed-mode circuit simulation.
To simplify flux calculation on boundaries and interfaces, a special formulation has been developed and implemented in MINIMOS-NT [15]. The basic idea is to provide a line-transformation matrix which supports arbitrary linear combination of equations. Due to this approach the semiconductor and insulator segments can be modeled by general segment models without considering the boundaries. However, as the segment models only treat points of the same segment, flux conservation is violated at the boundary boxes. The boundary models have to either add the missing flux (Neumann boundary) or provide a substitute equation for the contact quantity (Dirichlet boundary). When providing a substitute equation, the incomplete equation can be reused to calculate the boundary flux. All this is accomplished by the line-transformation matrix which is also used to formulate interface conditions between adjacent segments in a very similar manner. As these substitute equations are not guaranteed to be diagonal-dominant, use of an iterative solver would be problematic. Hence, those equations can be marked for pre-elimination using a Gaussian elimination algorithm. The resulting equation system is solved using a BiCGStab iterative solver [10] and the pre-eliminated quantities are back-substituted.