Up
| | This is the old documentation.
Here's the link to the new documentation.
optics{}
Specifications for the Optics module.
optics{
debuglevel = 2
# integer value >=
-1 and <= 4 . The larger
this value, the more verbose the diagnostic output will be.
(default:
debuglevel = 0 )
region{
name = "optical_active" #
name of the quantum region
for which optics is calculated
Input values
polarization{ name =
"x" re = [1,0,0]
} # linearly polarized light in x direction.
name is used for the file names of the output.
polarization{ name =
"y" re = [0,1,0]
} # linearly polarized light in y direction
polarization{ name =
"z" re = [0,0,1]
} # linearly polarized light in z direction
polarization{ name =
"TM" re = [1,0,0]
} # TM mode. This naming might be useful when analyzing heterostructure grown in x direction.
polarization{ name =
"TEy" re = [0,1,0]
} # TE mode
polarization{ name =
"TEz" re = [0,0,1]
} # TE mode
polarization{ name =
"y+iz" re = [0,1,0]
im = [0,0, 1] }
# (sigma+ ) circularly polarized light around the x axis
polarization{ name =
"y-iz" re = [0,1,0]
im = [0,0,-1] }
# (sigma- ) circularly polarized light around the x axis
polarization{ name =
"x1y1z2" re = [1,1,2] }
# an example for an arbitrary polarization direction
refractive_index = #
[] (optional) Specify an alternative
refractive index for the substrate material.
normalization_volume = #
[nm^dim] (optional) Specify an alternative normalization volume for the
optical spectra. The default is the volume of the simulated device.
Setting for k|| and eigenstate summation
spin_degeneracy = yes
# indicates that a state is spin-degenerate and must be counted twice.
Only relevant for single-band calculations.
= no # default
for multi-band k.p calculations.
spin_align =
yes # aligns spin-degenerate states in a
virtual magnetic field prior to the optics calculations.
= no #
Spin-degenerate states enter the optics calculation in a random superposition.
interband =
yes # Compute
optical valence band to conduction band transitions. (default: yes )
= no #
intraband =
yes # Compute
optical valence band to valence band and conduction band to conduction band
transitions. (default: yes )
= no #
energy_threshold
= 1e-8 # [eV] (default =
1e-6 ) Only transitions
between states with at least this energy difference are regarded when computing
optical spectra. 1e-8 [eV]
should be reasonable in most cases.
= 1e-2 # [eV]
transition_threshold
= 1e-3 # (default =
1e-6 ) Only transitions
between states with at least this optical intensity are regarded when computing
optical spectra.
= 1e-4 # A value of
0 can be safely used as a default. Higher values can reduce
computational time but may neglect weak optical transitions.
= 1e-8 #
= 1e-10 #
occupation_threshold
= 0 # (default
= 0 ) 0 <=
1 . Only transitions between states with at
least this occupation are regarded when computing optical spectra.
= 1e-8 # A value of
0 can be safely used as a default. Higher values can reduce
computational time but may neglect weakly occupied states.
= 1e-10 #
k_integration{
relative_size =
0.05 # (default =
0.1 ) size of k||
space integration.
= 0.3 # 0.001 <=
relative_size <=
1.0
num_points
= 8 # (default
=
4 ) number of points in k|| space where
transition intensities are computed
Specify either
num_subpoints
or num_totalsubpoints .
num_subpoints =
16 # (default
=
? ) number of interpolation
points for k|| space integration (relative to
num_points )
= 128 #
= 256 #
num_totalsubpoints = 128 # (default = 128) total
number of interpolation points for k|| space
integration (relative to
num_points )
symmetry
= 1 #
(default
= 1) rotational k||
space symmetry 1,
2, 3 or 4
= 4 #
force_k0_subspace =
yes/no #
If set to yes , k||
integration in quantum is modified in that only states for point k=0 are computed exactly, whereas all
other k-points are computed in the subspace of the k=0 wavefunctions.
#
As a result of this approximation, computational speed is much improved (you may even be able to also enlarge the number of eigenvalues). (default is: no )
#
In case you are planning to use this approximation for final results,
please make sure to check whether the resulting loss of accuracy in
optical spectra is acceptable.
}
Treatment of occupation
occupation_ignore
= yes # ignore the
occupation of states when computing optical spectra: Valence bands and
conduction bands are considered to be fully occupied and fully empty,
respectively (default is: no ).
= no #
occupation_interpolate_invfermi = yes
# less important. This option may increase accuracy of numerical k||
space integration (default is: yes ).
= no #
occupation_const_fermilevel =
yes # In
semi-classical current calculations, the quasi-Fermi level may depend on
position. Optical spectra on the other hand are computed in a completely quantum
mechanical way.
#
To resolve this inconsistency, the Fermi level is averaged. Note that both
options violate the physical assumption in some way and are only a valid
approximation for almost constant Fermi levels.
= no # In this
case, the inconsistency is resolved by computing a position dependent occupation
number (default is: no ).
Output setting
output_transitions =
yes # Output
transition intensities and energies for each pair of states.
= no #
output_components =
yes # Output the
spinor components for each state at each k||
point (only relevant in multi-band k.p
calculations).
= no #
energy_min
= 1.4 # [eV] lower energy
bound for optical spectra
energy_max
= 1.7 # [eV] upper energy
bound for optical spectra
energy_resolution = 0.001
# [eV] (default = 0.001 )
spectral resolution
= 0.0001 # [eV]
energy_broadening = ???
# [eV] (default = 0.005 )
line broadening of optical transitions in 3D calculations (real number >= 0.001 )
preliminary:
dipole_approximation
= yes # Specify whether to calculate the matrix
elements corresponding to optical transitions with dipole approximation. (default is: no )
# Note: <psi1|p e|psi2> elements
are calculated by default, with dipole approximation: p’ e<psi1|psi2>
# (without scaling: e is polarization direction, and p
is momentum operator, p’ is the integral for the Bloch central functions)
=
no #
}
}
opticaldevice{
name = "optical_active" #
name of quantum region for which optical
generation should be calculated
line_broadening = 1 #
broadening type: for lorentzian is 1
line_width = 1 #
for lorentzian broadening the linewidth in eV
photon_energy = 1 #
the mid energy of the radiation in eV
}
For more details, see diploma thesis of Thomas Eißfeller, Linear Optical
Response of Semiconductor Nanodevices, Technische Universität München
(2008).
It is not possible to output simple envelope function integrals (spatial
overlap of the wave functions at k|| = 0).
|