(**************************************************************************) (* *) (* DiatomicVibRot v. 1.2 *) (* Written by John M. Herbert *) (* Last modified 5/19/97 *) (* *) (**************************************************************************) (* This code is designed to integrate with the "RSperturb" package. It contains application-specific functions for vibrational-rotational analysis of singlet sigma diatomic molecules. *) DeltaE::usage = "DeltaE[j, v] gives the difference in zeroth-order energies between quantum states j and v."; DeltaE[j_, v_] := h ve (j - v) (* Define the zeroth-order energy *) Energy[0, v_] := h ve (v + (1/2)) + J (J + 1) Be (* Define perturbed Hamiltonian matrix elements *) Int /: Int[Psi[0, v1_], H[x_Integer], Psi[0, v2_]] := (k[x + 2] Int[Psi[0, v1], Q^(x + 2), Psi[0, v2]])/(x+2)! + ((-1)^x (x + 1) J (J + 1) Be Int[Psi[0, v1], Q^x, Psi[0, v2]])/Re^x Int /: Int[Psi[0, v1_], Q^x_., Psi[0, v2_]] := Qdelta[x] /. {qp -> v1, qnum -> v2}