Global parameters
Global parameters are general parameters which are valid all
over the device.
See also
$global-parameters under Database section.
Lattice Temperature
!----------------------------------------------------------!
$global-parameters
optional !
!
lattice-temperature
double
required !
!
temperature-sweep-active
character optional
! (optional, only needed for temperature sweep)
temperature-sweep-step-size
double
optional ! (optional, only needed for temperature sweep)
temperature-sweep-number-of-steps integer
optional ! (optional, only needed for
temperature sweep)
data-out-every-nth-step
integer
optional ! (optional, only needed for temperature sweep)
!
$end_global-parameters
optional !
!----------------------------------------------------------!
Syntax
!----------------------------------------------------------!
$global-parameters !
!
lattice-temperature = 300d0 !
[K]
!
temperature-sweep-active =
yes
! yes/no
temperature-sweep-step-size =
-10d0 !
[K], i.e. in this case -10 K
temperature-sweep-number-of-steps = 20
! number of temperature sweep steps
data-out-every-nth-step
= 10
!
!
$end_global-parameters !
!----------------------------------------------------------!
The lattice temperature is given in Kelvin.
See also
$global-parameters under Database section.
Attention
The band gaps (namely the conduction band edge only) are
adjusted when the temperature changes.
This feature can be switched off. See
$numeric-control: varshni-parameters-on.
In addition, the lattice constants depend on temerature. This
can be switched off as well.
See $numeric-control:
lattice-constants-temp-coeff-on.
Temperature sweep
It is possible to sweep over the temperature, i.e. to vary the
temperature stepwise. This is similar to electric field sweeps ($electric-field), magnetic field
sweeps ($magnetic-field), voltage
sweeps ($voltage-sweep) and doping
concentration sweeps ($doping-function).
The output is labeled with ..._ind000.dat, ..._ind001.dat,
..._ind002.dat, ... where the index refers to the number of the
temperature sweep step.
lattice-temperature = 300d0 !
default is 300d0 ! [K]
temperature-sweep-active =
yes !
default is no
! yes/no
temperature-sweep-step-size =
-10d0 ! default
is 0d0 !
[K], i.e. in this case -10 K
temperature-sweep-number-of-steps = 20
! default is
1 ! number of
temperature sweep steps
data-out-every-nth-step =
10
! default is
1 !
In the above shown example, the temperature is varied starting from 300 K,
and then reducing the temperature 20 times in steps of "-10 K",
ending at 100 K. Obviously, increasing the temperature is also possible.
If you don't want to write out all data specified in the
output section for every step, you have to enter an integer number greater
than one.
If you specify 1, then output files
will be generated for each temperature sweep. This is useful if you want to fill
out all unused space on your hard disk.
Restrictions:
flow-scheme =
13 ,
flow-scheme =
130 ,
flow-scheme =
14 and
flow-scheme =
140 have some special functionality so far.
130/140:
same as 13/14
but including self-consistent Poisson-Schrödinger.
flow-scheme =
13: vary temperature as T
lattice-temperature
= 5d0 ! 5 Kelvin
temperature-sweep-active
= yes !
temperature-sweep-step-size
= 5d0 ! increase by 5 K
temperature-sweep-number-of-steps =
250 !
data-out-every-nth-step
= 50 !
flow-scheme =
14: vary temperature as 1000/T
lattice-temperature
= 1250d0 ! 1250 Kelvin
temperature-sweep-active
= yes !
temperature-sweep-step-size
= -5d0 ! decrease by 5 K
temperature-sweep-number-of-steps =
250 !
data-out-every-nth-step
= 50 !
See tutorial Electron concentration in doped semiconductors
(Si, Ge, GaAs) for details.
Question
Can I change the
lattice-temperature to 0 Kelvin in the input file?
Answer
->
$program-restrictions
|