|
| |
3D Nano Device Simulator
Glossary
last updated:
17-02-10
Author:
Stefan Birner
comments to nextnano3@wsi.tum.de
Boltzmann equation
Boundary conditions
Calculation of density
Current continuity
equations for electron and holes
Current relations for
electrons and holes
Current
output
Eigenvalue problem on
inhomogeneous grid
Finite differences method
Flow scheme
Generation of the grid
Method of Brillouin zone
integration
Poisson equation
Quasi-Fermi level
Semiconductor equations
Separation model: quantum and continuum states
-

-
Dirichlet boundary conditions specify the potential at the
boundaries. The solution of the Poisson equation is then unique.

Neumann boundary conditions specify the normal component of the
electric field at the boundaries (i.e. the normal derivativ of
Phi is specified on the surfaces). The solution of the Poisson equation
is then unique apart from a constant.

By specifying both Dirichlet and Neumann boundary conditions,
the system would be over-determined.
More details on boundary conditions can be found
here.
-
- purely classical calculation
- purely quantum mechanical calculation
- mixed classical/quantum mechanical calculation (only localised states
are considered for quantum mechanical density)
- mixed classical/quantum mechanical calculation (in quantum regions the
density is calculated purely quantum mechanically)
More details on the calculation of the density can be found
here.
-
The continuity equation for electrons
and holes: |
 |
More details...
-
The program flow (flow scheme) is specified in the input file, e.g.
input_file1.in.
The self-consistent solution is uniquely determined by the potential and the
quasi Fermi energies. Now it is possible to determine the quasi Fermi levels
by a classical calculation and hence to solve the Schrödinger-Poisson equation
self-consistently with these quasi Fermi levels to be held fixed. Another
option would be to solve the system of equations self-consistently with the
1-band Schrödinger equation and then to determine the kp states for this
potential.
To handle these options flexibly, you will have to specify the desired
simulation flow (variable flow-scheme) in the input file.
$simulation-flow-control
flow-scheme = 4
$end_simulation-flow-control
flow-scheme = 1
First the built-in potential is determined with the classical nonlinear
Poisson equation. Then the program is calculating a self-consistent solution
of the classical Poisson and current equations which leads to the quasi Fermi
levels of the electrons and holes. With these levels (the levels are taken to
be fixed) and the specified densities from the input file, the nonlinear
Poisson equation will be solved.
1. calculate nonlinear Poisson classically
2. calculate current classically
3. calculate nonlinear Poisson as specified in input
flow-scheme = 2
Since we want a quantum solution with current, we take
flow-scheme 2.
This means that we are first calculating the potential with the classical
nonlinear Poisson equation. With this starting value, the program is
calculating the built-in potential with the nonlinear Poisson equation (and
specified densities). After that, the program is determining the
self-consistent solution of the Schrödinger, Poisson and current equations.
1. calculate nonlinear Poisson as specified in input
2. calculate current as specified in input
flow-scheme = 3
Since we want to read in raw (binary) data and solve for eigenfunctions, we take
flow-scheme 3 which means that the built-in potential, the
potential and the quasi Fermi levels, which completely determine the system,
will be read in. For this potential, the specified eigenstates will eventually
be calculated. We also need to provide the file names for the input data
including directories, e.g.
filename_pot = raw_data1/raw_potentials.raw
filename_ferm = raw_data1/raw_fermi_levels.raw
1. read in potentials and Fermi levels
2. calculate eigenfunctions as specified in input
flow-scheme = 4
Since we only want a classical self-consistent band structure we take
flow-scheme 4.
This means that we are first calculating the built-in potential with the
classical nonlinear Poisson equation. Then the program is
calculating a self-consistent solution of the classical Poisson and current equation.
1. calculate nonlinear Poisson classically
2. calculate current classically
As output you can always choose under 'raw-data' to save the
potential or the Fermi levels unformatted in order to be read in again later
with flow-scheme = 3.
More information is available in the
Tutorial.
-
Generation of the grid
The parser program is mapping the geometry of the device onto discrete grid
points to which a material is associated with. The points of the simulation
grid are lying in between these material grid points. This approach is
necessary because the set-up of the systems of differential equations is done
via box integration. In 3D, each box consists of eight smaller boxes (octants)
and each octant can uniquely be associated with one material grid point. The
interfaces at material transitions are hence lying on the simulation grid
points and therefore in the middle between the material grid points. The grid
specifications in the input file are thus referring to the material grid
points. This has to be considered on data entry.
More information ...
-
1D simulation
Evaluating the density integration
The program provides three options for the calculation of the density when
performing a 1D k.p calculation. For
this, only k values up to a maximum value of k have to be considered. All
values beyond this border are lying energetically very far away from the Fermi
level so that their contributions to the density can be neglected.
The option will be specified in the input file under the keywords
$quantum-model-electrons/$quantum-model-holes:
Specifier method-of-brillouin-zone-integration =
...
= special-axis
In this case the Hamiltonian must be isotropic in the (kx, ky)
plane, i.e. E(kx, ky) = E(k||) where k||²
= kx² + ky². Then the integration of the density can be
reduced to a 1D integral. This is only allowed for wurtzite in the [0001]
growth direction. In all other cases the program switches to
simple-integration.
= simple-integration
The 2D Brillouin zone will be discretized and the density will be assigned as
the summation over all k points. For zincblende with [001] quantization
direction only the irreducable part of the Brillouin zone is being discretized
(up to maximum values of k). In all other cases the whole Brillouin zone is
being discretized (up to maximum values of k).
= gen-dos
The evaluation of the density is done by integration over the density of
states (DOS). For zincblende with [001] quantization direction only the irreducable
part of the Brillouin zone is being discretized (up to maximum values of k).
In all other cases the whole Brillouin zone is being discretized (up to
maximum values of k).
The number of discretization points has to be specified under the specifier
'num-kp-parallel' and refers to the discretization of the whole
Brillouin zone up to the maximum value of k. For the special cases special-axis
and zincblende in [001] direction, hence the program is calculating the
number of actually needed points.
It is recommended to use gen-dos
rather than simple-integration as it
has a better accuracy and thus needs less k points to reach the same
level of convergence as the latter.
More details can be found
here and
here and here:
$quantum-model-electrons
$quantum-model-holes
2D simulation
Here, only
= special-axis
and
= gen-dos
are allowed. simple-integration does
not make sense as the k space is only one-dimensional (kz
along a line) in a 2D k.p calculation.
3D simulation
Not applicable. This does not make sense for a 3D simulation.
-
| The Poisson equation: |
 |
