classical{}

specifies which bands enter classical densities and dopant densities.

classical{
    # conduction bands
    Gamma{
        output_bandedge{
            averaged = yes
        }
    }
    L{     output_bandedge{ ... } }
    X{     output_bandedge{ ... } }     # or Delta{ output_bandedge{ ... } }

    # valence bands
    HH{    output_bandedge{ ... } }
    LH{    output_bandedge{ ... } }
    SO{    output_bandedge{ ... } }

    #Further output definitions
    output_bandedges{
        profiles = "Gamma HH LH"
        averaged =  yes
    }

    output_bandgap{
        averaged =  yes
    }

    output_carrier_densities{}

    output_ionized_dopant_densities{}

    output_intrinsic_density{
        boxes = yes
    }

    output_energy_resolved_densities{}

    energy_distribution{
        min = -5.0
        max =  5.0
        energy_resolution = 0.1
        only_quantum_regions = yes
    }

    energy_resolved_density{
        min = -5.0
        max =  5.0
        energy_resolution = 0.1
        only_quantum_regions = yes
    }

    output_photon_density = yes
    output_power_density  = yes

    # Carrier statistics for classical densities
    carrier_statistics = fermi_dirac
}

Below are various variables and functions to be used inside classical{}.

Conduction bands

Gamma{}

at Gamma point

output_bandedge{}

output band edge of this band in a single file [eV]

averaged
value:

yes or no

default:

yes

  • yes : for each grid point the band edge will be averaged between neighboring material grid points. (averaged = yes is similar to ‘boxes = no’. Note that ‘boxes’ is related to output of material grid points while averaged is related to output of simulation grid points.)

  • no : abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight points for each grid point)

Warning

2D and 3D simulations can produce a lot of output data (~order of GB). In order to avoid excessive consumption of your hard disk, it is strongly recommended to use averaged = yes for 2D and 3D simulations.

L{}

at X point; does not apply to wurtzite materials

output_bandedge{}

analogous usage as above

X{}

at X point; does not apply to wurtzite materials; for all materials other than Si, Ge, GaP

output_bandedge{}

analogous usage as above

or

Delta{}

at Delta point; for Si, Ge, GaP

output_bandedge{}

analogous usage as above

Valence bands

HH{}

heavy hole

output_bandedge{}

analogous usage as above

LH{}

light hole

output_bandedge{}

analogous usage as above

SO{}

split-off hole (or crystal-field split-off hole in wurtzite)

output_bandedge{}

analogous usage as above

Further output definitions

output_bandedges{}

output all (relevant) band edges and (relevant) Fermi levels in one file named ‘bandedges.’ [eV].

profiles

Enumerate relevant band edges for output. If profiles are not defined, all band edges are written out.

options:

Gamma X Delta L HH LH SO electron_fermi_level hole_fermi_level

example:

profiles = "Gamma HH LH"

averaged
value:

yes or no

default:

yes

  • yes : for each grid point the band edges will be averaged between neighboring material grid points. (averaged = yes is similar to ‘boxes = no’. Note that ‘boxes’ is related to output of material grid points while averaged is related to output of simulation grid points.)

  • no : abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight points for each grid point)

output_bandgap{}

output band gaps for Gamma, L, X (or Delta) bands with reference to the highest valence band edge. Additionally the difference between the lowest conduction band and the highest valence band edges is written out: MIN(Gamma,L,X (or Delta)) - MAX(hh,lh,so) [eV]

averaged
value:

yes or no

default:

yes

  • yes : for each grid point the band gaps will be averaged between neighboring material grid points. (averaged = yes is similar to ‘boxes = no’. Note that ‘boxes’ is related to output of material grid points while averaged is related to output of simulation grid points.)

  • no : abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight points for each grid point)

output_carrier_densities{}

output electron and hole densities [\(10^{18}/\mathrm{cm}^3\)]

The units for the output file total_charges.txt are

  • electrons \(/\mathrm{cm}^2\) (1D simulation)

  • electrons \(/\mathrm{cm}\) (2D simulation)

  • electrons (3D simulation)

output_ionized_dopant_densities{}

