next up previous
Up: Back to the Chemistry 3730 assignment index

Assignment 7 solutions

  1. The potential energy is

    > V := r -> epsilon*((sigma/r)^12-(sigma/r)^6);

    displaymath259

    > epsilon := 1.71e-21;

    displaymath260

    > sigma := 342e-12;

    displaymath261

    > plot(V(r),r=0..1e-9,-1e-21..1e-21);
    tex2html_wrap327
  2. The Hamiltonian is

    displaymath309

    The mass of one argon atom, in kg, is

    > mAr := 39.962384/1000/6.02214e23;

    displaymath262

    The reduced mass of two argon atoms is therefore

    > mu := 1/(1/mAr+1/mAr);

    displaymath263

    We also need tex2html_wrap_inline311 :

    > hbar := 6.62608e-34/(2*Pi);

    displaymath264

  3. Define the trial wavefunction:
    > phi := r -> r^6*exp(-b*r);

    displaymath265

    > assume(b>0);
    The variational energy is tex2html_wrap_inline313 . We do the calculation in pieces:
    > Kip := int(phi(r)*(-hbar^2/(2*mu))*diff(phi(r),r$2),r=0..infinity);

    displaymath266

    > Vip := int(phi(r)*V(r)*phi(r),r=0..infinity);

    displaymath267

    > ip := int(phi(r)^2,r=0..infinity);

    displaymath268

    > Evar:=(Kip+Vip)/ip;

    eqnarray61

    The best wavefunction minimizes the variational energy. In this calculation, the variational parameter is b so we want to minimize tex2html_wrap_inline317 with respect to b.

    > solve(diff(Evar,b)=0,b);

    eqnarray81

    We want a real, positive b. (It is possible for b to be complex with a positive real part. However, if you try substituting the complex solutions into the variational energy, you will find that in this case they all give complex energies. Complex energies are nonsense so these complex roots are all spurious.) There are only two roots which might possibly be right. The best one gives the lowest energy.

    > subs(b=2109144137.,Evar);

    displaymath269

    > subs(b=3839407642.,Evar);

    displaymath270

    The second solution gives the lower energy so it is the right one. Note in fact that the first value of b tried gives a positive energy. This is the equivalent, for intermolecular forces, of an antibonding state.

  4. From here on in, we want to use the best value of b:
    > b := 3839407642;

    displaymath271

    The normalized wavefunction is calculated by

    > ip := int(phi(r)^2,r=0..infinity);

    eqnarray102

    > phi_normalized := r -> phi(r)/sqrt(ip);

    displaymath272

    Verification:

    > int(phi_normalized(r)^2,r=0..infinity);

    displaymath273

  5. > plot(phi_normalized(r)^2,r=0..5e-9);
    tex2html_wrap329
Bonus 1:
The work which must be done is very similar to what we had to do above, except that we're using a different trial wavefunction.
> phi2 := r -> r^6*exp(-c*r^2);

displaymath274

> assume(c>0);
> Kip2 := int(phi2(r)*(-hbar^2/(2*mu))*diff(phi2(r),r$2),r=0..infinity);

displaymath275

> Vip2 := int(phi2(r)*V(r)*phi2(r),r=0..infinity);

displaymath276

> ip2 := int(phi2(r)^2,r=0..infinity);

displaymath277

> Evar2:=(Kip2+Vip2)/ip2;

eqnarray139

> solve(diff(Evar2,c)=0,c);

eqnarray161

> evalf(subs(c=.6813553329e18,Evar2));

displaymath278

> evalf(subs(c=.4145994151e19,Evar2));

displaymath279

The second solution is the correct one. Furthermore, this energy is much lower than the energy obtained with the other trial wavefunction so this is a better variational wavefunction. Let's have a look at it:

> c := .4145994151e19;

displaymath280

> ip2 := int(phi2(r)^2,r=0..infinity);

displaymath281

> phi2_n := r -> phi2(r)/sqrt(ip2);

displaymath282

Verification:

> int(phi2_n(r)^2,r=0..infinity);

displaymath283

The small difference from 1 is just round-off error.

> plot(phi2_n(r)^2,r=0..5e-9);
tex2html_wrap331

Note that that probability maximum occurs at much smaller r for this wavefunction. This is because the first form we tried did not fall off sufficiently quickly at larger r. This kind of observation is often use to guess at good forms for variational wavefunctions.


next up previous
Up: Back to the Chemistry 3730 assignment index

Marc Roussel
Wed Nov 4 11:04:34 MST 1998