La molécule H2 +, pour l' enseignement

P Reinhardt, LCT, UPMC

Clear[x,z,R]

La fonction de Guillemin et Zener en coordonnées elliptiques

R=2.0;
r1=Sqrt[x^2+(z-R/2)^2]
r2=Sqrt[x^2+(z+R/2)^2]
ξ=(r1+r2)/R
η=(r1-r2)/R
GuilZenEll[x_,z_]:=Exp[-1.36ξ]Cosh[0.90η]
Plot3D[(GuilZenEll[x,z])^2,{x,-4,4},{z,-4,4},PlotRange->Full,PlotPoints->{20,100}]

Sqrt[D[GuilZenEll[x,z],x]^2+D[GuilZenEll[x,z],z]^2]//Simplify;

Plusieures fonctions utilisées

R = 2.; 
r1 = Sqrt[(z - R/2)^2]; r2 = Sqrt[(z + R/2)^2]; 
ξ = (r1 + r2)/R; η = (r1 - r2)/R; 
GuilZen[z_] := Exp[-1.36*ξ]*Cosh[0.9*η]
James[z_] := Exp[-1.3*ξ]*(1 + 0.44475*η^2)
LCAO[z_] := 0.5*(Exp[-1.228*r1] + Exp[-1.228*r2])
LCAO2[z_] := 0.5*(Exp[-r1] + Exp[-r2])
Plot[{GuilZen[z], James[z], LCAO[z], LCAO2[z]}, 
  {z, -1.5*R, 1.5*R}, PlotStyle->{
{AbsoluteThickness[2],Red},{AbsoluteThickness[2],Blue},{AbsoluteThickness[2],Green},{AbsoluteThickness[2],Black}},PlotRange -> 
   {{-1.5*R, 1.5*R}, {0, 0.7}},PlotLabel-> Style[
  Style[" [Guillemin-Zener] ",FontColor->Red]
Style[" [James] ",FontColor->Blue] Style[" [LCAO] ",FontColor->Green] Style[" [LCAO simple] ",FontColor->Black],
FontFamily->"Helvetica",
FontWeight->"Bold"]]

Calcul de la condition de Kato

La condition de Kato (Tosio Kato "On the eigenfunctions of many-particle systems in quantum mechanics", Comm. Pure Appl. Math. 10 (1957) 151–177) préconise que la moitié de la moyenne du gradient de la densité autour d’un noyau, divisé par la densité, donne la charge nucléaire ((1/2)((|∇ρ|)/ρ)=Z). Ceci est une des bases de la DFT : par la densité on connaît alors la position et la charge des noyaux, donc on peut écrire une équation de Schrödinger, dont la solution fournit une énergie. L’information nécessaire pour calculer l’énergie totale est donc (en principe) dans la densité seule.

Delta=0.000001;
z=1.0+Delta;g1=GuilZen[z]^2;j1=James[z]^2;l1=LCAO[z]^2;l12=LCAO2[z]^2;
z=1.0-Delta;g2=GuilZen[z]^2;j2=James[z]^2;l2=LCAO[z]^2;l22=LCAO2[z]^2;
z=1.00;g0=GuilZen[z]^2;j0=James[z]^2;l0=LCAO[z]^2;l02=LCAO2[z]^2;
D1g=(g1-g0)/Delta;D2g=(g2-g0)/Delta;
D1j=(j1-j0)/Delta;D2j=(j2-j0)/Delta;
D1l=(l1-l0)/Delta;D2l=(l2-l0)/Delta;
D1l2=(l12-l02)/Delta;D2l2=(l22-l02)/Delta;Averg=(Abs[D1g]+Abs[D2g])/2.;
Averj=(Abs[D1j]+Abs[D2j])/2.;
Averl=(Abs[D1l]+Abs[D2l])/2.;Averl2=(Abs[D1l2]+Abs[D2l2])/2.;
Katog=0.5 Averg/g0;
Katoj=0.5 Averj/j0;
Katol=0.5 Averl/l0;Katol2=0.5 Averl2/l02;

Affichage

Print[" Condition de Kato : fonction de Guillemin-Zener: ",Katog];Print[" Condition de Kato : fonction de James          : ",Katoj];Print[" Condition de Kato : fonction LCAO              : ",Katol];Print[" Condition de Kato : fonction LCAO simple       : ",Katol2];