Parameters for calculating IVCurve

Parameters here are for calculating current-voltage (IV) characteristics.

calculation.IVCurve.systemObjectStatus

key word

:

calculation.IVCurve.systemObjectStatus

possible values

:

AllCalculated, AllToBeCalculated

default value

:

AllCalculated

description

:

This parameter indicates calculation status of the

self-consistent field of the system.

If AllCalculated, the Hamiltonian calculation has

already been completed under all bias voltages.

If AllToBeCalculated, needs to calculate the

Hamiltonian before the current-voltage curve

calculation. In this case, all input parameters for the

Hamiltonian calculation should be included, except the

calculation.name which will be given in

IVCurve.hamiltonianCalculationName and the

system.voltageOfLead# which will be given in

IVCurve.leadsVoltages.

an example

:

calculation.IVCurve.systemObjectStatus = …

AllToBeCalculated

calculation.IVCurve.systemObjectFiles

key word

:

calculation.IVCurve.systemObjectFiles

possible values

:

cell array of strings for file names of the

calculated system objects

default value

:

no default value

description

:

only used when systemObjectStatus is AllCalculated.

an example

:

calculation.IVCurve.systemObjectFiles = …

{./bias1/object.mat, ./bias2/object.mat}

calculation.IVCurve.hamiltonianCalculationName

key word

:

calculation.IVCurve.hamiltonianCalculationName

possible values

:

a string which will be used as the parameter

calculation.name when performing the Hamiltonian

calculation.

default value

:

SCF

description

:

not used when systemObjectStatus is AllCalculated.

an example

:

calculation.IVCurve.hamiltonianCalculationName = SCF

calculation.IVCurve.leadsVoltages

key word

:

calculation.IVCurve.leadsVoltages

possible values

:

a cell array of 1 by number of leads. each cell is an

1 by n double array with n an integer.

default value

:

no default value

description

:

the bias voltages applied to all leads, in unit of Volt.

Not used when systemObjectStatus is AllCalculated.

Note that the chemical potential shift by application of

a bias V is -eV.

an example

:

calculation.IVCurve.leadsVoltages = …

{0, -1:0.1:1}

calculation.IVCurve.leadIndex

key word

:

calculation.IVCurve.leadIndex

possible values

:

integer array

default value

:

all leads

description

:

Index of those leads whose current is to be calculated.

an example

:

calculation.IVCurve.leadIndex = 2

calculation.IVCurve.method

key word

:

calculation.IVCurve.method

possible values

:

GreenFunction, WaveFunction

default value

:

GreenFunction

description

:

method used for calculating conductance or current.

an example

:

calculation.IVCurve.method = GreenFunction

calculation.IVCurve.temperature

key word

:

calculation.IVCurve.temperature

possible values

:

a double value

default value

:

the value used in the calculation of Hamiltonian, or

0 if an user provided Hamiltonian is used.

description

:

temperature used in the Fermi function when

calculating the conductance or current, in unit of K.

Note: the Boltzmann constant k = 8.617342e-05(eV/K) = 3.1668151e-06 (Hartree/K).

an example

:

calculation.IVCurve.temperature = 100

calculation.IVCurve.kSpaceGridNumber

key word

:

calculation.IVCurve.kSpaceGridNumber

possible values

:

3\(\times\)1 integer array

default value

:

the value of calculation.k_spacegrids.number which was

used in the Hamiltonian calculation, or [1 1 1] if an

user provided Hamiltonian is used.

description

:

the small k-space grid number in each direction which,

together with kSpaceGridShift, are used to produce the

parameter kSpacePoints.

an example

:

calculation.IVCurve.kSpaceGridNumber = [10 10 10]

calculation.IVCurve.kSpaceGridShift

key word

:

calculation.IVCurve.kSpaceGridShift

possible values

:

3\(\times\)1 or 1\(\times\)3 array, [s\(_1\), s\(_2\), s\(_3\)], with each s\(_i\) a

double number between 0 and 1.

default value

:

if the IVCurve.kSpaceGridNumber is given, or if an

user provided Hamiltonian is used, the default value is [0

0 0], otherwise the default value is the value of

calculation.k_spacegrids.shift which was used in the

Hamiltonian calculation.

description

:

k-space grid point shift. While all s\(_i\) are set to be 0,

the Gamma point is always among the k-space grid points

being generated; otherwise, the k-space grid points will

be shifted s\(_1\), s\(_2\), and s\(_3\) grid lengths along their

grid vector directions, respectively.

an example

:

calculation.IVCurve.kSpaceGridShift = [1/2 1/2 1/2]

