Cette petite note explique comment dessiner de belles images, enfin, un peu de physique, dont on parle rarement, de la mécanique quantique de Bomov.

Petite introduction
Comme toute science-fiction et tout non-sens pseudoscientifique aiment à nous le dire, comme le film The Secret, les lois du micromonde sont très différentes de celles classiques auxquelles nous sommes habitués.
Dans le monde de la mécanique quantique, la probabilité donnée par la fonction d'onde régit tout.
psi (ceux qui s'intéressent aux détails peuvent consulter, par exemple, le
post «Catalyse des muons du point de vue de la chimie quantique. Partie I: hydrogène ordinaire vs hydrogène muon» ).
Les jambes de toutes sortes de choses drôles, comme les
chats Schrödinger , les
principes d'incertitude de Heisenberg et
les inégalités de Bell, découlent des propriétés probabilistes d'une technologie quantique.
Mais toutes ces images avec toutes sortes d'orbitales électroniques n'ont pas répondu à la question «comment un électron vole-t-il dans l'espace». Pour clarifier cette situation, les physiciens ont passé beaucoup de temps, mais n'ont pas pu y faire face. Mais
David Bohm (connu de beaucoup par
l'effet Aaronov-Bohm ) a finalement créé l'
un des formalismes de la mécanique quantique (nom de lui-même) , dans lequel il existe encore des trajectoires le long desquelles la particule quantique se déplace. Et, contrairement aux
intégrales du chemin de Feynman , chaque particule a exactement un chemin. Cette propriété vous permet fondamentalement de suivre le mouvement des particules et de comparer le mouvement des particules classiques et quantiques, dont nous traiterons dans cet article.
pas seulement le formalismeEn fait, personne ne s'intéresse particulièrement au formalisme lui-même, mais à partir de ce formalisme, on peut construire l'une des interprétations de la mécanique quantique, qui, en raison de la simplicité apparente de la mécanique classique, est appréciée par certains monstres (pas beaucoup, car ce n'est pas très facile d'entrer dans cette entreprise).
Nous ne discuterons pas de cette interprétation (ainsi que d'autres).
Trajectoires classiques et quantiques
Nous considérerons un système plutôt ennuyeux: un électron dans le domaine de plusieurs protons. Vous pouvez lire sur ce système, ainsi que sur la mécanique classique et quantique dans les
première et
deuxième parties des articles «La catalyse muonique du point de vue de la chimie quantique».
Le problème classique du mouvement des particules dans un certain potentiel est donné par la deuxième loi de Newton:
m ddotx=F
où
m est la masse des particules,
x est la coordonnée,
F est la force agissant sur la particule, et
ddotx= fracd2xdt2 - la dérivée seconde de la coordonnée de la particule dans le temps, ou accélération. Si seules des forces potentielles agissent dans le système, alors la force peut être exprimée à travers une nouvelle entité, l'énergie potentielle
V comme
F=− fracdVdx
Dans notre cas, un électron dans le domaine de plusieurs protons,

où l'électron interagit avec chacun des protons selon la loi de Coulomb
V(R)=−ke2/R
, où
k est un coefficient égal à 1 en unités atomiques,
e est la charge d'électrons et
R est la distance de l'électron au proton.
Dans ce cas, le potentiel total agissant sur l'électron sera égal à
V= sumNn=1Vn(Rn)=− sumNn=1 fracke2Rn
où l'indice
n numérote les protons (nombre total de protons
N pièces), et
R n est la distance entre l'électron et le nième proton.
Résoudre numériquement le diffur, qui est la deuxième loi de Newton, est une tâche galvaudée, l'essentiel est de définir la position et la vitesse initiales. Si l'électron vole trop vite, il se détachera de l'attraction du ou des protons et s'envolera à l'infini, et s'il n'y a qu'un peu d'énergie, il volera pour toujours dans le champ de l'un des noyaux, sans jamais visiter les autres.
Frottement rayonnantSi nous prenions en compte
la friction rayonnante , qui se produit du fait que lors d'un déplacement avec accélération, l'électron donnerait une partie de son énergie au champ électromagnétique, en l'envoyant quelque part, puis l'électron finirait par rouler sur le noyau dans un certain temps.
Donc, ce qui se passe dans les classiques, nous le savons.
Mais que va-t-il se passer dans la dynamique de Bomov?
Dans ce cas, la particule se déplacera également selon la deuxième loi de Newton avec un potentiel
V=V mathrmC+V mathrmQ où
V mathrmC - le potentiel classique de la loi de Newton habituelle, qui dans notre cas a la forme donnée ci-dessus.
C'est-à-dire en plus du potentiel classique, une autre entité agira sur lui: le
potentiel quantique V mathrmQ ayant (dans le cas 1D) le formulaire
V mathrmQ=− frac hbar22mA fracd2Adx2
où
A est l'amplitude (module) de la fonction d'onde
A=| psi| (
psi=A exp(i varphi) où
varphi - phase de la fonction d'onde).
Donc, pour obtenir l'équation du mouvement d'une particule quantique, nous devons encore savoir quelque chose sur la fonction d'onde.
À propos des options masquéesLe formalisme de Bohm est une théorie avec des paramètres cachés. Mais comme le paramètre caché (fonction d'onde) n'est pas local, les résultats du calcul dans ce formalisme satisfont toujours les inégalités susmentionnées de Bell.
Dans le cas d'un proton, nous connaissons (voir par exemple
ici ) l'expression exacte de la fonction d'onde électronique dans l'état fondamental (1s) [
en unités atomiques ]:
psi(R)= exp(−R)
À propos de la normalisation et des unitésDans la formule du potentiel quantique, la normalisation du numérateur sera réduite avec le dénominateur, nous ne nous en soucierons donc pas.
L'argument de l'exposant, en fait, ne vaut pas
R et
R/a0 où
a0 Est le rayon de Bohr (0,529 Å). Mais, puisque nous utilisons des unités atomiques, où
a0=1 , cette unité de longueur, nous pouvons nous permettre de ne pas écrire. Vous pouvez en savoir plus à ce sujet
ici .
Dans le cas de plusieurs protons, dans le cadre de la méthode des orbitales moléculaires en tant que combinaisons d'orbitales atomiques (
MO LKAO , voir
ici ), l'état fondamental avec un degré de précision suffisant sera donné par la somme des orbitales 1s de chacun des atomes:
psi approx sumNn=1 psin(Rn)= sumNn=1 exp(−Rn)
Maintenant, pour découvrir le potentiel quantique, il vous suffit d'utiliser cette expression.
Eh bien <s> d </s>Fonction
psi comme la somme des orbitales 1s est réelle, donc
A= psi .
Puisqu'un électron peut se déplacer en trois dimensions, une dérivée unidimensionnelle est nécessaire
A″xx= fracd2Adx2 remplacer par sa généralisation tridimensionnelle:
DeltaA=A″xx+A″yy+A″zz . Opératrice
Delta peut être représenté comme le carré de l'
opérateur nabla :
Delta= nabla2 . Vous pouvez également imaginer la distance
Rn comment
Rn= sqrt mathbfR2n où
mathbfRn Est le vecteur de rayon de l'électron par rapport au
nième proton.
Alors
DeltaA= nabla2 psi= sumNn=1 nabla2 psin(Rn)
La dérivée première est considérée comme facile:
nabla psin(Rn)= nabla exp(−Rn)= exp(−Rn) cdot(−1) cdot frac12 underbrace sqrt mathbfR2nRn cdot2 mathbfRn=− exp(−Rn) cdot frac mathbfRnRn
La dérivée seconde est déjà un peu plus compliquée:
nabla( nabla exp(−Rn))=− frac mathbfRnRn nabla exp(−Rn)− exp(−Rn) nabla frac mathbfRnRn= exp(−Rn)− frac2 exp(−Rn)Rn
où
− frac mathbfRnRn nabla exp(−Rn)= exp(−Rn) cdot underbrace left(− frac mathbfRnRn droite)21= exp(−Rn) et
− exp(−Rn) nabla frac mathbfRnRn=− exp(−Rn) cdot left( frac overbrace nabla mathbfRn3Rn− frac2 mathbfR2n2R3n right)=− frac2 exp(−Rn)Rn .
Le résultat reste:
Delta psi= overbrace sumNn=1 exp(−Rn) psi− sumNn=1 frac2 exp(−Rn)RnTout diviser en
psi=A et en multipliant par
− frac hbar22mnous obtenons
V mathrmQ=− frac hbar22m left(1− sumNn=1 frac2 exp(−Rn)Rn right)L'unité lors de la différenciation pour obtenir de la force disparaîtra, vous ne pouvez donc quitter en toute sécurité que le deuxième terme.
En conséquence, nous pouvons noter notre potentiel quantique comme
V mathrmQ approx frac hbar2m sumNn=1 frac exp(−Rn)Rn
et avec cette expression, nous pouvons déjà conduire la dynamique de Bohm d'un électron dans le domaine de nombreux protons.
Implémentation
Pour toute cette honte, le code a été écrit en python, il est disponible ici:
Code Pythonfrom math import * import numpy as np cutoff=5.0e-4 Quantum=True def dist(r1,r2): return np.dot((r1-r2), (r1-r2)) def Vc(r, r0): if dist(r, r0)>=cutoff: return -1.0/dist(r, r0) else: return -1.0/cutoff rH=[]
Nous ne discuterons que de quelques points.
La deuxième loi de Newton est intégrée à
l' aide de
l'algorithme de Verlet :
x(t+ Deltat)=2x(t)−x(t− Deltat)+ fracF(t)m Deltat2
La position initiale est générée en sélectionnant au hasard l'un des protons, une direction est choisie au hasard autour de lui (en utilisant des coordonnées sphériques). Pour définir la vitesse initiale, vous devez définir une autre position précédente. Il est sélectionné à l'aide d'un autre petit vecteur aléatoire.
En activant / désactivant le potentiel quantique, nous passons aux modes de mouvement quantiques / classiques.
Eh bien, vous pouvez créer de belles images en utilisant Gnuplot pour l'atome d'hydrogène

et pour la molécule H
2 +
Comme vous pouvez le voir, les trajectoires classiques (supérieures, bleues) sont soit très localisées, soit, si l'électron est contraint de se déplacer trop rapidement, fuir les noyaux. Dans le cas quantique (inférieur, rose), le potentiel quantique permet aux électrons de marcher beaucoup plus loin du noyau, et dans le cas de la molécule H
2 + , il vous permet de passer d'un proton à un autre, ce qui est une visualisation indirecte des liaisons chimiques.
Quelques mots sur la construction d'images: pour créer un effet néon, chaque chemin est tracé plusieurs fois, du blanc fin au noir épais, à travers les ombres de la couleur d'intérêt. Pour la commodité du choix d'une telle palette, vous pouvez par exemple utiliser le site
https://www.color-hex.com/Un exemple de script est donné ci-dessous.
Script pour Gnuplotunset key
set xyplane relative 0
unset box
set view map
set size ratio -1
unset border
unset xtics
unset ytics
set terminal pngcairo size 2160,4096 backgr rgb "black"
set output "tmp.png"
yshift=-5.0
maxiC=29
maxiQ=29
splot \
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 30.0 lc rgb "#030d19" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 18.0 lc rgb "#071b33" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 17.0 lc rgb "#0a294c" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 16.0 lc rgb "#0e3766" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 15.0 lc rgb "#11457f" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 14.0 lc rgb "#155399" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 13.0 lc rgb "#1861b2" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 12.0 lc rgb "#1c6fcc" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 11.0 lc rgb "#1f7de5" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 10.0 lc rgb "#238bff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 9.0 lc rgb "#3896ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 8. lc rgb "#4ea2ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 7. lc rgb "#65adff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 6. lc rgb "#7bb9ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 5. lc rgb "#91c5ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 4. lc rgb "#a7d0ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 3. lc rgb "#bddcff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 2. lc rgb "#d3e7ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 1. lc rgb "#e9f3ff" not,\
for [i=0:maxiC] sprintf("cmd_%05i.trj", i) wl lw 0.5 lc rgb "#ffffff" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 30.0 lc rgb "#190613" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 18.0 lc rgb "#330c27" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 17.0 lc rgb "#4c123b" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 16.0 lc rgb "#66184f" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 15.0 lc rgb "#7f1e63" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 14.0 lc rgb "#992476" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 13.0 lc rgb "#b22a8a" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 12.0 lc rgb "#cc309e" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 11.0 lc rgb "#e536b2" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 10.0 lc rgb "#ff3dc6" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 9.0 lc rgb "#ff50cb" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 8. lc rgb "#ff63d1" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 7. lc rgb "#ff77d7" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 6. lc rgb "#ff8adc" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 5. lc rgb "#ff9ee2" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 4. lc rgb "#ffb1e8" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 3. lc rgb "#ffc4ed" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 2. lc rgb "#ffd8f3" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 1. lc rgb "#ffebf9" not,\
for [i=0:maxiQ] sprintf("bmd_%05i.trj", i) u 1:($2+yshift):3 wl lw 0.5 lc rgb "#ffffff" not
Conclusion
Les trajectoires de Bomov, bien que difficiles à comprendre et à calculer, vous permettent de dessiner de belles images qui montrent à quel point elles sont plus amusantes et plus riches que la mécanique classique.
Si vous avez des commentaires, des questions, des suggestions: écrivez. :)