In [14]:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
%matplotlib inline
matplotlib.rcParams['figure.figsize'] = (10,10)
In [15]:
wag = 20000
wbg = 25000
gag = 500
gbg = 5000
points = 500
w1 = np.linspace(15000,30000,points)
w2 = np.linspace(15000,30000,points)
def peak(w1,w2):
a_diagonal = 1.0/(gag*gag*(w1-wag)*(w1-wag)*gag*gag*(w2-wag)*(w2-wag))
b_diagonal = 1.0/(gbg*gbg*(w1-wbg)*(w1-wbg)*gbg*gbg*(w2-wbg)*(w2-wbg))
cross = 1.0/(gag*gag*(w1-wag)*(w1-wag)*gbg*gbg*(w2-wbg)*(w2-wbg))
return a_diagonal + b_diagonal + cross
zvals = np.empty([points,points])
for i,color1 in enumerate(w1):
for j,color2 in enumerate(w2):
zvals[i][j]=peak(color1,color2)
# Take the log to see trends over orders of magnitude
zvals = np.log(zvals)
In [18]:
levels = np.linspace(np.min(zvals),np.max(zvals),200)
plt.contourf(w1,w2,zvals,levels=levels)
plt.contour(w1,w2,zvals,8,colors='K')
plt.xlabel("w1 (cm^-1)")
plt.ylabel("w2 (cm^-1)")
plt.show()
In [19]:
diagonal = np.empty(points)
for i in range(points):
diagonal[i] = zvals[i][i]
horizontal = zvals[len(zvals)/3]
plt.plot(w1,diagonal, color='b')
plt.plot(w1,horizontal, color='g')
plt.xlabel("w1 or w1=w2 (cm^-1)")
plt.ylabel("Log of Detuning")
plt.show()
In [ ]: