Parameters for calculating densityOfStates

Parameters here are for calculating the density of states (DOS).

calculation.densityOfStates.method

key word

:

calculation.densityOfStates.method

possible values

:

GreenFunction or WaveFunction

default value

:

WaveFunction for 1D, 2D, and 3D bulk systems,

GreenFunction for molecule and systems with probes.

description

:

The method used for the calculation of the density of

states.

an example

:

calculation.densityOfStates.method = GreenFunction

calculation.densityOfStates.isResolved

key word

:

calculation.densityOfStates.isResolved

possible values

:

true or false

default value

:

false

description

:

If true, the density of states (dos) is resolved in

k-space, instead of integrated over the Brillouin zone.

an example

:

calculation.densityOfStates.isResolved = 0

calculation.densityOfStates.kSpaceGridNumber

key word

:

calculation.densityOfStates.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.densityOfStates.kSpaceGridNumber = [10 10 10]

calculation.densityOfStates.kSpaceGridShift

key word

:

calculation.densityOfStates.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 densityOfStates.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 length along their

grid vector directions, respectively.

an example

:

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

calculation.densityOfStates.kSpacePoints

key word

:

calculation.densityOfStates.kSpacePoints

possible values

:

3\(\times\)n double array

default value

:

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

the parameter densityOfStates.kPointFile, or produced by

the parameters densityOfStates.kSpaceGridNumber and

densityOfStates.kSpaceGridShift.

description

:

the fractional coordinates of n (transverse) wave vectors

which are used in the k-space integration, or at which

the resolved dos is calculated.

an example

:

calculation.densityOfStates.kSpacePoints = [0 0 0]

calculation.densityOfStates.kPointWeights

key word

:

calculation.densityOfStates.kPointWeights

possible values

:

1\(\times\)n double array

default value

:

defined in the k-point file if the corresponding

parameter densityOfStates.kSpacePoints is using the

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

or calculated by nanodcal.

description

:

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

integration.

an example

:

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

calculation.densityOfStates.kPointFile

key word

:

calculation.densityOfStates.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 : the 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

k-space integration. It is normalized

so that sum(weight) = 1.

where the headers number, divisor, and weight are

optional.

an example

:

calculation.densityOfStates.kPointFile = k-points.dat

calculation.densityOfStates.isIntegrated

key word

:

calculation.densityOfStates.isIntegrated

possible values

:

true or false

default value

:

false

description

:

If true, the density of states (dos) is integrated over

the given energy range, instead of being expressed as a

function of energy.

an example

:

calculation.densityOfStates.isIntegrated = 0

calculation.densityOfStates.energyRange

key word

:

calculation.densityOfStates.energyRange

possible values

:

a 2\(\times\)1 double array

default value

:

no default value

description

:

When isIntegrated is true, this parameter defines the

energy range over which dos is integrated.

When isIntegrated is false, this parameter is used

together with numberOfEnergyPoints, to define the

parameter energyPoints.

Note that for bulk system its values are measured from

the Fermi energy, and for system with leads its values

are measured from the chemical potential of a lead

that has zero applied voltage.

an example

:

calculation.densityOfStates.energyRange = [-10,10]

calculation.densityOfStates.numberOfEnergyPoints

key word

:

calculation.densityOfStates.numberOfEnergyPoints

possible values

:

an integer number

default value

:

20 when isIntegrated is true and the method is

GreenFunction, otherwise determined by parameters

energyRange and energyInterval.

description

:

When isIntegrated is true, this parameter is used to

perform the integration.

When isIntegrated is false, this parameter is used

together with energyRange, to define the parameter

energyPoints.

an example

:

calculation.densityOfStates.numberOfEnergyPoints = 100

calculation.densityOfStates.energyInterval

key word

:

calculation.densityOfStates.energyInterval

possible values

:

a double number

default value

:

5e-2 eV

description

:

Energy interval used to determine the parameter

numberOfEnergyPoints.

an example

:

calculation.densityOfStates.energyInterval = 1e-3

calculation.densityOfStates.energyPoints

key word

:

calculation.densityOfStates.energyPoints

possible values

:

n\(\times\)1 double array with n an integer

default value

:

Fermi energy or chemical potentials of all the leads when

energyRange is not given; otherwise, determined by

energyRange and numberOfEnergyPoints.

description

:

when isIntegrated is true, this parameter is used

together with energyPointWeights, to perform the

energy integration.

When isIntegrated is false, the density of states

will be calculated at those energy points.

Note that for bulk system its values are measured from

the Fermi energy, and for system with leads its values

are measured from the chemical potential of a lead

that has zero bias voltage.

an example

:

calculation.densityOfStates.energyPoints = 0

calculation.densityOfStates.energyPointWeights

key word

:

calculation.densityOfStates.energyPointWeights

possible values

:

double array with the same length of energyPoints.

default value

:

no default value.

description

:

the weights used in the energy space integration.

The parameter is used when and only when

isIntegrated is true and the energyPoints is given

explicitly.

an example

:

calculation.densityOfStates.energyPointWeights = …

ones(1,101)/3

calculation.densityOfStates.whatProjected

key word

:

calculation.densityOfStates.whatProjected

possible values

:

None, Atom, Orbital, Ell

default value

:

None

description

:

If Atom or Orbital, the dos is projected on the

given orbitals or atoms. If Ell, the dos is projected

on orbitals with the given angular momentum. If None,

not projected.

an example

:

calculation.densityOfStates.whatProjected = Orbital

calculation.densityOfStates.indexProjected

key word

:

calculation.densityOfStates.indexProjected

possible values

:

cell array of n\(\times\)1 integer array

default value

:

all ells, orbitals, or atoms

description

:

Each cell, which contains a n\(\times\)1 integer array to

represent a set of atoms or orbitals, or ell values of

angular momentum, defines a projector. Density of states

projected on each set of those atoms or orbitals will be

calculated respectively.

This parameter is not used when whatProjected is

None.

Please note that the order of the atoms and orbitals

have been listed in the output file Atoms.txt, which

can be used to identify the orbital or atom index.

an example

:

calculation.densityOfStates.indexProjected = …

{[1 4 7], [2 5 8], [3 6 9]}

calculation.densityOfStates.whatLocalized

key word

:

calculation.densityOfStates.whatLocalized

possible values

:

None, Region, Point

default value

:

None

description

:

If Region, the local dos will be integrated over a

given real space region. If Point, the local

dos will be expressed as a function of r. If None, no

local analysis is performed.

an example

:

calculation.densityOfStates.whatLocalized = Region

calculation.densityOfStates.regionPosition

key word

:

calculation.densityOfStates.regionPosition

possible values

:

a 3\(\times\)1 double array

default value

:

no default value

description

:

When whatLocalized is Region, this parameter and

regionVectors define a real space region over which

local dos is integrated. When whatLocalized is

Point and realSpacePoints is not given, this

parameter, regionVectors and regionGridNumber

will define the parameter realSpacePoints. When

whatLocalized is None, this parameter is not used.

an example

:

calculation.densityOfStates.regionPosition = [1,1,1]

calculation.densityOfStates.regionVectors

key word

:

calculation.densityOfStates.regionVectors

possible values

:

a 3\(\times\)3 double array

default value

:

no default value

description

:

When whatLocalized is Region, this parameter and

regionPosition define a real space region over which

local dos is integrated, where the columns of

regionVectors are the three basis vectors of the region.

When whatLocalized is Point and realSpacePoints

is not given, this parameter, regionPosition, and

regionGridNumber will define the parameter

realSpacePoints. When whatLocalized is None, this

parameter is not used.

an example

:

calculation.densityOfStates.regionVectors = eye(3)*0.3

calculation.densityOfStates.regionGridNumber

key word

:

calculation.densityOfStates.regionGridNumber

possible values

:

3\(\times\)1 integer vector

default value

:

no default value

description

:

the small grid number in each direction. It is used

to divide the region defined by regionPosition and

regionVectors to a number of small grids for

integration over the region. When whatLocalized is

Point and realSpacePoints is not given, this

parameter, regionPosition, and regionVectors define

the parameter realSpacePoints.

an example

:

calculation.densityOfStates.regionGridNumber = [4 4 4]

calculation.densityOfStates.realSpacePoints

key word

:

calculation.densityOfStates.realSpacePoints

possible values

:

3\(\times\)n double array with n an integer

default value

:

determined by regionPosition, regionVectors, and

regionGridNumber

description

:

the real space points at which the local density of states

is calculated. When whatLocalized is None or

Region, this parameter is not used.

an example

:

calculation.densityOfStates.realSpacePoints = [0 0 0]

calculation.densityOfStates.eta

key word

:

calculation.densityOfStates.eta

possible values

:

a small double number

default value

:

5e-2 eV

description

:

The Lorentz broadening width used to smooth the dos when

the GreenFunction method is used.

Note that the unit used is defined by input parameter

calculation.control.energyUnit, and default unit is eV.

an example

:

calculation.densityOfStates.eta = 1e-2

calculation.densityOfStates.plot

key word

:

calculation.densityOfStates.plot

possible values

:

true or false

default value

:

false

description

:

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

an example

:

calculation.densityOfStates.plot = true

calculation.densityOfStates.broadening

key word

:

calculation.densityOfStates.broadening

possible values

:

0, 1, 2

default value

:

1

description

:

The calculated density of states as a function of energy

may not look smooth enough and it normally needs to do

the gaussian broadening to make it looks more smooth.

If it is 0, do not do the broadening.

If it is 1, do the broadening by using a gaussian

function as the broadening function, where the standard

deviation parameter of the gaussian function is defined

through the input parameter broadeningWidth.

If it is 2, re-do the broadening (with a different

broadening width) on the density of states which has

already been calculated before.

an example

:

calculation.densityOfStates.broadening = 2

calculation.densityOfStates.broadeningWidth

key word

:

calculation.densityOfStates.broadeningWidth

possible values

:

a small double number

default value

:

2

description

:

The half width at half maximum (HWHM) of the broadening

function, in the unit of the minimum interval between

the energy points. For a gaussian function with a

standard deviation SD, the HWHM is sqrt(2ln2)*SD,

an example

:

calculation.densityOfStates.broadeningWidth = 4