equadrupole¶
-
dqc.
equadrupole
(qc: dqc.qccalc.base_qccalc.BaseQCCalc, unit: Optional[str] = 'Debye*Angst') → torch.Tensor[source]¶ Returns the electric quadrupole moment of the system, i.e. derivative of energy w.r.t. electric field.
- Parameters
qc (BaseQCCalc) – The qc calc object that has been executed.
unit (str or None) – The returned quadrupole unit. If
None
, returns in atomic unit.
- Returns
Tensor representing the quadrupole moment in atomic unit in
(ndim, ndim)
- Return type
torch.Tensor
Example
import torch import dqc dtype = torch.float64 moldesc = "O 0 0 0.2156; H 0 1.4749 -0.8625; H 0 -1.4749 -0.8625" # in Bohr efield = torch.zeros(3, dtype=dtype).requires_grad_() # efield must be specified grad_efield = torch.zeros((3, 3), dtype=dtype).requires_grad_() # grad_efield must be specified mol = dqc.Mol(moldesc=moldesc, basis="3-21G", dtype=dtype, efield=(efield, grad_efield)) qc = dqc.HF(mol).run() equad = dqc.equadrupole(qc)