read_force_constant_stable
esta.phononBag.read_force_constant_stable
¶
read_force_constant_phonopy(filename, poscar_file=None)
¶
read force constant from the phonopy.yaml file created using the following command; phonopy --qe --cell ScPtO.scf2phon.in --include-fc -p band.conf | tee fc_pair_of_atoms.out
the band.conf contains the following lines: DIM = 1 1 1 PRIMITIVE_AXIS = AUTO BAND = 0. 0. 0. 0 0 0.1 BAND_POINTS=1 WRITEDM = .TRUE.
.. note:: the force constant are extraced from the q=0 calculation done using phonopy with qe as the backend. Should work for all the non-zero qpts as well..not test yet!!
the units of the force-constants are ry/au^2, see the phonopy.yaml file for more
details. In output the units are converted to eV/Ang^2.
Parameters:
-
filename(str) –name of the filename, phonopy.yaml
Returns:
-
lattice(array) –cell vectors
-
symbol(list) –list of symbols
-
pos(array) –atomic positions
-
masses(array of scalars) –mass of atoms
-
force_constant (force_constant_tensor_reshape) : array of rank 4–force constant all pair of atoms; (atmindx, atmindx, 3,3) note: from this eigen value of fc matrix after digonalisation is obtained for each atom pair
-
fc_list(list of dictionaries) –list of atomic pair dictionaries
-
return lattice, symbol, pos, mass_atom, force_constant_tensor_reshape, fc_list– -
.. important::–to find force constant (scalar) for each atom pair with NN, 2NN, 3NN interactions ; units are eV/Ang^2. to do this just see the same atomic pair with different atomic distance as present in the list of fc dictionary or output.csv or output.xlsx file and plot the data.
filter_force_constant_atomic_pairs(fc_list)
¶
given the list of dictionary containing atomic pair force constants along with corresponding distances, and atomic symbols, extract the unqiue force-constant atomic pairs ...