logo

Main menu

HomeNewsPeopleDownloadYambo-pyRun the codeInput file
Structure Verbosity Yambo (>=3.4.0) Yambo (older) Ypp Variables
TutorialsDocumentationPublicationsEventsContactsTest-Suite Forum

The Wikipedia Page of Yambo Yambo@Wiki

Fortran cafe The Fortran Cafe'

Bethe-Salpeter wine The Bethe-Salpeter-Equation (BSE) wine

A street entitled to Yambo in Rome
A bar entitled to Yambo in Rome
A bar entitled to Yambo in Rome Yambo road, bar & restaurant

BZ energy RIM analyzer (ypp -r)

Default options

bzrim#BZ energy RIM analyzer
BZ_RIM_path= "."#Path to the SAVE folder with the RIM DB1
BZ_RIM_Nk=0#BZ Random Integration points
cooOut= "rlu" Points coordinates (output) cc/rlu/iku/alat
 
K-points units
cc Cartesian coordinates
rlu reduced lattice coordinates or crystal coordinates
alat Cartesian coordinates in units of the lattice parameter "a"
iku integer reduced lattice units (internal Yambo units)

Example: How to speed-up dielectric constant convergence using E-RIM

Here we show how to use E-RIM approach to speed-up the calculation of dielectric constants, for more details see Andrea Marini thesis at page 67.
  1. Start with a small grid, for example 2x2x2, not enough to get a converged epsilon in bulk Silicon
  2. Use ypp -r to generate random k-points in the Brillouin zone, for example generate 2000 points by setting BZ_RIM_Nk=2000
  3. Give the list of k-points to ABINIT (or PWSCF) and calculate the wave-functions on these points. Notice that the bands that make difficult the convergence of dielectric constant are the ones close to the gap so for example if in your regular sampling (2x2x2 in our case) you used 30 bands, for the random k-points it is sufficient to calculate only the first 10 bands for each k-point (Silicon has 4 valence, so 6 conductions are enough).
  4. Read the energies without the wave-functions a2y -w (or p2y -w )
  5. Create the E-RIM database: go in the folder of point 1) make ypp -r, and set the path to the SAVE folder relatively to the calculation of the electronic bands over the random k-points BZ_RIM_path= "/scratch/Silicon/randomk."
  6. ypp will read the random k-points and divide them according to their distance from the points on the regular grid (2x2x2), it will print also the minum and maximum number of random k-point for each point of the grid
    ....
    <---> :: BZ blocks filling     :  10   23
    ...
    
    and create the database SAVE/ndb.E_RIM.
  7. calculate again the dielectric constant, using the E-RIM to average the denominators, this time the dielectric constant will converges very very fast, and you will find in the file o.eps_q1_inv_rpa_dyson a line like
    ....
    # BZ Energy RIM points : 2008
    ....
    
    that indicates the average on the random k-points.
  8. Probably the 2x2x2 grid is not enought even with E-RIM, but this example gives you and idea of E-RIM works. Moreover other properties that depend from the integral of ε(q,ω), as G0W0 corrections, will converge even faster.
The same approach works also for the Bethe-Salpeter equation using the inversion solver -y i, see also " Speeding up the solution of the Bethe-Salpeter equation by a double-grid method and Wannier interpolation ".
Notice that the calculation becomes slower, because for each k-point the Green's functions are averaged on the random k-points, see also http://www.yambo-code.org/doc/../theory/docs/doc_Xd.php and the PhD thesis of A. Marini.