Skip to content

Documentation: clarify that dipole and dipole-x expect the same numerical TDM magnitude for perpendicular transitions #25

@absurd

Description

@absurd

Summary

The documentation for the dipole keyword is ambiguous about whether it expects Cartesian body-fixed components or reduced spherical tensor components. For perpendicular transitions (|ΔΛ|=1), these differ by a factor of √2, leading to a factor of 2 error in Einstein A coefficients and lifetimes.

Numerical testing confirms that dipole and dipole-x with the same Cartesian input values produce identical results. However, multiple documentation sources suggest they should differ:

  • Eq. 42 in the paper defines spherical tensor components with the standard √2 factor (μ₊₁ = ∓(1/√2)(μ_x ± iμ_y))
  • The readthedocs fields page describes dipole-x as "related to the Cartesian-representation," implying dipole uses a different (spherical/Lambda) representation
  • The quadrupole documentation explicitly states "Duo requires quadrupole moment curves to be provided in the spherical irreducible representation," which creates a natural inference that dipole works the same way

The molpro_duo() subroutine in diatom.f90 does apply a -sqrt(0.5) factor when converting dipole-x input, but this is exactly cancelled by the |x⟩,|y⟩ → |+Λ⟩,|-Λ⟩ unitary transformation, making the net conversion just a sign flip.

Test case

Two-state CH model (X²Π ↔ B²Σ⁻, ΔΛ=1) with the same TDM curve:

Input method Einstein A (s⁻¹)
dipole + raw Cartesian μ_x 4.592×10⁶
dipole-x + raw Cartesian μ_x 4.592×10⁶
dipole + μ_x/√2 2.296×10⁶

Impact

This ambiguity is causing users to unnecessarily divide their ab initio Cartesian TDMs by √2 before providing them to Duo, resulting in lifetimes that are 2× too large. This came up in a Reddit thread where at least one user was affected, and they mention a published calculation that may also have this error.

Suggestion

A note in the dipole documentation clarifying that the Cartesian body-fixed component should be used directly would prevent this confusion. Something like:

For perpendicular transitions (|ΔΛ|=1), dipole expects the same numerical value as the Cartesian body-fixed component (e.g. μ_x). Do not apply the √2 conversion to spherical tensor components; this is handled internally. dipole and dipole-x accept the same numerical values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions