This code is able to compute interatomic force constants,
but also, more generally, many different physical properties
from databases containing derivatives of the total energy
(Derivative DataBases - DDB).
The user is not supposed to know how the Derivative
DataBase (DBB) has been generated. He/she should simply know what
material is described by the DDB he/she wants to use.
If he/she is interested in the generation of DDB, and wants to know more about this
topic, he/she will read different help files of the ABINIT package, related to the
main ABINIT executable, to the
DFPT features of ABINIT,
and to the DDB merge tool.
It will be easier to discover the
present file with the help of the tutorial (lesson_welcome), especially
the lesson on response functions (lesson_rf2).
It is worthwhile to print this help file, for ease of reading.
In short, a Derivative DataBase contains a list of derivatives of the total energy with respect to three kind of perturbations: phonons, electric field and stresses. The present code analyses the DDB, and directly gives properties of the material under investigation, like phonon spectrum, frequency-dependent dielectric tensor, thermal properties.
Given an input file (parameters described below), the user must create a "files" file which lists names for the files the job will require, including the main input file, the main output file, the name of the DDB, and some other file names optionally used for selected capabilities of the code.
The files file (called for example ab.files) could look like:
anaddb.in
anaddb.out
ddb
band_eps
gkk
anaddb.ep
ddk
In this example:
The main executable file is called anaddb. Supposing that the "files" file is called anaddb.files, and that the executable is placed in your working directory, anaddb is run interactively (in Unix) with the command
where standard out and standard error are piped to the log file called "log" (piping the standard error, thanks to the '&' sign placed after '>' is really important for the analysis of eventual failures, when not due to ABINIT, but to other sources, like disk full problem ...). The user can specify any names he/she wishes for any of these files. Variations of the above commands could be needed, depending on the flavor of UNIX that is used on the platform that is considered for running the code.
The syntax of the input file is strictly similar to the syntax of the main abinit input files: the file is parsed, keywords are identified, comments are also identified. However, the multidataset mode is not available.
This ANADDB utility is able to perform many different tasks, each governed by a selected set of input variables, with also some input variables common to many of the different tasks. The 'flag' variables activates the different tasks (e.g. dieflag@anaddb, thmflag@anaddb, elphflag@anaddb, ...).
The list of input variables for the anaddb input file are presented in the anaddb variable set. In order to discover them, it is easier to use the different lessons of the tutorial: start with the second lesson on response functions (lesson_rf2), then follow the lesson on elasticity and piezoelectricity (lesson_elastic), the lesson on electron-phonon interaction (lesson_eph), and the lesson on non-linear properties (lesson_nlo). If you are discovering this file with the help of the tutorial, you can go back to the tutorial window.