element = np.zeros(len(phi_ext)) 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] freq = energies[:,1] - energies[:,0] # for idx, phi in enumerate(phi_ext): # element[idx]=abs(pem(N, E_l, E_c, E_j, phi*2*np.pi, iState, fState)) # fig1 = plt.figure(1) # plt.plot(phi_ext, element) for idx, phi in enumerate(phi_ext): element[idx]=abs(pem(N, E_l, E_c, E_j, phi*2*np.pi, 0, 1)) plt.plot(phi_ext, element*freq) # for idx, phi in enumerate(phi_ext): # element[idx]=abs(nem(N, E_l, E_c, E_j, phi*2*np.pi, 0, 3)) # plt.plot(phi_ext, element) # for idx, phi in enumerate(phi_ext): # element[idx]=abs(pem(N, E_l, E_c, E_j, phi*2*np.pi, 1, 2)) # plt.plot(phi_ext, element, '--') # for idx, phi in enumerate(phi_ext): # element[idx]=abs(pem(N, E_l, E_c, E_j, phi*2*np.pi, 1, 3)) # plt.plot(phi_ext, element, '--') # phi_ext = np.linspace(0,0.5,100) # element = np.zeros(len(phi_ext)) # for idx, phi in enumerate(phi_ext): # element[idx]=abs(nem(N, E_l, E_c, E_j, phi*2*np.pi, iState, fState))
iState = 0 fState = 1 phi_ext = np.linspace(0.0, 0.5, 501) p_element = np.zeros(len(phi_ext)) n_element = np.zeros(len(phi_ext)) qp_element = np.zeros(len(phi_ext)) gamma_cap = np.zeros(len(phi_ext)) gamma_ind = np.zeros(len(phi_ext)) gamma_qp = np.zeros(len(phi_ext)) gamma_qp_array = np.zeros(len(phi_ext)) energies = np.zeros((len(phi_ext), level_num)) ####################################################################################### for idx, phi in enumerate(phi_ext): p_element[idx] = abs( pem(N, E_l, E_c, E_j, phi * 2.0 * np.pi, iState, fState)) n_element[idx] = abs( nem(N, E_l, E_c, E_j, phi * 2.0 * np.pi, iState, fState)) qp_element[idx] = abs( qpem(N, E_l, E_c, E_j, phi * 2.0 * np.pi, iState, fState)) for idy in range(level_num): energies[idx, idy] = H(N, E_l, E_c, E_j, phi * 2.0 * np.pi).eigenenergies()[idy] np.savetxt(path + '_energies.txt', energies) np.savetxt(path + '_chargeElement.txt', n_element) np.savetxt(path + '_fluxElement.txt', p_element) np.savetxt(path + '_qpElement.txt', qp_element) ####################################################################################### energies = np.genfromtxt(path + '_energies.txt')
import numpy as np from matplotlib import pyplot as plt plt.rc('font', family='serif') from Fluxonium_hamiltonians.Single_small_junction import phase_matrix_element as pem N = 50 E_l = 0.5 E_c = 0.5 E_j = np.linspace(4, 12, 81) phi_ext = 0.385 element01 = np.zeros(len(E_j)) element02 = np.zeros(len(E_j)) element13 = np.zeros(len(E_j)) for idx, Ej in enumerate(E_j): element01[idx] = abs(pem(N, E_l, E_c, Ej, phi_ext * 2 * np.pi, 0, 1)) element02[idx] = abs(pem(N, E_l, E_c, Ej, phi_ext * 2 * np.pi, 0, 2)) element13[idx] = abs(pem(N, E_l, E_c, Ej, phi_ext * 2 * np.pi, 1, 3)) plt.figure(figsize=[7, 3.5]) plt.semilogy(E_j, element01, linewidth=2.0, color='m') plt.semilogy(E_j, element02, linewidth=2.0, color='b') plt.semilogy(E_j, element13, linewidth=2.0, color='r') plt.tick_params(labelsize=24.0) plt.xticks(np.linspace(4, 12, 3)) plt.yticks([1e-4, 1e-2, 1e0]) plt.show()