In [1]:
import Band3DInterp as b3d
Below we show a plot of the 3D band structure
In [2]:
fig = plt.figure(figsize=(6.5,3.8))
gs = matplotlib.gridspec.GridSpec( 1,1)
ax0 = fig.add_subplot( gs[0,0])
for ax in [ax0]:
ax.set_xlabel("$V_{0} (E_{R})$",fontsize=16)
ax.grid()
ax.set_ylim(0.,15.)
ax.set_xlim(0.,20.)
ax0.set_ylabel("$E_{R}$",fontsize=16,rotation=0)
v0 = np.linspace(0.1,20,80.)
v03d = np.outer( v0, np.ones(3))
c = ['blue', 'red', 'green']
fc = ['lightblue','pink','limegreen']
for i in range(3):
Eb = b3d.bands3dinterpvec(v03d,i)
ax.fill_between( v0 , Eb[:,0], Eb[:,1], \
color=c[i], facecolor=c[i], alpha=0.7, zorder=4)
ax.plot( v0, Eb[:,1], color=c[i])
ax.plot( v0, Eb[:,0], color=c[i],\
label="Band = %d"%i)
if i==2: labelstr = 'h.osc.'
else: labelstr = None
ax.plot( v0, b3d.hosc3d(i,v0), color='black', label=labelstr, zorder=1 )
ax0.legend( bbox_to_anchor=(1.03,1.00), \
loc='upper left', numpoints=1, \
prop={'size':12}, handlelength=1.1, handletextpad=0.5 )
gs.tight_layout(fig, rect=[0.,0.,0.8,1.0])
#fig.savefig('BandStructure_figures/bands3d_V0_interp.png',dpi=240)
#fig.savefig('BandStructure_figures/bands3d_V0_interp.pdf')
Below we show a plot of the band gap as a function of lattice depth
In [5]:
fig = plt.figure(figsize=(6.5,3.8))
gs = matplotlib.gridspec.GridSpec( 1,1)
ax0 = fig.add_subplot( gs[0,0])
for ax in [ax0]:
ax.set_xlabel("$V_{0} (E_{R})$",fontsize=16)
ax.grid()
ax.set_ylim(0.,10.)
ax.set_xlim(0.,20.)
ax0.set_ylabel("$E_{R}$",fontsize=16,rotation=0)
v0 = np.linspace(0.1,20,80.)
v03d = np.outer( v0, np.ones(3))
c = ['blue', 'red', 'green']
fc = ['lightblue','pink','limegreen']
Eb_exc = b3d.bands3dinterpvec(v03d,1)
Eb_low = b3d.bands3dinterpvec(v03d,0)
ax.plot( v0, Eb_exc[:,0] - Eb_low[:,1], color=c[0], label="Band gap")
ax.plot( v0, b3d.hosc3d(1,v0) - b3d.hosc3d(0,v0), color='black', label="Band gap, h.osc.")
ax0.legend( bbox_to_anchor=(1.03,1.00), \
loc='upper left', numpoints=1, \
prop={'size':12}, handlelength=1.1, handletextpad=0.5 )
gs.tight_layout(fig, rect=[0.,0.,0.8,1.0])
We then plot the band gap in units of the tunneling rate
In [6]:
#Here the interpolation data is loaded from disk
from scipy.interpolate import interp1d
tInterp = interp1d( np.loadtxt('banddat/interpdat_t_v0.dat'), np.loadtxt('banddat/interpdat_t_tCalc.dat'))
from scipy.interpolate import interp1d
wFInterp = interp1d( np.loadtxt('banddat/interpdat_wF_v0.dat'), np.loadtxt('banddat/interpdat_wF_wF.dat'))
def U_over_t( v0, a ):
a0a = 5.29e-11 / (1064e-9/2)
U = a*a0a*wFInterp(v0)
t = tInterp(v0)
return U/t
In [15]:
fig = plt.figure(figsize=(6.5,3.8))
gs = matplotlib.gridspec.GridSpec( 1,1)
ax0 = fig.add_subplot( gs[0,0])
for ax in [ax0]:
ax.set_xlabel("$V_{0} (E_{R})$",fontsize=16)
ax.grid()
ax.set_ylim(0.,100.)
ax.set_xlim(0.,8.)
v0 = np.linspace(0.1,10,80.)
v03d = np.outer( v0, np.ones(3))
c = ['blue', 'red', 'green']
fc = ['lightblue','pink','limegreen']
Eb_exc = b3d.bands3dinterpvec(v03d,1)
Eb_low = b3d.bands3dinterpvec(v03d,0)
ax.plot( v0, (Eb_exc[:,0] - Eb_low[:,1]) / tInterp(v0) , color=c[0], label="Band gap / t ")
ax.plot( v0, (b3d.hosc3d(1,v0) - b3d.hosc3d(0,v0)) / tInterp(v0), color='black', label="Band gap / t , h.osc.")
ax.axhline( 10. , color='red', label='$U=10t$')
ax0.legend( bbox_to_anchor=(1.03,1.00), \
loc='upper left', numpoints=1, \
prop={'size':12}, handlelength=1.1, handletextpad=0.5 )
gs.tight_layout(fig, rect=[0.,0.,0.8,1.0])