SweepParameters{ }

Calling sequence

SweepParameters{ }

Functionality

Specifies voltage, temperature, electric-field sweep in the simulation. The C++ version of nextnano.NEGF supports voltage and electric-field sweep. For a single simulation, the temperature and bias must be specified.

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}\)

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}\)

Functionality

Specifies interval of sweep values.


DeltaSmall

Calling sequence

SweepParameters{ DeltaSmall }

Properties
  • type: \(\mathrm{real\;number}\)

Functionality

Specifies alternating electric-field intervals. This option can be used to improve the accuracy of capacitance-voltage curves.


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
}