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: - numpy.ndarray
velocities per mode with final dimension
(mode.shape[0], 3)
, the velocity unit is Ang/ps Units may change in future releases.