DOCUMENTATION for SPFIT and SPCAT


Last local (HSPM) modification: Jan. 30, 2001
Notes, hints, and special considerations are highlighted.
The most recent changes to this document made by HMP are not included yet !


These programs use subroutines in SPINV.C to calculate energies and intensities for asymmetric rotors and linear molecules with up to 99 vibrational states and up to 9 spins. No distinction is made between electronic states and vibrational states, or between electronic and nuclear spins. SPFIT is used for fitting transitions and term values, with no requirement that the transitions obey any particular selection rules. SPFIT takes input files with extensions par and lin, copies the par file to a bak file, creates new text output files with extensions par, fit, var, and creates a binary file with extension unf which is redundant with the var file but carries more precision for use in SPCAT. (Note: The unf file has been omitted in the more recent versions !) The par and var files follow essentially the same format and contain fitting parameters and optionally correlation information. The fit file contains the results of the fit. SPCAT is used for predicting line positions and strengths. It takes the var and unf files as input along with an int file that specifies limits for the calculation and contains the transition dipoles. The main output files for SPCAT use extensions out and cat, which are for general information and for the catalog output format, respectively. The cat file follows the format of the JPL catalog, but does not have experimental data flagged. Auxiliary output files with extensions egy and str can also be requested. The egy file can contain energies, derivatives with respect to the parameters, eigenvalues, and the undiagonalized Hamiltonian. The str file contains a list of all transition dipole moments. The file names for SPFIT and SPCAT can be specified as command line arguments in any order. The first file name is used as the base file name for any files not explicitly specified. If no command line arguments are specified the program will give a prompt for the file names.

Some of the details of the program are described in H. M. Pickett, "The Fitting and Prediction of Vibration-Rotation Spectra with Spin Interactions," J. Mol. Spectros. 148, 371-377 (1991).

CONTENTS

Format of Quantum Numbers
Format of the lin File
Format of the par and var Files
Coding of the Parameters
Format of the int File
Format of the cat File
Format of the str File
Format of the egy File
Special  Considerations for Linear Molecules
Special  Considerations for 'l'-doubled States
Some Examples
Installation Instructions

Quantum numbers which are used in the files can be given in several formats:

 
Linear Sigma States: [Q]
N v J F1 F2 F [11]
N J F1 F2 F3 F [01]
N v J F1 Itot F [31]
N J F1 F2 Itot F [21]
N v n F - - [51]?
Symmetric Tops:  [Q]
N K v J F1 [12] 
N K J F1 F2 F [02]
N K v J Itot F [32]
N K J F1 Itot [22]
N K v n F - [52]
N K n F - - [42]?
Asymmetric Tops:  [Q]
N Ka Kc v J F [13] 
N Ka Kc J F1 F [03]
N Ka Kc J Itot [23]
N Ka Kc v n [53]
N Ka Kc n  - [63]

In most cases, the spin coupling scheme is N + S = J, J + I1 = F1, …, Fn-1 + In = F, but an alternative that can be selected is the scheme …, In-1 + In = Itot, Fn-2 + Itot = F. The quantum number n is an aggregate spin quantum number which is used when the number of quantum numbers would otherwise be greater than 6. Half integer spins are rounded up to the next integer. The sign of K for symmetric top notation designates parity under rotation about the b axis. When the vibronic wave function is even with respect to reflection in the ac plane, then the sign of K will also indicate the parity with respect to inversion. The symmetric top notation can also be used equivalently for linear molecules with orbital or vibrational angular momentum (lambda not zero). If the number of vibrations is one, then v is not included. The sequence J, F1 .. F can be replaced with F1, F2 .. F if no electronic spin is present. The length of the quantum number list is determined by the number of spins requested. The factoring of the Hamiltonian is determined by the parameter set.

The field QNFMT in cat file can be regarded as having 3 sub-fields: QNFMT = Q*100 + H*10 + NQN, in which NQN is the number of quanta per state, H is a binary code the existence of half integer quanta for the last three quantum numbers, and Q is the number in square brackets in the table above. The least significant bit of H refers to the F quantum number and is 1 if F is half integer.

 TOP

FORMAT of the lin file:

line 1-NLINE [12I3,freeform]: QN,FREQ,ERR,WT
 
QN = 12 integer field of quantum numbers. Interpreted in a multiple I3 format as the quantum numbers for the line (upper quanta first, followed immediately by lower quanta). Unused fields can be used for annotation. The entire field is printed in file.fit

FREQ = frequency in MHz or cm–1

ERR = experimental error. Minus sign means that the frequency and error are in units of cm–1. FREQ and ERR will be converted internally to units of MHz.

WT = relative weight of line within a blend (normalized to unity by program). Not needed for unblended lines. If WT is not specifically given in the line file, 1/n will be used by the program if n is the number of blended lines at the same frequency and following successively.
 

NOTES: If an end-of-file is encountered before all the lines are read in, NLINE is set to the number read to that point. If successive lines have the same frequency, the lines will be treated as a blend and derivatives will be averaged using WT/ERR. Any lines with format errors will be ignored.

The freeform input begins in column 37 and extends to the end of the line. See the notes at the end of the next section for more on the freeform input.

 TOP

FORMAT of the par file and var files:


line 1: title

line 2 [freeform]: NPAR, NLINE, NITR, NXPAR,  THRESH , ERRTST,FRAC, CAL

NPAR = maximum number of parameters

NLINE = maximum number of lines

NITR = maximum number of iterations

NXPAR = number of parameters to exclude from end of list when fitting special lines (with negative F quantum number)

THRESH = initial Marquardt-Levenburg parameter

ERRTST = maximum [(obs-calc)/error]

FRAC = fractional importance of variance

CAL = scaling for infrared line frequencies (only NPAR used by CALCAT)

NOTES: If NPAR is larger than the number of parameters specified it will be corrected accordingly in the new par file ! Therefore, it is mandatory to increase NPAR if new parameters are specified.
The same applies to NLINE !

ERRTST has to be sufficiently large to use new lines in the fit. It may be reduced if lines outside ERRTST s should be excluded from the fit.

Option information beginning on line 3: CHR,SPIND,NVIB,KNMIN,KNMAX,IXX,IAX,WTPL,WTMN,VSYM,EWT,DIAG

CHR = character to modify parameter names file (must be in first column) sping.nam , default is g. a is used for Watson A set, s is used for Watson S set. Other character replaces the g in the name 'sping'. Only used to label the .fit output file. (Ignored on all but first option line.) SPFIT looks for the nam files in the current directory and then in the path given by the SPECNAME environment variable. (i.e. put something like SET SPECNAME=C:\SPECTRA\ in AUTOEXEC.BAT for Windows or setenv SPECNAME /spectra/ for unix). The trailing path delimiter is required.
sign SPIND = If negative, use symmetric rotor quanta. If positive, use asymmetric rotor quanta (Sign ignored on all but first option line.)

mag SPIND = degeneracy of spins, first spin degeneracy in units digit, second in tens digit, etc. (If last digit is zero, spin degeneracies occupy two decimal digits and the zero is ignored.)

sign NVIB = positive means Ir representation (z = a, y = b, x = c), usually used for prolate rotors; negative means IIIl representation (z = c, y = b, x = a), usually used for oblate rotors. (Sign ignored on all but first option line.)

mag NVIB = number of states (e. g. vibronic; also possible: isotopomers etc.) on the first option line, identity of the vibronic state on all but the first option line. (max. value = 99)

KNMIN,KNMAX = minimum and maximum K values. If both = 0, then linear molecule is selected.

IXX = binary flag for inclusion of interactions: 1 means no delta N, 2 means no delta J, 4 means no delta F1 ,etc. [default = 0 includes all interactions] (Ignored on all but first option line.)

