# [Pw_forum] Neutrons, Xrays, and Phonons, Oh, My!

Eric Abel etabel at hotmail.com
Thu Jun 29 00:14:38 CEST 2006

```>From: Paolo Giannozzi <giannozz at nest.sns.it>
>To: pw_forum at pwscf.org
>Subject: Re: [Pw_forum] Neutrons, Xrays, and Phonons, Oh, My!
>Date: Wed, 28 Jun 2006 11:34:15 +0200
>
>On Wednesday 28 June 2006 09:42, Eric Abel wrote:
>
> > I recently made a rather lengthy cry for help on the phonon
> > eigendisplacements, which fell, it seems, on deaf ears.
>
>my ears are deaf to such questions because the ratio between
>"effort required to answer" versus "information provided" is
>unfavourable.

"unfavourable" us subjective...to me the information is valuable, therefore
the ratio is "favourable".

>All you need is to know whether what is printed
>or calculated is the eigenvector of the dynamical matrix or the
>eigendisplacements. This piece of information is usually written
>inside the various codes that write/calculate/process the
>dynamical matrix.

I couldn't agree with you more...and if this were my only problem, I never
would have written you.
Clearly, from the snippet of code below, what is written by the subroutine
dyndia is |v>*M^-1/2, thus making the output of the program the
eigendisplacement right?

Code snippet:

--       write displacements onto matrix dyn
!
unorm = 0.d0
do mu = 1, 3 * nat
na = (mu - 1) / 3 + 1
dyn (mu, nu_i) = z (mu, nu_i) / sqrt (amass (ityp (na) ) )
unorm = unorm + dyn (mu, nu_i) * conjg (dyn (mu, nu_i) )
enddo

However, this doesn't really address my question.  What's bothering me is
the following.  I always thought of eigenvectors as being normalized
unitvectors which provide only the "direction" rather than the "magnitude",
such as the pauli spinors.  The units are attached to the prefactor on the
vector.  In this case the prefactor is 1/sqrt(M).  Unless I'm mistaken, |u>
should have the unit length, and none of my physics books are telling me how
to convert from [1/sqrt(mass)] to [length].  The other possibilty is that
|v> has the unit of length, then |u> has the units [lenght/sqrt(mass)],
meaning to get the displacement length, all I have to do is multiply the
output of dyndia by sqrt(M), but I didn't find this scenerio so likely.

Perhaps the simplest, most transparent way to ask my question is this:  If
matdyn/dynmat/ph (I believe use the dyndia subroutine) spits out the value
0.4 for one of the elements in the eigendisplacement vector, what, then does
this correspond to in Angstroms, for example?

> > Has anyone successfully calculated the Neutron/Xray scattering
> > cross-section based on the results of ph.x, matdyn.x, or dynmat.x?
>
>IR and Raman cross sections are calculated by dynmat.x

I noticed this...unfortunately for me, however, the interaction interaction
in neutron/x-ray scattering is entirely different from that of Raman/IR.

Thsnk you, Paolo, for taking the time to address my "unfavorable" question.

Eric

>Paolo
>--
>Paolo Giannozzi             e-mail:  giannozz at nest.sns.it
>Scuola Normale Superiore    Phone:   +39/050-509876, Fax:-563513
>Piazza dei Cavalieri 7      I-56126 Pisa, Italy
>_______________________________________________
>Pw_forum mailing list
>Pw_forum at pwscf.org
>http://www.democritos.it/mailman/listinfo/pw_forum

```