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])