# 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')
#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)
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')