output ionized dopant densities [\(10^{18}/\mathrm{cm}^3\)]

The ionized acceptor and donor densities are written to these files:

  • density_acceptor_ionized.dat

  • density_donor_ionized.dat

output_intrinsic_density{}

output intrinsic density [\(1/\mathrm{cm}^3\)]

boxes
value:

= yes or no

(optional) For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)

output_energy_resolved_densities{}

output energy-resolved densities \(n(x,E)\), \(p(x,E)\) in units of [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 1D, [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 2D, and [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 3D.

energy_distribution{}

output integrated electron and hole density as a function of energy, \(n(E)\), \(p(E)\) in units of [\(\mathrm{cm}^{-2}\mathrm{eV}^{-1}\)] in 1D, [\(\mathrm{cm}^{-1}\mathrm{eV}^{-1}\)] in 2D, and [\(\mathrm{eV}^{-1}\)] in 3D.

min

minimum energy [eV] (required)

value:

double

default:

-10.0

max

maximum energy [eV] (required)

value:

double

default:

5.0

energy_resolution (optional)

energy spacing [eV]

value:

double

default:

0.1

only_quantum_regions (optional)
value:

yes or no

default:

no

only_quantum_regions can be used to suppress contributions from outside the quantum regions of interest. This works even if quantum mechanics is not enabled in run{}

Note

Note that energy_distribution{}, which directly calculates the space-integrated energy-resolved density, is independently of the group energy_resolved_density{}. Incidentally, it also runs much faster and needs much less memory for the same energy spacing.

energy_resolved_density{}

output electron and hole density as a function of energy and position, \(n(x,E)\), \(p(x,E)\) in units of [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 1D, [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 2D, and [\(\mathrm{cm}^{-3}\mathrm{eV}^{-1}\)] in 3D.

min

minimum energy [eV] (required)

value:

double

default:

-10.0

max

maximum energy [eV] (required)

value:

double

default:

5.0

energy_resolution

energy spacing [eV] (optional)

value:

double

default:

0.1

only_quantum_regions
value:

yes or no

default:

no

consider only quantum regions (optional), can be used to suppress contributions from outside the quantum regions of interest. This works even if quantum mechanics is not enabled in run{}

Note

  • min, max always refer to a zero point at the (local) conduction band edge, and not to the photon energy.

  • max should be set high enough above 0 to contain all occupied electron states and min should be set far enough below -bandgap to contain all occupied hole states.

  • The respective values for energy_resolution should be set smaller than \(k_BT\) if one wishes to fully resolve the structures of the integrated densities and/or of the emission spectra.

  • However, while setting energy_resolution in energy_distribution{} as low as 0.001 eV has little influence on program execution time, using similarly small values for energy_resolution in energy_resolved_density{} will result in massive slowdowns (and in 3D also in massive memory use), since the computational effort for obtaining emission spectra grows quadratically with the number of energy bins.

Carrier statistics for classical densities

carrier_statistics
options:

fermi_dirac maxwell_boltzmann

default:

fermi_dirac

Optionally, one can use Maxwell-Boltzmann statistics for the classical densities (not recommended as this is only an approximation which is only applicable in certain cases).

In order to maintain consistency, also the (integrated) energy distribution (density_vs_energy) and the classical emission spectra and densities are computed using the same statistics. Use together with quantum regions is possible but not recommended, and convergence of the current-Poisson or quantum-current-Poisson equation may become worse (please readjust convergence parameters accordingly).

Note

  • \(n=N_c\ \mathcal{F}_{1/2}\left(\frac{E_F-E_c}{k_BT}\right)\) (electron density for fermi_dirac)

  • \(p=N_c\ \mathcal{F}_{1/2}\left(\frac{E_v-E_F}{k_BT}\right)\) (hole density for fermi_dirac)

  • \(n=N_c\exp\left(\frac{E_F-E_c}{k_BT}\right)\) (electron density for maxwell_boltzmann)

  • \(p=N_c\exp\left(\frac{E_v-E_F}{k_BT}\right)\) (hole density for maxwell_boltzmann)

  • where \(\mathcal{F}_n(E)\) is a Fermi-Dirac integral of the order \(n\).