TutorialΒΆ
This tutorial comes with example files for the calculation of IXS and INS intensity maps and TDS intensity distribution. The case of ice-XI
Download the files containing the dynamical matrix together with cell information (.phonon file) and the Born effective charges together with polarisability (.castep file). These files have been created via CASTEP though a “phonon” and an “efield” calculation. All files are located in the “tutorial” directory.
Preliminary steps
reconstruct Brillouin zone using symmetry operations
requires the files “phon_PBE_e774_co820_k554_fine001.phonon”, “efield_PBE_e774_co820_k554.castep” and the input file called “inputSimmetrization.txt”
the input file is a text file containing the following parameters
APPLYTIMEREVERSAL=1
run the script
make_TDS_Simmetrization phon_PBE_e774_co820_k554_fine001.phonon inputSimmetrization.txt efield_PBE_e774_co820_k554.castep
calculate Debye Waller factors with input file “inputDW.txt” containing
APPLYTIMEREVERSAL=1 Temperature=100
run the script
make_TDS_DW phon_PBE_e774_co820_k554_fine001.phonon inputDW.txt
inspect calculated values stored in the md5 file
h5dump -d /Codes_1/DWs/100/DWf_33 phon_PBE_e774_co820_k554_fine001.phonon.*
here ‘100’ stands for the temperature, Debye-Waller factors calculated at other temperatures will be stored in an subdirectory named accordingly. Explore the contents of the md5 file with h5ls -r
perform Fourier Interpolation (can be executed in parallel) with input file “inputFourier.txt” containing
APPLYTIMEREVERSAL=1 Nfour_interp=4
run the script
mpirun -n 4 make_TDS_Fourier phon_PBE_e774_co820_k554_fine001.phonon inputFourier.txt
Calculate scattering intensities for x-rays and neutron
calculate IXS intensity map for given direction with input file “inputDispersionIntensityCurve.txt” containing
APPLYTIMEREVERSAL=1 Nfour_interp=4 Temperature=100 redStarts=[[1.000 , 1.000 , 0.000]] redEnds =[[2.000 , 2.000 , 0.000]] Nqlines=[200] resolutionfile="a3res9_pm.fit" Lambda=0.6968 Saturation=1e-2 lowerLimit=1e-12 bottom_meV=1.0e-1 COLOR=1
download the experimental resolution file “a3res9_pm.fit” and run the script
make_TDS_DispersionIntensityCurves phon_PBE_e774_co820_k554_fine001.phonon inputDispersionIntensityCurve.txt
right-click on the graph to get a constant Q-cut
try different values of Nfour_interp to see how the Fourier interpolation effects the intensity map. Remember that make_TDS_Fourier needs to be run for each values of Nfour_interp.
calculate INS intensity map
replace “Lambda=0.6968” by “NeutronE=25.0” in the input file and add the scattering lengths
NeutronE=25.0 CohB={"H": 6.671+0.0j , "O": 5.803+0.0j }
activate the neutron calculation by adding
NEUTRONCALC=1
run the script as for IXS intensity calculation
calculate 3D TDS intensity distribution (can be parallel) with input file “inputIntensityVolume.txt” containing
APPLYTIMEREVERSAL=1 subN1=50 subN2=50 subN3=50 N1 = 4 N2 = 4 N3 = 4 Nfour_interp=4 Temperature=100 Lambda=0.6968 Saturation=1.0e6 do_histogram=0 DOQLIMITS=0
run the script
mpirun -n 6 make_TDS_IntensityVolume phon_PBE_e774_co820_k554_fine001.phonon inputIntensityVolume.txt
ATTENTION: This operation requires 6 GB RAM per core! Run on less cores or decrease subNx if your machines does not have enough memory.
open the VolumeIntensity_100_.ccp4 file with Chimera or VolumeIntensity_100_.h5 with pymca to display 3D isosurfaces
calculate TDS intensity map (can be parallel) with input file “inputIntensityPlane.txt” containing
APPLYTIMEREVERSAL=1 Nfour_interp=4 Temperature=100 Lambda=0.6968 redCenter = [0.0 , 0.0, 0.0] Nqs = 80 DQ = 0.12 Saturation=2 lowerLimit=0.000001 bottom_meV=1e-3 LINEAR=1 COLOR=1 redA = [ 1.0 , 0.0 ,0.0 ] redB = [ 0.0 ,1.0 ,0.0 ] redC = [ 0.0 , 0.0 , 0.0 ]
run the script
mpirun -n 4 make_TDS_IntensityPlane phon_PBE_e774_co820_k554_fine001.phonon inputIntensityPlane.txt