mag IAX = axis for statistical weight ( 1=a, 2=b, 3=c, add 3 if K-odd are excluded, add 6 if K-even are excluded)

sign IAX = If negative, use Itot basis in which the last two spins are summed to give Itot, which is then combined with the other spins to give F (Sign ignored on all but first option line.)

WTPL,WTMN = statistical weights for even and odd state

VSYM = If positive, vibronic symmetry coded as decimal digits (odd digit means reverse WTPL with WTMN) example: 10 = ( v=0 even, v=1 odd) (Only works for the first nine states) (Value ignored on all but first option line.) If negative, signal that the next line is also an option line.

EWT = EWT0 + EWT1*100 = weight for states with 3-fold E symmetry. Ignore if EWT is negative (default) (WTPL and WTMN apply to A1 and A2 symmetry)
 

For D3 symmetry (e.g. ND3), for bosons: WTPL = (2I+1)(2I+3)(I+1)/3
WTMN = (2I+1)(2I-1)(I)/3
EWT0 = (2I+1)(I+1)(2I)/3
[For fermions WTPL and WTMN are reversed] for I=1/2, when WTMN=0, multiply EWT0 by 2 because only half the E states are calculated


For C3 symmetry (e.g. CH3F ):

WTPL = WTMN = (2I+1)(4I*I+4I+3)/3
EWT0 = (2I+1)(I+1)(4I)/3


NOTE: These weights can be divided by a common multiple if the rotational partition function is divided by the same factor. The A1 and A2 states are for MOD(ABS(K)-EWT1,3) = 0 with EWT1 = 0 for l = 0, EWT1 = 1 for l = 1, and EWT2 = 2 for l = -1. STATES with EWT1 not zero MUST be specified in adjacent pairs. E symmetry states will be designated with positive K for symmetric top quanta. For asymmetric top quanta with l = 1, Ka + Kc = N+1. For asymmetric top quanta with l = -1, Ka + Kc = N. This designation for quanta in l=1 and l = -1 states will also be applied to A symmetry states if there are only delta l = 0 operators. If both WTPL and WTMN are not zero, there will be two E states with the same nominal quantum number. (CALMRG will merge the degenerate transitions into a single line.)
 

DIAG = -1 for no diagonalization
0 for energy ordering within Wang sub-blocks
1 for full projection assignment
2 for energy ordering within Wang sub-blocks which follows order of diagonal elements of Hamiltonian
3 for energy ordering within vibration and spin sub-block set
NOTE: For many cases only a single option line is needed. If different vibronic states have different spin multiplicity or different KMIN, KMAX additional lines are needed. Note that additional lines are signaled by the sign of VSYM. The first option line sets up the defaults for all the vibrational states, and subsequent option lines specify deviations from the default. It is possible to mix Boson and Fermion states in the same calculation, e.g. fitting different isotopomers together, but the quantum number format (QNFMT) in SPCAT output will be correct only for the v=0 state.


Parameter lines: IDPAR, PAR, ERPAR / LABEL

where IDPAR is a parameter identifier, PAR is the parameter value,  ERPAR is the parameter uncertainty, LABEL is a parameter label (10 characters are used) that is delimited by /.  If the sign of IDPAR is negative, SPFIT constrains the ratio of this parameter to the previous parameter to a fixed value during the fit.
PARAMETER identifiers (IDPAR)  are coded in decimal digitform in the order
NFF, I2, I1, NS, TYP, KSQ, NSQ, V2, V1
for NVIB < 10 each element occupies one digit except TYP which occupies two digits, i.e.
(((((((FF*10+I2)*10+I1)*10+NS)*100+TYP)*10+KSQ)*10+NSQ)*10+V2)*10+V1
for NVIB > 9: each element occupies one digit except TYP, V1, and V2 which occupy two digits, i.e.
(((((((FF*10+I2)*10+I1)*10+NS)*100+TYP)*10+KSQ)*10+NSQ)*100+V2)*100+V1 Warning: parameters requested really signify the operator which will multiply the parameter. Parameters not explicitly requested are presumed to be zero. For example, B for a linear molecule or symmetric top is 100, while for an asymmetric top it is 20000.

