PMIFST |
Principal
Moments of Inertia
From STructure
|
This
program takes in either Cartesians or connectivity definitions of
molecular structure, calculates moments of inertia etc., and allows
viewing, 3-D rotation and structural checks.
The
original purpose has been to check the validity of structural
declarations and prediction of rotational constants, but it is now also
used as a rapid viewer for inspection of structural results from
various programs, including STRFIT and various
ab initio packages. There are many
excellent molecule viewing packages so only a rudimentary screen
viewing option is provided, although much higher-quality printable
graphics output is possible.
Principal features:
- Molecule input in Cartesians (in Angstroms or bohr) in either the .COR standard of the program or the widespread .xyz standard.
- Molecule input in internal structural coordinates, which are also used in the structure fitting program STRFIT
- Cartesian input can be extracted from CFOUR/Firefly/Gamess-US/Gaussian output
- Dummy atoms can be used to show, among
others, the orientation of the dipole moment, orientation of the
diagonal quadrupole tensor etc.
- Rotational constants of isotopic species can
be rapidly evaluated since nuclear masses are easily modified on-line
by using the mnemonics for common isotopes e.g 37Cl, 13C, etc.
- Bonds, angles, dihedral angles can be
checked, including angles between bonds and principal axes.
- Generation of STRFIT compatible connectivity entries from Cartesian input.
- High quality PDF/EPS/JPG etc.printout of molecule in the
displayed orientation is possible for those familiar with the gle graphics package.
- Script generation for the gle package can be carried out in several predefined styles: see these examples.
- Current limit on the number of atoms is 500.
The
internal coordinate (connectivity) scheme used by PMIFST has colloquially been called the CART scheme, because it was
adapted from an E.B.Wilson group program of that name.
Nevertheless, as pointed out to me by Dr Stewart Novick, it should
really be termed Thompson coordinates, which were proposed in:
H.R.Thompson, J.Chem.Phys. 47,3407-3410(1967)
Running PMIFST under Linux
|
|
The program has been tested under Ubuntu/Wine in the configuration as described for the AABS package. The installation of PMIFST is simpler than of AABS, and it is only necessary to:
- copy the pmifst.cfg file to a user created directory ~/.wine/rot
- copy the pmifst.exe file to a suitable directory such as ~/Documents/rot (this is also the suggested place for the console PROSPE programs compiled for Linux, such as STRFIT, KRA, ASFIT, VIBCA..., which do not require Wine)
|
|
|
|
|
Current version |
PMIFST.HDR |
The
header of the program listing, which contains the basic PMIFST documentation. |
PMIFST.EXE |
IVF9.1 executable. Key properties
of the graphics, i.e. window
size and the display font are now read from the file PMIFST.CFG (below).
The colour depth of the display should be at least 8 bits (256 colours).
Running conditions and installation
are identical to those discussed in connection with SVIEW
|
PMIFST.CFG |
Configuration file
for PMIFST, which has to reside
in the directory C:\ROT. |
|
Examples |
PMIFST.GIF |
Snapshot of a typical display
screen |
CUBE.COR |
Simple Cartesian data |
C70.COR |
Cartesian data in atomic units
from the ab initio world - note that bond location fails if
you read this in as Angstrom data |
PRMW.PMI |
CART type input for
pyrimidine...water complex - example of the use of mnemonics in a data file and the use of
dummy atoms |
SABKET.PMI |
CART type input - data for the
molecule which prompted creation of this program. If you want to know
whether it was studied by rotational spectroscopy, the answer is yes!
See JACS 100, 8166, 1978. |
SABKET.PS |
PostScript file produced from the gle dump of a previewed orientation of the structure in the file
above |
ALAMIDE.PDF
ALAMIDE.GLE
|
Automatic gle scripts now incorporate
configurability allowing coloured atomic circles (if desired) and
conversion to transparent background.
|
|
The automatic gle scripts generated by PMIFST now come in a set of preset flavours:
|
sabket_1.PDF
sabket_1.GLE |
Style 1: The previous black and white style (the default)
|
sabket_2.PDF
sabket_2.GLE |
Style 2: As above but with atom circles filled with the customary colour for the element
|
sabket_3.PDF
sabket_3.GLE |
Style 3: As
above but placed on a colored background. This is somewhat garish
on pupose and is intended to be made transparent, for example, on
importing the diagram into a presentation
|
sabket_4.PDF
sabket_4.GLE |
Style 4: With partial transparency to more easily spot what is in the foreground and what is in the background (including dummy atoms)
|
sabket_5.PDF
sabket_5.GLE |
Style 5: With greyscale chosen depending on how far the object is from the viewer (lightest = closest, black = furthest away).
Dummy atoms are in this case drawn in the foreground but are assigned
different colours depending on whether they are behind or in front of
other atoms.
|
sabket_2a.PDF
sabket_2a.GLE |
Modified style 2 output with numbering of all atoms
obtained by editing the PLOT CUSTOMISATION block at the top of the .gle
script to labelh=2 and labela=2
|
|
Each style is just meant to be a preset, which can be further tweaked either with the options in the gle output screen of PMIFST, or directly in the script.
|
|
|
|
Legacy versions |
PMIFST_5.FOR |
The final version for
MSF5/VGA graphics |
PMIFST_5.EXE |
Executable for the
above - it should run on all versions of DOS/WIN which allow full
screen MS-DOS mode |
|
|
|
Back
to the table of programs
STRFIT |
STRucture
FITting to rotational data
|
This
program was originally written for determination of effective
structures of hydrogen bonded complexes. It is based on the principles
outlined by R.H.Schwendeman in "Structural parameters from
rotational spectra", a chapter in "Critical evaluation of
chemical and physical structural information", D.R.Lide and
M.A.Paul, Eds., National Academy of Science, Washington, D.C. (1974).
For a similar approach see also: P.Nosberger,A.Bauder, and
Hs.H.Gunthard, "A versatile method for molecular structure
determinations from ground state rotational constants", Chem.
Phys. 1, 418-425 (1973).
Although the program has been very useful in determination of partial
geometries, it can also be used for complete geometry determination.
When I wrote this program it was natural for me to call it STRFIT, and
I only found out much later that this is the same name that Schwendeman
chose for one of his programs (the chapter in Lide+Paul, p.107) -
apologies for any confusion. In any case the current program has been
written completely independently of its namesake.
This
program can currently fit the following types of geometry:
- r0 - from a direct fit
to the supplied ground state constants
- rz (r*
or rav) - from fit to supplied ground state constants and harmonic
vibration-rotation contributions to moments of inertia calculated with
a program like VIBCA
- reSE (semi experimental equilibrium) -
from fit
to experimental ground state constants corrected by (Be-B0) vibration-rotation contributions and also the electronic Bel contributions from the rotational g-tensor
- r0av
or similar corrected geometry from fit to supplied ground state
constants and inertial and structural vibration-rotation corrections
from an external model
- rm(1),
rm(2) , rm(1L),
rm(2L), etc. - see
J.K.G. Watson, A. Roytburg., W. Ulrich, J. Mol. Spectrosc. 196,
102-119 (1999).
Principal features:
- internal coordinates (bond lengths and
angles) are fitted directly to moments of inertia (not
rotational constants) in a nonlinear least-squares procedure
- rotational constants from many isotopically
substituted species can be used simultaneously, it is also possible to
fit to linear combinations B+C and A+B
of rotational constants, as well as to planar moments of inertia
- the geometry is declared in the same
connectivity scheme that is used by PMIFST
and can be
checked by using that program
- the fitted structure is echoed to file MOLNAM.PMI for
direct inspection with PMIFST, and to file MOLNAM.XYZ for use with other structure viewing programs
- degenerate internal parameters (i.e. those
which have many repetitions owing to symmetry) are easily specified
- isotopic changes in structural parameters
can be specified when sensible
- any parameter that can be fitted can also be
fixed at an assumed value if desired and rotational constants can also be declared but excluded from fit
Following
the extension of the program to fit the various rm(
) geometries of Watson the current reference for citing the use
of STRFIT is: Z. Kisiel, J. Mol. Spectrosc. 218,
58-67 (2003).
|
|
|
STRFIT.FOR |
The
listing. A detailed description of the
input file is contained in the header preceding
the actual code, and it is also available separately as STRFIT_INPUT.PDF
It is recommended that the extension .STF be reserved for the data.
|
STRFIT.EXE |
The executable for
Win32 systems.
|
strfit |
Linux (= Ubuntu 18.04) executable compiled with gfortran (v7) using the command:
gfortran -fno-automatic strfit.for -o strfit
NOTE: It has been reported to me that gfortran v9 from 2019 (run with the command line above) produces multiple warnings concerning "Fortran 2018 deleted features" in STRFIT code, although I also understand that a correctly working code is still produced.
|
|
If you plan to compile the program yourself then please note that it
depends on the use of static memory
allocation.
|
|
Examples |
OCSe.STF
and OCSe.RES |
The data and results files
reproducing the rm(2)
fit for OCSe from Table 6 of the Watson, Roytburg, Ulrich paper. |
HCN.STF
and HCN.RES |
Reproduction of the rm(1L)
fit for HCN from Table 7 of the Watson, Roytburg, Ulrich paper.
Note the use of commenting in the data file: any
number of comment lines beginning with a !
character are allowed before any line declaring a repeat count (such as
NO OF PARAMETERS).
These comments are echoed to the output.
Annotations are also allowed past the 52nd column
of all data lines past the CART block - those are simply ignored on
input and will not be echoed to output.
|
H2O.STF
and H2O.RES |
Reproduction of the 'with cab'
rm(2L)
fit for H2O from Table 5 of the
Watson, Roytburg, Ulrich paper |
O3.STF
and O3.RES |
Reproduction of the rm(2)
fit for ozone from Table 8 of the Watson, Roytburg, Ulrich paper. The
solution is very well defined and there is no need to preset the values
of any of the c or d parameters. |
HNCO.STF,
HNCO.RES |
Reproduction of the rm(2)
fit for HNCO from Table 9 of the Watson, Roytburg, Ulrich paper |
H2CCC.STF,
H2CCC.RES |
Reproduction of the rm(2)
fit for H2CCC from Table 10 of the
Watson, Roytburg, Ulrich paper |
H2OHCL.STF,
H2OHCL.RES |
The data and results files for the rm(L) fit for H2O...HCl from column V, Table 6 of
Z.Kisiel, J.Mol.Spectrosc. 218,
58-67 (2003). |
jpca2015.stf, jpca2015.out |
NEW: The data set for pyrazole aiming to reproduce the results obtained in Csaszar et al., J.Phys.Chem.A 119,1731(2015).
That paper nicely demonstrates for several planar molecules the effect, first, of the vibration-rotation (Be-B0) correction and, second, of the electronic Bel
correction. This is done by monitoring successive decrease in the
magnitudes of the inertial defect values. The fits therein are
made employing somewhat different fitting strategy and an independent
computer program. Direct comparison with STRFIT shows practically identical statistics and differences in fitted parameters within the cited error bounds.
|
|
Older examples |
CHLPROP.STF |
The data set for
chloropropane (8 isotopomers), set up on the basis of
Tobiason+Schwendeman J.Chem.Phys. 40,1014(1964) |
CHLPROP.RES |
Abbreviated results
file for the above, which can be compared with the results in Table 2
of the Schwendeman chapter in the Lide, Paul book |
CHEX.STF |
The data set for
cyclohexane as set up in J.Mol.Struct. 350,
247 (1995) - note the use of dummy atoms and repeated coordinates |
W2HCL.STF |
Data set for the
hydrogen bonded trimer (H2O)2HCl - to fit the r*
geometry as published in J. Chem. Phys. 112,
5767-5776 (2000). The necessary corrections are obtained with: GAMESS -> FCONV -> VIBCA. |
|
|
|
Back to the
table of programs
KRA |
KRAitchman's
substitution coordinates
|
KRA
embodies a standard implementation of Kraitchman's equations for single
isotopic substitution. The equations are directly out of Gordy &
Cook, and the programmed possibilities are:
- on axis substitution in a linear/symmetric
top
- off-axis substitution in a symmetric top
- substitution in an inertial plane of an
asymmetric top with several options of using the planarity condition
- general substitution in an asymmetric rotor
Errors in the determined coordinates are calculated from propagation of
uncertainties in the measured rotational constants, and then the
usually much larger Costain's error is added (ie. dz=0.0015/|z|
Angstr., see C.C.Costain, Trans.Am.Crystallogr.Assoc. 2,
157-164(1966)).
Tables of reasonably current isotopic weights are included in listings of both PMIFST and KRA, and current values can be obtained from NIST. Specific isotopic difference values necessary for use in KRA are also listed below:
M.parent (u) M.isot
(u)
Delta.M (u)
1.H
= 1.00782503207
2.H = 2.0141017778 1.0062767
3.H = 3.0160492777 2.0082242
12.C =
12.
13.C = 13.0033548378 1.0033548
14.N =
14.0030740048 15.N =
15.0001088982 0.9970349
16.O =
15.99491461956 17.O =
16.99913170 1.0042171
18.O = 17.9991610
2.0042464
20.Ne =
19.9924401754 21.Ne =
20.99384668 1.0014065
22.Ne = 21.991385114 1.9989449
28.Si = 27.9769265325 29.Si = 28.976494700 0.9995682
30.Si = 29.97377017 1.9968436
32.S =
31.97207100
33.S = 32.97145876 0.9993878
34.S = 33.96786690 1.9957959
36.S = 35.96708076 3.9950098
35.Cl =
34.96885268 37.Cl =
36.96590259 1.9970499
40.Ar = 39.9623831225 36.Ar = 35.967545106 -3.9948380
38.Ar = 37.9627324 -1.9996507
79.Br =
78.9183371
81.Br = 80.9162906 1.9979535
|
|
|
KRA.FOR |
The
listing, containing a detailed description of the structure of the data file.
The data is best kept in a file with extension .KRA, and the output
is made to MOLNAM_KRA.OUT for an input file MOLNAM.KRA.
A second output file, MOLNAM_KRA.EVA, is generated and is a stub version of input for the EVAL program.
|
KRA_README.PDF |
Documentation (also duplicated in the text block at the top of the listing)
|
KRA.EXE |
Win32 executable |
|
|
PRM.KRA |
The data set for pyrimidine (4
isotopologues), as in J.Mol.Spectrosc. 195,
332-339(1999)
NOTE that in this version the rotational constants and their uncertainties are to be specified in columnar form, which is more convenient for pasting between programs.
|
PRM_KRA.OUT |
Output for the above input. |
|
|
|
Legacy version (prior to October2012):
|
KRA_OLD.FOR
KRA_OLD.EXE
|
Source and executable.
|
PRM_OLD.KRA
KRA.OUT |
Input and output for the previous, horizontal, specification of rotational constants and their errors.
|
|
|
|
|
|
Back to the
table of programs
EVAL |
EVALuation
of internals from Cartesians
|
EVAL was written as a companion program to KRA and was to provide a tool to convert Cartesians and their cited errors into standard structural internals
and their errors. It is also possible to paste into the EVAL input file a suitable output block from STRFIT in order to evaluate those internals that are not explicit parameters of fit.
It is now also possible to use EVAL to evaluate several other geometrical relationships
between the declared Cartesian centres. The type of evaluation is
specified by means of a parameter descriptor followed by the numbers of
the relevant Cartesian centres. The available parameter descriptor
values are:
- 1 = point to point distance (bond length)
- 2 = angle
- 3 = dihedral angle
- -1 = equation of a plane
- -2 = angle between two planes
- -3 = angle between a plane and a line
- -4 = angle between two lines
- -5 = plane to point (perpendicular) distance
- -6 = line to point (perpendicular) distance
|
|
|
EVAL.FOR |
The listing, which contains documentation at the top.
The input data file data is best
assigned extension .EVA.
Output is to screen and to EVAL.OUT.
WARNING:
The EVAL uncertainties are evaluated by assuming that
the correlation
matrix is a unit
matrix.
The EVAL uncertainties may thus differ significantly
(but typically by not more than 30% either way)
from uncertainties in explicitly fitted internals
corresponding to the input Cartesians.
|
EVAL.EXE |
Windows executable |
|
|
PRM.EVA |
The data set for pyrimidine, which
has been derived from a prior run of KRA |
EVAL.OUT |
Output for the above |
|
|
|
CORSCL |
Scaling of trial
molecular geometry declared in Cartesian coordinates
|
The
main purpose of this program is to enhance the accuracy of prediction
of rotational spectra for isotopic species of a molecule before its
precise geometry has been determined.
The
program allows scaling of ab initio, or any other, trial geometry for
the molecule to best reproduce experimental rotational constants. The
resulting scaled geometry can then be used directly as input to the PMIFST program.
Two modes of operation are possible:
- Scaling with a single global scaling factor for best average reproduction of experimental moments of inertia.
- Exact scaling using separate scaling factors derived for each axis by comparing planar moments. New: This option also allows automated prediction of rotational constants for singly and doubly substituted isotopic species of several common elements.
|
|
|
CORSCL.FOR |
The
listing. |
CORSCL.EXE |
TheWindows
executable. Input is from two files:
1/ user specified file containing
the trial geometry in the .COR standard of PMIFST.
2/ a single line ASCII file named CORSCL.INP, which
contains the values of rotational constants A,B,C
(in MHz) for the declared isotopic species
|
|
|
CAMPH.COR |
The sample input file
with trial geometry of the camphor molecule from an ab initio
calculation. |
CORSCL.INP |
Experimental
rotational constants for the isotopic species declared in the file
above. |
CORSCL.OUT |
The
output file obtained using option -2 of CORSCL and specification that singly substituted 13C species are to be predicted.
|
CORSCL1.OUT |
The output file saved with option -1 of CORSCL after a session, which
established that best overall reproduction of experimental moments of
inertia is with scaling factor of 1.0025. Note that this may not be the
most useful way of scaling as, for example, for a prolate molecule you
might want to aim for best reproduction of B and C,
and might not care that much about A.
You can check these results for camphor against the
actual experimental isotopic values in PCCP 5,820(2003)
|
|
|
|
Back
to the table of programs
RGDFIT |
FITting
of coordinates of a RareGas
atom in a Dimer with a
molecule
|
This
program embodies the simple idea that formation of a dimer between a
molecule and a rare-gas atom is equivalent to adding a point mass to
the molecule, so that coordinates of the added atom can be calculated
from the moments of inertia of the molecule and of the dimer. The
geometry of the molecule is not explicitly required in this step. The
downside is of course sensitivity of the derived coordinates to
unavoidable vibration-rotation contributions to moments of inertia, but
if these can be subtracted, the reliability will increase.
Exposition of the method has been given in Suenram, Fraser, Lovas, J.Chem.Phys.
89,6141(1988) and this particular program has
been used to obtain the results reported in Kisiel, Fowler, Legon, J.Chem.Phys.
95,2283(1991).
|
|
|
RGDFIT.FOR |
The
listing, input is from a file specified by the user (it is recommended
to use the molecule name as file name, and Rg name for extension).
Output is to screen, and a printable copy is also written to file RGDFIT.OUT |
RGDFIT.EXE |
Windows executable |
|
|
VINF.AR |
Specimen data for the Vinyl
Fluoride-Argon dimer - in this case there is a particularly high
sensitivity of results to the input data, Ar complexes to more heavily
fluorinated ethylene gave more reliable results. See the discussion in
the KFL paper. |
RGDFIT.OUT |
The output for the data above.
Note that for a general molecule there are eight solutions to the
position of the Rg atom - the printout assumes that the molecule is
planar and lists only the four distinguishable solutions for such case
- the other four solutions can be obtained by changing the sign of the Z-coordinate. |
|
|
|
Back
to the table of programs
|