def run_A(A): Psi_x = gauss_init(x, k0, x0=x0, d=sig) V_x = gauss_barrier(x, A, x1, omeg) sch = Schrodinger(x, Psi_x, V_x, hbar=hbar, m=m, t=0, args=x1) imp = sch.impedencePacket(tol=10**-11) time_list = [] Trans_list = [] while sch.t < t_final: sch.evolve_t(N_steps=step, dt=dt) time_list.append(sch.t) Trans_list.append(sch.barrier_transmition()) print("Height {v}, Time {t}".format(v=A / scale, t=sch.t)) return sch.barrier_transmition(), imp
def run(A, choen=False): V_x = barrier(x, A, x1, x2) sch = Schrodinger(x, Psi_x, V_x, hbar=hbar, m=m, args=x2, t=0) I = sch.impedencePacket() while sch.t < finalt: print("Height :{h} Time:{t}".format(h=A, t=sch.t)) sch.evolve_t(step, dt) T = sch.barrier_transmition() return T, I
def run(x2, time=False): V_x = barrier(x, A, x1, x2) psi_init = gauss_init(x, k_init, x0=x0, d=sig) sch = Schrodinger(x, psi_init, V_x, k, hbar=hbar, m=m, t=0, args=x2) dat = [] t_list = [] for i in range(0, Ns): sch.evolve_t(step, dt) dat.append(sch.barrier_transmition()) t_list.append(sch.t) # plt.plot(sch.k, abs(sch.psi_k)) # plt.show() if time: return dat, t_list else: return dat