Voltage sweep
Command to perform several calculations with increasing
(decreasing) bias voltage at a specific contact (poisson-cluster-number
/ Poisson boundary condition). Useful to get
I-V characteristics (current-voltage characteristics) or to get better convergence for high bias voltage by stepwise
approaching the final voltage. Sweep always starts from voltage set in Poisson
cluster definition ($poisson-boundary-conditions ).
With the specifier 'sweep-number'
up to four sweeps maybe executed simultaneously. Note that the numbers
'sweep-number'
have to be in consecutive order. The relation between the sweep index appended
to each output file (" _ind000 ")
and the actual sweep voltage applied is given in the file sweep_index_to_voltage.dat.
!------------------------------------------------------------!
$voltage-sweep
optional !
sweep-number
integer
required !
sweep-active
character
required !
poisson-cluster-number
integer_array required !
number-of-steps
integer
required !
step-size
double_array
optional !
table-of-voltages
double_array
optional !
data-out-every-nth-step
integer optional !
$end_voltage-sweep
optional !
!------------------------------------------------------------!
Important:
The output files that are generated during a voltage sweep
include an index number in the file name that specifies the step number to which
the file belongs. Since
Example: cb_band001_ind000.dat :
This is the
first conduction band output before the first voltage step occurred.
cb_band001_ind001.dat
: This is the first conduction band output after the first voltage step occurred.
...
cb_band001_ind00n.dat :
This is the
first conduction band output after the nth voltage step occurred.
Examples
$voltage-sweep
sweep-number
= 1
sweep-active =
yes
poisson-cluster-number = 2
step-size =
0.05d0 ! [V]
number-of-steps =
10
data-out-every-nth-step = 1
$end_voltage-sweep
$voltage-sweep
sweep-number
= 1
sweep-active =
yes
poisson-cluster-number = 1
step-size =
0.05d0 ! [V]
number-of-steps =
10
data-out-every-nth-step = 2
sweep-number
= 2
sweep-active =
no
poisson-cluster-number = 2
step-size =
0.1d0 ! [V]
number-of-steps =
3
data-out-every-nth-step = 1
$end_voltage-sweep
Syntax:
sweep-number
= 1
Numbering
of sweeps. For now the maximum is 4 . Numbering has to be in consecutive order.
sweep-active =
yes
= no
Flag whether voltage sweep is active or not.
poisson-cluster-number = 1
= 2
= ...
= 5
=
1 3 ! Here: Voltage sweep applies to several Poisson
clusters simultaneously (Sweep Poisson cluster number #1 #2 ).
! This might be useful for a 2D or 3D
simulation if one has different Schottky barrier heights where the same voltage
should be applied or ...
Number of Poisson cluster to which bias voltage should be applied
(integer array). The Poisson cluster (= contacts) can be specified here:
$poisson-boundary-conditions
number-of-steps =
10
Number of steps to be performed for this cluster / these clusters.
step-size =
0.02d0 ! [V]
Step size for voltage sweep in [V] .
Should not be too large as the electrostatic potential of the previous
voltage sweep is used as initial guess.
If more than one poisson-cluster-number entries are specified,
this entry can consist of an array of different step sizes for each poisson-cluster-number
entry.
=
0.02d0 0.01d0 ! [V]
Sweep Poisson cluster number #1 #2 ( poisson-cluster-number
= 1 3 ! (for instance)
)
! #1 #2
#3 ! Sweep Poisson cluster number ( poisson-cluster-number
= 1 4 5 ! (for instance) )
table-of-voltages =
0.005d0
0.005d0
0.000d0 ! [V] voltages of step 1
0.010d0
0.005d0
0.000d0 ! [V] voltages of step 2
0.015d0
0.005d0
0.000d0 ! [V] voltages of step 3
0.020d0
0.010d0
0.000d0 ! [V] voltages of step 4
0.020d0
0.015d0
0.000d0 ! [V] voltages of step 5
0.020d0
0.020d0
0.000d0 ! [V] voltages of step 6
0.020d0
0.020d0 1.000d0 ! [V]
voltages of step 7
0.020d0
0.020d0 2.000d0 ! [V]
voltages of step 8
Instead of specifying the step-size , one can also specify a
table of voltages.
The number of entries in table-of-voltages must be consistent
to the number-of-steps and the number of entries in poisson-cluster-number .
It must hold: SIZE(table-of-voltages) = number-of-steps * SIZE(poisson-cluster-number)
Either step-size or table-of-voltages must be
present but not both of them.
data-out-every-nth-step = 1
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 gate voltage. This is useful if you want to fill
out all unused space on your hard disk.
2D Example with Source, Drain and Gate as contacts (Poisson clusters):
|
|
$voltage-sweep |
|
|
|
sweep-active
= yes |
|
|
poisson-cluster-number=1 |
poisson-cluster-number
= 2 |
poisson-cluster-number=3 |
|
|
step-size
= 0.1d0 |
|
|
|
number-of-steps
= 4 |
|
sweep-step=0 |
Source 0.0 V |
Drain 0.0 V |
Gate 0.2 V |
sweep-step=1 |
Source 0.0 V |
Drain 0.1 V |
Gate 0.2 V |
sweep-step=2 |
Source 0.0 V |
Drain 0.2 V |
Gate 0.2 V |
sweep-step=3 |
Source 0.0 V |
Drain 0.3 V |
Gate 0.2 V |
sweep-step=4 |
Source 0.0 V |
Drain 0.4 V |
Gate 0.2 V |
|
|
|
|
For each sweep-step, the Poisson, Schrödinger and current equations are
solved for the given voltages. For sweep-step=n, the results of sweep-step=n-1
are taken as starting values to improve convergence.
Example
FET - Field Effect Transistor (1D) - How to incorporate voltage sweep steps
- FET - Field Effect Transistor (1D)
This example deals with a FET including voltage sweep from 0 V to 4 V in
steps of 0.2 V writing out every 1 V.
Input file:
ULM_FETs.in
- The FET is grown pseudomorphically on a GaN substrate and looks like this:
! 1 2
3 4
5 6 ! metal n-GaN n-GaN Ga(0.9)In(0.1)N
GaN metal ! 20 220 270
290 295 315
nm !_____________________________________________________________ ! ohmic contact
ohmic contact
- Doping: The structure has a constant n-type doping of 1*1018 cm-3
from 20 nm to 269 nm.
- Voltage sweep
Command to perform several calculations with increasing (decreasing) bias
voltage at one specific contact. Useful to get I-V characteristics or to get better convergence for high bias voltage by
stepwise approaching the final voltage.
Important: The output files that are generated during a voltage sweep
include a index number in the file name that specifies the step number to
which the file belongs.
$voltage-sweep sweep-number
= 1 sweep-active
=
yes ! Flag whether voltage sweep is active or not. poisson-cluster-number =
1 ! number of
Poisson cluster to which bias voltage should be applied. step-size
=
0.2 ! [V]
step size for voltage sweep number-of-steps =
20 ! number of steps to be performed.
data-out-every-nth-step = 5
! 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. $end_voltage-sweep
- Output:
Gamma conduction band edge for voltages of 0 V, 1 V, 2
V, 3 V and 4 V.
cb_band1_ind000.dat :
This is the first conduction band written out before the first voltage step
occurred.
|