pyqed.signal package

Submodules

pyqed.signal.2DES module

pyqed.signal.ETPA module

pyqed.signal.liouville module

pyqed.signal.nonhermitian module

pyqed.signal.sos module

Sum over system eigenstates formula for computing the nonlinear signals.

This is the simpliest method for nonlinear signals without going to the Liouville space.

pyqed.signal.sos.DQC_R1(evals, dip, omega1=None, omega2=[], omega3=None, tau1=None, tau3=None, g_idx=[0], e_idx=None, f_idx=None, gamma=None)
Double quantum coherence, diagram 1:

gg -> eg -> fg -> fe’ -> e’e’ in the impulsive limit.

The signal wave vector is ks = k1 + k2 - k3

Parameters:
  • evals (TYPE) – DESCRIPTION.

  • dip (TYPE) – DESCRIPTION.

  • omega3 (TYPE) – DESCRIPTION.

  • t2 (TYPE) – DESCRIPTION.

  • omega1 (TYPE) – DESCRIPTION.

  • g_idx (list of integers) – indexes for ground manifold

  • e_idx (list of integers) – indexes for excited state manifold

Returns:

chi – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.DQC_R2(evals, dip, omega1=None, omega2=[], omega3=None, tau1=None, tau3=None, g_idx=[0], e_idx=None, f_idx=None, gamma=None)
Double quantum coherence, diagram 2:

gg -> eg -> fg -> eg -> gg in the impulsive limit.

The signal wave vector is ks = k1 + k2 - k3

Parameters:
  • evals (TYPE) – DESCRIPTION.

  • dip (TYPE) – DESCRIPTION.

  • omega1 (TYPE, optional) – DESCRIPTION. The default is None.

  • omega2 (TYPE, optional) – DESCRIPTION. The default is [].

  • omega3 (TYPE, optional) – DESCRIPTION. The default is None.

  • tau1 (TYPE, optional) – DESCRIPTION. The default is None.

  • tau3 (TYPE, optional) – DESCRIPTION. The default is None.

  • g_idx (TYPE, optional) – DESCRIPTION. The default is [0].

  • e_idx (TYPE, optional) – DESCRIPTION. The default is None.

  • f_idx (TYPE, optional) – DESCRIPTION. The default is None.

  • gamma (TYPE, optional) – DESCRIPTION. The default is None.

Raises:

Exception – DESCRIPTION.

Returns:

signal – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.ESA(evals, dip, omega1, omega3, tau2, g_idx, e_idx, f_idx, gamma)

Excited state absorption component of the photon echo signal. In Liouville sapce, gg -> ge -> e’e -> fe -> ee

Parameters:
  • evals (TYPE) – DESCRIPTION.

  • dip (TYPE) – DESCRIPTION.

  • omega3 (TYPE) – DESCRIPTION.

  • t2 (TYPE) – DESCRIPTION.

  • omega1 (TYPE) – DESCRIPTION.

  • g_idx (list of integers) – index for ground state (manifold)

  • e_idx (list of integers) – index for e-states

  • f_idx (list of integers) – index of f-states

Returns:

signal – DESCRIPTION.

Return type:

2d array (len(pump), len(probe))

pyqed.signal.sos.G(omega, E, a, b)

Green’s function in the frequency domain, i.e., FT of the retarded propagator

Parameters:
  • omega (TYPE) – DESCRIPTION.

  • evals (TYPE) – DESCRIPTION.

  • a (TYPE) – DESCRIPTION.

  • b (TYPE) – DESCRIPTION.

  • gamma (TYPE) – DESCRIPTION.

Returns:

DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.GF(E, a, b, t)

Retarded propagator of the element |a><b| for time t

Parameters:
  • a (TYPE) – DESCRIPTION.

  • b (TYPE) – DESCRIPTION.

  • t (TYPE) – DESCRIPTION.

Returns:

DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.GSB(evals, dip, omega1, omega3, tau2, g_idx, e_idx, gamma)

