Up
| | This is the old documentation.
Here's the link to the new documentation.
classical{}
Specifies which bands enter classical densities
and dopant densities. Only the bands specified are included in the simulation.
classical{
Conduction bands:
Gamma{
# at Gamma point
output_bandedge{
# output band edge of this band in a single file [eV]
averaged = yes
# for each grid point the
band edge will be averaged between neighboring material grid points (default:
yes )
= no
# abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight
points for each grid point)
}
# (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.)
}
# 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{
output_bandedge{ ... } }
# at L point; does not apply to wurtzite materials
X{
output_bandedge{ ... } }
# at X point; does not apply to wurtzite materials; for all materials
other than Si, Ge, GaP
or
Delta{
output_bandedge{ ... } }
# at Delta point; for Si, Ge, GaP
Valence bands:
HH{
output_bandedge{ ... } }
# heavy hole
LH{
output_bandedge{ ... } }
# light hole
SO{
output_bandedge{ ... } }
# split-off hole (or crystal-field split-off hole in wurtzite)
Further output definitions
output_bandedges{
# output all (relevant) band edges and (relevant) Fermi levels in one
file named 'bandedges.*' [eV]
profiles = "Gamma" # enumerate relevant band edges for output. If profiles are not defined, all band edges are written out.
"X"
"Delta"
"L"
"HH"
"LH"
"SO"
"electron_fermi_level"
"hole_fermi_level"
Example:
profiles = "Gamma HH
LH"
averaged = yes
#
for each grid point the
band edges will be averaged between neighboring material grid points (default)
= no
# abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight
points for each grid point)
# ( '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.)
}
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 = yes
# for each grid point the
band gaps will be averaged between neighboring material grid points (default)
= no
# abrupt discontinuities at interfaces (in 1D two points, in 2D four points, in 3D eight
points for each grid point)
# ( '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.)
}
output_carrier_densities{}
# output electron and hole densities [1018/cm3]
# The units for the output file
total_charges.txt are
# electrons/cm2 (1D simulation),
# electrons/cm (2D simulation),
# electrons
(3D simulation).
output_ionized_dopant_densities{}
# output ionized dopant densities [1018/cm3]
# 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/cm3]
boxes = yes/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
[cm-3 eV-1] in 1D, [cm-3 eV-1] in 2D, and [cm-3 eV-1] in 3D.
energy_distribution{
# output integrated electron and hole density as a function of energy, n(E), p(E)
in units of
[cm-2 eV-1] in 1D, [cm-1 eV-1]
in 2D, and [eV-1] in 3D.
min = -5.0
# minimum energy [eV] (required, default:
-10.0 )
max = 5.0
# maximum energy [eV] (required, default:
5.0 )
energy_resolution =
0.1 #
energy spacing [eV] (optional, default:
0.1 )
only_quantum_regions =
yes #
consider only quantum regions (optional, default:
no ), 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 that energy_distribution{} ,
which directly calculates the space-integrated energy-resolved density,
is logically independent
# from the two groups energy_resolved_density{}
and emission_spectrum{} .
# 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
[cm-3 eV-1] in 1D, [cm-3 eV-1] in 2D, and [cm-3 eV-1] in 3D.
min = -5.0
# minimum energy [eV] (required, default:
-10.0 )
max = 5.0
# maximum energy [eV] (required, default:
5.0 )
energy_resolution =
0.1 #
energy spacing [eV] (optional, default:
0.1 )
only_quantum_regions =
yes #
consider only quantum regions (optional, default:
no ), can be used to suppress contributions from outside the quantum regions of interest. This works even if quantum mechanics is not enabled in
run{} .
}
emission_spectrum{
# output emission spectrum calculated from energy-resolved densities n(E,x) and p(E,x),
# i.e. emission_spectrum{} uses the energy-resolved density computed by
energy_resolved_density{} which is required to be specified in the
input file.
min = -5.0
# minimum energy [eV] (optional, default:
-10.0 )
<== not
supported any more in versions newer than 2020-06-15: specifier moved to
energy_resolved_density {}
max = 5.0
# maximum energy [eV] (optional, default:
5.0 )
<== not
supported any more in versions newer than 2020-06-15: specifier moved to
energy_resolved_density {}
energy_resolution =
0.1
# energy spacing [eV] (optional, default:
0.1 ) <== not
supported any more in versions newer than 2020-06-15: specifier moved to
energy_resolved_density {}
# 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
kBT 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.
only_quantum_regions =
yes / no # <==
not supported any more in versions newer than 2020-06-15:
specifier moved to energy_resolved_density {}
#
consider only quantum regions (optional, default:
no ), can be used to suppress contributions from outside the quantum regions of interest. This works even if quantum mechanics is not enabled in
run{} .
output_spectra{
# required if emission_spectrum{}
is calculated
# computed types of spectra
emission
=
yes / no #
default:
yes
gain
=
yes / no #
default:
yes
absorption =
yes / no #
default:
yes
stimulated_emission =
yes / no #
default:
no
# unit selection - the following apply to all of the above
spectra_over_energy
=
yes / no # default:
yes
spectra_over_wavelength =
yes / no # default:
yes
spectra_over_frequency =
yes / no # default:
no
spectra_over_wavenumber =
yes / no # default:
no
# unit selection - the following applies to all combinations above
photon_spectra =
yes / no
# default:
yes
# unit selection - the following only applies to combinations with (spontaneous) emission and stimulated emission
power_spectra =
yes / no
# default:
no
}
# The classical emission spectrum contains
both intensity and photon count.
# emitted_photon_spectrum.dat : Units for the emitted photon spectrum: [cm-2 s^-1 eV-1] in 1D, [cm-1 s^-1 eV-1]
in 2D, and [s^-1 eV-1] in 3D.
# emitted_power_spectrum.dat : Units for the emitted photon power are: [W cm-2 eV-1]
in 1D, [W cm-1 eV-1] in 2D, and [W eV-1] in 3D.
refractive_index =
3.0
# averaged-out refractive index nr [] (optional, default:
1.0 ) Refractive index used for calculating gain and
absorption. The absorption/gain is multiplied by the factor 1/nr2 .
# The values for the optical dielectric constant from the database are
not used yet at this point.
}
output_photon_density =
yes / no
# output emitted photon density in units of [cm-3s-1] (optional, default:
no ) (emitted_photon_density.dat )
output_power_density =
yes / no # output emitted
power density in units of [W/cm3] (optional, default:
no ) (emitted_power_density.dat )
# For gain, only the positive part is written out, the negative (=
absorption) part is cut off.
# For absorption, the whole curve is shown, i.e. including negative
values (= gain).
# For stimulated emission, only the positive part is shown.
# For gain, absorption, and stimulated emission, the upper 30% of the spectra are cut off.
# Stimulated emission assumes that all photon modes are occupied by one photon.
Thus, not the actual stimulated emission in the device is calculated,
# but rather a spectral response similar to the gain.
Carrier statistics for classical densities
carrier_statistics =
fermi_dirac #
(default) Model for carrier statistics is Fermi-Dirac
= maxwell_boltzmann
# 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).
#
n = Nc * FermiIntegral1/2( (EF
- Ec) / (kBT) )
#
electron density for fermi_dirac
#
p = Nc * FermiIntegral1/2( (Ev
- EF) / (kBT) )
#
hole density for fermi_dirac
#
n = Nc * exp( (EF -
Ec) / (kBT) )
#
electron density for maxwell_boltzmann
#
p = Nc * exp( (Ev -
EF) / (kBT) )
#
hole density for maxwell_boltzmann
}
|