epsilon is the dielectric constant varying over space.
Phi is the electric potential.
rho is the electric charge density (consists of electrons, holes,
ionized donors and acceptors, piezo- and pyroelectric polarization charges). Linear Poisson equation:
- if the charge density is constant, i.e. independent of the potential
(e.g. piezo and pyro charges)
Nonlinear Poisson equation:
- charge density depends on potential
-
So-called "quasi-Fermi levels" which are different for electrons (EF,n)
and holes (EF,p) are used to describe non-equilibrium carrier
concentrations.
In equilibrium the quasi-Fermi levels are constant and have the same value for
both electrons and holes (EF,n = EF,p = 0 eV).
The current is proportional to the mobility and the gradient of the
quasi-Fermi level EF.
Here are some technical details on states in quantum regions, namely the
separation of classical and quantum mechanical states.
In quantum regions the density is determined by quantized wavefunctions.
The density there is calculated as follows:
- The quantized states are taken up to a certain energy (called separation
energy).
- Above the separation energy the density is calculated by using the Thomas-Fermi
approximation.
The separation energy can be determined by three different methods
according to the specification in the input file:
(specifier 'separation-model = ...'
in
$quantum-model-electrons/$quantum-model-electrons).
= eigenvalue:
For option 'eigenvalue' (internally stored as 'eigenvalue')
the specified number of eigenvalues (number-of-eigenvalues-per-band) is calculated and the topmost eigenvalue
at the same time is the separation energy.
All eigenvalues up to number-of-eigenvalues-per-band are
considered for the quantum mechanical density.
Above (below) topmost eigenvalue electrons (holes) are considered to be
classical.
=> Separation energy = energy of topmost eigenvalue
= energy:
For option 'energy' (internally stored
as 'max_energy') a fixed energy is provided by the input file ('maximum-energy-for-eigenstates')
in units of [eV] which is given relative to the band edge extremum.
It has the following meaning:
For electrons take the minimum conduction band edge energy throughout the whole quantum region and let the
separation energy be this minimum plus the fixed energy from the input file
that does not change during the calculation.
(For holes: maximum valence band edge energy minus fixed energy)
All eigenstates up to this value are considered in quantum mechanical
calculation.
Above (below) this value electrons (holes) are considered to be classical.
=> Electrons: Separation energy = lowest energy point in this quantum
cluster + maximum-energy-for-eigenstates
Holes: Separation energy = highest
energy point in this quantum cluster - maximum-energy-for-eigenstates
= edge-model:
For option 'edge-model' (internally stored as 'edge_model')
the specified number of eigenvalues (number-of-eigenvalues-per-band) is calculated and the separation energy is
determined by the following model:
- For electrons take the conduction band minimum energy of all boundary points
of the quantum region.
(In 1D there are only two boundary points.)
(For holes: maximum valence band energy)
- All quantum states with energies below that level are certainly fully
quantized. (for holes: above)
- So the highest eigenvalue that is just below this level is taken to be the
separation energy.
Note that if all eigenvalues are below that level the highest it taken
as the separation energy. (for holes: lowest)
Here, the separation energy is set to consider only localized states for the
density, delocalized states are not considered.
Attention: This could lead to the
situation in which no quantized states are considered if the choice of
the quantum region is taken in an infavorable way. Thus one always has to
check the position of the band edges and the eigenstates afterwards.
SeparationEnergyEdgeV = highest eigenvalue that is below minimum of conduction
band edges on left and right boundary (1D) (for electrons)
at boundaries (2D/3D) (for electrons)
(for holes: lowest ... maximum of valence band edges)
More details for the separation model can be found
here.
|