|
|
|
nextnano3 - FAQFrequently asked questionsGeneral
Simulation
GeneralProgram window closes immediately upon finishingQuestion Unfortunately, the program window that opens after I started Answer Yes, there is. In Windows go to the doesn't work at allQuestion I get a strange message in my command prompt. Something with "keyword", "optional", "required". Answer You are probably trying to run a UNIX formatted ASCII file on a PC (or vice versa). Save it in PC/DOS mode or download the PC formatted input files from the download section. "
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| units | Reference | GaAs | AlAs | InAs | GaP | AlP | InP | GaSb | AlSb | InSb | GaN(zb) | AlN(zb) | InN(zb) | Si | Ge | C | ||
| EVBM | (eV) | Wei/Zunger | 1.46 | 0.95 | 1.52 | 0.99 | 0.45 | 1.10 | 2.03 | 1.61 | 2.02 | -0.72 | -1.52 | -0.46 | ||||
| DeltaSO | (eV) | Vurgaftman | 0.341 | 0.28 | 0.39 | 0.08 | 0.07 | 0.108 | 0.76 | 0.676 | 0.81 | 0.017 | 0.019 | 0.005 | 0.044 | 0.289 | ||
| Ev,av | (eV) | 1.346 | 0.857 | 1.390 | 0.963 | 0.427 | 1.064 | 1.777 | 1.385 | 1.750 | -0.726 | -1.526 | -0.462 |
The conduction band energies for the Gamma, L and X valley are calculated as
conduction-band-energies = Egap(Gamma) + Ev,av+ 1/3 DeltaSO
Egap(X) + Ev,av + 1/3 DeltaSO
Egap(L) + Ev,av + 1/3 DeltaSO
|
|
The conduction band energies are given for 0 Kelvin in the nextnano³ database. Varshni parameters should be used to get the temperature dependent conduction band energies for e.g. 300 K.
With the specifier band-shift [eV], you are able to shift the
absolute values of valence and conduction band by a certain amount (default: 0.0
eV).
Are the conduction or valence band nonparabolicities implemented in 1D, 2D
or 3D?
conduction-band-nonparabolicities = 0d0 0d0 0d0 !
valence-band-nonparabolicities = 0d0 0d0 0d0 !
As used in a hyperbolic dispersion k2 ~ E(1+aE)
a = nonparabolicity [1/eV]
No, unfortunately not yet. The Schrödinger equation cannot be discretized in
real space with them (only with k2 and 4).
Even if it is inconsistent they are included into the density of states (MODULE densities, MODULE
deriv_densities) for the purpose of calculating the charge density
while solving the Schrödinger equation unmodified with the parabolic effective
mass approximation. A common problem is that for the smaller band gap
semiconductors like InAs, the nonparabolicity is so large that the Fermi levels
that are calculated are quite inaccurate.
For example, when looking at a case with n~1.5x1018/cm3.
The Fermi level calculated without nonparabolicity is about 0.214 eV and
calculated with nonparabolicity it is 0.143 eV.
Here is an example of how one can modify the Fermi-Dirac integral for free
carrier concentration in 3D for a single band from parabolic to nonparabolic
using the Van Halen-Pulfrey functions. The nonparabolicity modifies the SQRT(E)
density of states in the simple way shown.
How are effective hole masses determined in the database? By k.p
parameters (6x6/8x8kp-parameters) or by effective masses (valence-band-masses)?
In the database when we describe material we specify
But they are not consistent: k.p parameters are used only when 6x6/8x8
k.p quantum model is selected and hole effective masses are used only
when 1-band Schrödinger equation is solved.
(Exception: The k.p parameter Deltaso for spin-orbit
splitting energy is used in any case including if no strain is considered.
The k.p parameters in the database are also used to determine band shifts
due to strain. Program computes the k.p and strain dependent Hamiltonian
for each grid point, diagonalizes it, and takes the eigenvalues for the band
edges. So, band edges for single band calculations are k.p parameter
dependent. More
information ...)
There is also the option under
$numeric-control
to calculate the effective valence band masses from the 6x6 k.p
parameters (L, M, N) specified in the
database.
Question
For the quantum calculation there is a possibility to choose either Dirichlet
or Neumann boundary conditions. Which function is a subject for such boundary
conditions? Wave function? If yes, do Dirichlet
conditions mean that wave
function is equal to zero on the boundaries?
Answer
Yes, at the boundaries of the quantum region, the wave function is zero if Dirichlet
is chosen.
Neumann:
- Physically, it means zero current normal to the boundary surface (3D),
boundary line (2D) or boundary point (1D).
- Mathematically, it means if a Hamiltonian contains a term like
[d/dxi mij d/dxj +
bi d/dxi + c] Psi
then the boundary condition is
[ni mij d/dxj + bi
ni] Psi = 0
where ni is a normal vector to a
surface (line).
More details about boundary conditions can be found here:
Boundary
conditions
Question 1
In 1D, what is the unit of doping concentration? If I have an experimental value of 2*1018 cm-3 for 3D, is it then 21/3*106 cm-1 for 1D?
Answer 1
No, it is still 2*1018 cm-3 for 1D. Please look at this
example for more details:
$doping-function
Error message Error linesearch: Round-off problem.
Solution
This error occurs in the Newton routine (subroutine linesearch) when solving the 1D/2D/3D nonlinear Poisson equation with the Newton method.
Possible solutions (depending on your input file geometry):
$numeric-control
...
nonlinear-poisson-stepmax = 1.0d-0
nonlinear-poisson-iterations = 100
$end_numeric-control
phiV under the keyword
$numeric-control
(specifier initial-potential).
Error message (on Windows only)
forrtl: error (74): floating underflow
forrtl: error (74): floating underflow
forrtl: info (300): 9 floating underflow traps
Explanation
An underflow indicates that the absolute value of a floating point number has become smaller than about 1e-150 and that it has been replaced by a zero. For many algorithms this replacement does not cause any harm, for others the effects will be disastrous. Unfortunately, in simulation codes like nextnano3 both cases occur depending on where in the code the underflow happened.
Question
If I don't want to calculate any current, is there any difference between
flow-scheme = 1 and flow-scheme = 2?
Answer
Yes, there is. Flow scheme 1 is only classical whereas flow scheme 2 is
quantum mechanical (it includes the Schrödinger equation). If you don't want to
calculate the current, just don't specify it in your input file. In each case,
the equilibrium solution will be determined by solving the
current continuity
equation to get the quasi-Fermi levels, as well as solving the
Poisson (case 1)
and Poisson and
Schrödinger equation (case 2).
More details can be found in the glossary:
Flow scheme
Question
I have to simulate a quantum dot with [N 1 1] growth direction.
But in the database I have only:
axes-possible = 0 0 1 !
0 1 0 !
1 0 0 !
Is it possible to simulate [N 1 1] growth direction?
Answer
Yes, but don't confuse the axes-possible specifier with the
Miller indices. Change these to [N 1 1] for other directions.
The specifier axes-possible is only applicable to the growth
direction which must be x, y or z as indicated. However, you can choose [3
1 1] to be the Miller x axis and then choose x axis as growth direction
which will then be [3 1 1].
More details can be found under keyword
$domain-coordinates.
Question
What should I pay attention to?
Answer
GaAs-4K in
addition to GaAs in the database). bow-conduction-band-energies = 0.305d0 0.055d0
0d0
The bowing factor for the Gamma band (according to
Vurgaftman is)0.384d0 for Al0.39Ga0.61As
-> Crossover for minimum (Gamma -> L) at x=0.39
(300 K) 0.305d0 for Al0.33Ga0.67As
-> (Gamma) 0.070d0 for Al0.15Ga0.85As
-> (Gamma)Question
Can I use Matlab to visualize the 3D output files (AVS format)?
Answer
Not directly, but you should be able to convert the AVS data to Matlab format if you write a script that does it for you. For an explanation of the AVS format, please consult the 2D/3D Tutorials.
Question
I want to "switch-off" piezoelectrical effects. Should I put
piezo-electric-constant e14 in the database.in
file to be 0, or can I specify it somewhere in the input file?
Answer
Yes, you have to adjust e14 for the appropriate materials in the
database.in file to:
piezo-electric-constants = 0d0 0d0
0d0 ! -, -, e14 [C/m²]
New: You can specify it here:
$numeric-control
piezo-constants-zero = no
The pyroelectric constants can be switched on and off similarly.
Question
Are quaternaries included? If not, how can I interpolate them?
Answer
Only lattice matched-quaternaries (e.g. InxGayAl1-x-yAs with only one free parameter x or y but not quaternaries with two free parameters like AxB1-xCyD1-y) are included in our database. See database comments and quaternaries documentation.
You can define a new material in the
database.in file with linearly interpolated values of the binary
constituents of the quaternary.
Question
How do you incorporate strain into the calculation? What is the meaning of the deformation potentials in the database?
Answer
In order to get the band edge shifts due to strain, we diagonalize numerically in each grid point the strain dependent k.p Hamiltonian for k=0. More information ...
Van de Walle (PRB 39, 1871 (1989)) describes the dependence on strain of the valence and conduction band edges (zincblende). In this paper strain is described along [001] and [111] directions. In a general case, when we have [a b c] growth direction please have a look here.
Pseudomorphic (or commensurate) growth of strained layers on a substrate subjects these layers to a biaxial strain (epsilon||) parallel to the plane of the interface and a uniaxial strain (epsilon|_) perpendicular to it.
(1)
where a||=a0 (2a)
. (2b)
So we can also write
![]()
![]()
Here a0 denotes the lattice constant of the substrate and a the equilibrium lattice constant of the layer material. D depends on the elastic constants c of the layer material and on the interface orientation. (Often, 1/D001 is called the Poisson ratio, denoted as sigma).
(3a)
(3b)
(3c)
In the database we specify:
| for zincblende | for wurtzite | units | ||
lattice-constants |
a a a | a a c | nm | |
elastic-constants |
c11 c12 c44 | c11 c12 c13 c33 c44 | GPa |
The lattice constants are temperature dependent. More information...
The effect of strain on energy levels can be decomposed into hydrostatic and shear contributions. The hydrostatic strain component leads to a shift of the average valence band energy Ev,av=(Ehh+Elh+Eso)/3, i.e. of the average of the energies of the heavy hole, light hole and spin-orbit split-off bands (see picture for details):
(4a)
and similarly for the conduction band energy
(4b),
where av and ac are the hydrostatic (=absolute) deformation potentials for the valence band and conduction band, respectively.
In the database we specify:
| valence bands | conduction bands | |||
| Gamma | L | X | ||
absolute-deformation-potential-vb |
av | |||
absolute-deformation-potentials-cbs |
ac(Gamma) | ac(L) | ac(X) | |
The shear contribution couples to the spin-orbit interaction and leads to an additional splitting of the valence band energies. In the case of growth on a (001) or (111) substrate, the energy shifts relative to Ehh=Ev,av+Deltaso/3 (Deltaso is the spin-orbit splitting in the absence of strain) are given by
(5a)
(5b)
(5c)
The strain dependent shift delta Esh depends on the interface orientation:
(6a) or
![]()
(6b) or
![]()
Here,
.
The quantities b and d are the tetragonal and rhombohedral shear deformation potentials, respectively. In the absence of strain, equation (5) leads to the correct spin-orbit splitting Deltaso. Conduction bands at Gamma are not affected by the shear contribution to the strain. However, at L and X they are affected.
In the database we specify:
| valence bands | conduction bands | |||
| Gamma | L | X | ||
uniax-vb-deformation-potentials |
b d | |||
uniax-cb-deformation-potentials |
0 (always zero) | Xiu(L) | Xiu(X) | |
valence-band-energies |
Ev,av (eV) | |||
conduction-band-energies |
Ev,av+ 1/3 DeltaSO+ Egap(Gamma) |
Ev,av+ 1/3 DeltaSO+ Egap(L) |
Ev,av+ 1/3 DeltaSO+ Egap(X) |
|
6x6kp-parameters |
..... .....
..... Deltaso (eV) |
|||
8x8kp-parameters |
..... ..... ..... ..... .... ..... |
|||
Once Ev,av are known on an absolute scale (only physically meaningful relative to Ev,av in related semiconductors), the valence band and conduction band edge energies Ev and Ec, respectively, are obtained on an absoute scale from
(7a)
(7b) (for Gamma)
where Ev,av, Deltaso, and Eg
(band gap energy) refer to unstrained bulk properties. The strain contribution
is incorporated into the other properties.
Now we can calculate the band offset at the interface directly comparing the
values of Ev and and Ec of the
semiconductors constituting the heterojunction.
Equations (4), (5) and (6) were arrived at by treating the effect of strain as a small perturbation, and are therefore only valid in the case of small lattice mismatch. The mismatch attainable in pseudomorphic heterojunctions composed of III-V alloys is expected to fall within this range of validity.
(Most of this text was taken from M.P.C.M. Krijn, Semicond. Sci. Technol. 6, 27 (1991))
Question
Is it possible to have some of the layers of the heterostructure to be
pseudomorphic and then at some point higher up in the structure have the layers
be relaxed? Currently, I have the entire structure with
homogeneous-strain.
Answer
Yes, it is. Have a look at this keyword:
$material
For each material one can specify its own substrate. If this substrate is
identical to the material name, then one has a "relaxed" and not a strained
material, even with option homogeneous-strain.
Question
How can I specify the substrate or its lattice constant?
Answer
$domain-coordinates<material-name>
...
pseudomorphic-on =
...
$end_domain-coordinates
Question
I want to simulate a superlattice of quantum wells in 1D. For this I want to build a cluster consisting of a well and a barrier, i.e. this cluster would contain 2 different materials. Is this possible?
Answer
No. You can define one huge cluster that consists of the barrier
material for the whole superlattice and set region-priority=1. Then
you can put several wells on it with region-priority=2.
Alternatively, open two windows of the
1D Input
file generator (Step 1) and define in the first the barrier and in the
second the well and press the "Submit" buttons alternately.
New feature: Periodic boundary conditions for quantum regions will be implemented soon. This will allow you to simulate a superlattice.
Question
What physical properties or equations are affected if I change the
lattice-temperature
in the input file?
Answer
varshni-parameters-on = no.
database.in file to get the correct band gap for the corresponding
temperature of interest (more information on
band gap). You can even specify your own materials as was already done for
GaAs-4K, AlAs-4K, InAs-4K, Al(x)Ga(1-x)As-4K, In(x)Ga(1-x)As-4K,
Al(x)In(1-x)As-4K (in addition to GaAs, AlAs, ...).
$impurity-parameters specifies how far a donor/acceptor lies
below/above the conduction/valence band. If the temperature is around 4 K,
almost no donors/acceptors are ionized. In this case - if you still want all
donors/acceptors to be fully ionized - you need to specify a value of say -10
eV instead of +0.03 eV.
$numeric-control
(lattice-constants-temp-coeff-on = no/yes).
No! (Previous versions)
Question
Can I change the
lattice-temperature
to 0 Kelvin in the input file?
Answer
Question
When we have 2D simulation we can specify as simulation domain [1 0 1]
or [1 1 0 ] or [0 1 1]. What is x
and what is y in the simulation domain?
Answer
| [x y z] | simulation system | calculation sytem = x,y system |
| [1 0 1] | (x,z)-plane | x=x, y=z |
| [1 1 0] | (x,y)-plane | x=x, y=y |
| [0 1 1] | (y,z)-plane | x=y, y=z |
Question 1
How to plot 2D AVS/Express output data with Origin? ->
Answer
Question 1
What is the unit of the electron density (output)? What is the units of the elastic constants in the database?
Answer 1
The electron/hole density output will be given in the following units
[1018
cm-3].
These units are the same for 1D, 2D and 3D simulations.
The elastic constants are given in GPa.
Question 2
The numbers of the electron density on my plot looks different to what I expected.
Answer 2
You could try to adjust your energy-levels-relative in
impurity-parameters
to -10d0 instead of e.g. 0.02d0 and
check if it makes a difference.
Question 3
I get three different columns for my electron density output (1D) when I run a quantum mechanical calculation. Which one is the electron density?
Answer 3
The second column in the electron density which is the sum of
classical and quantum mechanical density.
- second column: sum of quantum mechanical and classical density
- third column: quantum mechanical density
- forth column: classical density
Warning define_poisson_clusters: Boundary conditions fixed manually, not
by input.Question
I get the following warning:
Warning define_poisson_clusters: Boundary conditions fixed manually, not
by input.What does it mean?
Answer
It simply means that for the boundary conditions of the Poisson equation ($poisson-boundary-conditions)
by default Neumann boundary conditions with electric field = 0 V/m
are assumed when calling SUBROUTINE define_poisson_clusters. This
is just a reminder that these boundary conditions cannot be specified in
the input file yet. However, Ohmic and
Schottky boundary conditions are implemeted correctly.
| ||||||||