Dear Hua Bao, you can understand the meaning of the several fields from the loop that actually writes those files, in write_d3dyn.f90:
do i = 1, 3 * nat if (wrmode (i) ) then write (iudyn, '(/,12x,"modo:",i5,/)') i nc = (i - 1) / 3 + 1 kcar = i - 3 * (nc - 1) do na = 1, nat do nb = 1, nat write (iudyn, '(2i3)') na, nb do icar = 1, 3 write (iudyn, '(3e24.12)') (phi (kcar, icar, jcar, nc, na, nb) & , jcar = 1, 3) enddo enddo enddo endif enddo phi has 6 indexes that correspond to the modes (cartesian index + atomic index) of the 3 phonons involved in the process. I.e. phi(1,2,3, 5,6,7) corresponds to (atom5_x, atom6_y, atom7_z) Keep in mind that when doing a calculation with d3.x at q the first phonon corresponds to the Gamma point, the second to -q and the third to q. More specifically, inside the file, the index that follows "modo:" is the mode for Gamma (modo is just italian for mode), it is composite cartesian+atom, ie. 1=atom1_x, 2=atom1_y, 3=atom1_z, 4=atom2_x, ... Then, the 2 isolated integers ("1 1" in your examples) are the indexes of the atoms for the second and third mode. Finally, the 3x3 matrix of *complex* numbers follows. Every *two* lines the second cartesian index increments by one. While the the third index increases by one every couple of numbers (each are the real and imaginary part of one element). Yes, the second one has the real part in a line and the imaginary in the next... It sounds a bit complicated, but it is only complicated to explain in text. If you study the code for a few minutes it should be clear. bests On Wed, 08 Feb 2012 22:56:48 +0100, Hua Bao <dorabman at gmail.com> wrote: > Dear All, > > I am working on the anharmonic force constant calculation following > example > 14. > Since there is not much description of the output format (let me know if > I > am wrong), I have to guess what the parameters are. > > Based on Debernardi's thesis and the discussions, > I guess the code calculates C(0,q,-q), but this quantity is also a > function of p, p', p'', which are the components of atomic displacements. > > I have read the code a little bit. The d3 matrix is stored in the > quantity > phi, which is a function of atom index and direction index( i guess?). > > However, I could not understand the output format as follows > > modo: 1 > > 1 1 > -0.138777878078E-15 0.000000000000E+00 -0.832667268469E-16 > 0.000000000000E+00 -0.277555756156E-16 0.000000000000E+00 > -0.416333634234E-16 0.000000000000E+00 0.832667268469E-16 > 0.000000000000E+00 0.383064069101E+00 0.000000000000E+00 > -0.111022302463E-15 0.000000000000E+00 0.383064069101E+00 > 0.000000000000E+00 -0.277555756156E-16 0.000000000000E+0 > > I cannot understand "modo" and (1,1). > I suspect (1 1) means atom index, but there are p, p', p''. Which two > (1,1) > stands for? > > Also, in the README file. It shows something like C_{x,y,z} > (0,0,0|1,1,1). > I can understand (0,0,0) are the three q-points, but what does this 1,1,1 > stands for? It does not look like phonon branch index or atom index. > > I have been struggling on this for quite some time. I really appreciate > if > anyone can help me to clarify this issue. > > Thanks, > Hua -- Lorenzo Paulatto IdR @ IMPMC/UPMC CNRS & Universit? Paris 6 phone: +33 (0)1 44275 084 / skype: paulatz www: http://www.impmc.upmc.fr/~paulatto/ mail: 23-24/4?14 Bo?te courrier 115, 4 place Jussieu 75252 Paris C?dex 05