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
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, or Efield (C++ version, see Release Notes)

  • Voltage, Temperature, or Temperature-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