4.2.28. LEVEL

The LEVEL program is used to compute a vibration-rotation spectrum for a diatomic molecule, using as input a potential that is computed over a grid, or an analytic potential with its parameters specified. The grid should be dense around equilibrium (recommended spacing 0.05 au) and should extend to a large distance (say 50 au) if dissociation energies are computed.

The ro-vibrational Schrödinger equation is solved numerically (using Numerov’s method). The ro-vibrational energies are analyzed in terms of spectroscopic constants.

4.2.28.1. Dependencies

The LEVEL program is free-standing and does not depend on any other program.

4.2.28.2. Files

4.2.28.2.1. Input files

The calculation of vibrational wavefunctions and spectroscopic constants uses no input files (except for the standard input).

4.2.28.2.2. Output files

LEVEL generates a standard output file which ends with a summary of all levels found.

4.2.28.3. Input

This section describes the input to the LEVEL program in the Molcas program system. The program name is

&LEVEL

4.2.28.3.1. Keywords

The compulsory keywords are:

IAN1

Integer Atomic Number of atom 1

IMN1

Integer Mass Number of atom 1

IAN2

Integer Atomic Number of atom 2

IMN2

Integer Mass Number of atom 2

CHARge

Charge of molecule

NUMPot

Number of potentials (1 for a single potential, 2 for two potentials and calculation of matrix elements coupling their levels).

RH

Step size, \(\Delta R\) for the numerical solution of the differential equation. Calculations should be done with smaller and smaller values of this variable (with all other variables kept the same) until convergence with respect to this variable is achieved.

RMIN

Minimum value of \(R\) for the numerical solution of the differential equation. Calculations should be done with smaller and smaller values of this variable (with all other variables kept the same) until convergence with respect to this variable is achieved.

pRV

The \(p\) value (power) for the “radial variable” used for numerically solving the differential equation

aRV

The real number \(R\) value around which the “radial variable” used for numerically solving the differential equation, is centered.

EPS

The real number \(\epsilon\) value indicating the convergence tolerance when numerically solving the differential equation.

NTP

The integer indicating the number of turning points when providing a pointwise potential in the input file.

LPPOt

The integer indicating how often to print the potential and its first two derivatives (they will all be printed to the output file at every LPPOTth point if LPPOT > 0, and only the potential will be printed in condensed format to file 8 at every |LPPOT|th point if LPPOT < 0).

IOMEg1

The integer angular momentum quantum number \(\Omega\).

VLIM

The real number indicating the limit of the potential \(V(R)\) as \(R\rightarrow \infty\).

IPOTl

The integer indicating the form of the analytic potential. Choose IPOTL = 1 for a Lennard–Jones potential, IPOTL = 3 for an EMO (extended Morse oscillator), IPOTL = 4 for the MLR (Morse/Long-range) potential.

PPAR

The integer power \(p\) used in an MLR potential.

QPAR

The integer power \(q\) used in an MLR potential.

NSR

The integer order of the polynomial function in an MLR potential’s exponent, for the short-range (SR) part of the potential.

NLR

The integer order of the polynomial function in an MLR potential’s exponent, for the long-range (LR) part of the potential.

IBOB

The integer flag specifying whether or not to include (IBOB > 0) or exclude (IBOB <= 0) Born–Oppenheimer Breakdown functions.

DSCM

The real number indicating the \(\mathfrak{D}_e\) value (the “depth at equilibrium” for the potential).

REQ

The real number indicating the \(R_e\) value (the equilibrium internuclear distance)

RREF

The real number indicating the \(R_ref\) value (the reference distance for the MLR model).

NCMM

Integer indicating the number of long-range terms used in the MLR model (e.g. if using C6, C8, C10, then NCMM = 3).

IVSR

Integer indicating the power used in the damping function for the MLR model.

IDSTt

Integer indicating the type of damping function used. Choose IDSTT = 1 for the Douketis–Scoles-type (DS) function, and IDSTT = 2 for the Tang–Toonies (TS) function.

RHOAb

Real number indicating the \(\rho_{AB}\) parameter for the damping function in an MLR model.

MMLR

Integer array containing NCMM elements, which indicate the inverse powers of the long-range terms in the MLR model. For example, if using C6, C8, C10, then MMLR = 6 8 10. If using C4, C6, C8 (for example, for the potential between a neutral atom and an ion) then use MMLR = 4 6 8.

CMM

Real number array containing NCMM elements, which indicate the coefficients of the inverse powers of the long-range terms in the MLR model. For example, if using C6, C8, C10, then CMM = C6 C8 C10. If using C4, C6, C8 (for example, for the potential between a neutral atom and an ion) then use CMM = C4 C6 C8.

PARM

Real number array containing NLR+1 elements, which indicate the exponent expansion coefficients for the MLR model.

NLEV1

Integer indicating the number of rovibrational levels to seek. If negative, the program will try to automatically find all levels from \(v=0\) to v=-|textrm{NLEV1}|.

AUTO1

Integer indicating whether or not to automatically generate trial energies for each vibrational level. If AUTO1 > 0, the trial energies are generated, wheras if AUTO1 <= 0, then the user can provide trial energies manually.

LCDC

Integer indicating whether or not to calculate inertial rotational constants: \(B_v\), and the first six centrifugal distortion constants: \(-D_v\), \(H_v\), \(L_v\), \(M_v\), \(N_v\), \(O_v\). If LCDC > 0, then these are calculated, and otherwise they are not.

LXPCt

Integer indicating whether or not to calculate expectation values or matrix elements using the ro-vibrational wavefunctions obtained from solving the Schrödinger equation. If LXPCT = 0, no expectation values or matrix elements are calculated, and otherwise they are.

NJM

Integer indicating how many rotational levels (and expectation values, if LXPCT > 0) to find for each vibrational level found.

JDJR

Integer indicating a step size for increasing of \(J\) when we ask for a calculation of rotational (J) eigenvalues from IJ(i) to NJM for each vibrational level \(i\). If JDJR = 1, then you are asking the program to automatically determine all possible rotational levels between IJ(i) to NJM.

LPRWf

Integer indicating whether or not to print the ro-vibrational wavefunction levels at every LPRWFth mesh point. If LPRWF = 0, no wavefunction is printed.

4.2.28.3.2. Input example

&LEVEL
  IAN1 = 3
  IMN1 = 6
  IAN2 = 3
  IMN2 = 6
  CHARGE = 0
  NUMPOT = 1
  RH = 0.0005
  RMIN = 0.125
  PRV = 1
  ARV = 5.0d0
  EPS = 2.d-10
  NTP = -1
  LPPOT = 0
  IOMEG1 = 0
  VLIM = 0.0d0
  IPOTL = 4
  PPAR = 5
  QPAR = 3
  NSR = 3
  NLR = 3
  IBOB = -1
  DSCM = 3.337678701485D+02
  REQ = 4.170010583477D+00
  RREF = 8.0d0
  NCMM = 3
  IVSR = -2
  TDSTT = 1
  RHOAB = 0.54d0
  MMLR = 6 8 10
  CMM = 6.719000000d+06 1.126350000d+08  2.786940000d+09
  PARM = -5.156803528943D-01 -9.585070416286D-02 1.170797201140D-01 -2.282814434665D-02
  NLEV1 = -999
  AUTO1 = 1
  LCDC = 2
  LXPCT = 0
  NJM = 0
  JDJR = 1
  LPRWF = 0

Comments: The vibrational-rotation spectrum for the \(1^3\Sigma_u(a)\) state of \(^{(6,6)}\ce{Li2}\) will be computed using the MLR potential given in the input.