Esempio n. 1
0
coor = shps.donut(R, r)
NN = nb.NN_Arr(coor)
print("lattice size", coor.shape[0])

alpha = 0  #Spin-Orbit Coupling constant: [eV*A]
gammaz = 0  #Zeeman field energy contribution: [T]
delta = 0  #Superconducting Gap: [eV]
V0 = 0.0  #Amplitude of potential : [eV]
mu = 0  #Chemical Potential: [eV]

H = spop.H0(coor, ax, ay, NN)
print("H shape: ", H.shape)

num = 75  # This is the number of eigenvalues and eigenvectors you want
sigma = 0  # This is the eigenvalue we search around
which = 'LM'
eigs, vecs = spLA.eigsh(H, k=num, sigma=sigma, which=which)

plots.state_cmap(coor,
                 eigs,
                 vecs,
                 n=0,
                 title='SPARSE Free Particle Ground State')
n = 39
plots.state_cmap(coor,
                 eigs,
                 vecs,
                 n=n,
                 title='SPARSE: Excited State # {}'.format(n))
Esempio n. 2
0
    sys.exit()

##############################################################

#state plot
MU = 2
GX = 0.75

H = spop.HBDG(coor,
              ax,
              ay,
              NN,
              NNb=NNb,
              Wj=Wj,
              V=V,
              mu=MU,
              gammax=GX,
              alpha=alpha,
              delta=delta,
              phi=np.pi,
              qx=0,
              periodicX=True,
              periodicY=False)

eigs, states = spLA.eigsh(H, k=8, sigma=0, which='LM')
idx_sort = np.argsort(eigs)
print(eigs[idx_sort])
plots.state_cmap(coor, eigs, states, n=4, savenm='prob_density_nodule_n=4.png')
plots.state_cmap(coor, eigs, states, n=5, savenm='prob_density_nodule_n=5.png')
plots.state_cmap(coor, eigs, states, n=6, savenm='prob_density_nodule_n=6.png')
Esempio n. 3
0
    #print(vecs[idx1+2*N, n]/vecs2[idx2+2*N, n2])
    #print(vecs[idx1+3*N, n]/vecs2[idx2+3*N, n2])
    #sys.exit()

    N = coor.shape[0]
    num_div = int(vecs.shape[0]/N)
    probdens = np.square(abs(vecs[:, n]))
    map = np.zeros(N)
    for i in range(num_div):
        map[:] = map[:] + probdens[i*N:(i+1)*N]

    wt_scT = 0
    wt_scB = 0
    wt_junc = 0
    for i in range(coor.shape[0]):
        bool_inSC, which = check.is_in_SC(i, coor, Wsc, Wj, cutxT=cutxT, cutyT=cutyT, cutxB=cutxB, cutyB=cutyB)
        if bool_inSC:
            if which == 'T':
                wt_scT += map[i]
            if which == 'B':
                wt_scB += map[i]
        else:
            wt_junc += map[i]

    print("Weight in Top SC: ", wt_scT)
    print("Weight in Bottom SC: ", wt_scB)
    print("Weight in junction: ", wt_junc)
    print("Total weight: ", wt_scT+wt_junc+wt_scB)
    plots.probdens_cmap(coor, Wj, cutxT=cutxT, cutxB=cutxB, cutyT=cutyT, cutyB=cutyB, eigs=eigs, states=vecs, n=n)
    plots.state_cmap(coor, Wj, cutxT=cutxT, cutxB=cutxB, cutyT=cutyT, cutyB=cutyB, eigs=eigs, states=vecs, n=n)
Esempio n. 4
0
              cuty=cuty,
              Vj=Vj,
              mu=mu,
              alpha=alpha,
              delta=delta,
              phi=phi,
              gamx=gx,
              qx=np.pi / Lx)
eigs, vecs = spLA.eigsh(H, k=k, sigma=0, which='LM')
idx_sort = np.argsort(eigs)
eigs = eigs[idx_sort]
vecs = vecs[:, idx_sort]
print(eigs)

n = int(k / 2)
plots.state_cmap(coor,
                 eigs,
                 vecs,
                 n=int(k / 2),
                 title=r'$|\psi|^2$ excited state={}'.format(n - int(k / 2)))

sys.exit()

for i in range(int(k / 2), k):
    plots.state_cmap(coor,
                     eigs,
                     vecs,
                     n=i,
                     title=r'$|\psi|^2$',
                     savenm='State_k={}.png'.format(i))
Esempio n. 5
0
              periodicX=True,
              periodicY=False)

eigs, vecs = spLA.eigsh(H, k=k, sigma=0, which='LM')
idx_sort = np.argsort(eigs)
eigs = eigs[idx_sort]
vecs = vecs[:, idx_sort]
print(eigs)

n_es = 0  #nth excited state above zero energy
n = int(k / 2) + n_es
plots.state_cmap(
    coor,
    eigs,
    vecs,
    n=n,
    savenm=
    'juncwidth = {} SCwidth = {} V0 = {} nodwidthx = {} nodwidthy = {} Delta = {} Alpha = {} phi = {} State_n={}.png'
    .format(Junc_width, SC_width, V0, Nod_widthx, Nod_widthy, delta, alpha,
            phi, n_es))

sys.exit()

for i in range(int(k / 2), k):
    plots.state_cmap(coor,
                     eigs,
                     vecs,
                     n=i,
                     title=r'$|\psi|^2$',
                     savenm='State_k={}.png'.format(i))
Esempio n. 6
0
NN = nb.NN_Arr(coor)
NNb = nb.Bound_Arr(coor)
print("lattice size", coor.shape[0])

alpha = 0  #Spin-Orbit Coupling constant: [eV*A]
gammaz = 0  #Zeeman field energy contribution: [T]
delta = 0  #Superconducting Gap: [eV]
V0 = 0.0  #Amplitude of potential : [eV]
mu = 0  #Chemical Potential: [eV]

H = spop.HBDG(coor, ax, ay, NN, Wj=0)
print("H shape: ", H.shape)

num = 20  # This is the number of eigenvalues and eigenvectors you want
sigma = 0  # This is the eigenvalue we search around
which = 'LM'
eigs, vecs = spLA.eigsh(H, k=num, sigma=sigma, which=which)

plots.state_cmap(coor, eigs, vecs, n=7, title='hole  n = 3 energy eigenstate')
plots.state_cmap(coor,
                 eigs,
                 vecs,
                 n=12,
                 title='particle n = 3 energy eigenstate')
plots.state_cmap(coor, eigs, vecs, n=9, title='hole n = 1 energy eigenstate')
plots.state_cmap(coor,
                 eigs,
                 vecs,
                 n=10,
                 title='particle n = 1 energy eigenstate')