Numerical Control

minimum_density (optional)

Improves condition number of current equation matrix.

value:

double

default:

1e10 # [cm^-3]

example:

1e11 # [cm^-3]

Attention

1e12 [cm^-3] seems to be too high. 1e-10 is the smallest possible value, smaller values are just automatically increased to 1e-10 without warning. Minimum charge carrier density (lower limit) for both electrons and holes that can appear in drift-diffusion current equations. The minimum density might have to be increased in order to obtain convergence for the drift-diffusion current equations. The minimum density should be as low as possible. The minimum density can be chosen as large as possible but should be smaller than the minimum density in the converged result. As the drift-diffusion current is proportional to the charge carrier density, this eventually also sets the lower limit of the current. The minimum density is a useful flag for structures where regions are present that have almost no density (e.g. a barrier, or insulator). If the density in such an insulator is below 1 - 10^3 [cm^-3], the product of \(\mu n\) in the drift-diffusion current equation varies over several orders of magnitude. Consequently, the matrix used in the linear solver is not well conditioned. Here, the current through these insulating regions is basically zero which has implications on the convergence behavior of the drift-diffusion current equations. Increasing the minimum density will help in these cases. A useful value for the minimum density of a certain material depends on the band gap because its intrinsic density also depends on the band gap. A wide-band gap material has a much lower intrinsic density than a low-band gap material.

Note

Minority carriers in highly doped semiconductors or carriers in undoped wide-band gap semiconductors have extremely small equilibrium densities (much less than 1.0 cm^-3), resulting in complete breakdown of the solvers for current equation due to underflow. Unfortunately, it is not clear whether quadruple precision would cure this problem. Also, it seems unphysical to believe that one carrier per kilometer can be physically relevant (aside from the rather practical issue that real-life minority carrier densities are not in thermal equilibrium and thus never become as small as predicted). Therefore, we modified the code (2019-01-23) to make sure that the minimum density parameter as specified for the current equation is not smaller than 10^-10 cm^-3 (this value corresponds to a conductivity 10 orders of magnitude lower than the best insulators). At the same time, we left the minimum value in the syntax definition unchanged as 0.0 in order to avoid users getting annoying error messages when they experimentally set the value to zero (zero will just be silently increased to 1e-10). For systems without extremely low carrier densities, results will not be affected by this change.

minimum_density_factor (optional)

Allows defining separate minimum densities for electrons and holes

value:

double array

default:

[ 1.0 , 1.0 ] # [cm^-3]

example:

[ 1.0 , 0.01 ] # [cm^-3]

Here, the two numbers for minimum_density_factor defines scaling factors by which the minimum density is multiplied for electrons and for holes. For example, a minimum density of 1e10 [cm^-3] for electrons and 1e8 [cm^-3] for holes could be defined e.g. as

minimum_density        = 1e10            # [cm^-3]
minimum_density_factor = [1.0 , 0.01]    # [cm^-3]

or

minimum_density        = 1e9             # [cm^-3]
minimum_density_factor = [10 , 0.1]      # [cm^-3]

or, most conveniently,

minimum_density        = 1.0             # [cm^-3]
minimum_density_factor = [1e10 , 1e8]    # [cm^-3]

Irrespective of the definition, the actually used values for the minimum densities are output close to the beginning of the log file.

maximum_density (optional)

analogous to minimum_density

value:

double

default:

1e30 # [cm^-3]

maximum_density_factor (optional)

analogous to minimum_density

value:

double array

default:

[ 1.0 , 1.0 ] # [cm^-3]

Note

Note that the minimum/maximum densities only affect the current operators (\(\nabla \mu n \nabla\)) and corresponding currents (\(e \mu n \nabla\)), thus, they have no direct influence on recombination (unless minimal_recombination = yes), computed densities, Poisson equation, etc. Also, when restricting effective densities in the current equations from above and/or below, please think first whether and in which way such restriction affects the physics: Increasing minimum densities make insulating regions less insulating, whereas decreasing maximum densities make conducting regions less conducting.

minimal_recombination (optional)

If enabled, the minimum densities will also apply to the recombination/generation terms of the current equation.

value:

yes or no

default:

no

electron_contact (optional)

Current equation for electrons around a contact having a name assigned to electron_contact is solved with enhanced accuracy.

type:

string

values:

names referring to defined contacts

hole_contact (optional)

Current equation for holes around a contact having a name assigned to hole_contact is solved with enhanced accuracy.

type:

string

values:

names referring to defined contacts