【问题标题】:On perturbation theory simulation in quantum physics论量子物理学中的微扰理论模拟
【发布时间】:2020-12-19 06:53:38
【问题描述】:

我已经开始了 Python 课程,并且一直在寻找机会来开发任何类型的代码。最近遇到了一个标准物理问题,可以在 python 中模拟,以演示由于扰动引起的能谱。这是声明:

有一个质量为 m 的量子粒子被束缚在一个长度为“l”的二维方盒内。假设盒子有有限的刚度。 (提示:您可以在盒子的一个角上定义 xy 平面的原点以及沿 x 和 y 轴的边缘。)

a) 获取能量特征值和特征函数。绘制前三个特征函数并清楚地提及任何简并。

b) 假设盒子受到弱势 V(x,y) = V_0xy 的扰动。现在计算基态能量的变化,以及第一激发态的分裂。

c) 绘制第一个激发态的近似扰动能量特征函数。

最后,展示小扰动前后的能谱。

我只需要一些想法才能开始使用它。欢迎提出任何建议。

【问题讨论】:

标签: python simulation physics


【解决方案1】:

您可以在一个非常简单的 Python 程序中做到这一点。只需将方井的波函数定义为 Python 函数,连同其能量特征值、插件已知常数的函数,并绘制结果。例如

import numpy as np
import matplotlib.pyplot as plt

def psi(x, n, a):
    assert(n != 0)
    return np.sqrt(2/a)*np.sin(n*np.pi*x/a)

L = 100
hbar = 6.626e-34 # joule seconds
m = 1e-19 # kg
x = np.arange(1, L)
y1 = np.array([psi(xi, 1, L) for xi in x])
y2 = np.array([psi(xi, 2, L) for xi in x])
y3 = np.array([psi(xi, 3, L) for xi in x])

plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.show()

def k(n, a):
    assert(n != 0)
    return n*np.pi/a

def E(n, a, m):
    return (hbar**2)*(k(n, a)**2)/(2*m)

E1 = E(1, L, m)
E2 = E(2, L, m)
E3 = E(3, L, m)

假设您了解物理学,其余的应该很容易。一个很好的参考是Introduction to Quantum Mechanics by Griffiths

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2012-04-24
    • 2010-12-24
    • 2016-02-04
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    相关资源
    最近更新 更多