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. |
|
||
0D is for a molecular system. |
||
|
||
1D is for a system extended along the third |
||
direction defined in the unitCellVectors. |
||
|
||
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. |
||
|
||
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 |