Parameters for calculating bandStructure
Parameters here are for band structure calculations. (It is for calculator calcBandStructure3)
calculation.bandStructure.primitiveCellVectors
keyword: calculation.bandStructure.primitiveCellVectors
possible values: 3 x 3 or 1 x 6 or 1 x 3 double matrix
default value: central cell vectors
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.
If this parameter is given, a band unfolding will be performed. If this parameter is not given, the central cell used in the SCF calculation will be considered as the primitive cell of the system.
When the parameter is a 3 x 3 double matrix, its each column forms one of the three basis vectors. When the parameter is a 1 x 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 x 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
keyword: 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
keyword: calculation.bandStructure.coordinatesOfTheSymmetryKPoints
possible values: 3 x 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 x b1 + k2 x b2 + k3 x b3, where b1, b2, and b3 are defined through dot(b_i, a_j) = 2pi x delta_{i,j}, and a1, a2, a3 are the primitive cell vectors defined in primitiveCellVectors.
Please note that this parameter must be given explicitly if any of the high symmetry k-points is not among those listed above.
an example:
calculation ...
.bandStructure.coordinatesOfTheSymmetryKPoints ...
= [0 0 0; 1 0 0; 0 1 0; 0 0 1]'/2
calculation.bandStructure.numberOfKPoints
keyword: 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.isProjected
keyword: 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.spinPolarization
keyword: calculation.bandStructure.spinPolarization
possible values: true or false
default value: false
description: If true, the spin polarization of every band state will be calculated.
an example:
calculation.bandStructure.spinPolarization = true
calculation.bandStructure.plot
keyword: 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