LO-TO splitting: implementation and impact

LO-TO splitting correction can activated by the keyword LO in the input.txt file; the keyword must be followed by the name of the file containing the LO-TO data: a first column specifying the mode numbers (for those modes affect by LO-TO splitting only) and (second column) the corresponding values of the split (in $cm^{-1}$). The present example concerns pyrope and such file is named LO.txt

The presence of the LO keyword in the input file produces corrected frequencies for the modes affected by LO-TO splitting. Precisely, the new frequencies $\nu_c$ are computed as follows

$$\nu_c = 2/3\cdot \nu_{TO} + 1/3\cdot \nu_{LO}$$

where $\nu_{LO}=\nu_{TO}+\Delta\nu$ and $\Delta\nu$ is the LO-TO split value. The TO values are found in the frequencies file specified by the keyword FREQ.

The corrected frequencies $\nu_c$ are internally stored in the class lo, along with a copy of the original TO frequencies, and used in all the subsequent calculations instead of the TO frequencies.

Start the program as usual:

In [18]:
%run bm3_thermal_2.py


File quick_start.txt found in the master folder
Input files in 'pyrope' folder

Input file

STATIC
pyrope_static.dat
VOLUME
volume.dat
FREQ
pyrope_freq_2.dat
EXP
experimental.txt
LO
LO.txt
FITVOL
POLY
725. 769. 16  3
FU
4 20
SET
0 1 4 5 8 10 15 21
TEMP
300
CP
0. 2 -2. -1 -0.5
ALPHA
0. 2 -2  -1 -0.5
END

-------- End of input file -------

Frequencies corrected for LO-TO splitting

Static BM3 EoS

Bulk Modulus: 173.95 (0.06) GPa
Kp:             4.30 (0.03)
V0:           756.1932 (0.00) A^3


The info.show command print the information concerning the LO-TO splitting:

In [19]:
info.show()
Current settings and results

Static data            ** min, max volumes: 725.7483, 772.6196; points: 8
Frequency volume range ** min, max volumes: 725.7483, 772.6196; points: 22
Selected freq. sets    ** min, max volumes: 725.7483, 772.6196; points: 8
Frequency sets:           [0, 1, 4, 5, 8, 10, 15, 21]

Fit of frequencies     ** type: poly, degree: 3
                          min, max volumes: 725.0000, 769.0000; points 16

** Static EoS (BM3) **
K0: 173.95 GPa, Kp: 4.30, V0: 756.1932 A^3

No excluded modes

Kieffer model off

---------------------------------------------
Frequencies corrected for LO-TO splitting.

Mode    Split
   1   -1.324
   2   21.389
   8   25.616
  14    0.011
  17    3.466
  30   19.895
  32   -0.130
  42   15.508
  47    3.802
  51  163.425
  54   -1.925
  63   -5.059
  68  -18.959
  75    0.040
  80  195.702
  83  -10.929
  92  -30.519
---------------------------------------------

Compute the equation of state (here, the bulk_dir is used).

Note: The LO-TO split values are considered to be constant as the cell volume is changed; the impact that such LO-TO splitting correction might have on the EoS (or on the thermal expansion) is therefore not due to possible different Gruneisen parameters with respect to those corresponding to the TO modes; rather, it is due to the generally different phonon populations of the splitted modes as an effect of their different frequency values.

In [20]:
bulk_dir(300)
BM3 EoS from P(V) fit

K0:    163.16   (0.00) GPa
Kp:      4.11   (0.00)    
V0:  767.4480   (0.00) A^3

Compute thermal expansion, specific heat and entropy (Kp is fixed to the optimized value from bulk_dir)

In [21]:
set_fix(4.11)
thermal_exp_p(300,0)
compare_exp()
Thermal expansion: 3.10e-05 K^-1
Bulk modulus:        163.16 GPa
Pressure:              0.00 GPa
Volume:              767.4478 A^3


