# Tutorial:Wires and slabs

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`ExtraStatesToConverge`

= 5`ExtraStates`

= 10

Here the number of `ExtraStates`

is the number of unoccupied bands in the final band structure. The highest occupied states are extremely complicated to converge. Therefore the variable `ExtraStatesToConverge`

specifies how many unoccupied states are considered for stopping criterium of the non-self-consistent run.

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 structure is written in static/ bandstructure. In Figure 1 is plotted the output band structure where blue lines represent the occupied states and the red ones the unoccupied ones.

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

Moreover, 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.