Parameters for calculating bandStructure

Parameters here are for band structure calculations.

calculation.bandStructure.crystalStructure

key word

:

calculation.bandStructure.crystalStructure

possible values

:

0D,

1D,

HEXAGON, SQUARE

SC, FCC, BCC, HCP

or any other string representing another / new structure

default value

:

determined by nanodcal

description

:

the crystal structure of the system.

  1. zero dimensional system:

0D is for a molecular system.

  1. one dimensional system:

1D is for a system extended along the third

direction defined in the unitCellVectors.

  1. two dimensional system:

the system extended along the first and second

direction defined in the unitCellVectors.

HEXAGON is for a system whose unit cell has a

hexagonal shape, e.g. graphene.

SQUARE is a for a system whose unit cell has a

square shape.

  1. three dimensional system:

SC stands for simple cubic structure;

FCC for face center cubic structure;

BCC for body center cubic structure,

HCP for hexagonal close-packing structure.

Please note that for other structures not listed above,

the parameter coordinatesOfTheSymmetryKPoints must be

given explicitly.

an example

:

calculation.bandStructure.crystalStructure = FCC

calculation.bandStructure.unitCellVectors

key word

:

calculation.bandStructure.unitCellVectors

possible values

:

3\(\times\)3 or 1\(\times\)6 or 1\(\times\)3 double matrix

default value

:

determined by nanodcal

description

:

The band structure will be calculated along line

segments connecting some symmetry points in k-space.

The coordinates of those symmetry points are, in

convention, defined based on the unit cell. The

unitCellVectors will be used to calculate the

coordinates of the symmetry k-points.

When the parameter is a 3\(\times\)3 double matrix, its each

column forms one of the three basis vectors. When

the parameter is a 1\(\times\)6 double matrix, it defines the

three basis vectors by giving their lengths, a, b, and

c, and the angles between them, alpha, beta, and gamma,

with the convention that the a-axis is collinear with

the x-axis, and the b-axis lies in the xy-plane. When

the parameter is a 1\(\times\)3 double matrix, the alpha, beta,

and gamma are all assumed to be \(\pi\)/2.

If the unitCellVectors is to be given, but the

coordinatesOfTheSymmetryKPoints is not to be given

explicitly, the following are the rules to define the

unitCellVectors:

For an 1D structure, the unit cell vector along which

the system extends, should be defined as the third

vector in the unitCellVectors.

For a 2D HEXAGON structure, the unit cell vectors

along which the system extends, should be defined as the

first and the second vectors in the unitCellVectors. In

addition, the angle between the two vectors should be 60

degrees rather than 120 degrees.

For a 2D SQUARE structure, the unit cell vectors

along which the system extends, should be defined as the

first and the second vectors in the unitCellVectors.

For a 3D HCP structure, the unit cell vector which

is perpendicular to the other two vectors, should be

defined as the third vector in the unitCellVectors. In

addition, the angle between the first and the second

vectors should be 60 degrees rather than 120 degrees.

an example

:

calculation.bandStructure.unitCellVectors = …

eye(3)*10.2612164268616

calculation.bandStructure.primitiveCellVectors

key word

:

calculation.bandStructure.primitiveCellVectors

possible values

:

3\(\times\)3 or 1\(\times\)6 or 1\(\times\)3 double matrix

default value

:

determined by nanodcal

description

:

The matrix format of the calculated Hamiltonian depends

on the central cell chosen in the calculation. Normally

the central cell is a supercell, and one needs

primitiveCellVectors to convert the Hamiltonian

matrix in the format of the super cell to that of the

primitive cell. See also the description of

system.centralCellVectors.

When the parameter is a 3\(\times\)3 double matrix, its each

column forms one of the three basis vectors. When

the parameter is a 1\(\times\)6 double matrix, it defines the

three basis vectors by giving their lengths, a, b, and

c, and the angles between them, alpha, beta, and gamma,

with the convention that the a-axis is collinear with

the x-axis, and the b-axis lies in the xy-plane. When

the parameter is a 1\(\times\)3 double matrix, the alpha, beta,

and gamma are all assumed to be \(\pi\)/2.

an example

:

calculation.bandStructure.primitiveCellVectors = …

[0 1 1; 1 0 1; 1 1 0]/2*10.2612164268616

calculation.bandStructure.symmetryKPoints

key word

:

calculation.bandStructure.symmetryKPoints

possible values

:

cell array of a combination of the following commonly

used symbols:

G for bandStructure.crystalStructure = 0D;

G, X, for 1D;

G, M, K, for 2D HEXAGON;

G, M, X, for 2D SQUARE;

