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_filename  

    the 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

      • subN1
      • subN2
      • subN3
      • N1
      • N2
      • N3
      • Nfour_interp
      • Temperature
    • If NEUTRONCALC==0 ( default )

      • Lambda

      • 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.