NOTES:

  1. Direction cosines have been omitted.
  2. N+ = Nx+ i Ny . If NFF < 11, then parameters with EVEN values of TYP >= 20 and < 80 have an implicit i. If NFF>10, then parameters with ODD values of TYP >= 20 and < 80 have an implicit i. Also, if NFF > 10, then all parameters of TYP < 20 have an implicit i. If EWT1=1 for both of the vibrational states, then these nominally imaginary parameters are assumed to be real and multiplied by the Lz operator (see below).
  3. The sign of the r parameter is used to designate a special symmetry for the Fourier series.  If this sign is different for V1 and V2, then 0.5 is subtracted from NFF.  For example, if NFF = 2, the basic operator is multiplied by cos ( 3p Kavgr / 3) instead of cos (4p Kavgr / 3).  If the magnitude of  r is not the same for the two states, replace Kavgr with (K1r1 +K2r2) / 2.
  4. Prolate basis is I r, and oblate basis is III l. DK behavior for TYP = 20+n and 60+n re reversed for oblate basis.
  5. rv,v is specified by 9100vv. TYP=91+2n parameters, including r, are constants and are not fitted.
  6. For operators with I2 = 0 and I1 > 0, one value of N is replaced with the appropriate projection of II1. For operators with I2 > 0 and I1 > 0, two values of N are replaced with appropriate projections of both I. For TYP=1,2,3, the operator is the expected Cartesian projection - I2.I1 / 3. For example, 10000 is the NzNz operator, 10010000 is the NzSz operator, and 120010000 is the SzIz - S.I / 3 operator.
  7. For operators with I2 = I1 > 0, spin corrections appropriate for nuclear quadrupole coupling are applied: SQRT((2I+1)/(2I-1))/4I.
  8. Whenever operators that do not commute are combined, the resulting operator is half the anti-commutator. The order of application is NzSz, followed by Nz2, followed by N2 and N· S.
  9. When coupling states where a given electronic (or nuclear) spin is different (e.g. spin-orbit coupling), the reduced matrix element for the spin operator is assumed to be unity.
line (n+1)-end [8F10.6]: ( ( V(i,j),j=i,NPAR ) ,i=1,NPAR )
V = Choleski decomposition of the correlation matrix, optional for file.par


NOTES: In the freeform input, the variables are all preset to reasonable default values. The input numbers can be separated by any character not usually found in an E or F formatted number. A space or comma is recommended. Two successive commas indicate that the default value is to be used for that variable. At the end of the line or when a ‘/’ character is encountered, all unspecified variables remain set to their default values. PAR defaults to zero. ERRPAR defaults to a very large number for CALFIT and to zero for CALCAT. If an end-of-file or error is encountered before the parameters are read in, NPAR is set to the number read to that point. If an end-of-file or error is encountered before V is completely read in, V is set to a unit matrix. CALCAT will attempt to get V from file.unf if it exists.

Special lines to which NXPAR applies are lines in which the F quantum number is negative. In the quantum number assignment process in the program, the line is flagged and F is set to an appropriate value. When derivatives are accumulated, the last NXPAR derivatives are ignored, and the energies are corrected by subtracting the first order contribution of these parameters. If F < -1, the absolute value of F is used in the energy calculation. If F = -1, the F used is as close to the previous spin quantum number as angular momentum addition rules allow. The value selected will be shown in the fit file line listing in place of the -1.

If IDPAR is less than zero the magnitude is taken. In CALFIT, the parameter value will be constrained to be a constant ratio of the preceding parameter value. In this way linear combinations of parameters can be fit as a unit.

  TOP

FORMAT for the int file:

line 1: title

line 2 [freeform]: FLAGS,TAG,QROT,FBGN,FEND,STR0,STR1,FQLIM,TEMP

