DP Manual

To run a DP job can be as simple as typing:

dp -k file_KSS > dp.log

where file_KSS is a wavefunctions _KSS file generated by ABINIT. Better if it is in the ETSF NetCDF file-format (file_KSS-etsf.nc), set the variable accesswff 3 in the ABINIT input file. Here is a set of input files to be run to generate a Silicon spectrum. Run ABINIT this way:

abinis < abi.files > abi.log

you should get a file sio_DS2_KSS-etsf.nc Then using the provided dp.in file, run dp on this file. You can also use an old file.qplda file produced by the Milan CP code and with non-official interfaces also by the PWSCF and the SFHIngx code.

Thank to the dp command, the code try to run an RPA converged optical absorption calculation using as parameters values desumed from the wavefunctions file. Each parameter has a default value. However you can specify an inputfile to drive the calculation. By default it try to read a dp.in file; but you can specify another name by typing:

dp -i inputfile

This is an ASCII parsed file containing keywords and parameters to drive the calculation. The style is much like that one of ABINIT, with some differences. Here an example of a dp.in input file:

testparticle
rpa
npwmat   27
npwwfn   59
nbands    9
q             -0.5 0.0 0.0
omegai    0.0
omegae   6.0
domega   0.1
broad       0.05

It specify that a testparticle (default) calculation for the dielectric function should be done (other options: testelectron). Using the RPA (default) approximation (other options: lda, gw, so, nlda, lrc, ...). The dimension (npwmat) used for the dielectric and polarizability matrices to take into account local-field effects is 27. To represent wavefunctions it uses a number of plane waves npwwfn=59. The number of bands used in the calculation nbands is 9. It calculates the dielectric function at q = ( -0.5 , 0.0 , 0.0 ) in reduced coordinates. The spectra are calculated from 0 to 6 eV with a 0.1 sampling and a lorentzian broadening of 0.05 eV (by default the same as domega). There are other useful parameters that can be used, check them in the tutorial.

The run produces a log file (the redirected stdout) and an ASCII output file called outnlf.mdf (or in the oldest versions outnlf.eps) and outlf.mdf (outlf.eps). The nlf file relates to a non-local field effects calculation, why the lf is a full local-field effects included calculation. Their content is organized into columns that can be plot by gnuplot or xmgrace. The first column contains the frequency omega in eV. The second and the third contain the real and the imaginary part of the macroscopic dielectric function respectively. If the calculation is done at q=0, then there is a set of 1 (omega) + 8*2 columns: each pair of columns contain the real and imaginary part of the dielectric functions, and there are 8 pairs corresponding to q -> 0 along all the possible directions in cartesian or reduced coordinates spaces. The first pair is the average along the three reduced coordinates, the second the average along the three cartesian coordinates. The next three pairs of columns contain q -> 0 along 100, 010 and 001. finally the last three pairs of columns contain q -> 0 along x, y, and z.

The file .mdf (or .eps) can be also transformed thank to the broad utility or the mdf2xxx (eps2xxx) utilities.

broad outlf.mdf
mdf2eel outlf.mdf

By the broad utility you can add a posteriori, lorentzian and gaussian broadening. The mdf2eel utility calculates the Energy-Loss function to be compared with EELS experiments. There are other conversion utilities: mdf2rfr (refraction indices), mdf2rfl (reflectivity), mdf2dsf (dynamic structure factor to be compared with IXSS experiment).