Tutorials
The tutorials input, output and dynamical matrix files are located in the “tutorials” directory of the distribution. These tutorials assume that the dynamical matrix files have been generated. The generation of these files is beyond the scope of these tutorials. The users should refer to the dynamical matrix generation guide (coming soon).
Case 1: Near-neighbor EXAFS DW factor of Cu between 1 and 300K
The input file (dmdw.inp) for this case is:1 # Output level: 0 - Terse, 1 - Verbose 10 # Lanczos recursion order 20 1.0 300.0 # Temperature grid: Number of temps, T min, T max 0 # Type of output: 0 - s2, 1 - VFE, 2 - SE, 3 - u2 feff.dym # Dynamical matrix file name 1 # Number of paths descriptors 2 1 2 30.0 # Single scatt. descriptor from 1 to 2, ignore if R_Path > 30 a.u.
The first line set the the verbosity of the output. Currently only two levels are available, with 0 reporting only the target quantity (σ2, u2, etc) and 1 producing other interesting quantities (see below). The second line sets the Lanczos recursion order. In this case 10 is more than sufficient to produce converged EXAFS DW factors. Users should always monitor convergence with respect to this parameter. Please refer to the User’s Guide for a more detailed discussion of the lower and upper recursion order limits. The third line determines the target temperatures. Both single temperatures and ranges can be computed. The fourth line sets the type of DMDW output. (σ2 and u2 calculations are fully implemented, while vibrational free energies and self-energies are still under development.) The next line defines the name of the dynamical matrix file, in .dym format (please refer to the User’s Guide for a detailed description of this format). The last two lines define the EXAFS paths for which the DW factors will be computed. In this case there is only one type of path, a single scattering path between the near-neighbor atoms 1 and 2. A path length cutoff is also included to ignore paths longer than 30.0 au.
The output file (dmdw.out) looks like this:
# Lanczos recursion order: 10
# Temperature: (See list Below)
# Dynamical matrix file: feff.dym
--------------------------------------------------------------
Path Indices: 1 2
pDOS Poles:
Freq. (THz) Weight
2.165 0.00126
2.888 0.03260
3.630 0.11056
4.340 0.13929
5.025 0.13509
5.704 0.10975
6.380 0.10676
6.805 0.21940
7.118 0.06292
7.332 0.08235
pDOS Einstein freq (single pole) and associated temp:
Freq (THz) Temp (K)
5.784 277.60
pDOS n Moments and associated Einstein freqs and temps:
n Mom (THz^n) Freq (THz) Temp (K)
-2 0.03882 5.07524 243.57
-1 0.18960 5.27433 253.12
0 0.99998 0.00000 0.00
1 5.63323 5.63323 270.34
2 33.45866 5.78435 277.60
Path Length (Ang): 2.532
Temp (K) s2 (1e-3 Ang2)
1.00 3.016
16.74 3.016
32.47 3.029
48.21 3.091
63.95 3.218
79.68 3.404
95.42 3.636
111.16 3.904
...
The main portions of the output are the table of poles and weights determined by the Lanczos algorithm, the moments of the projected phonon density of states (pDOS) from both the single-pole and multi-pole approximations, their associated Einstein frequencies and temperatures and, finally, the table of DW factors at each target temperature. The poles and weights can be used to plot the pDOS (as in the figure above, which corresponds to the total, rather than projected pDOS, see below) while the moments can be used in simplified models and provide interesting properties of the systems, like its Einstein temperature.
Case 2: All single and some select double scattering EXAFS DW factors from one atom for Ge at 300K
As in the first case, the input file is very simple:0 # Output level: 0 - Terse, 1 - Verbose 10 # Lanczos recursion order 1 300.0 # Temperature grid: Number of temps, T min, T max 0 # Type of output: 0 - s^2, 1 - VFE, 2 - SE, 3 - u^2 feff.dym # Dynamical matrix file name 2 # Number of paths descriptors 2 1 0 30.0 # All single scatt. descriptor from 1, ignore if R_Path > 30 a.u. 3 1 4 0 30.0 # Double scatt. descriptor from 1, 4, ignore if R_Path > 30 a.u.
The main difference in this case is in the use of a terse output, just a single temperature and targeting single scattering parts from atoms 1, and double scattering paths that pass through atoms 1, 4 and any other atom in the system.
The output only lists the path indices, length and associated DW factors:# Lanczos recursion order: 10 # Temperature: 300.00 # Dynamical matrix file: feff.dym -------------------------------------------------------------- Path Indices: 1 2 Path Length (Ang), s2 (1e-3 Ang2): 2.417 3.448 -------------------------------------------------------------- Path Indices: 1 3 Path Length (Ang), s2 (1e-3 Ang2): 2.417 3.448 ...
Case 3: Crystallographic u2 for Ge at 300K
The main difference in this case is in the type of DMDW calculation, and that the descriptor now targets a single atom, rather than an EXAFS scattering path:1 # Output level: 0 - Terse, 1 - Verbose 16 # Lanczos recursion order 1 300.0 # Temperature grid: Number of temps, T min, T max 3 # Type of output: 0 - s2, 1 - VFE, 2 - SE, 3 - u2 feff.dym # Dynamical matrix file name 1 # Number of paths descriptors 1 1 0.0 # Target atom 1
The Lanczos order has been increased to provide better results since the u2 calculations have slower convergence than the σ2. (Please refer to the User’s Guide for a more detailed discussion of the lower and upper recursion order limits.)
The output file looks like this:
# Lanczos recursion order: 16
# Temperature: 300.00
# Dynamical matrix file: feff.dym
==============================================================
Atom Index: 1
--------- Direction x ---------------------------
pDOS Poles:
Freq. (THz) Weight
1.787 0.07747
2.205 0.10172
2.627 0.12653
3.211 0.02538
3.931 0.02408
4.650 0.03918
5.325 0.02747
6.117 0.03222
6.575 0.08839
7.051 0.02895
7.455 0.03463
7.850 0.06450
8.100 0.14295
8.366 0.11729
8.458 0.01356
8.635 0.05567
pDOS Einstein freq (single pole) and associated temp:
Freq (THz) Temp (K)
6.241 299.51
pDOS n Moments and associated Einstein freqs and temps:
n Mom (THz^n) Freq (THz) Temp (K)
-2 0.08025 3.53009 169.41
-1 0.24064 4.15556 199.43
0 1.00000 0.00000 0.00
1 5.68136 5.68136 272.65
2 38.95106 6.24108 299.51
u2 (1e-3 Ang2): 7.166
--------- Direction y ---------------------------
pDOS Poles:
Freq. (THz) Weight
1.792 0.06711
2.228 0.10530
2.629 0.13148
3.217 0.02493
3.926 0.02336
4.660 0.04435
5.318 0.02809
6.098 0.03694
6.557 0.08771
7.015 0.02365
7.436 0.03234
7.848 0.05568
8.104 0.14464
8.356 0.09064
8.424 0.04703
8.641 0.05674
pDOS Einstein freq (single pole) and associated temp:
Freq (THz) Temp (K)
6.241 299.51
pDOS n Moments and associated Einstein freqs and temps:
n Mom (THz^n) Freq (THz) Temp (K)
-2 0.07803 3.57984 171.80
-1 0.23833 4.19591 201.37
0 0.99999 0.00000 0.00
1 5.68823 5.68823 272.98
2 38.95074 6.24105 299.51
u2 (1e-3 Ang2): 6.973
--------- Direction z ---------------------------
pDOS Poles:
Freq. (THz) Weight
1.786 0.05930
2.251 0.10504
2.642 0.13850
3.242 0.02409
3.937 0.02334
4.678 0.04897
5.318 0.02858
6.098 0.04633
6.567 0.08597
7.114 0.02174
7.511 0.02893
7.924 0.06717
8.143 0.13487
8.396 0.12810
8.620 0.01798
8.658 0.04108
pDOS Einstein freq (single pole) and associated temp:
Freq (THz) Temp (K)
6.241 299.51
pDOS n Moments and associated Einstein freqs and temps:
n Mom (THz^n) Freq (THz) Temp (K)
-2 0.07612 3.62463 173.95
-1 0.23623 4.23317 203.15
0 0.99999 0.00000 0.00
1 5.69498 5.69498 273.31
2 38.95122 6.24109 299.52
u2 (1e-3 Ang2): 6.806
==============================================================
The output is very similar to the σ2 case, but with three sections corresponding to displacement along the three Cartesian axes. The total pDOS can be obtained by collecting all poles and renormalizing the weights by 1/3. The total u2 corresponds to the average of the three Cartesian components.
ATOMS