I have a few questions regarding the use of inelastica for phonon and e-ph coupling calculations (I am using siesta-trunk-433 and the newest inelastica version that I cloned from github - let me know I should use a newer version of siesta):
(1) I recognize that in OSrun, for the AuH2 example given in the distribution of the code, the 6 structures are different only in x, y, and z coordinates for all the atoms (not only the FC active ones). What is the consideration behind this run? Why do we require multiple overlap matrices for the calculation of e-ph coupling? And do we always need these 6 structures with the above displacement pattern (with the corresponding MD.FCdispl) for every system?
(2) It looks like in the example, both TS.HS.Save and TS.SaveHS are set to true. What is the difference between the two keywords? Also, how many .TSHS files (and what are they, as I noticed there are many of these files generated) should be generated in the FCrun directory and what is the motivation behind that?
(3) Does inelastica generate the same vibrational frequencies as the vibrator utility shipped with the siesta distribution, found in Util/Vibra/Src/vibrator? I seem to find slight discrepancies. If there are indeed discrepancies, are they somehow related to the “eliminating interactions through PBCs along the z-direction”?
(4) Generally speaking, is it typically good enough to only include the molecular atoms in the FC runs? Or a few electrode atoms (such as an adatom) need to be included?
(5) If I want to use inelastica to calculate phonon properties of systems other than molecular junctions, how do I set the “device first”, “device last”, “PBC first”, and “PBC last”? Related to this question, in order to reduce computational cost, can I remove those “electrode atoms” (in transiesta sense) and do FCruns only for the device region (so that devicefirst=1 and devicelast=last atom in the coordinates) for a molecular junction? I thought if the device region is long enough, those electrode atoms outside the device region should hardly affect the phonon frequencies and e-ph couplings. Is this correct?
(6) In the output, there are a few files, such as output.mol.real-displ.asxf, output.mol.charlength-displ.asxf, etc, Could someone explain the meaning and the format (also units used) of each file?
(7) Does inelastica enforce the use of “Bohr” in all units (and the output files)? Or it will differentiate Angstrom and Bohr automatically based on the corresponding keywords in the .fdf? I guess it's the latter, but I just want to confirm.
A few other suggestions:
A) I think it's better to write in the instructions that different runs, such as FCrun, OSrun, etc. must reside in different directories starting with the name "FC", "OS", etc, and the “Phonons” run needs to be outside these directories. Also, the default file name is FCrun/RUN.fdf. I believe it will benefit the users if the author could explicitly list the required file names to run in each directory;
B) It would be helpful to tell the user up front that they should use transiesta instead of siesta to run the FCrun and OSrun (if this is correct), and the transiesta has better be compiled with NetCDF4 support;
C) In Phonons.py, the code can only read coordinates that are explicitly included in the RUN.fdf. If the coordinates are given by, e.g., %block .... < coordinate.file.name, then the inelastica does not work. I think this can be improved;
D) The setupOSrun only reads .XV files to generate the RUN_(1-6).fdf - if I do not start with a CG run (e.g., I get the coordinates from someone else), then I do not have the .XV file. I think the SetupOSrun should be able to figure out the coordinates based on the RUN.fdf in the FCrun, instead of relying on a .XV file from geometry optimization. In other words, I feel that the requirement for the file names and files present in each directory can be loosened a lit, to give the users more flexibilities.