SweepParameters{ }

Calling sequence

SweepParameters{ ... }

Functionality

Specifies voltage, temperature, or electric-field sweep in the simulation. The nextnano.NEGF tool (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 nextnano.NEGF_classic tool 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: character string

  • Single, Voltage, or Efield (C++ version)

  • Voltage, Temperature, or Temperature-Voltage (C# version)

Functionality

This defines the start and end of the voltage or temperature as well as its increment. See Overview for software lineup.

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: real number

Functionality

Sets the minimum value of the sweep range.


Max

Calling sequence

SweepParameters{ Max }

Properties
  • type: real number

Functionality

Sets the maximum value of the sweep range.


Delta

Calling sequence

SweepParameters{ Delta }

Properties
  • type: real number

  • values: [0.0, ...)

Functionality

Specifies the interval of the sweep values.


DeltaSmall

Calling sequence

SweepParameters{ DeltaSmall }

Properties
  • type: 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: real number

  • unit: mV

Functionality

Sets the minimum value of the voltage sweep range.


MaxV

Calling sequence

SweepParameters{ MaxV }

Properties
  • type: real number

  • unit: mV

Functionality

Sets the maximum value of the voltage sweep range.


DeltaV

Calling sequence

SweepParameters{ DeltaV }

Properties
  • type: real number

  • values: [0.0, ...)

  • unit: mV

Functionality

Specifies the interval of the voltage sweep values.


MinT

Calling sequence

SweepParameters{ MinT }

Properties
  • type: real number

  • values: [0.0, ...)

  • unit: K

Functionality

Sets the minimum value of the sweep range of the lattice temperature.


MaxT

Calling sequence

SweepParameters{ MaxT }

Properties
  • type: real number

  • values: [0.0, ...)

  • unit: K

Functionality

Sets the maximum value of the sweep range of the lattice temperature.


DeltaT

Calling sequence

SweepParameters{ DeltaT }

Properties
  • type: real number

  • values: [0.0, ...)

  • unit: K

Functionality

Specifies the interval of the lattice temperature values.


SchroedingerOnly

Calling sequence

SweepParameters{ SchroedingerOnly }

Properties
  • values: yes or 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: 04/12/2024