Optics at the independent particle level: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
Line 49: Line 49:
# Compute the ''dipoles'', i.e. matrix elements of '''p'''
# Compute the ''dipoles'', i.e. matrix elements of '''p'''
# Write the dipoles to disk as <code>SAVE/ndb.dip*</code> databases. This you can see in the report file:
# Write the dipoles to disk as <code>SAVE/ndb.dip*</code> databases. This you can see in the report file:
  grep -A20 "WR" r-Full_optics_chi  
  $ grep -A20 "WR" r-Full_optics_chi  
  [WR./Full//ndb.dip_iR_and_P]
[WR./Full//ndb.dip_iR_and_P]
  Brillouin Zone Q/K grids (IBZ/BZ):  14  72  14  72
Brillouin Zone Q/K grids (IBZ/BZ):  14  72  14  72
  RL vectors                  (WF): 1491
RL vectors                  (WF): 1491
  Electronic Temperature        [K]: 0.0000000
Electronic Temperature        [K]: 0.0000000
  Bosonic    Temperature        [K]: 0.0000000
Bosonic    Temperature        [K]: 0.0000000
  X band range          :  1  100
X band range          :  1  100
  RL vectors in the sum  : 1491
RL vectors in the sum  : 1491
  [r,Vnl] included      :yes
[r,Vnl] included      :yes
  ...
...
<ol start="4">
<ol start="4">
<li>Finally, Yambo computes ''X<sub>0</sub>'' for this ''q'', and generates <code>o-Full.eps_q1_ip</code> file for plotting</li>
<li>Finally, Yambo computes ''X<sub>0</sub>'' for this ''q'', and generates <code>o-Full.eps_q1_ip</code> file for plotting</li>
</ol>
</ol>

Revision as of 17:36, 24 March 2017

In this tutorial you will learn how to calculate optical spectra at the RPA or independent particle level for bulk hBN.

Yambo tutorial image

Prerequisites

  • You must first complete the "How to use Yambo" tutorial

You will need:

  • The SAVE databases for bulk hBN
  • The yambo executable
  • gnuplot, for plotting spectra

Choosing input parameters

Enter the folder for bulk hBN that contains the SAVE directory, and generate the input file. From yambo -H you should understand that the correct option is yambo -o c. Let's add some command line options:

$ cd YAMBO_TUTORIALS/hBN/YAMBO
$ yambo -o c -F yambo.in_IP -J Full

This corresponds to optical properties in G-space at the independent particle level (Chimod= "IP"). Let's calculate just for the long-wavelength limit q = 0. This always corresponds to the first q-point. Changing the appropriate variable range in the input file to:

% QpntsRXd
 1 |  1 |                   # [Xd] Transferred momenta
%

Save the input file and launch the code, keeping the command line options as before (i.e., just remove the lower case options):

$ yambo -F yambo.in_IP -J Full
...
 <---> [05] Optics
<---> [LA] SERIAL linear algebra
<---> [DIP] Checking dipoles header
<---> [x,Vnl] computed using 4 projectors
<---> [M  0.017 Gb] Alloc WF ( 0.016)
<---> [WF] Performing Wave-Functions I/O from ./SAVE
<01s> Dipoles: P and iR (T): |########################################| [100%] 01s(E) 01s(X)
<01s> [M  0.001 Gb] Free WF ( 0.016)
<01s> [DIP] Writing dipoles header
<01s> [X-CG] R(p) Tot o/o(of R)  :   5501   52992     100
<01s> Xo@q[1] |########################################| [100%] --(E) --(X)
<01s> [06] Game Over & Game summary
$ ls
Full   SAVE  yambo.in_IP   r_setup
o-Full.eel_q1_ip  o-Full.eps_q1_ip  r-Full_optics_chi

Let's take a moment to understand what Yambo has done in side the Optics runlevel:

  1. Compute the [x,Vnl] term
  2. Read the wavefunctions from disc [WF]
  3. Compute the dipoles, i.e. matrix elements of p
  4. Write the dipoles to disk as SAVE/ndb.dip* databases. This you can see in the report file:
$ grep -A20 "WR" r-Full_optics_chi 
[WR./Full//ndb.dip_iR_and_P]
Brillouin Zone Q/K grids (IBZ/BZ):  14   72   14   72
RL vectors                   (WF): 1491
Electronic Temperature        [K]: 0.0000000
Bosonic    Temperature        [K]: 0.0000000
X band range           :   1  100
RL vectors in the sum  : 1491
[r,Vnl] included       :yes
...
  1. Finally, Yambo computes X0 for this q, and generates o-Full.eps_q1_ip file for plotting