# [Pw_forum] The output of d3x

Lorenzo Paulatto Lorenzo.Paulatto at impmc.upmc.fr
Wed Feb 8 23:48:29 CET 2012

```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

```

More information about the users mailing list