$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 or no

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. 1
sg3 = no. of Schrödinger equation to be solved
deg1 = degeneracy of Schrödinger equation to be solved

Output of effective mass tensor

effective-mass-tensor
example:

yes or no

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 or no

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 or 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.