The dynamical structure factor could be obtained from the inelastic scattering
of the X-ray under the following conditions [7]:
i) the scattering process is dominated by the Thompson term and there is
no electronic excitation in the energy transfers region,
ii) adiabatic approximation is valid, so that the center of mass of the
electronic clouds could be identified with the nuclear one.
The first assumption is simultaneously satisfied with X-ray with energy
in the
energy range used for IXS experiments,
when we look at energy transfers
(
).
The second one is a very general assumption in condensed matter theory.
Under these assumptions we can write the inelastic cross section
for one-phonon process as follows. First, we decompose the moment as
(in the reciprocal
lattice vector
plus the phonon pseudo-momentum
;
hence we obtain for a given angle
and frequency
:
![]() |
![]() |
||
![]() |
(17) |
where is the mass for the atom
in the unit cell,
is the Debye-Waller factor (which is not calculated in the
present version of OpenPhonon), and
is the Bose
factor for the mode
.
The phonon polarization term is
of Eq. 14.
Then the the inelastic cross section can be written as:
![]() |
![]() |
||
![]() |
(18) |
This corresponds to the neutron scattering cross section for 1-phonon
scattering provided one replaces the nuclear average scattering length
with the atomic form factor
for the atom
in the unit cell, and the polarisation factor of the
Thompson scattering
.
The latest term is fixed
in this version, because most of the
experiments considered where in the scattering confguration with
[4] or
(low
).
Moreover for high energy resolution inelastic X-ray scattering
we have
. For a more detailed description
of the IXS cross section, see also the review of E. Burkel [8]
and references therein.
In OpenPhonon the calculation is made calling the program scattering_shifted.py in the following way :
python scattering_shifted.py storeall paramfilewhere paramfile is the name of a file like this :
BrillShift_List=[(6,0,0)] scatt_dictio_f0={ 'Cu_G0':'Cu1+', 'O_G0':'O','O_G1':'0',\ 'Nd_G0':'Nd','Nd_G1':'Nd' } scatt_dictio_f12={ 'Cu_G0':'Cu', 'O_G0':'O','O_G1':'0',\ 'Nd_G0':'Nd','Nd_G1':'Nd' } Lambda=0.783867 Temp = 15.0A sample input file is delivered in the distribution archive under the name scatt_shinput. The intensities are calculated over the set of points defined by the variable
The atomic scattering factors are read using the Dabax database. The factors
are read from WaasKirf compilation and f1,f2 from Windt datafile.
To specify the scattering factors of the atoms one has to specify the wavelength
of X-rays and the two dictionaries, one for and the other for (f1,f2).
The dictionary keywords are the equivalence class names and their
values are Dabax record names like "Cu" for neutral copper or "Cu1+" for
copper ion. These names must exist in the database otherwise an error
occurs.
Finally the temperature ( in Kelvin) has to be entered to properly
take into account the Bose-Einstein statistics.
The results are stored in the file scatt_results
in the form:
Qx,Qy,Qz,frequency(1),intensity_stoke(1),intensity_antistoke(1),..,
frequency(j),intensity_stoke(j),intensity_antistoke(j),..,
frequency(N),intensity_stoke(N),intensity_antistoke(N)
where j indicates the mode in increasing
frequency order.