TDS intensity distribution in 3D reciprocal space:ΒΆ
The script make_TDS_intensityVolume calculates 3D distribution of TDS intensities for x-rays and neutrons. It can calculate partial and weighted densities of states, but this should be preferably done with make_TDS_IntensityVolumeOnlyHisto. 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_IntensityVolume castep_filename input_filenamethe file castep_filename can be either the name of the original castep output or the associated hdf5 file. In any case the associated hdf5 file must exist already (make_TDS_Simmetrization must be run beforehand)
The input_file must set the variables :
Mandatories
- APPLYTIMEREVERSAL
- subN1
- subN2
- subN3
- N1
- N2
- N3
- Nfour_interp
- Temperature
If NEUTRONCALC==0 ( default )
- Lambda
If NEUTRONCALC==1
- CohB
- NeutronE
If do_histogram==1
Nbins
xvdos
DOQLIMITS
- QMIN=0
- QMAX=0
- The following block of three parameters are eithe all None (default), or outputname must be set together with
one of branchWeight and energyWindow
- outputname
- branchWeight
- energyWindow
set RemoveBose=1 if you want to remove Bose statistics factors
Output files
The calculated intensities are written to a .ccp and .h5 file for visualization with chimera and pymca respectively. Density of states are written to histogram.h5, use pymca to open
The input variables are documented with docstrings below
-
make_TDS_IntensityVolume.
APPLYTIMEREVERSAL
= 1 this is one by default. Must be coherent with previous steps
-
make_TDS_IntensityVolume.
subN1
= 20 Subdivision, in the elementary brillouin zone, along the Z dimension of the reconstructed volume, which is parallel to the first axis of the brilloin zone.
-
make_TDS_IntensityVolume.
subN2
= 20 Subdivision, in the elementary brillouin zone, along the Y dimension of the reconstructed volume, which is parallel to the second axis of the brilloin zone.
-
make_TDS_IntensityVolume.
subN3
= 20 Subdivision, in the elementary brillouin zone, along the X dimension of the reconstructed volume, which is parallel to the third axis of the brilloin zone.
-
make_TDS_IntensityVolume.
N1
= 4 Besides being subdivised, the Brillouin zone, is replicated alonx the first axis for -N1 up to N1-1 included. In reciprocal cell vector units. N1 can be either an integer or a pair of integer. In the latter case the first element is the starting shift, the second is the ending shift+1.
-
make_TDS_IntensityVolume.
N2
= 4 same thing as N1 but along the second reciprocal cell vector
-
make_TDS_IntensityVolume.
N3
= 4 same thing as N1 but along the third reciprocal cell vector
-
make_TDS_IntensityVolume.
Nfour_interp
= 4 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_IntensityVolume.
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_IntensityVolume.
Lambda
= 0.2 For X-ray scattering : the wavelenght in Angstroems.
-
make_TDS_IntensityVolume.
NEUTRONCALC
= 0 This activate neutron scattering calculations.
-
make_TDS_IntensityVolume.
CohB
= None When neutroncalc is on, this must be a dictionary : for each atom name the Coherent lenght.
-
make_TDS_IntensityVolume.
NeutronE
= 0 When neutroncalc is on, the neutron energy in meV
-
make_TDS_IntensityVolume.
do_histogram
= 0 this variable activsates the histogram calculations
-
make_TDS_IntensityVolume.
Nbins
= 0 Numer of bins in the histogram
-
make_TDS_IntensityVolume.
xvdos
= 0 - when this option is on, the DOS is calculated with a weight given by scattering factors, structure factor, DW etc. etc.
- almost the same as the one used for scattering but without bose statistics.
-
make_TDS_IntensityVolume.
DOQLIMITS
= 0 If on : when calculating xvdos only contributions from q points having modulus inside a given window are considered.
-
make_TDS_IntensityVolume.
QMIN
= 0 the minimum Q modulus for the DOQLIMITS=1 window
-
make_TDS_IntensityVolume.
QMAX
= 0 the maximum Q modulus for the DOQLIMITS=1 window
-
make_TDS_IntensityVolume.
outputname
= None a name to design the output file with data from calculation considering branchWeight or energyWindow
-
make_TDS_IntensityVolume.
branchWeight
= None a list of weights : one per branch.
-
make_TDS_IntensityVolume.
energyWindow
= None a list of two numbers : minimum and maximum in meV
-
make_TDS_IntensityVolume.
RemoveBose
= 0 RemoveBose=1 desactivates the Bose statistics.