Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
general [2019/02/10 10:44] – [Format of the ''lin'' File] admin | general [2023/11/07 12:40] – mueller | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Documentaion for SPFIT and SPCAT ====== | ====== Documentaion for SPFIT and SPCAT ====== | ||
+ | |||
Last local (HSPM) modification: | Last local (HSPM) modification: | ||
Line 7: | Line 8: | ||
Some of the details of the program are described in | Some of the details of the program are described in | ||
- | | + | <alert type=" |
+ | H. M. Pickett, "The Fitting and Prediction of Vibration-Rotation Spectra with Spin Interactions," | ||
+ | </ | ||
===== Format of Quantum Numbers ===== | ===== Format of Quantum Numbers ===== | ||
Line 13: | Line 16: | ||
Quantum numbers which are used in the files **can be given in several formats**: | Quantum numbers which are used in the files **can be given in several formats**: | ||
- | The field QNFMT in the cat file can be regarded as having 3 sub-fields: | + | The field QNFMT in the 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 | + | **QNFMT = Q*100 + H*10 + NQN**, in which **NQN** is the number of quanta per state, |
- | to indicate which of the last three quantum numbers are half integer quanta | + | **H** is a binary code to indicate which of the last three quantum numbers are half integer quanta |
- | (1 indicates that F is half integer), and Q is the number in square brackets in the table below. | + | (1 indicates that F is half integer), and **Q** is the number in square brackets in the table below. |
- | The least significant bit of H refers to the F quantum number and is 1 if F is half integer. | + | The least significant bit of **H** refers to the F quantum number and is 1 if F is half integer. |
- | Qmod5 gives the number of principal quantum numbers, i.e. without those designating spin quanta. | + | **Q**mod5 |
- | Thus it is 0 for atoms, 1 for linear molecules in S states, 2 for symmetric rotors and linear molecules | + | Thus it is **0** for atoms, |
- | in states other than S, and 3 for asymmetric rotors.\\ | + | in states other than S, and **3** for asymmetric rotors.\\ |
Add 11 if several states are fit together. These can be vibrational or electronic states, different | Add 11 if several states are fit together. These can be vibrational or electronic states, different | ||
isotopomers etc.\\ | isotopomers etc.\\ | ||
- | Add 20 if two spins are coupled to Itot.\\ | + | Add 20 if two spins are coupled to I< |
- | Add 40 if aggregate spin number n is used because the number of quantum numbers needed otherwise exceeds 6. | + | Add 40 if [[aggregate|aggregate spin number n]] is used because the number of quantum numbers needed otherwise exceeds 6. |
- | | + | <alert type=" |
- | | + | **Note:** These " |
+ | </ | ||
Examples for Q: | Examples for Q: | ||
Line 67: | Line 71: | ||
The factoring of the Hamiltonian is determined by the parameter set. | The factoring of the Hamiltonian is determined by the parameter set. | ||
+ | ===== Format of the '' | ||
+ | **line 1-NLINE [12|3, freeform]: | ||
- | ===== Format | + | > 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< | ||
+ | > ERR = experimental error. | ||
+ | <alert type=" | ||
+ | **NOTE:** Minus sign means that the frequency and error are in units of cm< | ||
+ | </ | ||
+ | > 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. | ||
- | line 1-NLINE [12|3, freeform]: QN, FREQ, ERR, WT | + | <alert type=" |
- | + | **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. | |
- | * QN = 12 integer field of quantum numbers. Interpreted | + | </alert> |
- | * FREQ = frequency in MHz or cm< | + | The freeform input begins in column 37 and extends to the end of the line. |
- | * ERR = experimental error. | + | See the notes at the end of the next section for more on the freeform input. |
- | > NOTE: Minus sign means that the frequency | + | ===== Format of the '' |
- | | + | **line 1:** title |
- | > 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. | + | **line 2 [freeform]:** NPAR, NLINE, |
- | The freeform input begins in column 37 and extends to the end of the line. See the notes at the end of the | + | > NPAR = maximum number |
- | next section for more on the freeform input. | + | > NLINE = maximum number |
- | ===== Format | + | > 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 | ||
+ | > ERRTST | ||
+ | > FRAC = fractional importance | ||
+ | > CAL = scaling for infrared line frequencies (only NPAR used by SPCAT) | ||
- | ==== Parameter lines: IDPAR, PAR, ERRPAR | + | <alert type=" |
+ | **NOTES:** After a fit, NPAR will be set to the actual number of parameters or to the number of parameters requested – whichever is **SMALLER** ! 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** should be excluded from the fit. | ||
+ | </alert> | ||
+ | **Option information beginning on line 3:** CHR, SPIND, NVIB, KNMIN, KNMAX, IXX, IAX, WTPL, WTMN, VSYM, EWT, DIAG | ||
- | ===== Coding of the Parameters ===== | + | > 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 ' |
+ | > 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 // | ||
+ | > mag NVIB = number of states (e. g. vibronic; also possible: isotopomers etc.; **counted from zero !**) 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: | ||
+ | > sign IAX: If negative, use I< | ||
+ | > WTPL,WTMN = statistical weights for even and odd state | ||
+ | > 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)\\ | ||
+ | > 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)/ | ||
+ | > WTMN = (2I+1)(2I–1)(I)/ | ||
+ | > EWT0 = (2I+1)(I+1)(2I)/ | ||
+ | > [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)/ | ||
+ | > EWT0 = (2I+1)(I+1)(4I)/ | ||
+ | |||
+ | <alert type=" | ||
+ | **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, | ||
+ | </ | ||
+ | < | ||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | <alert type=" | ||
+ | **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, | ||
+ | </ | ||
+ | |||
+ | ====== Coding of the Parameters ====== | ||
+ | |||
+ | ===== Parameter lines: IDPAR, PAR, ERRPAR / LABEL ===== | ||
+ | |||
+ | where IDPAR is a parameter identifier, PAR is the parameter value, ERRPAR is the parameter uncertainty, | ||
+ | |||
+ | 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 | ||
+ | </ | ||
+ | * NFF = Fourier flag (used for internal rotation) If NFF < 11, basic operator is multiplied by cos (NFF * 2p K< | ||
+ | * I2,I1 = spin identifiers [I1 >= I2], I1=0 or I2=0 means N. | ||
+ | * NS = power of N· S where S is the first spin If NS > 4, subtract 5 and add S< | ||
+ | * TYP = projection type | ||
+ | * 0 = scalar | ||
+ | * 1 = N< | ||
+ | * 2 = N< | ||
+ | * 3 = N< | ||
+ | * 3+n = N< | ||
+ | * 11+n = " | ||
+ | * 20+n = off-diagonal " | ||
+ | * 20 = N< | ||
+ | * 21 = N< | ||
+ | * 40+n = off-diagonal " | ||
+ | * 40 = N< | ||
+ | * 41 = N< | ||
+ | * 60+n = off-diagonal " | ||
+ | * 60 = N< | ||
+ | * 61 = N< | ||
+ | * 80+n = unique contribution for //K'// = //K"// = n*10+KSQ | ||
+ | * 90+2n = Euler series multiplying N< | ||
+ | * 91+2n = constants for Euler and Fourier series | ||
+ | * 91 = r for Fourier series if KSQ = 0, NSQ1 = 0, and V1=V2. Only the absolute value is used for r, and the value is used to designate a special symmetry. | ||
+ | * KSQ = power of N< | ||
+ | * NSQ = power of N*(N+1) | ||
+ | * V1,V2 = vibrational identifier, [V1 >= V2] For NVIB < 10: V1 = V2 = 9 matches all V1 = V2. For NVIB > 9: V1 = V2 = 99 matches all V1 = V2. | ||
+ | |||
+ | <alert type=" | ||
+ | **Warning: | ||
+ | </ | ||
+ | |||
+ | <alert type=" | ||
+ | **NOTES: | ||
+ | - Direction cosines have been omitted. | ||
+ | - N< | ||
+ | - 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 K< | ||
+ | - Prolate basis is //I < | ||
+ | - r< | ||
+ | - For operators with I2 = 0 and I1 > 0, one value of N is replaced with the appropriate projection of I< | ||
+ | - For operators with I2 = I1 > 0, spin corrections appropriate for nuclear quadrupole coupling are applied: SQRT( (2I+1)/ | ||
+ | - Whenever operators that do not commute are combined, the resulting operator is half the anti-commutator. The order of application is N< | ||
+ | - 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. | ||
+ | - A value for **ERRPAR** much larger than 10< | ||
+ | </ | ||
+ | |||
+ | **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 | ||
+ | |||
+ | <alert type=" | ||
+ | **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, | ||
+ | </ | ||
+ | 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, | ||
+ | |||
+ | If IDPAR is less than zero the magnitude is taken. In SPFIT, 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. | ||
===== Format of the '' | ===== Format of the '' | ||
+ | |||
+ | **line 1:** title | ||
+ | |||
+ | **line 2 [freeform]: | ||
+ | |||
+ | > FLAGS = IRFLG*1000+OUTFLG*100+STRFLG*10+EGYFLG | ||
+ | >> IRFLG = 1 if constants are in cm< | ||
+ | >> IRFLG = 0 if constants are in MHz | ||
+ | >> OUTFLG = 0 for a short form of // | ||
+ | >> OUTFLG = 1 for a long form of // | ||
+ | >> STRFLG > 0 to enable the output of // | ||
+ | >> STRFLG = 2 to enable separate entries for each dipole component in // | ||
+ | >> EGYFLG > 0 to enable in // | ||
+ | >> EGYFLG = 2, 4 to enable in // | ||
+ | >> EGYFLG = 3, 4 to enable in // | ||
+ | >> EGYFLG > 4 to dump Hamiltonian with no diagonalization | ||
+ | |||
+ | <alert type=" | ||
+ | **NOTE:** If the constants are in MHz, lines can be in units of cm< | ||
+ | </ | ||
+ | > 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 identifier (see below) | ||
+ | > DIPOLE = dipole value | ||
+ | <alert type=" | ||
+ | **NOTE:** The freeform input is defined above in the notes for // | ||
+ | </ | ||
+ | > 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 >= 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, f< | ||
+ | |0 |2 |b dipole, f< | ||
+ | |0 |3 |c dipole, f< | ||
+ | |1 |0 |//i// (2f< | ||
+ | |1 |1 |//i// {f< | ||
+ | |1 |2 |//i// {f< | ||
+ | |1 |3 |//i// {f< | ||
+ | |2 |0 |//i// (f< | ||
+ | |2 |1-3|same as TYP = 1 | | ||
+ | |3 |any|{N< | ||
+ | |4 |any|{N< | ||
+ | |5 |1-3|[N< | ||
+ | |6 |0 |L = 3, DK = 2 | | ||
+ | |6 |1 |L = 3, DK = 2 if prolate basis | | ||
+ | |6 |2,3|L = 3, DK = 3 if prolate basis | | ||
+ | |7 |any|TYP=0 * cos(I1*2p K< | ||
+ | |8 |any|TYP=0 * //i// sin(I1*2p K< | ||
+ | |9 |any|{N< | ||
+ | |10 |any|[N< | ||
+ | |11 |any|[N< | ||
+ | |12 |any|// | ||
+ | |||
+ | <alert type=" | ||
+ | **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 // | ||
+ | </ | ||
===== Format of the '' | ===== Format of the '' | ||
+ | |||
+ | **[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 nm< | ||
+ | > 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< | ||
+ | > 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. | ||
===== Format of the '' | ===== Format of the '' | ||
+ | |||
+ | **[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 | ||
===== Format of the '' | ===== Format of the '' | ||
- | ===== Special | + | **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< | ||
+ | > ERR = Expected error of the energy in cm< | ||
+ | > PMIX = mixing coefficient | ||
+ | > QN(6) = Quantum numbers for the state | ||
+ | |||
+ | ====== Special | ||
+ | |||
+ | 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. The operator N< | ||
+ | |||
+ | 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 selection rules under inversion). With this choice, the symmetry of rotation lines in the D< | ||
+ | |||
+ | |A |even N for S and all N for all other even l (even parity l doublet)| | ||
+ | |B(a)|odd N for S and all N for all other even l (odd parity l doublet) | ||
+ | |B(b)|all N for all odd l (even parity l doublet) | ||
+ | |B(c)|all N for all odd l (odd parity l doublet) | ||
+ | |||
+ | For S< | ||
+ | |||
+ | The g, u symmetry for an electronic state 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 A and B(b) states, while WTMN will be the weight for the other two symmetries. For S< | ||
+ | |||
+ | The correlation between parity and e,f designations follow the recommendations of J. M. Brown //et al.//, //J. Mol. Spectrosc.// | ||
+ | |||
+ | | |odd spin multiplicity | ||
+ | |e|p = (–1)< | ||
+ | |f|p = (–1)< | ||
+ | |||
+ | An example of .var file for oxygen like molecule: | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | An example of .int file for oxygen like molecule: | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | The quantum number correlations between Hund's case (b) and case (a) can be a bit confusing at first. For example in a doublet P state N=J-1/2 always correlates with W =3/2 and N=J+1/2 always correlates with W =1/2 on the basis of projection. For A < 0, e.g. OH, the projection-based correlation follows the energy ordering. For A>0, the lower energy state is N=J+1/2 and W =3/2 as long as J+1/2 < sqrt(A/2B). Above this J, N = J+1/2 and W =1/2 (based on projection) is higher in energy than and N=J-1/2 and W = 3/2. Therefore quantum number assignments based on projections lead to different quanta than those based on energy. For a triplet S state, N=J+1 correlates with S =0 based on projection, N=J correlates with an odd combination of S =1 and S =-1, and N=J-1 correlates with an even combination of S =1 and S =-1. | ||
+ | |||
+ | Since q multiplies the same operator as (B-C) / 2, it is possible to use the sign of q to determine whether there are more electrons in the ab plane (q > 0) or whether there are more electrons in the ac plane (q < 0). | ||
+ | |||
+ | Explicit approximate relationships for the parameters are: | ||
+ | |||
+ | |100100vv' | ||
+ | |100101vv' | ||
+ | |1vv' | ||
+ | |100400vv' | ||
+ | |400vv' | ||
+ | |200100vv' | ||
+ | |1200100vv' | ||
+ | |1200000vv' | ||
+ | |1200400vv' | ||
+ | |2200100vv' | ||
+ | |2200400vv' | ||
+ | |1100100vv' | ||
+ | |||
+ | The extra factors of S in the definition of the spin-spin interaction parameter l, i. e. a spin-spin interaction 2 l ( S< | ||
+ | |||
+ | ====== Special | ||
+ | |||
+ | The // | ||
+ | |||
+ | The //K// quantum numbers for // | ||
+ | |||
+ | ===== Simple Examples ===== | ||
+ | |||
+ | Example of parameter types for asymmetric rotors (assuming < 10 vibronic states): | ||
+ | |||
+ | |11 | ||
+ | |01 | ||
+ | |10000 | ||
+ | |10099 | ||
+ | |20099 | ||
+ | |30099 | ||
+ | |40099 | ||
+ | |299 |–D< | ||
+ | |1199 | ||
+ | |2000 | ||
+ | |600001 | ||
+ | |20000099 |N·I for second spin | | ||
+ | |120010099|S< | ||
+ | |220010099|1.5*c< | ||
+ | |220040099|0.25*(c< | ||
+ | |||
+ | Quadrupole and magnetic spin-spin interactions are defined to be traceless (i.e. c< | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | specifies c< | ||
+ | |||
+ | ====== Installation Instructions ====== | ||
- | ===== Special | + | 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 | ||
+ | The programs should work without modification with any ANSI compliant | ||
+ | All arrays are allocated dynamically, | ||
+ | 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. | ||
- | ===== Some Examples ===== | + | The identity of the files are: |
- | ===== Installation Instructions ===== | + | * calfit.c, calcat.c, and calmrg.c are the main programs. |
+ | * subfit.c is supplementary to calfit. | ||
+ | * ulib.c, blas.c, and cnjj.c are generic libraries. | ||
+ | * calpgm.h, cnjj.h, and blas.h are required header files. | ||
+ | * slibgcc.c contains system dependent fuctions. | ||
+ | * spinv.c contains functions for spins and multiple vibrations. The executables using this library and calfit or calcat are called SPFIT and SPCAT respectively. | ||
+ | * dpi.c is contains functions for doublet pi with a nuclear spin. The executables using this library and calfit or calcat are called DPFIT and DPCAT respectively. | ||
+ | * *.nam are parameter name files for function getlbl in subfit. They are only used to label the output from calfit. The first default directory is the current directory. The second default directory is given in an environment variable named SPECNAME. Under Unix put a line like ' | ||
+ | * blas.c contains needed LINPACK double precision Basic Linear Algebra Subroutines (these may be available on some systems in a machine coded and/or vector processor form). | ||
+ | * Makefile is the make file for the gcc compilation. | ||
+ | * spinv.html is the specific documentation for the SPFIT and SPCAT and dpi.html is the specific documentation for the DPFIT and DPCAT. |