Cette fois, je résumerai le principe de superposition et de flux d'onde d'électrons.
Le principe de superposition est que la fonction obtenue en ajoutant plusieurs solutions qui satisfont l'équation de Schrödinger est également la solution de l'équation de Schrödinger. Par exemple, préparez une fonction d'onde dans laquelle $ \ psi_k $ est superposé selon une certaine distribution comme indiqué ci-dessous.
En remplaçant cela dans l'équation de Schrödinger, le potentiel est de 0 car c'est un espace libre à ce moment.
Lorsque le côté gauche devient zéro indépendamment de toutes les positions et heures, le principe de superposition est vrai, donc si vous étudiez la condition que le contenu des parenthèses devienne zéro
C'est la même que la définition de $ \ omega $ lui-même, donc elle est toujours valable. En d'autres termes, il a été démontré que le principe de superposition est toujours valable.
Puisque $ a (k) $ peut être n'importe quelle distribution, a (k) est une distribution gaussienne centrée sur une constante appropriée $ k_0 $.
Tracons la fonction d'onde à ce moment.
La constante nouvellement requise ici est
#Nombre de divisions dans l'espace
NX = 500
#Taille de la division spatiale
dx = 1.0e-9
#Intervalle de calcul
x_min = -10.0 * dx
x_max = 10.0 * dx
#Numéro à chevaucher
NK = 200
#écart de k
sigma = math.sqrt(math.log(2.0)) * 1.0e9
#Fractionner k
dk = 20.0 / NK
#Énergie centrale du faisceau de vagues
E0 = 10.0 * eV
#Centre du faisceau d'ondes
k0 = math.sqrt(2.0 * me * E0 / hbar ** 2)
omega0 = hbar / (2.0 * me) * k0 ** 2
#Largeur du temps de calcul
ts = -50
te = 50
#Intervalle de temps
dt = 1.0e-16
#Unité imaginaire
I = 1.0j
Pour créer un graphique, nous avons besoin d'une fonction qui génère un tableau de graphiques à un certain moment t.
def dist_t(xl, t):
psi_real = []
psi_imag = []
psi_abs = []
for x in xl:
#mise à l'échelle
psi_c = psi(x, t) * dx * dk / 10.0
psi_real.append(psi_c.real)
psi_imag.append(psi_c.imag)
psi_abs.append(abs(psi_c))
return psi_real, psi_imag, psi_abs
Ensuite, nous définissons une fonction psi qui produit la distribution de probabilité lorsque (x, t) est donné.
def psi(x, t):
psi_sum = 0.0 + 0.0j
for kn in range(NK):
#Obtenez constant
k = k0 + dk * (kn - NK/2)
omega = hbar / (2.0 * me) * k ** 2
#Recouvrir
psi_sum += cmath.exp(I * (k * x - omega * t)) * cmath.exp(-((k - k0) / (2.0 * sigma)) ** 2)
return psi_sum
Le tracé est effectué en utilisant ces derniers.
xl = np.linspace(x_min, x_max, NX)
#Tableau pour créer une animation
ims = []
fig1 = plt.figure(figsize=(10, 6))
for t in range(ts, te + 1):
t_real = t * dt
psi_real, psi_imag, psi_abs = dist_t(xl * dx, t)
#Représentation du cadre
img = plt.plot(xl, psi_real, 'red')
img += plt.plot(xl, psi_imag, 'green')
img += plt.plot(xl, psi_abs, 'blue')
#Ajouter un cadre
ims.append(img)
#Dessiner un graphique
plt.title("Gaussian wave packet(Spatial distribution)")
plt.xlabel("Position[nm]", fontsize=16)
plt.ylabel("Probability amplitude", fontsize=16)
#Plage de dessin
plt.xlim([-10.0, 10.0])
plt.ylim([-0.3, 0.3])
#Génération d'animation
ani = animation.ArtistAnimation(fig1, ims, fontsize=16)
ani.save("g_wave_packet.html", writer=animation.HTMLWriter())
plt.show()
↓ est la vidéo terminée. On observe que la largeur de la distribution s'élargit avec le temps.
Recommended Posts