def T_g(V0, omeg): v = gaussianBarrier(x, 0, omeg, V0) E = scale * 10**3 k0 = np.sqrt(2 * m * E / (hbar**2) - 1 / (4 * sig**2)) psi_x = gauss_init(x, k0, x0, d=sig) sch = Schrodinger(x, psi_x, v, hbar=hbar, m=m, t=0, args=L / 2) return sch.impedence(E=E)
def varyE(E_list): temp = [] for e in E_list: print(e / 10 / bar_amp) cb = [cosineBarrier(i, L, bar_amp) for i in x] Sch = Schrodinger(x, x, cb, hbar=hbar, m=m) temp.append(Sch.impedence(E=e)) return temp
def transmissionSpectrum(min, max, points, V): sch = Schrodinger(x, Psi_x, V, hbar=hbar, m=m, t=0) energies = np.linspace(min, max, points) * bar_amp transmissions = [] for e in energies: imp = sch.impedence(e) transmissions.append(imp) return energies, transmissions
def T_t(l, V0, norm=False): if norm: v = tanhBarrierNorm(x, V0, l, w) else: v = tanhBarrier(x, V0, l, w) psi_x = gauss_init(x, k0, x0, d=sig) sch = Schrodinger(x, psi_x, v, hbar=hbar, m=m, t=0) # plt.plot(x,v/scale) # plt.show() return sch.impedence(E)
def T_s(V0, E, gauss=False): if gauss: v = gaussianBarrier(x, 0, w, V0) else: v = squareBarrier(x, V0, -L / 2, L / 2) k0 = np.sqrt(2 * m * E / (hbar**2) - 1 / (4 * sig**2)) psi_x = gauss_init(x, k0, x0, d=sig) sch = Schrodinger(x, psi_x, v, hbar=hbar, m=m, t=0, args=L / 2) return sch.impedence(E)
def varyV(V_list, gauss=False): temp = [] for v in V_list: print(v / bar_amp) if gauss: cb = [gaussian(i, L, v) for i in x] else: cb = [cosineBarrier(i, L, v) for i in x] Sch = Schrodinger(x, x, cb, hbar=hbar, m=m) temp.append(Sch.impedence(E=E)) return temp
# for i in range(len(v_list)): # save[i] = (v_list[i], T_list[i], I_list[i]) # # var = [N, dx, omeg, dt, k0] # # np.savetxt("Gauss_Barrier_Real.txt", save) # np.savetxt("Gauss_Barrier_var_Real.txt", var) # # plt.plot(v_list, T_list) # plt.show() ########## Resonance Testing omeglist = np.linspace(1, 2.5, 5) * omeg E_list = np.linspace(1, 2, 100) * bar_amp for o in omeglist: V_x = gauss_barrier(x, bar_amp, x0=0, w=o) Psi_x = gauss_init(x, k0, x0=x0, d=sig) sch = Schrodinger(x, Psi_x, V_x, hbar=hbar, m=m, t=0, args=x1) T_E = [] for e in E_list: T_E.append(sch.impedence(E=e)) plt.plot(E_list / bar_amp, T_E, label="omeg={}".format(np.format_float_scientific(o, precision=3))) plt.legend() plt.xlabel("E/v0") plt.ylabel("Transmission Probability") plt.savefig("Changing_Width") plt.show()
def tunnelingSpectra(V, E_list): sch = Schrodinger(x, psi_x, V, hbar=hbar, m=m, t=0, args=L / 2) T_list = [] for e in E_list: T_list.append(sch.impedence(e)) return T_list
def T_s(l, V0): v = squareBarrier(x, V0, -l / 2, l / 2) psi_x = gauss_init(x, k0, x0, d=sig) sch = Schrodinger(x, psi_x, v, hbar=hbar, m=m, t=0) return sch.impedence(E)