velocity

sisl.physics.phonon.velocity(mode, hw, dDk, degenerate=None)[source]

Calculate the velocity of a set of modes

These are calculated using the analytic expression (\(\alpha\) corresponding to the Cartesian directions):

\[\mathbf{v}_{i\alpha} = \frac1{2\hbar\omega} \langle \epsilon_i | \frac{\partial}{\partial\mathbf k}_\alpha \mathbf D(\mathbf k) | \epsilon_i \rangle\]
Parameters
  • mode (array_like) – vectors describing the phonon modes, 2nd dimension contains the modes. In case of degenerate modes the vectors may be rotated upon return.

  • hw (array_like) – frequencies of the modes, for any negative frequency the velocity will be set to 0.

  • dDk (list of array_like) – Dynamical matrix derivative with respect to \(\mathbf k\). This needs to be a tuple or list of the dynamical matrix derivative along the 3 Cartesian directions.

  • degenerate (list of array_like, optional) – a list containing the indices of degenerate modes. In that case a prior diagonalization is required to decouple them. This is done 3 times along each of the Cartesian directions.

Returns

velocities per mode with final dimension (mode.shape[0], 3), the velocity unit is Ang/ps Units may change in future releases.

Return type

numpy.ndarray