$output-1-band-schroedinger¶
The documentation for this keyword is available here: https://www.nextnano.com/nextnano3/input_parser/keywords/output-1-band-schroedinger.htm
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 written 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-wave function-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
Example
$output-1-band-schroedinger
destination-directory = Schroedinger_1band/
sg-structure = yes
effective-mass-tensor = yes
complex-wave-functions = yes
scale = 1.0
conduction-band-numbers = 1 2 3
cb-min-ev = 1
cb-max-ev = 10
valence-band-numbers = 1 2 3
vb-min-ev = 1
vb-max-ev = 10
interband-matrix-elements = yes
intraband-matrix-elements = yes
$end_output-1-band-schroedinger
Syntax
- destination-directory
- example:
my-directory/
,Schroedinger_1band/
Name of directory to which the files should be written. Directory name has to include the slash.
- sg-structure
- example:
yes
orno
- default:
no
Flag whether to write 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.
Note
The files here have different labels:
cb3
= conduction band no. 3 (1 = Gamma band, 2 = L band, 3 = X band)qc1
= quantum cluster no. 1sg3
= no. of Schrödinger equation to be solveddeg1
= degeneracy of Schrödinger equation to be solvedOutput of effective mass tensor
- effective-mass-tensor
- example:
yes
orno
- default:
no
Flag whether to write out the effective mass tensor \((1/m)_{ij}\) for each Schrödinger equation to be solved.
Output are 6 components of the symmetric 3x3 matrix for each grid point.
The file is called *mass_tensor*.dat
.
Example for 1D output: cb3_mass_tensor_qc1_sg3_deg1.dat
position[nm] (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 \(m_{\rm l}\)) and \((1/m)_{yy}=(1/m)_{zz}\) contains 1/(transverse mass \(m_{\rm t}\)) of the X valley of GaAs.
The effective masses are specified in the database.
$binary-zb-default
binary-type = GaAs-zb-default
conduction-band-masses = 0.067 0.067 0.067 ! Gamma (isotropic)
1.9 0.0754 0.0754 ! L (ml mt mt)
1.3 0.23 0.23 ! 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 (and not crystal coordinate system).
- complex-wave-functions
- example:
yes
orno
- default:
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^2\).
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 wave functions could be converted into a real basis.
(It would have been better to call this specifier amplitudes
rather than complex-wave-functions
.)
- eigenvalues-only
- example:
yes
orno
- 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.