arc.calculations_atom_pairstate.PairStateInteractions.defineBasis#

PairStateInteractions.defineBasis(theta, phi, nRange, lrange, energyDelta, Bz=0, progressOutput=False, debugOutput=False)[source]#

Finds relevant states in the vicinity of the given pair-state

Finds relevant pair-state basis and calculates interaction matrix. Pair-state basis is saved in basisStates. Interaction matrix is saved in parts depending on the scaling with distance. Diagonal elements matDiagonal, correponding to relative energy defects of the pair-states, don’t change with interatomic separation. Off diagonal elements can depend on distance as \(R^{-3}, R^{-4}\) or \(R^{-5}\), corresponding to dipole-dipole (\(C_3\) ), dipole-qudrupole (\(C_4\) ) and quadrupole-quadrupole coupling (\(C_5\) ) respectively. These parts of the matrix are stored in PairStateInteractions.matR in that order. I.e. matR[0] stores dipole-dipole coupling (\(\propto R^{-3}\)), matR[1] stores dipole-quadrupole couplings etc.

Parameters
  • theta (float) – relative orientation of the two atoms (see figure on top of the page), range 0 to \(\pi\)

  • phi (float) – relative orientation of the two atoms (see figure on top of the page), range 0 to \(2\pi\)

  • nRange (int) – how much below and above the given principal quantum number of the pair state we should be looking?

  • lrange (int) – what is the maximum angular orbital momentum state that we are including in calculation

  • energyDelta (float) – what is maximum energy difference ( \(\Delta E/h\) in Hz) between the original pair state and the other pair states that we are including in calculation

  • Bz (float) – optional, magnetic field directed along z-axis in units of Tesla. Calculation will be correct only for weak magnetic fields, where paramagnetic term is much stronger then diamagnetic term. Diamagnetic term is neglected.

  • progressOutput (bool) – optional, False by default. If true, prints information about the progress of the calculation.

  • debugOutput (bool) – optional, False by default. If true, similarly to progressOutput=True, this will print information about the progress of calculations, but with more verbose output.

See also

arc.alkali_atom_functions.saveCalculation and arc.alkali_atom_functions.loadSavedCalculation for information on saving intermediate results of calculation for later use.