$global-parameters¶
Global parameters are general parameters which are valid all over the device. See also $global-parameters under database section.
$global-parameters optional lattice-temperature double required temperature-sweep-active character optional temperature-sweep-step-size double optional temperature-sweep-number-of-steps integer optional data-out-every-nth-step integer optional $end_global-parameters optional
The lattice temperature is given in Kelvin. The lowest allowed temperature can be set in $program_restrictions.
Note
$global-parameters is optional. If it is not present, the default value for the temperature is taken from $global-parameters of the database file. Currently, the default temperature is set to 300 K.
Note
The band gaps (namely the conduction band edges only) are adjusted when the temperature changes.
This feature can be switched off.
See $numeric-control: varshni-parameters-on = no
In addition, the lattice constants depend on temperature.
This can be switched off as well.
See $numeric-control: lattice-constants-temp-coeff-on = no
Temperature sweep
It is possible to sweep over the temperature, i.e. to vary the temperature stepwise. This is similar to
electric field sweep ($electric-field)
magnetic field sweep ($magnetic-field)
voltage sweep ($voltage-sweep)
doping concentration sweep ($doping-function)
alloy sweep ($alloy-function).
The output is labeled with ..._ind000.dat
, ..._ind001.dat
, ..._ind002.dat
, … where the index refers to the number of the temperature sweep step.
Example
!--------------------------------------------! $global-parameters lattice-temperature = 300.0 ! [K] temperature-sweep-active = yes ! yes/no temperature-sweep-step-size = -10.0 ! [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 ! (optional, default = 1) $end_global-parameters !-------------------------------------------!
In this example, the temperature is varied starting from 300 K, and then reducing the temperature 20 times in steps of -10.0
, ending at 100 K.
Obviously, increasing the temperature is also possible.
If you do not 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 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 = 5.0 ! 5 Kelvin temperature-sweep-active = yes ! temperature-sweep-step-size = 5.0 ! 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 = 1250 ! 1250 Kelvin temperature-sweep-active = yes ! temperature-sweep-step-size = -5.0 ! 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.