In [1]:
#imports
import os
import sys
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
matplotlib.rcParams['font.size'] = 8
matplotlib.rcParams['savefig.dpi'] = 2 * matplotlib.rcParams['savefig.dpi']
import NISE
from NISE.lib.misc.__init__ import NISE_path
import NISE.hamiltonians.H0 as H0
import NISE.lib.measure as m
import NISE.experiments.trive as trive
import NISE.hamiltonians.params.inhom as inhom
import WrightTools as wt
Here is our delay space represented as a 2D delay scan.
With this pathway notation we can draw the possible pathways. Consider first the off-diagonal case (here w2 is more energetic than w1):
Now consider the on-diagonal pathways:
Here is a method that calculates the signals against D2 traces for all 6 pathways given a particular dephasing time.
In [2]:
def get_transients(tau, pulse_width = 50, plot = True):
TOs_to_calculate = [[1],
[3],
[5],
[1, 2, 3, 4, 5, 6]]
datas = []
for TOs in TOs_to_calculate:
#set dimensions
trive.exp.set_coord(trive.ss, pulse_width)
d2 = trive.d2
d2.points = np.linspace(-200, 200, num=50)
trive.exp.timestep = 2.0
#hamiltonian
H0.Omega.TOs = TOs
H0.Omega.tau_ag = tau
H0.Omega.tau_2aa = tau
H0.Omega.tau_2ag = tau
H = H0.Omega()
print H.TOs
#run
scan = trive.exp.scan(d2, H=H)
scan.run(autosave = False, mp = False, chunk = True)
#measure
slitwidth = 120.
measure = m.Measure(scan, m.Mono, m.SLD)
m.Mono.slitwidth=slitwidth
measure.run(save = False)
print measure.scan_obj.H.TOs
data = wt.data.from_NISE(measure)
datas.append(data)
if plot:
plt.figure()
for data in datas:
xi = data.axes[0].points
zi = data.channels[0].values
plt.plot(xi, zi)
plt.legend(['12', '34', '56', 'all'])
plt.grid()
return datas
Consider first the driven case (pulse width 50 fs, dephasing time 25 fs).
In [3]:
get_transients(25)
Out[3]:
Now consider the impulsive case (pulse width 50 fs, dephasing time 100 fs).
In [4]:
get_transients(100)
Out[4]: