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)