# Augustus VIII
# E_l=0.6573854922452231
# E_c=1.051496337951542
# E_j=2.964238712618184
E_l = 0.8878044224466595
E_c = 0.9021660020559287
E_j = 2.4888829123774214

phi_ext = np.linspace(0, 1, 101)
level_num = 20
energies = np.zeros((len(phi_ext), level_num))

# Compute eigensnergies
for idx, phi in enumerate(phi_ext):
    H = bare_hamiltonian(N, E_l, E_c, E_j, phi * 2 * np.pi)
    for idy in range(level_num):
        energies[idx, idy] = H.eigenenergies()[idy]

for idx in range(1, level_num):
    plt.plot(phi_ext,
             energies[:, idx] - energies[:, 0],
             linewidth=2.0,
             color='k')

for idx in range(2, level_num):
    plt.plot(phi_ext,
             energies[:, idx] - energies[:, 1],
             linewidth=2.0,
             linestyle='--',
             color='b')
Beispiel #2
0
#Qubit and computation parameters
N = 30
E_c = 1.0
E_la = 1.0
E_lb = 1.3
E_ja_array = np.linspace(2.5,6.5,81)
E_jb_array = np.linspace(2.5,6.5,101)

phi_ext = 0.5
level_num = 20
delta_energies = np.zeros((len(E_ja_array),len(E_jb_array), 2))

# Compute eigensnergies
for idx,E_ja in enumerate(E_ja_array):
    H = bare_hamiltonian(N, E_la, E_c, E_ja, phi_ext * 2 * np.pi)
    eigenenergies_a = H.eigenenergies()
    w01a = eigenenergies_a[1] - eigenenergies_a[0]
    w21a = eigenenergies_a[2] - eigenenergies_a[1]
    for idy, E_jb in enumerate(E_jb_array):
        H = bare_hamiltonian(N, E_lb, E_c, E_jb, phi_ext*2*np.pi)
        eigenenergies_b = H.eigenenergies()
        w01b = eigenenergies_b[1] - eigenenergies_b[0]
        w21b = eigenenergies_b[2] - eigenenergies_b[1]
        delta_energies[idx, idy, 0] = w01b - w01a
        delta_energies[idx, idy, 1] = w21b - w21a

directory = 'C:\\Users\\nguyen89\Documents\Python Codes\Fluxonium simulation results'
fname = "Coupled_fluxonium_spectrum_SpectrumScan.txt"
path = directory + '\\' + fname
# np.savetxt(path,energies)
Beispiel #3
0
C_a = 36.0e-15#F, array junction capacitance, using 45fF/um^2
C_c = 1.0e-15#F, qubit coupling capacitance
C_t = 2.0*(C_g_b + C_c) + (junc_num-1)*C_g_a
E_g_a = 70.0#GHz, array junction ground charging energy
E_j_a = 11.0#GHz, array junction josephson energy
E_j_b = 3 #GHz, qubit junction josephson energy
E_c_a = e**2 / (2*C_a)*1.5e24#GHz, array junction charging energy
E_c_b = 0.835#GHz, qubit junction charging energy
E_t = e**2 / (2*C_t)*1.5e24 #Corresponds to Ct
E_l = 1.0#GHz, qubit inductive energy

#Secondary parameters
lamb = (junc_num-1)*E_t/E_g_a
E_c_phi = ((E_c_b)**-1 + (junc_num*E_c_a)**-1 + (4.0*E_t)**-1*(1.0-2.0/3.0 *(junc_num + 1) / junc_num* lamb))**-1
for idx in range(level_num):
         energies[idx] = bare_hamiltonian(N, E_l, E_c_b, E_j_b, phi_ext*2*np.pi).eigenenergies()[idx]

for i in range(2,mode_num,2):
    E_c_e = (E_c_a ** -1 + (4 * E_g_a * np.sin(np.pi * i / junc_num) ** 2)) ** -1
    g_chain[i] = 4.0/np.sqrt(junc_num) * (E_c_phi*E_c_e/E_g_a) * np.cos(np.pi*i/junc_num)/ np.sin(np.pi*i/junc_num)**2
    w[i] = (8.0*E_c_e*E_j_a)**0.5

    term1 = 0
    term2 = 0
    for level in range(2,level_num):
        term1 = term1 + nem(N,E_l, E_c_b, E_j_b, phi_ext*2*np.pi,0, level)**2* \
                         (energies[level] - energies[0]) / ((energies[level] - energies[0]) ** 2 - w[i] ** 2)
        term2 = term2 + nem(N, E_l, E_c_b, E_j_b, phi_ext * 2 * np.pi, 1, level) ** 2 * \
                        (energies[level] - energies[1]) / ((energies[level] - energies[1]) ** 2 - w[i] ** 2)
    chi_chain[i] = 0.5*np.sqrt(E_j_a/(8.0*E_c_e))*g_chain[i]**2*\
        (nem(N,E_l, E_c_b, E_j_b, phi_ext*2*np.pi,0, 1)**2*2*\
E_la = 0.45170477438306156
E_ca = 0.9706755677649527
E_ja = 5.842362715088368

E_lb = 0.7175559802254586
E_cb = 0.9963875250852217
E_jb = 5.882212077372602

J_c = 0.15
phi_ext = np.linspace(0.45, 0.55, 101)
level_num = 20
energies = np.zeros((len(phi_ext), level_num))
#Bare levels
for idx, phi in enumerate(phi_ext):
    H = bare_hamiltonian(Na, E_la, E_ca, E_ja, phi * 2 * np.pi)
    for idy in range(level_num):
        energies[idx, idy] = H.eigenenergies()[idy]
# plt.plot(phi_ext, energies[:,1]-energies[:,0], color='k', linestyle = '-', label = 'bare 00-10')
# plt.plot(phi_ext, energies[:,2]-energies[:,0], color='k', linestyle = '-.', label = 'bare 00-20')
plt.plot(phi_ext,
         energies[:, 2] - energies[:, 1],
         color='k',
         linestyle='--',
         label='bare 10-20 & 11-21')

for idx, phi in enumerate(phi_ext):
    H = bare_hamiltonian(Nb, E_lb, E_cb, E_jb, phi * 2 * np.pi)
    for idy in range(level_num):
        energies[idx, idy] = H.eigenenergies()[idy]
# plt.plot(phi_ext, energies[:, 1] - energies[:, 0], color='b', linestyle='-', label = 'bare 00-01')