calculation.IVCurve.kSpacePoints

key word

:

calculation.IVCurve.kSpacePoints

possible values

:

3\(\times\)n double array

default value

:

defined in the k-point file if the file is given by

the parameter IVCurve.kPointFile, or produced by

the parameters IVCurve.kSpaceGridNumber and

IVCurve.kSpaceGridShift.

description

:

the fractional coordinates of n transverse wave vectors

which are used in the k-space integration.

an example

:

calculation.IVCurve.kSpacePoints = [0 0 0]

calculation.IVCurve.kPointWeights

key word

:

calculation.IVCurve.kPointWeights

possible values

:

1\(\times\)n double array

default value

:

defined in the k-point file if the corresponding

parameter IVCurve.kSpacePoints is using the

k-values in the same file. Otherwise, equally weighted.

description

:

the weights of the k-space points in the k-space

integration.

an example

:

calculation.IVCurve.kPointWeights = [1/2 1/3 1/6]

calculation.IVCurve.kPointFile

key word

:

calculation.IVCurve.kPointFile

possible values

:

a file name

default value

:

no default value

description

:

the name of a file which contains the coordinates of

k-space points and their corresponding weights.

A k-point file with n k-points has (n+1) lines: one line

of headers and n lines of values of the n k-points.

The headers are:

number : sequential number of the k-point

k1, k2, k3 : fractional coordinates of the k-point

divisor : used to modify k1, k2, and k3 so that the

real fractional coordinates are

k1/divisor, k2/divisor, k3/divisor

weight : relative weights of the k-points for the

k-space integration. It is normalized

so that sum(weight) = 1.

where the headers number, divisor, and weight are

optional.

an example

:

calculation.IVCurve.kPointFile = k-points.dat

calculation.IVCurve.energyInterval

key word

:

calculation.IVCurve.energyInterval

possible values

:

a double number

default value

:

5e-2 eV

description

:

Energy interval used to determine the parameter

numberOfEnergyPoints.

an example

:

calculation.IVCurve.energyInterval = 1e-3

calculation.IVCurve.energyPoints

key word

:

calculation.IVCurve.energyPoints

possible values

:

double array

default value

:

determined by nanodcal according to the applied

voltages, temperature, etc.

description

:

the energy points which are used in the energy space

integration.

Note that the energy values are measured from chemical

potential of a lead having zero applied voltage.

an example

:

calculation.IVCurve.energyPoints = 0:0.03:3

calculation.IVCurve.energyPointWeights

key word

:

calculation.IVCurve.energyPointWeights

possible values

:

double array with the same length of energyPoints.

default value

:

no default value if the parameter energyPoints is given

explicitly. Otherwise, determined by nanodcal according

to the applied voltages, temperature, etc.

description

:

the weights used in the energy space integration.

The parameter is only used when energyPoints is given

explicitly.

an example

:

calculation.IVCurve.energyPointWeights = ones(1,101)/3

calculation.IVCurve.etaSigma

key word

:

calculation.IVCurve.etaSigma

possible values

:

a small double number

default value

:

1e-6 Hartree

description

:

the small eta used in the calculation of self-energy

when the GreenFunction method is chosen.

an example

:

calculation.IVCurve.etaSigma = 1e-4

calculation.IVCurve.etaGF

key word

:

calculation.IVCurve.etaGF

possible values

:

a small double number

default value

:

0

description

:

the small eta used in the calculation of Greens

function when the GreenFunction method is chosen.

an example

:

calculation.IVCurve.etaGF = 1e-4

calculation.IVCurve.eta

key word

:

calculation.IVCurve.eta

possible values

:

a small double number

default value

:

no default value

description

:

the small eta used in the calculation of self-energy

and/or Greens function when the GreenFunction method

is chosen. This parameter is only used when the

parameter IVCurve.etaSigma and/or IVCurve.etaGF is not

given.

an example

:

calculation.IVCurve.eta = 1e-4

calculation.IVCurve.epsilon

key word

:

calculation.IVCurve.epsilon

possible values

:

a small double number

default value

:

1e-9

description

:

used as a criterion of Bloch wave. For a wave with

wave-vector k, if ||exp(ika)|-1| < epsilon, where a is

unit cell length, it is considered as a Bloch wave;

otherwise it is considered as an evanescent wave.

an example

:

calculation.IVCurve.epsilon = 1e-4

calculation.IVCurve.plot

key word

:

calculation.IVCurve.plot

possible values

:

true or false

default value

:

false

description

:

If true, a plot will be given after the calculation.

an example

:

calculation.IVCurve.plot = true