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:
decay are included phenomelogically
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()