Warning: volume out of range; reduce temperature

   Temp  Cp exp  Cp calc  Del Cp   S exp  S calc  Del S
  20.00    0.86     0.46   -0.40    0.20    0.07  -0.13
  40.00   11.05    10.60   -0.45    3.15    2.65  -0.50
  60.00   33.63    32.90   -0.73   11.56   10.85  -0.72
  80.00   62.67    61.99   -0.68   25.12   24.18  -0.93
 100.00   94.27    93.87   -0.40   42.48   41.42  -1.06
 150.00  171.54   171.30   -0.24   95.56   94.44  -1.12
 200.00  235.85   236.14    0.29  154.10  152.93  -1.17
 250.00  286.48   287.93    1.45  212.38  211.41  -0.97
 298.15  325.31   327.58    2.27  266.27  265.65  -0.62
 350.00  359.03   361.34    2.31  320.10  320.92   0.82
 400.00  385.80   387.14    1.34  371.00  370.91  -0.09
 500.00  422.80   424.70    1.90  458.00  461.62   3.62

Average error on Cp: 1.04; maximum error: 2.31
Average error on S:  0.98; maximum error: 3.62
Warning: issue on volume repeated 17 times

The lo.off method can be used to switch off the LO-TO splitting correction (the original TO frequencies are restored). The method lo.on can be used to switch on again the correction.

In [23]:
lo.off()
reset_fix()
info.show()
LO-TO splitting not taken into account

Current settings and results

Static data            ** min, max volumes: 725.7483, 772.6196; points: 8
Frequency volume range ** min, max volumes: 725.7483, 772.6196; points: 22
Selected freq. sets    ** min, max volumes: 725.7483, 772.6196; points: 8
Frequency sets:           [0, 1, 4, 5, 8, 10, 15, 21]

Fit of frequencies     ** type: poly, degree: 3
                          min, max volumes: 725.0000, 769.0000; points 16

** Static EoS (BM3) **
K0: 173.95 GPa, Kp: 4.30, V0: 756.1932 A^3

** BM3 EoS from the last computation, at the temperature of 300.00 K **
K0: 163.16 GPa, Kp: 4.11, V0: 767.4480 A^3
Kp not fixed

No excluded modes

Kieffer model off

Then repeat the computation above without the LO-TO splitting correction:

In [24]:
bulk_dir(300)
BM3 EoS from P(V) fit

K0:    163.02   (0.00) GPa
Kp:      4.11   (0.00)    
V0:  767.5003   (0.00) A^3
In [25]:
set_fix(4.11)
thermal_exp_p(300,0)
compare_exp()
Thermal expansion: 3.13e-05 K^-1
Bulk modulus:        163.02 GPa
Pressure:              0.00 GPa
Volume:              767.5001 A^3


Warning: volume out of range; reduce temperature

   Temp  Cp exp  Cp calc  Del Cp   S exp  S calc  Del S
  20.00    0.86     0.49   -0.37    0.20    0.07  -0.13
  40.00   11.05    10.87   -0.18    3.15    2.75  -0.40
  60.00   33.63    33.29   -0.34   11.56   11.10  -0.47
  80.00   62.67    62.50   -0.16   25.12   24.57  -0.55
 100.00   94.27    94.48    0.21   42.48   41.93  -0.55
 150.00  171.54   172.11    0.57   95.56   95.24  -0.32
 200.00  235.85   236.98    1.13  154.10  153.97  -0.13
 250.00  286.48   288.79    2.31  212.38  212.64   0.26
 298.15  325.31   328.41    3.10  266.27  267.02   0.75
 350.00  359.03   362.11    3.08  320.10  322.41   2.31
 400.00  385.80   387.83    2.03  371.00  372.51   1.51
 500.00  422.80   425.38    2.58  458.00  463.37   5.37

Average error on Cp: 1.34; maximum error: 3.10
Average error on S:  1.06; maximum error: 5.37
Warning: issue on volume repeated 21 times

As shown by the results, the correction had a very little impact on bulk modulus and themal expansion, however the entropy and the specific heat changed by some units: In particular, at 298.15 K, the entropy decreases from 267.02 J/mol K, without correction, to 265.65 J/mol K, with correction.

In [ ]: