How to use Yambo:advanced usage
This module presents examples of more advanced usage of the Yambo command line interface.
Prerequisites
Previous modules
- Initialization for bulk hBN.
You will need:
- The
SAVE
databases for bulk hBN (Download here) - The
yambo
executable
Lowercase options: input file generation
Yambo reads various parameters from existing database files and/or input files and use them to suggest values or ranges. Let's illustrate this by calculating the static screening for bulk hBN.
$ cd YAMBO_TUTORIALS/hBN/YAMBO $ yambo (initialize, if you haven't already done so) $ yambo -b
and look at the generated input file. Inside you will see a suggested range of bands, which Yambo guesses from the core ns.db1
database.
% BndsRnXd 1 | 100 | # [Xd] Polarization function bands %
Change these values to 8 | 9 |
, save and exit the editor. Now launch the input file generator again:
$ yambo -b
and notice that your chosen values remain: they are simply read from the yambo.in
file.
Now run the calculation. To keep things neat, add the -J TEST1
option, which directs all output to a directory TEST1.
$ yambo -J TEST1
After a few seconds, the code finishes. If you now look inside the TEST1 folder, you will see several new databases:
$ ls TEST1 ndb.dip_iR_and_P ndb.em1s [...]
Delete the input file yambo.in, and generate the input file for a different task: optical response in the independent particle approximation.
$ rm yambo.in $ yambo -J TEST1 -o c
Looking inside the input file you will find:
% BndsRnXd 8 | 9 | # [Xd] Polarization function bands %
Here, Yambo has read from the ndb.dip_iR_and_P
database and suggests to use the previous values.
If at this stage, you decide to change these values (increase the range), Yambo will recompute the relevant database.
Uppercase options: command line options
Here is an example of how to combine several uppercase command line options. Starting from the usual folder containing the SAVE, do
$ mkdir TEST2 $ cd TEST2 $ yambo -F yambo.in_IP -I ../ -C q100 -J 3Ry -V RL -o c and change to FFTGvecs= 3 Ry # [FFT] Plane-waves $ yambo -F yambo.in_IP -I ../ -C q100 -J 3Ry -V RL
You will notice
<---> [WF] Performing Wave-Functions I/O from ..//SAVE <---> Dipoles: P and iR (T): |########################################| [100%] --(E) --(X)
with the ndb.dip_iR_and_P databases written in 3Ry, and output files inside the folder q100. Now select a different q-component and run again:
$ yambo -F yambo.in_IP -I ../ -C q001 -J 3Ry -V RL -o c and change to % LongDrXd 0.000000 | 0.000000 | 1.000000 | # [Xd] [cc] Electric Field % $ yambo -F yambo.in_IP -I ../ -C q001 -J 3Ry -V RL
For this run, yambo reads the database from the 3Ry folder, does a quick calculation, and writes the outputs inside q001.
The overall result is very neatly organised. Remember to check the report file to verify which databases are being WR = written to and RD = read from. Of course, it is up to the user to decide which options they like best.