# Difference between revisions of "Tutorial:Wires and slabs"

Line 59: | Line 59: | ||

= Band Structure = | = Band Structure = | ||

− | [[Image:Tutorial_band_gap_convergence_HBN.jpg|500px|right|Convergence of the band gap with respect to the spacing for a | + | [[Image:Tutorial_band_gap_convergence_HBN.jpg|500px|right|Convergence of the band gap with respect to the spacing for a h-BN monolayer.]] |

Line 68: | Line 68: | ||

{{variable|CalculationMode|Calculation_Modes}} = unocc | {{variable|CalculationMode|Calculation_Modes}} = unocc | ||

− | + | {{variable|ExtraStates|States}} = 5 | |

− | + | Here the number of {{variable|ExtraStates|States}} is the number of unocupied bands in the final band structure. | |

− | |||

− | |||

− | |||

− | |||

− | |||

In order to calculate the band structure along a certain path along the BZ, we will use the variable {{variable|KPointsPath|Mesh}} . Instead of using the {{variable|KPointsGrid|Mesh}} block of the GS calculation, we use during this unocc calculation: | In order to calculate the band structure along a certain path along the BZ, we will use the variable {{variable|KPointsPath|Mesh}} . Instead of using the {{variable|KPointsGrid|Mesh}} block of the GS calculation, we use during this unocc calculation: | ||

Line 90: | Line 85: | ||

− | The first row describes how many k points will be used to sample each segment. The next rows are the coordinate of k points from which each segment start and stop. In this particular example, we chose the path: Gamma-K, K-M, M-Gamma using 12-7-12 k points. In Figure 1 is plotted the output band structure where blue lines represent the occupied states and the reds one the unoccupied ones. | + | The first row describes how many k points will be used to sample each segment. The next rows are the coordinate of k points from which each segment start and stop. In this particular example, we chose the path: Gamma-K, K-M, M-Gamma using 12-7-12 k points. The output band structur eis written in static/ bandstructure. In Figure 1 is plotted the output band structure where blue lines represent the occupied states and the reds one the unoccupied ones. |

+ | |||

+ | This method variable have also this advantages: | ||

Info: The code will run in band structure mode. | Info: The code will run in band structure mode. | ||

No restart information will be printed. | No restart information will be printed. | ||

+ | |||

+ | By using {{variable|KPointsPath|Mesh}}, the wave function obtained during the previous GS calculation (and stored in the restart/ directory) will not be affected by this calculation. | ||

One should also make sure that the calculation is converged with respect to the spacing. Figure 2 shows the band gap for several spacing values. We find that a spacing of 0.14 Angstrom is needed in order to converge the band gap up to 0.01 eV. | One should also make sure that the calculation is converged with respect to the spacing. Figure 2 shows the band gap for several spacing values. We find that a spacing of 0.14 Angstrom is needed in order to converge the band gap up to 0.01 eV. |

## Revision as of 14:19, 16 November 2017

Hexagonal boron nitride (h-BN) is an insulator widely studied which has a similar structure to graphene. Here we will describe how to get the band structure of an h-BN monolayer.

# Ground state calculation

A layer of h-BN is periodic in the x-y directions, but not in the z. Thus we will set `PeriodicDimensions`

= 2 . Here we set the bond length to 1.445*angstrom. The box size in the z direction is 2*L with 'L' large enough to describe a monolayer in the vacuum. One should always converge the box length value. Here is the inp file for the GS calculation:

`CalculationMode`

= gs`FromScratch`

= yes`ExperimentalFeatures`

= yes`PeriodicDimensions`

= 2`Spacing`

= 0.20*angstrom`BoxShape`

= parallelepiped BNlength = 1.445*angstrom a = sqrt(3)*BNlength L=40 %`LatticeParameters`

a | a | L % %`LatticeVectors`

1 | 0 | 0. -1/2 | sqrt(3)/2 | 0. 0. | 0. | 1. % %`ReducedCoordinates`

'B' | 0.0 | 0.0 | 0.00 'N' | 1/3 | 2/3 | 0.00 %`PseudopotentialSet`

=hgh_lda`LCAOStart`

=lcao_states %`KPointsGrid`

12 | 12 | 1 %`ExtraStates`

= 2`UnitsOutput`

= ev_angstrom

# Band Structure

After this GS calculation we will perform an unocc run. This non-self consistent calculation which needs the density from the previous GS calculation.

`CalculationMode`

= unocc`ExtraStates`

= 5

Here the number of `ExtraStates`

is the number of unocupied bands in the final band structure.

In order to calculate the band structure along a certain path along the BZ, we will use the variable `KPointsPath`

. Instead of using the `KPointsGrid`

block of the GS calculation, we use during this unocc calculation:

`%``KPointsPath`

12 | 7 | 12 # Number of k point to sample each path
0 | 0 | 0 # Reduced coordinate of the 'Gamma' k point
1/3 | 1/3 | 0 # Reduced coordinate of the 'K' k point
1/2 | 0 | 0 # Reduced coordinate of the 'M' k point
0 | 0 | 0 # Reduced coordinate of the 'Gamma' k point
%

The first row describes how many k points will be used to sample each segment. The next rows are the coordinate of k points from which each segment start and stop. In this particular example, we chose the path: Gamma-K, K-M, M-Gamma using 12-7-12 k points. The output band structur eis written in static/ bandstructure. In Figure 1 is plotted the output band structure where blue lines represent the occupied states and the reds one the unoccupied ones.

This method variable have also this advantages:

Info: The code will run in band structure mode. No restart information will be printed.

By using `KPointsPath`

, the wave function obtained during the previous GS calculation (and stored in the restart/ directory) will not be affected by this calculation.

One should also make sure that the calculation is converged with respect to the spacing. Figure 2 shows the band gap for several spacing values. We find that a spacing of 0.14 Angstrom is needed in order to converge the band gap up to 0.01 eV.