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 q-value
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 cm-1, second the value of resolution function
-
make_TDS_DispersionIntensityCurvesIntegrated.
Lambda
= 1.0¶ For X-ray 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