SweepParameters{ }¶
- Calling sequence
SweepParameters{ ... }
- Functionality
Specifies voltage, temperature, or electric-field sweep in the simulation. The C++ version of nextnano.NEGF (see Release Notes) supports voltage and electric-field sweep.
- Dependencies
For a single simulation, Temperature and Bias{ } must be specified.
- Dependencies
- Example
SweepParameters{ SweepType = Single }
SweepParameters{ SweepType = Voltage Min = 200 Max = 500 Delta = 50 }
SweepParameters{ SweepType = Efield Min = 1e6 Max = 8e6 Delta = 1e6 DeltaSmall = 0.1e6 }
Note
The C# version of nextnano.NEGF supports voltage, temperature, and combined temperature-voltage sweep.
<SweepParameters>
<SweepType>Voltage</SweepType> <!-- "Voltage" or "Temperature" -->
<Min>20</Min>
<Max>500</Max>
<Delta>20</Delta>
</SweepParameters>
In this case, we define the start and end of the voltage or temperature as well as its increment. The units are [mV/period] for the voltage sweep and [K] for the temperature sweep.
<SweepParameters>
<SweepType>Temperature-Voltage</SweepType>
<MinV>50</MinV>
<MaxV>60</MaxV>
<DeltaV>2</DeltaV>
<MinT>25</MinT>
<MaxT>300</MaxT>
<DeltaT>25</DeltaT>
<Threads>12</Threads>
</SweepParameters>
In this case, the simulation can be parallelized. Threads
defines the number of parallel threads (typically the number of CPU cores available). Within each parallel temperature sweep, a standard voltage sweep is performed.
The following keywords are available within this group:
SweepType¶
- Calling sequence
SweepParameters{ SweepType }
- Properties
type: \(\mathrm{character\;string}\)
Single
,Voltage
, orEfield
(C++ version, see Release Notes)Voltage
,Temperature
, orTemperature-Voltage
(C# version, see Release Notes (Classic))
- Functionality
This defines the start and end of the voltage or temperature as well as its increment.
Note
The temperature-voltage sweep is available in the C# version and will be implemented in the C++ version as well. Here, the value of the last calculated bias value below threshold bias is used as a starting point of the following bias sweep at the next temperature.
Min¶
- Calling sequence
SweepParameters{ Min }
- Properties
type: \(\mathrm{real\;number}\)
- Functionality
Sets the minimum value of the sweep range.
Max¶
- Calling sequence
SweepParameters{ Max }
- Properties
type: \(\mathrm{real\;number}\)
- Functionality
Sets the maximum value of the sweep range.
Delta¶
- Calling sequence
SweepParameters{ Delta }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
- Functionality
Specifies the interval of the sweep values.
DeltaSmall¶
- Calling sequence
SweepParameters{ DeltaSmall }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
- Functionality
Specifies alternating electric-field intervals. This option can be used to improve the accuracy of capacitance-voltage curves.
MinV¶
- Calling sequence
SweepParameters{ MinV }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{mV}\)
- Functionality
Sets the minimum value of the voltage sweep range.
MaxV¶
- Calling sequence
SweepParameters{ MaxV }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{mV}\)
- Functionality
Sets the maximum value of the voltage sweep range.
DeltaV¶
- Calling sequence
SweepParameters{ DeltaV }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{mV}\)
- Functionality
Specifies the interval of the voltage sweep values.
MinT¶
- Calling sequence
SweepParameters{ MinT }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{K}\)
- Functionality
Sets the minimum value of the sweep range of the lattice temperature.
MaxT¶
- Calling sequence
SweepParameters{ MaxT }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{K}\)
- Functionality
Sets the maximum value of the sweep range of the lattice temperature.
DeltaT¶
- Calling sequence
SweepParameters{ DeltaT }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{K}\)
- Functionality
Specifies the interval of the lattice temperature values.
SchroedingerOnly¶
- Calling sequence
SweepParameters{ SchroedingerOnly }
- Properties
choices:
yes
;no
default:
no
- Functionality
If yes, the program exits once it has diagonalized the Hamiltonian and calculated the NEGF basis. This option can be useful to inspect and tune the inputs about the heterostructure before actually simulating non-equilibrium quantum transport.
- Example
SweepParameters{ SchroedingerOnly = yes }
Last update: 19/11/2024