FLAGS = IRFLG*1000+OUTFLG*100+STRFLG*10+EGYFLG
  • IRFLG = 1 if constants are in cm–1
  • IRFLG = 0 if constants are in MHz
  • OUTFLG = 0 for a short form of file.out (recommended)
  • OUTFLG = 1 for a long form of file.out
  • STRFLG > 0 to enable the output of file.str (recommended: = 0)
  • STRFLG = 2 to enable separate entries for each dipole component in file.str
  • EGYFLG > 0 to enable in file.egy the energy listing
  • EGYFLG = 2, 4 to enable in file.egy the derivative listing
  • EGYFLG = 3, 4 to enable in file.egy the eigenvector listing
  • EGYFLG > 4 to dump Hamiltonian with no diagonalization


  • NOTE: If the constants are in MHz, lines can be in units of cm–1, see Format of the lin File. However, if the constants are in units of cm–1, lines in units of MHz have to be converted into cm–1.


    TAG = catalog species tag (integer)

    QROT = partition function for TEMP

    FBGN = beginning integer F quantum (round up)

    FEND = ending integer F quantum (round up)

    STR0,STR1 = log strength cutoffs

    FQLIM = frequency limit in GHz

    TEMP = temperature for intensity calculation in degrees K (default is 300K)


    line 3-end [freeform]: IDIP,DIPOLE
     

    IDIP = dipole identifier (see DPI.DOC,SPINV.DOC)

    DIPOLE = dipole value

    NOTE: The freeform input is defined above in the notes for file.par. The maximum log of the line strength output to file.cat from SPCAT must be greater than STR0+STR1*(frequency/300GHz)**2. Both STR0 and STR1 default to -100.

    IDIP is coded in decimal digit form according to the format (for NVIB < 10):
    (((TYP*10 + I1)*10 + V2)*10 + V1)*10 + SYM, or (for NVIB > 9):
    (((TYP*10 + I1)*100 + V2)*100+ V1)*10 + SYM, with

    TYP = dipole type
    I1 = spin identifier [ I1 = 0 means N or null ]
    V1,V2 = vibrational states [ V1 GE V2 ]
    SYM = symmetry [0 = magnetic, 1 = a, 2 = b 3 = c]
    TYP SYM Description
    0 0 magnetic dipole [ N, S, I ]
    0 1 a dipole, fa if I1=0, else fa´ I
    0 2 b dipole, fb if I1=0, else fb´ I
    0 3 c dipole, fc if I1=0, else fc´ I
    1 0 i (2fzNz - fx Nx - fy Ny)/2 or i (2fzIz - fx Ix - fy Iy)/2
    1 1 i {fb, Nc}/2 +  i {fc, Nb}/2 or  i {fb, Ic}/2 +  i {fc, Ib}/2
    1 2 i {fa, Nc}/2 +  i {fc, Na}/2 or  i {fa, Ic}/2 + i {fc, Ia}/2
    1 3 i {fa, Nb}/2 +  i {fb, Na}/2 or  i {fa, Ib}/2 +  i {fb, Ia}/2
    2 0 i (fx Nx - fy Ny) or  i (fx Ixfy Iy)
    2 1-3 same as TYP = 1
    3 any {N2, TYP = 0}/2
    4 any {Nz2 , TYP = 0}/2 
    1-3 [N2 , TYP = 0] / 2
    6 0 L = 3, delta K = 2
    6 1 L = 3, delta K = 2 if prolate basis
    6 2,3 L = 3, delta K = 3 if prolate basis
    7 any TYP=0 * cos(I1*2p Kavg r / 3)
    any TYP=0 * i sin(I1*2p Kavg r / 3) or cos(20p Kavg r / 3)  if I1 = 0
    any {N4, TYP = 0}/2
    10  any [N4, TYP = 0]/4
    11 any [N2 , TYP = 2] / 2
    12  any i {Nz , TYP=2}/2

     
     

    NOTE: Dipoles with SYM > 0 are assumed to be in units of Debye. Dipoles with SYM = 0 are assumed to be in units of a Bohr magneton. Dipoles which are even order in direction cosine or N are assumed to be imaginary, except between states with EWT1=1. Dipoles between states with EWT1= (0,2), (2,0), and (2,2) are ignored, but the matrix elements are calculated using corresponding dipoles from states with EWT1=1 (see below). For ITYP = 7 or ITYP = 8, I1 is used for the Fourier order and not the spin type. The constant r is specified in the parameter set. The sign of the r parameter is used to designate a special symmetry for the Fourier series.  If this sign is different for V1 and V2, then 0.5 is subtracted from the Fourier order.  For example, if IDIP = 72012, the basic b-dipole operator is multiplied by cos ( 3p Kavgr / 3) instead of cos (4p Kavgr / 3).  If the magnitude of  r is not the same for the two states, replace Kavgr with (K1r1 +K2r2) / 2. ITYP = 8 (with I1 > 0) dipoles are multiplied by i, and the symmetry of the states connected is 3 - SYM and the units follow the state symmetry (e.g. 81000 is in Debye ). ITYP = 2, 5 are used for first-order Herman-Wallis corrections. ITYP = 3, 4, 6, 11, 12 are used for second-order Herman-Wallis corrections.
     

    TOP

    FORMAT of cat output file:


    [F13.4,2F8.4,I2,F10.4,I3,I7,I4,12I2]: FREQ,ERR,LGINT,DR,ELO,GUP,TAG,QNFMT,QN
     

    FREQ = Frequency of the line

    ERR = Estimated or experimental error (999.9999 indicates error is larger)
    LGINT = Base 10 logarithm of the integrated intensity in units of nm2 MHz

    DR = Degrees of freedom in the rotational partition function (0 for atoms, 2 for linear molecules, and 3 for nonlinear molecules)

    ELO = Lower state energy in cm–1

    GUP = Upper state degeneracy

    TAG = Species tag or molecular identifier. A negative value flags that the line frequency has been measured in the laboratory. The absolute value of TAG is then the species tag (as given in line 2 of file.int above) and ERR is the reported experimental error.

    QNFMT = Identifies the format of the quantum numbers given in the field QN.

    QN(12)= Quantum numbers coded according to QNFMT. Upper state quanta start in character 1. Lower state quanta start in character 14. Unused quanta are blank, quanta whose magnitude is larger than 99 or smaller than –9 are shown with alphabetic characters or **. Quanta between -10 and -19 are shown as a0 through a9. Similarly, -20 is b0, etc., up to -259, which is shown as z9. Quanta between 100 and 109 are shown as A0 through A9. Similarly, 110 is B0, etc., up to 359, which is shown as Z9.

    TOP

    Format of str output file:

    [F15.4,E15.6,I5,1X,24A,I5]: FREQ,DIPOLE,QNFMT,QN,ITEM
    FREQ = Frequency of the line

    DIPOLE= Reduced matrix element of the transition dipole

    QNFMT = Identifies the format of the quantum numbers given in the field QN.

    QN(12) = Quantum numbers coded according to QNFMT. Upper state quanta start in character 1. Lower state quanta start in character 14. Unused quanta are blank, quanta whose magnitude is larger than 99 or smaller than –9 are shown with alphabetic characters or **. Quanta between -10 and -19 are shown as a0 through a9. Similarly, -20 is b0, etc., up to -259, which is shown as z9. Quanta between 100 and 109 are shown as A0 through A9. Similarly, 110 is B0, etc., up to 359, which is shown as Z9.

    ITEM = identifies number of dipole

    TOP

    Format of egy output file:

    energy output [2I5,3F18.6,6I3]: IBLK,INDX,EGY,PMIX,ERR,QN
    IBLK = Internal Hamiltonian block number

    INDX = Internal index Hamiltonian block

    EGY = Energy in cm–1

    ERR = Expected error of the energy in cm–1

    PMIX = mixing coefficient

    QN(6)= Quantum numbers for the state

    TOP

    SPECIAL CONSIDERATIONS FOR LINEAR MOLECULES

    This program set will calculate a variety of interactions and transitions within a Hund's case(b) basis, including spin orbit interactions which change spin multiplicity. In the asymmetric rotor language of this program, the first-order spin orbit interaction takes the operator form of a vector dot product of a direction cosine with the spin vector. It can have three distinct symmetries: S·fa connects states of the same lambda, while S·fb and S·fc connect states where lambda differs by one.

    Use of the symmetries in this program takes some care, particularly for linear molecules where it may not be immediately obvious whether to use the b or the c axis to designate perpendicular operators. For consistency with the parity designation for the symmetric top quanta, the vibronic wave function should be chosen so that it is symmetric with respect to the ab plane. Then the b axis can be used for the inversion defining axis (i.e. IAX = 2 in the option lines of the .par and .var files can be used to define slection rules under inversion). Generally, the unfilled p orbitals will then be oriented in the c direction. With this choice, the symmetry of rotation lines in the D2h group are:
     
     
    Ag even N for S+ and all N for all other even l (even parity l doublet)
    Au even N for S-
    B(a)u odd N for S+ and all N for all other even l (odd parity l doublet)
    B(a)g odd N for S-
    B(b)g for odd l (even parity l doublet)
    B(c)u for odd l (odd parity l doublet)

    This means that the Hamiltonian, as well as magnetic dipoles, can couple S+ with S- via an operator of B(a) symmetry. An example is an operator like 10200001, which is the S·f spin orbit interaction operator between state v = 0 and v = 1. Similarly, interactions between S- and P states have B(c) symmetry and all other such interactions between S+ and P states and between P and D have B(b) symmetry. Electric dipole transitions between S- and P states have B(b) symmetry, while all other D l = 1 electric dipole transitions have B(c) symmetry. Electric dipole transitions between the lambda doublets have B(a) symmetry.

    The g, u symmetry above is for the parity of the wave-function under inversion of the space fixed axes. The nuclear exchange symmetry, on the other hand, affects only the statistical weights and does not have any further impact on the factoring of the Hamiltonian. In general, if IAX = 2, WTPL will be the nuclear spin weight for the Ag, Au, B(b)g, and B(b)u states, while WTMN will be the weight for the others. For S+gS-u and g states with other l, WTPL is the weight for even permutations, while for S-gS+g and u states with other l, WTPL is the weight for odd permutations. For example, in oxygen, S+g and Dg have WTPL=1 and WTMN=0, while S-g and Dg have WTPL=0 and WTNM=1. The dipole types given above provide for both allowed and forbidden transitions. For transitions that owe their intensity to spin orbit interactions the effective transition moment with be the product of the interaction and a transition moment to some intermediate state. Examples are a S-gD electric dipole code of 21vv'0 and a magnetic dipole code of 11vv'1. Electric dipole transitions between S+ and S- will use 11vv'0, while magnetic transitions will use 1vv'1. For transitions between S+ and S+ the roles of these operators are reversed. Note that for S S transitions, 11vv'0 has selection rules of DN = -2, 0, +2, while 1vv'1 has selection rules of DN = -1, +1.

    Example of .var file for oxygen like molecule:

    mock oxygen states
    4
    -3 3 0 0 0 2 0 1 -1 /default for v=0 triplet Sigma-(g)
     1 1 2 2 0 2 1 0 -1 /v=1 is singlet Delta(g)
     1 2 0 0 0 2 1 0  0 /v=2 is singlet Sigma-(g)
    11 1e+7 0 /term value for v=1
    22 2e+7 0 /term value for v=2
    110010000 1000.0 0 /spin-spin interaction for v=0
    199 10000.0 0 /B for all v

    Example of .int file for oxygen like molecule:

    mock oxygen rotational and electronic transitions
    101 99000 200. 0 6 -80. -80. 99999999.
     1000 1. /magnetic moment v=0
     1110 1. /magnetic moment v=1
    11011 1. /sigma - delta magnetic moment
     1021 1. /sigma - sigma magnetic moment

    The quantum number correlations between Hund's case (b) and case (a) can be a bit confusing at first. For A < 0 in a doublet P state, e.g. OH, N=J-1/2 always correlates with W =3/2 and N=J+1/2 always correlates with W =1/2. The same correlation is present for A>0 as long as J+1/2 < sqrt(A/2B). Above this J, N = J-1/2 correlates with W =1/2 and N=J+1/2 correlates with W =3/2. Since the unpaired p orbital is assumed to lie along the c axis, parameters representing p, d, and eQq2 will have opposite sign to what is expected for the usual case (a) parameters. Explicit approximate relationships are:
     
     
    100100vv' A
    100101vv' 2 AJ
    1vv' B
    100400vv'  -p / 2
    400vv' q / 2
    200100vv' a
    1200100vv' c
    1200000vv' b + c / 3
    1200400vv' -d / 2
    2200100vv' 1.5 eQq1
    2200400vv' -eQq2/4

    TOP

    SPECIAL CONSIDERATIONS FOR l-doubled STATES:

    The  l-doubled states must be specified in adjacent pairs. The EWT1 = 1 states are those with K l > 0, and EWT1 = 2 states are those with K  l <= 0. The sign of K represents the parity, as in the non l-doubled states. Operators should be only specified between vibrational states with EWT1 = (0,0), (0,1), (1,0), (1,1), (1,2), and (2,1). Operators between vibrational states with EWT1 = (0,2), (2,0), and (2,2) are ignored. Operators connecting vibrational states with different 'l' obey the selection rule that 'K-l' can only change by multiples of 3. Operators diagonal in l have no 'K-l' selection rules. If EWT1 = 1 for both states and if the parameter would normally be implicitly imaginary (i.e. operators odd-order in angular momentum for the Hamiltonian, or even-order for the dipole moment), then the parameter is assumed to be real and the rotational operator is multiplied by the sign of 'lz'. DIAG = 0 is not recommended on the first option line in the par file, since the first-order energy is not likely to ordered with K.

    The K quantum numbers for  l-doubled states are designated specially when asymmetric rotor quanta are used so that the lower K doublet is associated with the EWT1 = 1 state and the upper K doublet and K = 0 states are assiciated with EWT1 = 2.  In this way the degenerate states have the same quantum numbers.

    TOP

     SIMPLE EXAMPLES:


    Example of parameter types for asymmetric rotors (assuming < 10 vibronic states):
     
     
    11 energy for v=1
    10000 A00
    10099 A ( all vibrational states with v'=v" )
    20099 B
    30099 C
    40099 0.25*(B-C) ( if prolate basis selected )
    299 -DJ
    1199 -DJK
    2000 -DK00
    600001 i Nc interaction between v=0 and v=1
    20000099 N·I for second spin
    120010099 Sa Ia
    220010099 1.5 * quadrupole moment czz for second spin
    220040099 quadrupole moment 0.25*(cxx-cyy) for second spin

    TOP

    Installation Instructions:

    The Makefile shows how the various files are to be linked.  The programs have been tested with Microsoft Visual C++ compiler and the gnu gcc compiler (which is freely available for unix and windows platforms).  The programs should work without modification with any ANSI compliant 'c' compiler on any size computer.  All arrays are allocated dynamically, and addressing or memory limits will place a practical limit on the size of matrices that can be used.  For 16-bit computers the address limit is equivalent to a 90 X 90 double precision matrix, while for a 32-bit computer the adressing limit is 23170 X 23170.  The program has been used on a 64-bit DEC alpha computer where the adressing limit is correspondingly larger. For both 32-bit and 64-bit computers, a more significant practical limit is usually given by the amount of memory or the amount of disk space available for virtual memory.

    The identity of the files are:

    TOP
    You are visitor No.