gg -> ge -> gg’ -> e’g’ -> g’g’

Parameters:
  • evals (TYPE) – DESCRIPTION.

  • dip (TYPE) – DESCRIPTION.

  • omega3 (TYPE) – DESCRIPTION.

  • t2 (TYPE) – DESCRIPTION.

  • omega1 (TYPE) – DESCRIPTION.

  • g_idx (list of integers) – indexes for ground manifold

  • e_idx (list of integers) – indexes for excited state manifold

Returns:

chi – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.SE(evals, dip, omega1, omega3, tau2, g_idx, e_idx, gamma)

Stimulated emission gg -> ge -> e’e -> g’e -> g’g’ in the impulsive limit. The signal wave vector is ks = -k1 + k2 + k3

Parameters:
  • evals (TYPE) – DESCRIPTION.

  • dip (TYPE) – DESCRIPTION.

  • omega3 (TYPE) – DESCRIPTION.

  • t2 (TYPE) – DESCRIPTION.

  • omega1 (TYPE) – DESCRIPTION.

  • g_idx (list of integers) – indexes for ground manifold

  • e_idx (list of integers) – indexes for excited state manifold

Returns:

chi – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.TPA(E, dip, omegap, g_idx, e_idx, f_idx, gamma, degenerate=True)

TPA signal with classical light

pyqed.signal.sos.TPA2D(E, dip, omegaps, omega1s, g_idx, e_idx, f_idx, gamma)

2D two-photon-absorption signal with classical light scanning the omegap = omega1 + omega2 and omega1

pyqed.signal.sos.TPA2D_time_order(E, dip, omegaps, omega1s, g_idx, e_idx, f_idx, gamma)

2D two-photon-absorption signal with classical light scanning the omegap = omega1 + omega2 and omega1

class pyqed.signal.sos.TransientAbsorption(mol, pump, probe, delays)

Bases: object

run(dt, nt, method='dynamic', t0=None)
pyqed.signal.sos.absorption(mol, omegas, linewidth=None, plt_signal=True, fname=None, normalize=False, scale=1.0, yscale=None)

SOS for linear absorption signal ..math:

S(\omega) = 2 \pi \sum_f |\mu_{fg}|^2 \delta(\omega - \omega_{fg}).

The delta function is replaced with a Lorentzian function.

Parameters:
  • omegas (1d array) – detection frequency window for the signal

  • H (2D array) – Hamiltonian

  • edip (2d array) – electric dipole moment

  • output (TYPE, optional) – DESCRIPTION. The default is None.

  • gamma (float, optional) – Lifetime broadening. The default is 1./au2ev.

  • normalize (TYPE, optional) – Normalize the maximum intensity of the signal as 1. The default is False.

Returns:

signal – linear absorption signal at omegas

Return type:

1d array

pyqed.signal.sos.cars(E, edip, shift, omega1, t2=0, gamma=0.0003674903350041894)

two pump pulses followed by a stimulated raman probe.

The first, second, and fourth pulses are assumed impulse, the thrid pulse is cw.

S = sum_{b,a = e} 2 * pi * delta(Eshift - omega_{ba}) * mu_{bg} *

mu_{ag} * alpha_{ba}

Parameters:
  • E (TYPE) – DESCRIPTION.

  • edip (TYPE) – DESCRIPTION.

  • t1 (TYPE) – time decay between pulses 1 and 2

  • t2 (TYPE, optional) – time delay between pulse 2 and 4 (stokes beam). The default is 0.

Returns:

S – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.etpa(omegaps, mol, epp, g_idx, e_idx, f_idx)

ETPA signal with temporal modes (TMs). The JSA is reconstructed with the TMs first.

Parameters:
  • omegaps (TYPE) – DESCRIPTION.

  • g_idx (TYPE) – DESCRIPTION.

  • e_idx (TYPE) – DESCRIPTION.

  • f_idx (TYPE) – DESCRIPTION.

Returns:

signal – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.gaussian(x, width)
pyqed.signal.sos.issorted(a)

check if the numpy array is sorted or not

Parameters:

a (TYPE) – DESCRIPTION.

Returns:

DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.linear_absorption(omegas, transition_energies, dip, output=None, gamma=0.036749033500418936, scale=1, normalize=False)

SOS for linear absorption signal S = 2 pi |mu_{fg}|^2 delta(omega - omega_{fg}). The delta function is replaced with a Lorentzian function.

Parameters:
  • omegas (1d array) – the frequency range for the signal

  • transition_energies (TYPE) – DESCRIPTION.

  • edip (1d array) – transtion dipole moment

  • output (TYPE, optional) – DESCRIPTION. The default is None.

  • gamma (float, optional) – Lifetime broadening. The default is 1./au2ev.

  • scale (float) – scale the transition dipole sticks

  • normalize (TYPE, optional) – Normalize the maximum intensity of the signal as 1. The default is False.

Returns:

signal – linear absorption signal at omegas

Return type:

1d array

pyqed.signal.sos.mcd(mol, omegas)

magentic circular dichroism signal with SOS

The electronic structure data should contain the B field ready, not the bare quantities.

B = (0, 0, Bz)

Reference:

Shichao Sun, David Williams-Young, and Xiaosong Li, JCTC, 2019, 15, 3162-3169

Parameters:
  • mol (TYPE) – DESCRIPTION.

  • omegas (TYPE) – DESCRIPTION.

Returns:

signal – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.photon_echo(mol, pump, probe, t2=0.0, g_idx=[0], e_idx=None, f_idx=None, fname='signal', plt_signal=False, pol=None)

Photon echo signal for a multi-level system using SOS expression.

Approximations:
  1. decay are included phenomelogically

  2. no population relaxation

Parameters:
  • mol (TYPE) – DESCRIPTION.

  • pump (TYPE) – Omega1, conjugate variable of t1

  • probe (TYPE) – Omega3, conjugate variable of t3

  • t2 (TYPE) – population time.

  • g_idx (TYPE) – DESCRIPTION.

  • e_idx (TYPE) – DESCRIPTION.

  • f_idx (TYPE) – DESCRIPTION.

  • gamma (float) – decay rates for excited states.

Raises:

ValueError – DESCRIPTION.

Returns:

S – DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.photon_echo_t3(mol, omega1, omega2, t3, g_idx=[0], e_idx=None, f_idx=None, fname='2DES', plt_signal=False, separate=False)

2D photon echo signal scanning omega1 and omega2 at detection time t3.

The current implementation only applies for a single ground state.

For a manifold of g states, the ground state bleaching neglected here has to be considered.

Parameters:
  • evals (ndarray) – eigenvalues of system.

  • edip (ndarray) – electric dipole matrix.

  • omega1 (TYPE) – DESCRIPTION.

  • omega3 (TYPE) – DESCRIPTION.

  • tau2 (TYPE) – DESCRIPTION.

  • g_idx (TYPE) – DESCRIPTION.

  • e_idx (TYPE) – DESCRIPTION.

  • gamma (TYPE) – DESCRIPTION.

  • separate (bool) – separate the ladder diagrams

Returns:

DESCRIPTION.

Return type:

TYPE

pyqed.signal.sos.polarizability(w, Er, Ev, d, use_rwa=True)

Compute the vibrational/electronic polarizability using sum-over-states formula

lpha_{ji}(w) = d_{jv} d_{vi}/(E_v - E_i - w)

Parameters:
  • w (TYPE) – DESCRIPTION.

  • Er (TYPE) – eigenenergies of resonant states.

  • Ev (TYPE) – eigenenergies of virtual states.

  • d (TYPE) – DESCRIPTION.

  • use_rwa (TYPE, optional) – DESCRIPTION. The default is True.

Returns:

a – polarizability.

Return type:

ndarray

pyqed.signal.sos.test_etpa()
pyqed.signal.sos.test_model()

Module contents