You are on page 1of 3

# set term postscript portrait enh 'Helvetica' 21

# set output 'tmp.ps'


# set size 1.0, 0.7

set multiplot layout 3,2 columnsfirst title "{/:Bold=15 Moch Jonny Putra
151810301045}"

# set up coordinate system #####


set view 60, 30
scale=0.9
set xrange [-scale:scale]
set yrange [-scale:scale]
set zrange [-scale:scale]
set noborder
set noxtics
set noytics
set noztics
set nokey
# coordinate axes
set arrow 1 from -scale, 0, 0 to scale, 0, 0 lw 3
set arrow 2 from 0, -scale, 0 to 0, scale, 0 lw 3
set arrow 3 from 0, 0, -scale to 0, 0, scale lw 3
set label 'x' at scale,-.25*scale,0
set label 'y' at 0,1.1*scale,-.15*scale
set label 'z' at 0.10*scale,0,scale

# polar coordinates ####


set parametric
set urange [0:pi]
set vrange [-pi:pi]
x(u,v)=sin(u)*cos(v)
y(u,v)=sin(u)*sin(v)
z(u,v)=cos(u)
set isosamples 22, 45
set hidden3d

# atomic orbitals ####


# s orbital
s(u,v)=sqrt(1.0/4.0/pi)
# p orbitals
pz(u,v)=sqrt(3.0/4.0/pi)*cos(u) # m =0
px(u,v)=sqrt(3.0/4.0/pi)*sin(u)*cos(v) # |m|=1
py(u,v)=sqrt(3.0/4.0/pi)*sin(u)*sin(v) # |m|=1
# d orbitals
d3z2m1(u,v)=sqrt( 5.0/16.0/pi)*(3.0*cos(u)**2-1.0) # m =0
dzx(u,v) =sqrt(15.0/16.0/pi)*sin(2.0*u)*cos(v) # |m|=1
dyz(u,v) =sqrt(15.0/16.0/pi)*sin(2.0*u)*sin(v) # |m|=1
dx2my2(u,v)=sqrt(15.0/16.0/pi)*sin(u)**2*cos(2.0*v) # |m|=2
dxy(u,v) =sqrt(15.0/16.0/pi)*sin(u)**2*sin(2.0*v) # |m|=2
# f orbitals
fz5z2m3 (u,v)=sqrt( 7.0/16.0/pi)*(5.0*cos(u)**2-3.0)*cos(u) # m =0
fx5z2m1 (u,v)=sqrt( 21.0/32.0/pi)*(5.0*cos(u)**2-1.0)*sin(u)*cos(v) # |m|=1
fy5z2m1 (u,v)=sqrt( 21.0/32.0/pi)*(5.0*cos(u)**2-1.0)*sin(u)*sin(v) # |m|=1
fzx2my2 (u,v)=sqrt(105.0/16.0/pi)*cos(u)*sin(u)**2*cos(2.0*v) # |m|=2
fxyz (u,v)=sqrt(105.0/16.0/pi)*cos(u)*sin(u)**2*sin(2.0*v) # |m|=2
fxx2m3y2(u,v)=sqrt( 35.0/32.0/pi)*sin(u)**3*cos(3.0*v) # |m|=3
fy3x2my2(u,v)=sqrt( 35.0/32.0/pi)*sin(u)**3*sin(3.0*v) # |m|=3
# some hybrid orbitals
# sp hybrids:
sp_1(u,v)=sqrt(1.0/2.0)*(s(u,v)+pz(u,v))
sp_2(u,v)=sqrt(1.0/2.0)*(s(u,v)-pz(u,v))
# sp2 hybrids:
sp2_1(u,v)=sqrt(1.0/3.0)*(s(u,v)+sqrt(2.0)*px(u,v))
sp2_2(u,v)=sqrt(1.0/3.0)*(s(u,v)-sqrt(1.0/2.0)*px(u,v)+sqrt(3.0/2.0)*py(u,v))
sp2_3(u,v)=sqrt(1.0/3.0)*(s(u,v)-sqrt(1.0/2.0)*px(u,v)-sqrt(3.0/2.0)*py(u,v))
# sp3 hybrids:
sp3_1(u,v)=0.5*(s(u,v)+px(u,v)+py(u,v)+pz(u,v))
sp3_2(u,v)=0.5*(s(u,v)+px(u,v)-py(u,v)-pz(u,v))
sp3_3(u,v)=0.5*(s(u,v)-px(u,v)+py(u,v)-pz(u,v))
sp3_4(u,v)=0.5*(s(u,v)-px(u,v)-py(u,v)+pz(u,v))

# >>> here you choose what orbital to plot <<<


#################################
set title s
set size 0.3,0.3
unset key
orb(u,v)=s(u,v)
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)

pause -1 "px Hit return to continue"


set title px
set size 0.38,0.38
unset key
orb(u,v)=px(u,v)
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)

pause -1 "py Hit return to continue"


set title py
set size 0.38,0.38
unset key
orb(u,v)=py(u,v)
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)

pause -1 "pz Hit return to continue"


orb(u,v)=pz(u,v)
set title pz
set size 0.38,0.38
unset key
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)

pause -1 " dzx Hit return to continue"


set title dzx
set size 0.38,0.38
unset key
orb(u,v)= dzx(u,v)
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)

pause -1 " d3z2m1 Hit return to continue"


set title d3z2m1
set size 0.38,0.38
unset key
orb(u,v)= d3z2m1(u,v)
# plot
pos(u,v)= orb(u,v)<0 ? 0 : orb(u,v)
neg(u,v)= orb(u,v)>0 ? 0 : -orb(u,v)
#splot neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
#pause -1 "NEG Hit return to continue"
#splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v)
#pause -1 "POS Hit return to continue"
splot pos(u,v)*x(u,v), pos(u,v)*y(u,v), pos(u,v)*z(u,v), \
neg(u,v)*x(u,v), neg(u,v)*y(u,v), neg(u,v)*z(u,v)
unset multiplot

You might also like