예제 #1
0
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)
예제 #2
0
파일: Cos.py 프로젝트: GwynWilson/Schro
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
예제 #3
0
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
예제 #4
0
파일: Tanh.py 프로젝트: GwynWilson/Schro
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)
예제 #5
0
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)
예제 #6
0
파일: Cos.py 프로젝트: GwynWilson/Schro
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()
예제 #8
0
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
예제 #9
0
파일: Tanh.py 프로젝트: GwynWilson/Schro
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)