Output-1-band-schroedinger
The output of the eigenvalues and eigenfunctions for the single-band
Schrödinger equations ('effective-mass ') is controlled by this
keyword. All eigenfunctions and eigenvalues between cb-min-ev and
cb-max-ev are put out for each band.
!---------------------------------------------------------------!
$output-1-band-schroedinger
optional !
destination-directory
character
required !
sg-structure
character
optional !
effective-mass-tensor
character
optional !
complex-wave-functions
character
optional !
eigenvalues-only
character
optional !
scale
double
optional !
shift-wavefunction-by-eigenvalue
character
optional !
!
conduction-band-numbers
integer_array
optional !
cb-min-ev
integer
optional !
cb-max-ev
integer
optional !
!
valence-band-numbers
integer_array
optional !
vb-min-ev
integer
optional !
vb-max-ev
integer
optional !
!
interband-matrix-elements
character
optional !
intraband-matrix-elements
character
optional !
intraband-lifetime
character
optional !
intraband-matrix-elements-operator
character
optional !
!
stark-effect-out
character
optional !
voltage-offset
double
optional !
lever-arm-length
double
optional !
!
resonance-bound-states
integer_array
optional !
resonance-incidence
integer_array
optional !
!
$end_output-1-band-schroedinger
optional !
!---------------------------------------------------------------!
Syntax:
destination-directory = my-directory/
e.g. = Schroedinger_1band/
Name of directory to which the files should be written. Must exist
and directory name has to include the slash (\ for DOS and / for UNIX).
sg-structure = yes /
no
Flag whether to put out the Schrödinger structure file (sg_info.txt ). This file describes the
internal number and degeneracy of the Schrödinger
equations that have to be solved.
Note: If the energy bands are split due to strain, e.g. X valley and L
valley, then the Schrödinger equation has to be solved for different band
edges. If the masses are anisotropic, then for each mass valley a separate
Schrödinger equation has to be solved.
effective-mass-tensor = yes /
no
Flag whether to put out the effective mass tensor (1/m)ij for
each Schrödinger equation to be solved. Output is a 3x3 matrix for each grid
point.
(*mass_tensor*.dat )
Example for 1D output:
cb3mass_tensor_qc1_sg3_deg1.dat
cb3 = conduction band no. 3 (=X band)
qc1 = quantum cluster no. 1
sg3 = no. of Schrödinger equation to be solved
deg1 = degeneracy of Schrödinger equation to be solved
position [nm]
position (1/m)_xx
(1/m)_yy (1/m)_zz
(1/m)_xy (1/m)_xz
(1/m)_yz
...
0.350750E+002 0.769231E+000 0.434783E+001 0.434783E+001
0.000000E+000 0.000000E+000 0.000000E+000
...
1/1.3 = 0.769 1/0.23
= 4.434 1/0.23 =
4.34
In this example the mass tensor is diagonal and (1/m)xx contains
1/(longitudinal mass ml) and (1/m)yy=(1/m)zz
contains 1/(transverse mass mt) of the X valley of GaAs.
database_nn3.in:
$binary-zb-default
binary-type
= GaAs-zb-default
conduction-band-masses = 0.067d0 0.067d0 0.067d0 ! Gamma
1.9d0 0.0754d0 0.0754d0 ! L (ml mt
mt)
1.3d0 0.23d0 0.23d0 ! X (ml
mt mt)
More information on
effective masses...
Note that the labels x, y and z of the mass tensor output are defined
with respect to the
simulation coordinate system.
complex-wave-functions = yes
! It would have been better to call this amplitudes rather
than complex-wave-functions .
=
no
Flag whether to print out the wave functions psi (amplitudes) including real and
imaginary parts in addition to the output of the probability densities Psi².
The amplitudes of a single-band Hamiltonian are typically real and the
imaginary part is zero. This does not hold for nonzero magnetic fields or
nonzero superlattice vectors.
Depending on the algorithm inside the code (e.g. storage of the Hamiltonian
in a real or complex array, or usage of a real or complex eigenvalue
solver), the output contains only the real part, or the real part and the
imaginary part (which is zero in most cases). In the case of a complex
eigenvalue solver, the imaginary part might be nonzero even for zero
magnetic field or no superlattice vector. If this is the case, the
wavefunctions could be converted into a real basis.
eigenvalues-only = yes /
no ! (default: no )
Sometimes one is only interested in plotting out the eigenvalues but not
the eigenfunctions. Nevertheless, internally in the program the
eigenfunctions are used (e.g. for calculating the density).
scale = 1d0
The scale parameter can be used to scale the size of the wave functions in the output file.
This is just for visualization purposes in order to fit wavefunctions more
nicely into band structure plots. This scaling has no physical meaning.
So far, it scales the wave function psi
and psi²
(i.e. the probability amplitude or charge density) the same way:
psi²' = scale * psi²
psi' = scale * psi
1D: The units of psi² are [1/nm], the units
of psi are SQRT([1/nm]).
This way the integrated psi² over the
whole device (which is in units of [nm]) equals 1.
2D: The units of psi² are [1/nm²], the units of psi
are SQRT([1/nm²]).
This way the integrated psi² over the
whole device (which is in units of [nm²]) equals 1.
3D: The units of psi² are [1/nm³], the units of psi
are SQRT([1/nm³]).
This way the integrated psi² over the
whole device (which is in units of [nm³]) equals 1.
(It holds for unscaled psi² , i.e. scale = 1d0 : A good check to see if psi² is
normalized correctly is to apply
Neumann boundary conditions at all boundaries of the quantum cluster. The
ground state probability density then is constant over the whole device. This
value in units of [1/nm] (1D), [1/nm²] (2D) or [1/nm³] (3D) multiplied by the
length (1D), area (2D) or volume (3D) of the quantum cluster must equal 1.)
shift-wavefunction-by-eigenvalue = yes
! (1D: yes
= default)
=
no ! (2D/3D:
no = default)
If yes, in addition to default output, the wave function psi and the
probability density psi2 are shifted with respect to their
eigenvalue.
This is sometimes useful when plotting the wave functions together with the
band edge profile.
The relevant output files have the label _shift in their file
names.
conduction-band-numbers = 1 2 3
Integer array that determines the numbers of the conduction bands for which
the corresponding eigenvalues and eigenfunctions should be put out.
cb-min-ev = 1
Lower boundary for interval of conduction band eigenvalues and
eigenfunctions to be put out.
cb-max-ev = 1
Upper boundary for interval of conduction band eigenvalues and
eigenfunctions to be put out.
valence-band-numbers = 1 2 3
Integer array that determines the numbers of the valence bands for which
the corresponding eigenvalues and eigenfunctions should be put out.
vb-min-ev = 1
Lower boundary for interval of valence band eigenvalues and eigenfunctions
to be put out.
vb-max-ev = 1
Upper boundary for interval of valence band eigenvalues and
eigenfunctions to be put out.
interband-matrix-elements = yes !
calculates interband matrix elements
=
no
==> square of the spatial overlap matrix element
| <psi_i* | psi_j> |^2
The output files
interband1D_vb001_cb001_qc001_hlsg001_deg001_dir.dat
(heavy hole <-> Gamma conduction band)
interband1D_vb002_cb001_qc001_hlsg002_deg001_dir.dat
(light hole <-> Gamma conduction
band)
interband1D_vb003_cb001_qc001_hlsg003_deg001_dir.dat
(split-off hole <-> Gamma conduction band)
contain data like
Spatial overlap matrix elements | < psi_hl_i | psi_el_j > |^2 and
energy of transition in [eV]
heavy hole <-> Gamma conduction band
------------------------------------------------------------------------
|<psi_vb001|psi_cb001>|^2 0.987507995852382
1.654103
|<psi_vb001|psi_cb002>|^2 1.336279027563441E-030
|<psi_vb001|psi_cb003>|^2 0.145559411422541
2.538366
|<psi_vb002|psi_cb001>|^2 1.133344425625580E-030
|<psi_vb002|psi_cb002>|^2 0.964789984970279
2.065139
which are the spatial overlap matrix elements between all calculated
states in bands 'cband' and 'vband' from eigenvalues 'min-ev ' to 'max-ev '.
There is also a two-dimensional plot available:
interband1D_vb001_cb001_qc001_hlsg001_deg001_dir_2Dplot.fld / *.coord / *.dat
It contains the matrix elements Mij where the x axis refers to
the i hole states, and the y axis to the j electron states.
If only Mii transitions are allowed, a diagonal structure should be
seen (e.g. in an infinite quantum well).
To plot matrix elements vs. electric field.
The electric field is calculated by ('voltage-offset' + vbias) /
distance
with v_bias = sweep_index * sweep_voltage .
The electric field is scaled to [kV/cm] .
The 'voltage-offset' is the built-in potential in [V] .
distance: The length of the region with constant field [in scaled units:
nm] is specified via 'lever-arm-length '.
This only works for intrinsic regions with quasi constant electric field,
but imitates the way experimental physicists approximate the electric field.
In order to use only bound states the MODULE bound_states_1D
must be initialized.
=> $quantum-bound-states
-> momentum matrix <psi*|p|psi> (not implemented yet)
-> Coulomb element <psi*|V|psi> (not implemented yet)
with V = Int( 1/4pi (r1-r2) * |psi(r2)|‹dr2 )
intraband-matrix-elements-operator = "z^2" !
(needed for standard deviation)
= '0.0002 * x * ( x - 10)' ! (useful
to study for perturbation theory)
Calculate matrix elements for this operator:
<i|Op|i>
matrix elements ii, i.e. expectation value (i=i), filename:
intraband_ExpectationValue_cb1_qc1_sg1_deg1.txt
If the operator is the perturbation potential operator, then the units of
this file are eV,
and the expectation values are equivalent to the 1st-order
corrections to the energies En(1) using nondegenerate
perturbation theory.
If the operator is the perturbation potential operator, then the file
intraband_2ndOrder_cb1_qc1_sg1_deg1.txt ,
contains the 2nd-order corrections to the energy eigenvalues En(2)
using nondegenerate perturbation theory.
<f|Op|i>
matrix elements fi, filename:
intraband_MatrixElement_cb1_qc1_sg1_deg1.txt / *_2D_plot.fld
<f|Op|i>/(E_f-E_i) matrix elements fi divided by the
energy difference. These matrix elements are needed for nondegenerate
perturbation theory, i.e. 1st-order corrections to the wave
functions psin(1), and 2nd-order corrections to
the energies En(2).
filename: intraband Coefficient cb1 qc1 sg1 deg1.dat /
*_2D_plot.fld
The coordinates x ,
y , z refer to the grid
and have to be given in units of [nm] . The function is evaluated
automatically.
The calculated matrix elements have the units of 'intraband-matrix-elements-operator ',
obviously.
intraband-matrix-elements = p
! < psif* | p
| psii >
=
z ! < psif* | z
| psii >
=
o ! < psif* | psii
> (spatial overlap)
=
yes ! (prints out
both matrix elements 'p ' and
'z ')
=
everything ! (prints out all matrix elements, i.e. 'p ',
'z ', 'o ',
and the one specified in intraband-matrix-elements-operator )
=
no !
Calculates intersubband dipole moment and oscillator strength
where the subscript i means initial and f means
final state.
Matrix elements with small values, i.e. forbidden transitions, are omitted from
the output file. If you need these values, please use debug-level =
1 .
The output files
intraband_p_cb1_qc1_sg1_deg1.txt
!
(Gamma conduction band)
intraband_p_vb1_qc1_sg1_deg1.txt
!
(heavy hole)
intraband_p_vb2_qc1_sg2_deg1.txt
!
(light hole)
intraband_p_vb3_qc1_sg3_deg1.txt
!
(split-off hole)
z
!
kind of matrix element ('p ' / 'z '
/ 'o ')
o
!
kind of matrix element ('p ' / 'z '
/ 'o ')
contain data like
(Note: | < psif* |
p | psii >
|
matrix element given in green color.)
-------------------------------------------------------------------------------
Intersubband transitions
=> Gamma conduction band
-------------------------------------------------------------------------------
Electric field in z-direction [kV/cm]: 0.0000000E+00
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Intersubband dipole moment
| < psi_f* |
z | psi_i > | [Angstrom]
Intersubband
dipole moment | < psi_f* | p | psi_i > | [h_bar / Angstrom]
------------------|------------------------------------------------------------
Oscillator strength []
------------------|--------------|---------------------------------------------
Energy of transition [eV]
------------------|--------------|--------------|------------------------------
m* [m_0]
------------------|--------------|--------------|----------|-------------------
<psi001*|z|psi001> 249.0000
(matrix
element <1|1> depends
on choice of origin!)
<psi001*|p|psi001> 4.3405972E-19
(matrix element <1|1> independent of origin)
<psi002*|z|psi001> 18.01673
0.9602799
0.1694912 6.6500001E-02
<psi002*|p|psi001> 2.6649671E-02
0.9602799 0.1694912 6.6500001E-02
<psi003*|z|psi001> 6.1430171E-07
2.9757722E-15 0.4517909 6.6500001E-02
(same parity: symmetric)
<psi003*|p|psi001> 2.7325134E-18
<psi004*|z|psi001> 1.441336
3.0698571E-02 0.8466209 6.6500001E-02
<psi004*|p|psi001> 1.0649348E-02 3.0698579E-02
0.8466209 6.6500001E-02
<psi005*|z|psi001> 1.6007220E-07
6.0536645E-16 1.353592 6.6500001E-02
(same parity: symmetric)
<psi005*|p|psi001> 6.9518724E-18
<psi006*|z|psi001> 0.3971010
5.4281605E-03 1.972205 6.6500001E-02
<psi006*|p|psi001> 6.8347314E-03 5.4281540E-03
1.972205 6.6500001E-02
<psi007*|z|psi001> 5.1874160E-08
1.2690011E-16 2.701849 6.6500001E-02
(same parity: symmetric)
<psi007*|p|psi001> 2.8686024E-19
<psi008*|z|psi001> 0.1634139
1.6508275E-03 3.541806 6.6500001E-02
<psi008*|p|psi001> 5.0510615E-03 1.6508278E-03
3.541806 6.6500001E-02
...
<psi020*|z|psi001> 1.0178176E-02 3.9451432E-05
21.81846 6.6500001E-02
<psi020*|p|psi001> 1.9380626E-03 3.9452334E-05
21.81846 6.6500001E-02
Sum rule of oscillator strength: f_psi001 =
0.9994023
Sum rule of oscillator strength: f_psi001 = 0.9994023
...
which are the intersubband dipole moments
| Mfi | = | integral (psif* (z) z psii
(z) dz) |
and the oscillator strengths
ffi = 2m* / hbar² * (Ef
- Ei) | Mfi |²
between all calculated
states in each band from eigenvalues 'min-ev ' to 'max-ev '.
Note that it holds: e.g. ffi = - fif.
The commonly used
Intersubband dipole moment | < psi_f* | z | psi_i > |
[Angstrom]
depends on the choice of origin for the matrix elements when f = i ,
thus the user might prefer to output the
Intersubband dipole moment | < psi_f* | p | psi_i > |
[h_bar / Angstrom]
which are the intersubband dipole moments
| Nfi | = | integral (psif* (z) pz
psii
(z) dz) | = | - i hbar integral
(psif* (z) d/dz psii
(z) dz) |
and the oscillator strengths
ffi = 2m* / hbar² (Ef
- Ei) | Mfi |² =
2 / ( m* (Ef
- Ei) ) | Nfi |²
between all calculated states in each band from eigenvalues 'min-ev '
to 'max-ev '.
For more details, have a look at the tutorial:
Optical
intersubband transitions in a quantum well - Intraband matrix elements and selection rules
Note: To get correct overlap integrals for inter- and intraband transitions,
the wave functions psi must be real for a real, symmetric matrix which is the
case for the single-band Schrödinger equation (without superlattice and without
magnetic field).
In 2D and 3D, if magnetic-field-on = yes
and schroedinger-masses-anisotropic = yes
or = box and if
schroedinger-1band-ev-solv = arpack or
= chearn , then the wave functions psi will
have an imaginary part unequal to zero leading to different results for the
spatial overlap integrals.
intraband-lifetime = yes !
calculates the lifetime of intersubband transitions
= no ! does nothing
(default)
This feature is useful for e.g. quantum cascade lasers.
Note: intraband-matrix-elements must not be set to no
in order to print out the lifetimes (scattering rates).
See tutorial "Scattering times for electrons in unbiased and biased single and multiple
quantum wells" for more details.
If the intersubband transition energy between the states i and j is smaller than
the LO phonon energy (Eij < ELO), then LO phonon
scattering is impossible, and thus the entry for the lifetime in the output file
does not show a number.
stark-effect-out
= yes
= no
voltage-offset
= 1d0 ! necessary for
stark-effect-out =
yes
! necessary for interband-matrix-elements =
yes
in units of [V]
lever-arm-length =
??? ! necessary for
stark-effect-out =
yes
! necessary for interband-matrix-elements =
yes
in units of [nm]
resonance-bound-states = ???
resonance-incidence =
???
Output:
Eigenfunctions and
eigenvalues:
Filename:
cb003_ind002_qc001_sg001_deg001_neu.dat |
cb003 |
Number of
conduction/valence band |
_ind002 |
Number of voltage sweep
step |
_qc001 |
Number of quantum cluster |
_sg001 |
Number of Schrödinger
equation |
_deg001 |
Number of subsolution |
_neu
_dir |
Boundary condition (Dirichlet
_dir and Neumann _neu ) |
Structure:
position[nm] |
ev_(001)[eV] |
ev_(002)[eV] |
psi^2_(001) |
psi^2_(002) |
Position in space |
Eigenvalue number 1[eV] |
Eigenvalue number 2 [eV] |
Eigenfunction number 1 [psi2] |
Eigenfunction number 2 [psi2] |
Comments
Structure of the 1-band solutions (sg_info.txt )
Meaning of: num_sg
For different band energies, different Schrödinger equations have to be solved.
These are numbered by num_sg .
num_deg
For equal energy but
different masses again, different equations have to be solved.
These are numbered by num_deg) .
Eigenvalues are in [eV] .
Output:
- .dat Eigenfunctions are psi^2 ,
normalized to one (with respect to [nm] units].
- _shift.dat : Eigenfunctions are psi^2 ,
normalized to one (with respect to [nm] units] and shifted by their eigenvalues.
|