G, X, M, R, for SC;

G, X, W, L, K, for FCC;

G, H, N, P, for BCC;

G, M, K, A, L for HCP;

or user defined symbols.

default value

:

{G} for bandStructure.crystalStructure = 0D;

{G, X} for 1D;

{G, M, K, G} for 2D HEXAGON;

{G, X, M, G} for 2D SQUARE;

{G, X, M, G, R, X} for SC;

{G, X, W, L, G, K, X} for FCC;

{G, H, N, P, G, N} for BCC;

{G, M, K, G, A, L} for HCP;

{A, B, C, D, …} for other structures or

coordinatesOfTheSymmetryKPoints is given.

description

:

Each symbol in the cell array corresponds to a high

symmetry k-point for the given crystal structure. The

band structure will be calculated along the line

segments which connect those high symmetry points one

by one, from the first all the way to the last.

Please note that for other symbols not listed above,

the parameter coordinatesOfTheSymmetryKPoints must be

given explicitly.

an example

:

calculation.bandStructure.symmetryKPoints = …

{G X W L G K X}

calculation.bandStructure.symmetryKPoints = …

{A B C D}

calculation.bandStructure.coordinatesOfTheSymmetryKPoints

key word

:

calculation.bandStructure.coordinatesOfTheSymmetryKPoints

possible values

:

3\(\times\)n double array where n is the number of symmetry

k-points defined in bandStructure.symmetryKPoints.

default value

:

calculated by nanodcal for those listed structures and

listed symmetry points. No default value for other

structures or high symmetry points.

description

:

The k-space fractional coordinates of those high

symmetry k-points listed in symmetryKPoints, each

column corresponds to one of them.

For a k-point with coordinates k1, k2, and k3, the

corresponding k-vector is

k-vector = k1\(\times\)b1 + k2\(\times\)b2 + k3\(\times\)b3,

where b1, b2, and b3 are defined through

dot(b_i, a_j) = 2\(\pi\)\(\times\)\(\delta_{ij}\),

and a1, a2, a3 are the unit cell vectors defined

in unitCellVectors.

Please note that this parameter must be given explicitly

if either the crystal structures or any of the high

symmetry k-points is not among those listed above.

Note also that the unit cell vectors, normally, can not

be uniquely determined by nanodcal. Therefore it is

recommended to input the parameter unitCellVectors

explicitly when coordinatesOfTheSymmetryKPoints is

used explicitly.

an example

:

calculation …

.bandStructure.coordinatesOfTheSymmetryKPoints …

= [0 0 0; 1 0 0; 0 1 0; 0 0 1]/2

calculation.bandStructure.numberOfKPoints

key word

:

calculation.bandStructure.numberOfKPoints

possible values

:

an integer or an integer array

default value

:

determined using the value of

bandStructure.kInterval

description

:

If an integer, it is the total number of k points

(including the two end points) used to represent the

entire band structure. If an integer array, the number

of k points (including the two end points) used to

represent each section of the band structure between

those high symmetry points.

an example

:

calculation.bandStructure.numberOfKPoints = 100

calculation.bandStructure.kInterval

key word

:

calculation.bandStructure.kInterval

possible values

:

a double number

default value

:

0.1

description

:

the small k-space interval between the k-points which

are chosen to represent the band structure. It will help

as a reference value to interpolate a integer

number of k-points between each pair of two adjacent

high symmetry points given in symmetryKPoints.

Note that the input value will not be used when

numberOfKPoints is given, and its unit is 2\(\pi\)/a for

cubic unit cell where a is the unit cell length, or

2\(\pi\)/V\(^{1/3}\) for a general unit cell, where V is the

unit cell volume.

an example

:

calculation.bandStructure.kInterval = 0.01

calculation.bandStructure.isProjected

key word

:

calculation.bandStructure.isProjected

possible values

:

true or false

default value

:

false

description

:

If true, the contributions of the orbitals to the band

states will be calculated.

an example

:

calculation.bandStructure.isProjected = true

calculation.bandStructure.plot

key word

:

calculation.bandStructure.plot

possible values

:

true or false

default value

:

false

description

:

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

an example

:

calculation.bandStructure.plot = true

calculation.bandStructure.eMin

key word

:

calculation.bandStructure.eMin

possible values

:

a double number

default value

:

-10 eV

description

:

minimum energy of the band structure plot.

an example

:

calculation.bandStructure.eMin = -30

calculation.bandStructure.eMax

key word

:

calculation.bandStructure.eMax

possible values

:

a double number

default value

:

10 eV

description

:

maximum energy of the band structure plot.

an example

:

calculation.bandStructure.eMax = 30