org.jmol.adapter.readers.more
Class MopacReader
java.lang.Object
org.jmol.adapter.smarter.AtomSetCollectionReader
org.jmol.adapter.readers.more.MopacReader
public class MopacReader
- extends AtomSetCollectionReader
Reads Mopac 93, 97 or 2002 output files, but was tested only
for Mopac 93 files yet. (Miguel tweaked it to handle 2002 files,
but did not test extensively.)
- Author:
- Egon Willighagen
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader |
ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, bsFilter, bsModels, calculationType, doApplySymmetry, filter, getHeader, haveAtomFilter, havePartialChargeFilter, htParams, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveSymmetryOperators, iHaveUnitCell, isTrajectory, latticeCells, line, modelNumber, needToApplySymmetry, next, prevline, reader, readerName, spaceGroup, templateAtomCount |
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader |
addJmolScript, addPrimitiveLatticeVector, addSites, applySymmetryAndSetTrajectory, checkLineForScript, checkLineForScript, clearLatticeParameters, deducePdbElementSymbol, discardLines, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, fillDataBlock, filterAtom, filterAtom, getElementSymbol, getStrings, getTokens, getTokens, getTokens, getTokensFloat, isLastModel, newAtomSet, parseFloat, parseFloat, parseFloat, parseInt, parseInt, parseInt, parseInt, parseToken, parseToken, parseToken, parseTokenNext, parseTrimmed, parseTrimmed, readAtomSetCollectionFromDOM, readData, readData, readLine, readLineTrimmed, setAtomCoord, setAtomCoord, setError, setFractionalCoordinates, setMOData, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
baseAtomIndex
int baseAtomIndex
chargesFound
private boolean chargesFound
MopacReader
public MopacReader()
readAtomSetCollection
public void readAtomSetCollection(java.io.BufferedReader reader)
- Specified by:
readAtomSetCollection
in class AtomSetCollectionReader
processTotalEnergy
void processTotalEnergy()
processAtomicCharges
void processAtomicCharges()
throws java.lang.Exception
- Reads the section in MOPAC files with atomic charges.
These sections look like:
NET ATOMIC CHARGES AND DIPOLE CONTRIBUTIONS
ATOM NO. TYPE CHARGE ATOM ELECTRON DENSITY
1 C -0.077432 4.0774
2 C -0.111917 4.1119
3 C 0.092081 3.9079
They are expected to be found in the file before the
cartesian coordinate section.
- Throws:
java.lang.Exception
processCoordinates
void processCoordinates()
throws java.lang.Exception
- Reads the section in MOPAC files with cartesian coordinates.
These sections look like:
CARTESIAN COORDINATES
NO. ATOM X Y Z
1 C 0.0000 0.0000 0.0000
2 C 1.3952 0.0000 0.0000
3 C 2.0927 1.2078 0.0000
In a MOPAC2002 file the columns are different:
CARTESIAN COORDINATES
NO. ATOM X Y Z
1 H 0.00000000 0.00000000 0.00000000
2 O 0.95094500 0.00000000 0.00000000
3 H 1.23995160 0.90598439 0.00000000
- Throws:
java.lang.Exception
readFrequencies
private void readFrequencies()
throws java.lang.Exception
- Interprets the Harmonic frequencies section.
THE LAST 6 VIBRATIONS ARE THE TRANSLATION AND ROTATION MODES
THE FIRST THREE OF THESE BEING TRANSLATIONS IN X, Y, AND Z, RESPECTIVELY
NORMAL COORDINATE ANALYSIS
ROOT NO. 1 2 3 4 5 6
370.51248 370.82204 618.03031 647.68700 647.74806 744.32662
1 0.00002 0.00001 -0.00002 -0.05890 0.07204 -0.00002
2 0.00001 -0.00006 -0.00001 0.01860 0.13517 0.00000
3 0.00421 -0.11112 0.06838 -0.00002 -0.00003 -0.02449
4 0.00002 0.00001 -0.00002 -0.04779 0.07977 -0.00001
5 -0.00002 0.00002 0.00001 0.13405 -0.02908 0.00004
6 -0.10448 0.05212 -0.06842 -0.00005 -0.00002 -0.02447
The vectors are added to a clone of the last read AtomSet. Only the
Frequencies are set as properties for each of the frequency type AtomSet
generated.
- Throws:
java.lang.Exception
- If an I/O error occurs