Direction integrated and powder spectra:¶
 The script make_TDS_DispersionIntensityCurvesIntegrated calculates IXS and INS scattering intensities integrated over a given axis or sphere. For a given Q, it considers a whole set of points obtained from this q by rotation operations.
It requires that you have previously done the following operations :
 symmetrisation
 Fourier transform
 Debye waller calculation for the temperature of choice
The usage is
make_TDS_DispersionIntensityCurvesIntegrated castep_filename input_filename
the file castep_filename can be either the name of the original castep output our the associated hdf5 file. In any case the associated hdf5 file must exist already ( make_TDS_Simmetrization must be runned beforehand )
The input_file must set the variables :
Mandatories
APPLYTIMEREVERSAL
redStarts
redEnds
Nqlines
Nfour_interp
Temperature
resolutionfile
Saturation
lowerLimit
bottom_meV
axis
this is the axis around which rotations are done when sphereintegral==0
Nangular
this is the number of azimuthal steps
sphereintegral
if sphereintegral==1
Nangular2
this is the number of polar steps
If NEUTRONCALC==0 ( default )
 Lambda
If NEUTRONCALC==1
 CohB
 NeutronE
Optional
 branchWeight
 Eigscal
 UniqueIon
EXTRA OUTPUT
File summedoverQs.dat
contains two columns : energy , intensity. Obtained after summing over Qs
File alongtheline_TDS.dat :
energy integrated intensity (TDS) for each qvalue
The input variables are documented with docstrings below
noindex: 


make_TDS_DispersionIntensityCurvesIntegrated.
APPLYTIMEREVERSAL
= 1¶ this is one by default. Must be coherent with previous steps

make_TDS_DispersionIntensityCurvesIntegrated.
redStarts
= [[2.0, 2.0, 0.0], [2.0, 2.0, 0.0]]¶ The list of Q points at which calculation is made is done of N segments. The redStarts variable contains a list of N starting points in reciprocal space reduced units. Each segment i starts at redStarts[i] and ends at redEnds[i]. Within each segment the spacing between points is the segment lenght divided by Nqlines[i]

make_TDS_DispersionIntensityCurvesIntegrated.
redEnds
= [[2.0, 2.0, 0.0], [2.0, 2.0, 1.0]]¶ see redStarts

make_TDS_DispersionIntensityCurvesIntegrated.
Nqlines
= [200, 100]¶ see redStarts

make_TDS_DispersionIntensityCurvesIntegrated.
Nfour_interp
= 5¶ The number of points in each direction of the 3D reciprocal grid. The hdf5 file must contain a previous pretreatement done with the same parameter.

make_TDS_DispersionIntensityCurvesIntegrated.
Temperature
= 100¶  The hdf5 file must include DW factors calculated ALSO at this temperature.
 The temperature at which DW factors have been calculated.
 Units are Kelvin

make_TDS_DispersionIntensityCurvesIntegrated.
resolutionfile
= ''¶ a two column file : first the energy in cm1, second the value of resolution function

make_TDS_DispersionIntensityCurvesIntegrated.
Lambda
= 1.0¶ For Xray scattering : the wavelenght in Angstroems.

make_TDS_DispersionIntensityCurvesIntegrated.
Saturation
= 0¶ To limit intensity at peaks : intensity is saturated at this value

make_TDS_DispersionIntensityCurvesIntegrated.
lowerLimit
= 0¶ To correct the dynamical range, when displaying, the intensity is clipped to prevent it going below this value

make_TDS_DispersionIntensityCurvesIntegrated.
bottom_meV
= 0¶ Calculated eigenvalues are clipped to this value before use.

make_TDS_DispersionIntensityCurvesIntegrated.
NEUTRONCALC
= 0¶ This activate neutron scattering calculations.

make_TDS_DispersionIntensityCurvesIntegrated.
CohB
= None¶ When neutroncalc is on, this must be a dictionary : for each atom name the Coherent lenght.

make_TDS_DispersionIntensityCurvesIntegrated.
NeutronE
= 0¶ When neutroncalc is on, the neutron energy in meV

make_TDS_DispersionIntensityCurvesIntegrated.
branchWeight
= None¶ a list of weights : one per branch.

make_TDS_DispersionIntensityCurvesIntegrated.
Eigscal
= 0¶ EigScal==1 Intensity are calculated WITH only eigenvector scalar products ; ==2 Intensity are calculated WITH only eigenvector scalar products PLUS Mass factor

make_TDS_DispersionIntensityCurvesIntegrated.
UniqueIon
= 1¶ If >=0. Selects one ion. All the other will be silent.

make_TDS_DispersionIntensityCurvesIntegrated.
axis
= [0.0, 0.0, 1.0]¶ Rotation axis

make_TDS_DispersionIntensityCurvesIntegrated.
Nangular
= 4¶ No of angular steps over 2pi

make_TDS_DispersionIntensityCurvesIntegrated.
sphereintegral
= 0¶ if set to 1 : the whole sphere is integrated

make_TDS_DispersionIntensityCurvesIntegrated.
Nangular2
= 1¶ if sphereintegral == 1 this variable has to be set : Nangular for No of azimuth angle steps, Nangular2 for No of polar angle steps