vibration

dqc.vibration(qc: dqc.qccalc.base_qccalc.BaseQCCalc, freq_unit: Optional[str] = 'cm^-1', length_unit: Optional[str] = None) → Tuple[torch.Tensor, torch.Tensor][source]

Calculate the vibration mode of the system based on the Hessian of energy with respect to atomic position.

Parameters
  • qc (BaseQCCalc) – The qc calc object that has been executed.

  • freq_unit (str or None) – The returned unit for the frequency. If None, returns in atomic unit.

  • length_unit (str or None) – The returned unit for the normal mode coordinate. If None, returns in atomic unit

Returns

Tuple of tensors where the first tensor is the frequency in atomic unit with shape (natoms * ndim) sorted from the largest to smallest, and the second tensor is the normal coordinate axes in atomic unit with shape (natoms * ndim, natoms * ndim) where each column corresponds to each axis sorted from the largest frequency to smallest frequency.

Return type

Tuple[torch.Tensor, torch.Tensor]