principia_materia.phonon_id.anharmonic_interpolation module
- class principia_materia.phonon_id.anharmonic_interpolation.AnharmincInterpolation(structure, tol=1e-06)
- Bases: - object- Interpolation of anharmonic phonon interaction coefficients. - This class will store PhiN of arbitrary order together and perform interpolation to arbitrary Q. And generate phonon interaction tensors in desired conventen & basis. - analytic_derivative_dynamic_matrix(Qpoints)
- Analytical derivatives of the dynamical matrices wrt Q-points. - The short range part is calculated as as following. \[\frac{\partial\hat D_{\mathbf{K}}}{\partial K_\alpha} = \sum_{\mathbf{y}} \imag T_\alpha e^{\imag \mathbf{K} \cdot \mathbf{y}\hat a} \hat \Phi_{\mathbf{y}}\]
 - property existing_orders
 - fd_derivative_dynamic_matrix(qpoints, amplitute=1e-05)
- Derivative dynamic matrix using central finite difference method. 
 - get_Dq2(qpoints)
- Get second order dynamic matrices of input q-points. - Parameters:
- qpoints (array of float or Fraction, shape(dim, ) or (1, dim) or (N, 1, dim)) – q-points to to compute dynamic matrices. The hidden q-points will be prepended, and Fourier transform will be executed. 
 
 - get_DqN(Qpoints, order)
- Get the DqN tensor of a given q at a given order. 
 - get_Phi(order)
- Get the PhiN of a given order. 
 - get_phonons(qpoints, return_eigenvectors=True, units='THz')
 - group_velocity(qpoints, fd=False, amplitute=1e-05, tol=1e-05, units='THz')
- Compute group velocity using either the analytic derivative or CFD. - Parameters:
- qpoints (array of floats, shape(N, 3) or coordinate parse compatible format.) – Qpoints to evaluate group velocity at. 
- amplitute (float) – Displacement amplitute on qpoints. 
- tol (float) – Tolerance. 
- units (str) – Unit of phonon frequencies. 
 
- Returns:
- gv – Group velocity. 
- Return type:
- array of float, shape(len(qpoints), norbitals, 3) 
 
 - heat_capacity(qpoints, temperature, phonon_units='eV', phonon_cutoff=None, tol=0.0001)
- Mode heat capacity at given q-points and temperature. - Parameters:
- qpoints (array of float, shape(nqpoints, 3)) – q-points to evaulate the mode heat capacity 
- temperature (float or array of float, shape(ntemp)) – temperature to evaulate the mode heat capacity 
 
- Returns:
- cv – Mode heat capacity in units of eV/K. 
- Return type:
- array of float, shape(nqpoints, ntemp, norbitals) 
 
 - set_Phi(Phi, order)
- Add a Phi of a given order. 
 - set_dipole(epsilon, q_direction=None)
 - set_q_direction(q_direction=None)
 
- principia_materia.phonon_id.anharmonic_interpolation.mode_heat_capacuty(frequencies, temperature, phonon_units='THz', phonon_cutoff=None, tol=0.0001)
- Compute mode heat capacity from phonon freuqencies. - Parameters:
- frequencies (array of float, shape(nqpoints, norbitals)) 
- temperature (float or array of float, shape(ntemp)) 
 
- Returns:
- cv 
- Return type:
- array of float, shape(nqpoints, ntemp, norbitals)