2D material: h-BN sheet: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
In this tutorial you will learn how to generate the Yambo SAVE folder for a 2D hBN sheet starting from a PWscf calculation.
In this tutorial you will learn how to generate the Yambo SAVE folder for a 2D hBN sheet starting from a PWscf calculation.
   
   
== Prerequisites ==
== Prerequisites ==
'''Previous modules'''
* You must first follow the [[Bulk_material:_h-BN]] tutorial.
'''You will need''':
'''You will need''':
* PWSCF input files and pseudopotentials for 2D hBN sheet ('''Download here''')
* PWSCF input files and pseudopotentials for 2D hBN sheet ('''Download here''')
* <code>pw.x</code> executable, version 5.0 or later
* <code>pw.x</code> executable, version 5.0 or later
* <code>p2y</code> executable
* <code>p2y</code> executable
'''
 
== System characteristics ==
== System characteristics ==
[[File:HBN2.png|thumb|Atomic structure of 2D hBN]]
[[File:HBN2.png|thumb|Atomic structure of 2D hBN]]
Line 14: Line 15:
* 2D HCP lattice
* 2D HCP lattice
* Two atoms per cell, B and N (8 electrons)
* Two atoms per cell, B and N (8 electrons)
* Lattice constants: ''a'' = 4.716 [a.u.], ''c/a'' = 2.582
* Lattice constants: ''a'' = 4.716 [a.u.], ''c/a'' = 7 (supercell size)
* Plane wave cutoff 40 Ry (1500 RL vectors in wavefunctions)
* Plane wave cutoff 40 Ry (~5000 RL vectors in wavefunctions)
* SCF run: shifted ''6x6x6'' grid with 4 bands  
* SCF run: shifted ''6x6x1'' grid (12 k-points) with 4 bands  
* Non-SCF run: unshifted ''6x6x2'' grid with 100 bands
* Non-SCF run: gamma-centred ''6x6x1'' (7 k-points) grid with 60 bands


== DFT calculations ==
== DFT calculations ==
Unpack the tarfile. It uses the same file structure as other yambo tutorials:
Unpack the tarfile. It uses the same file structure as other yambo tutorials:
  $ tar -xcvf hBN-bulk.tar
  $ tar -xcvf hBN-2D.tar
  $ cd YAMBO_TUTORIALS/hBN/PWSCF
  $ cd YAMBO_TUTORIALS/hBN-2D/PWSCF
  $ ls
  $ ls
  Inputs Pseudos PostProcessing References
  Inputs Pseudos PostProcessing References
  hBN_scf.in hBN_nscf.in    hBN_scf_plot_bands.in  hBN_nscf_plot_bands.in  
  hBN_2D_scf.in hBN_2D_nscf.in    hBN_2D_scf_bands.in  hBN_2D_nscf_bands.in  


First run the SCF calculation to generate the ground-state charge density, occupations, Fermi level, and so on:
The procedure is exactly the same as following in the [[Bulk_material:_h-BN]] tutorial, so no detailed explanations will be given here.
pw.x < hBN_scf.in > hBN_scf.out
The output reports 36 k-points. The valence band maximum is at 5.13eV.


Next run a non-SCF calculation to generate a set of Kohn-Sham eigenvalues and eigenvectors across a denser k-point mesh, for occupied and unoccupied states:
  pw.x < hBN_2D_scf.in > hBN_2D_scf.out
  pw.x < hBN_nscf.in > hBN_nscf.out
  pw.x < hBN_2D nscf.in > hBN_2D_nscf.out
Note the presence of the following flags in the input file:
  wf_collect=.true.
force_symmorphic=.true.
which are needed for generating the Yambo databases. Full explanations of these variables are given on the [http://www.quantum-espresso.org/wp-content/uploads/Doc/INPUT_PW.html quantum-ESPRESSO input variables page].  


After these two runs, you should have a <code>hBN.save</code> directory:
The valence band maximum is computed at -4.29 eV. After these two runs, you should have a <code>hBN_2D.save</code> directory.
  $ ls hBN.save
  $ ls hBN_2D.save
  data-file.xml charge-density.dat gvectors.dat B.pz-vbc.UPF N.pz-vbc.UPF
  data-file.xml charge-density.dat gvectors.dat B.pz-vbc.UPF N.pz-vbc.UPF
  K00001 K00002 .... K00035 K00036
  K00001 K00002 .... K00011 K00012


== Conversion to Yambo format ==
== Conversion to Yambo format ==
The PWscf <code>bBN.save</code> output is converted to the Yambo format using the <code>p2y</code> executable (pwscf to yambo), found in the yambo <code>bin</code> directory.
Enter <code>hBN.save</code> and launch <code>p2y</code>:


  $ cd hBN.save
  $ cd hBN_2D.save
  $ p2y
  $ p2y
  ...
  ...
  <---> DBs path set to .
  <---> DBs path set to .
  <---> Index file set to data-file.xml
  <---> Index file set to data-file.xml
<---> Header/K-points/Energies... done
  ...
  ...
<---> == DB1 (Gvecs and more) ...
<---> ... Database done
<---> == DB2 (wavefunctions)  ... done ==
<---> == DB3 (PseudoPotential) ... done ==
  <--->  == P2Y completed ==
  <--->  == P2Y completed ==


This output repeats some information about the system and generates a <code>SAVE</code> directory:
Check that the databases contain the information you expect:
$ ls SAVE
ns.db1  ns.wf  ns.kb_pp_pwscf
ns.wf_fragments_1_1 ...
ns.kb_pp_pwscf_fragment_1 ...
These files, with an ''n'' prefix, indicate that they are in netCDF format, and thus not human readable. However, they are perfectly transferable across different architectures.
 
You are now ready to run Yambo. Check that the databases contain the information you expect:
  $ yambo -D
  $ yambo -D
  [RD./SAVE//ns.db1]------------------------------------------
  [RD./SAVE//ns.db1]------------------------------------------
  Bands                          : 100
  Bands                          : 60
  K-points                        : 14
  K-points                        : 7
  G-vectors            [RL space]: 8029
  G-vectors            [RL space]: 21817
  Components      [wavefunctions]: 1016
  Components      [wavefunctions]: 2736
  ...
  ...
  [RD./SAVE//ns.wf]-------------------------------------------
  [RD./SAVE//ns.wf]-------------------------------------------
  Fragmentation                    :yes
  Fragmentation                    :yes
Bands in each block            :  60
  ...
  ...
  [RD./SAVE//ns.kb_pp_pwscf]----------------------------------
  [RD./SAVE//ns.kb_pp_pwscf]----------------------------------
  Fragmentation                    :yes
  Fragmentation                    :yes
  - S/N 006626 -------------------------- v.04.01.02 r.00000 -
  - S/N 0000908 -------------------------- v.04.01.02 r.00000 -
 
Note that the number of wavefunction components (G-vectors) is much higher than in the bulk hBN case (why?)


In practice we suggest to move the <code>SAVE</code> into a new clean folder.
Continue using a <code>SAVE</code> we prepared previously:
In this tutorial however, we ask instead that you continue using a <code>SAVE</code> we prepared previously:
  $ cd ../../YAMBO
  $ cd ../../YAMBO
  $ ls
  $ ls

Revision as of 14:30, 23 March 2017

In this tutorial you will learn how to generate the Yambo SAVE folder for a 2D hBN sheet starting from a PWscf calculation.

Prerequisites

Previous modules

You will need:

  • PWSCF input files and pseudopotentials for 2D hBN sheet (Download here)
  • pw.x executable, version 5.0 or later
  • p2y executable

System characteristics

Atomic structure of 2D hBN

Hexagonal boron nitride sheet - 2D hBN:

  • 2D HCP lattice
  • Two atoms per cell, B and N (8 electrons)
  • Lattice constants: a = 4.716 [a.u.], c/a = 7 (supercell size)
  • Plane wave cutoff 40 Ry (~5000 RL vectors in wavefunctions)
  • SCF run: shifted 6x6x1 grid (12 k-points) with 4 bands
  • Non-SCF run: gamma-centred 6x6x1 (7 k-points) grid with 60 bands

DFT calculations

Unpack the tarfile. It uses the same file structure as other yambo tutorials:

$ tar -xcvf hBN-2D.tar
$ cd YAMBO_TUTORIALS/hBN-2D/PWSCF
$ ls
Inputs		Pseudos		PostProcessing		References
hBN_2D_scf.in	hBN_2D_nscf.in     hBN_2D_scf_bands.in  hBN_2D_nscf_bands.in 

The procedure is exactly the same as following in the Bulk_material:_h-BN tutorial, so no detailed explanations will be given here.

pw.x < hBN_2D_scf.in > hBN_2D_scf.out
pw.x < hBN_2D nscf.in > hBN_2D_nscf.out

The valence band maximum is computed at -4.29 eV. After these two runs, you should have a hBN_2D.save directory.

$ ls hBN_2D.save
data-file.xml charge-density.dat gvectors.dat B.pz-vbc.UPF N.pz-vbc.UPF
K00001	K00002 .... 	K00011	K00012

Conversion to Yambo format

$ cd hBN_2D.save
$ p2y
...
<---> DBs path set to .
<---> Index file set to data-file.xml
...
<--->  == P2Y completed ==

Check that the databases contain the information you expect:

$ yambo -D
[RD./SAVE//ns.db1]------------------------------------------
Bands                           :  60
K-points                        :  7
G-vectors             [RL space]: 21817
Components       [wavefunctions]: 2736
...
[RD./SAVE//ns.wf]-------------------------------------------
Fragmentation                    :yes
Bands in each block             :  60
...
[RD./SAVE//ns.kb_pp_pwscf]----------------------------------
Fragmentation                    :yes
- S/N 0000908 -------------------------- v.04.01.02 r.00000 -

Note that the number of wavefunction components (G-vectors) is much higher than in the bulk hBN case (why?)

Continue using a SAVE we prepared previously:

$ cd ../../YAMBO
$ ls
SAVE

Links