Source code for jarvis.analysis.phonon.force_constants

"""Module for processing force-constant."""
import numpy as np


[docs]def read_fc(filename="FORCE_CONSTANTS"): """Read force-constants.""" from jarvis.io.phonopy.outputs import read_fc fc = read_fc(filename) return fc
[docs]def qpoint(force_constant=[], qpt=[0.0, 0.0, 0.0]): """Get FC as natons x natons x 3 x3.""" qpt = np.array(qpt) exp_iqpt = np.exp(1.0j * qpt) dmat = force_constant * exp_iqpt vals, vects = np.linalg.eigh(dmat) return vals, vects