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
orno
- 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
orno
- 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
orno
- 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
orno
(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
orno
- 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
orno
- 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\).