Valence Bond Theory and Plotting the Hybrid Orbitals

SetOptions[RegionPlot,FrameFalse,MeshFalse,PlotPoints20,AxesFalse];SetOptions[RegionPlot3D,BoxedFalse,MeshFalse,PlotPoints20,AxesFalse];​​OrbitalPlot[orbitals_,threshold_,range_,opacity_,color1_,color2_]:=Show[Flatten[Table[{RegionPlot[orbitals[[i]]>threshold,{x,-range,range},{y,-range,range},PlotStyleOpacity[opacity,color1]],RegionPlot[orbitals[[i]]<-threshold,{x,-range,range},{y,-range,range},PlotStyleOpacity[opacity,color2]]},{i,1,Length[orbitals]}]]];​​OrbitalPlot3D[orbitals_,threshold_,range_,opacity_,color1_,color2_]:=Show[Flatten[Table[{RegionPlot3D[orbitals[[i]]>threshold,{x,-range,range},{y,-range,range},{z,-range,range},PlotStyleOpacity[opacity,color1]],RegionPlot3D[orbitals[[i]]<-threshold,{x,-range,range},{y,-range,range},{z,-range,range},PlotStyleOpacity[opacity,color2]]},{i,1,Length[orbitals]}]]];​​r[x_,y_,z_]:=
2
x
+
2
y
+
2
z
;​​fp[r_]:=
1
4
(1/2)
(2*Pi)
(5/2)
4
1
(-4*r/2)

;​​ψ2s[r_]:=
1
(1/2)
8
(3/2)
4
1
2-
8r
2
-
8r
2
2

(1/2)
1
4*Pi
;​​ψ2pz[z_,fr_]:=z*fr;​​ψ2px[x_,fr_]:=x*fr;​​ψ2py[y_,fr_]:=y*fr;

Visualizing Negative and Positive Wavefunctions in Cartesian Coordinates

OrbitalPlot[{ψ2px[x,fp[r[x,y,0]]],ψ2py[y,fp[r[x,y,0]]]},
(1/2)
(0.2)
,1,.5,Green,Red]

The
3
sp
Hybrid Orbitals

h13[x_,y_,z_]:=(ψ2s[r[x,y,z]]+ψ2px[x,fp[r[x,y,z]]]+ψ2py[y,fp[r[x,y,z]]]+ψ2pz[z,fp[r[x,y,z]]]);​​h23[x_,y_,z_]:=(ψ2s[r[x,y,z]]-ψ2px[x,fp[r[x,y,z]]]-ψ2py[y,fp[r[x,y,z]]]+ψ2pz[z,fp[r[x,y,z]]]);​​h33[x_,y_,z_]:=(ψ2s[r[x,y,z]]-ψ2px[x,fp[r[x,y,z]]]+ψ2py[y,fp[r[x,y,z]]]-ψ2pz[z,fp[r[x,y,z]]]);​​h43[x_,y_,z_]:=(ψ2s[r[x,y,z]]+ψ2px[x,fp[r[x,y,z]]]-ψ2py[y,fp[r[x,y,z]]]-ψ2pz[z,fp[r[x,y,z]]]);
OrbitalPlot3D[{h13[x,y,z],h23[x,y,z],h33[x,y,z],h43[x,y,z]},
(1/2)
(0.6)
,1.2,.7,Green,Red]

The
2
sp
Hybrid Orbitals

h12[x_,y_,z_]:=ψ2s[r[x,y,z]]+
2
ψ2py[y,fp[r[x,y,z]]];​​h22[x_,y_,z_]:=ψ2s[r[x,y,z]]+
(3/2)
ψ2px[x,fp[r[x,y,z]]]-
(1/2)
ψ2py[y,fp[r[x,y,z]]];​​h32[x_,y_,z_]:=ψ2s[r[x,y,z]]-
(3/2)
ψ2px[x,fp[r[x,y,z]]]-
(1/2)
ψ2py[y,fp[r[x,y,z]]];
OrbitalPlot3D[{h12[x,y,z],h22[x,y,z],h32[x,y,z]},
(1/2)
(0.5)
,1.2,.7,Green,Red]

The sp Hybrid Orbitals

h1[x_,y_,z_]:=(ψ2s[r[x,y,z]]+ψ2pz[z,fp[r[x,y,z]]]);​​h2[x_,y_,z_]:=(ψ2s[r[x,y,z]]-ψ2pz[z,fp[r[x,y,z]]]);
OrbitalPlot3D[{h1[x,y,z],h2[x,y,z]},
(1/2)
(0.3)
,1.2,.7,Green,Red]

Molecular Orbital Theory and Plotting Bonding vs. Anti-Bonding Wavefunctions

rA[x_,y_,R_]:=
2
x-
R
2
+
2
y
;​​rB[x_,y_,R_]:=
2
x+
R
2
+
2
y
;​​
H
A
[r_]:=
2
2
π
(3/2)
1
.529
-
2r
.529
2

;​​
H
B
[r_]:=
2
2
π
(3/2)
1
.529
-
2r
.529
2

;​​
σ
g
[rA_,rB_]:=0.56(
H
A
[rA]+
H
B
[rB]);​​
σ
u
[rA_,rB_]:=0.56(
H
A
[rA]-
H
B
[rB]);​​fp[r_]:=
1
4
(1/2)
(2*Pi)
(5/2)
4
1
(-4*r/2)

;​​fp2[r_]:=
1
4
(1/2)
(2*Pi)
(5/2)
1
1
(-1*r/2)

;​​pyA[y_,fr_]:=y*fr;​​pyB[y_,fr_]:=y*fr;​​
Π
g
[y_,frA_,frB_]:=0.56(pyA[y,frA]+pyB[y,frB]);​​
Π
u
[y_,frA_,frB_]:=0.56(pyA[y,frA]-pyB[y,frB]);​​pxA[x_,R_,fr_]:=(x-(R/2))*fr;​​pxB[x_,R_,fr_]:=(x+(R/2))*fr;​​
xσ
g
[x_,R_,frA_,frB_]:=0.56(pxA[x,R,frA]+pxB[x,R,frB]);​​
xσ
u
[x_,R_,frA_,frB_]:=0.56(pxA[x,R,frA]-pxB[x,R,frB]);