Package org.jmol.adapter.readers.simple
Class MopacReader
java.lang.Object
org.jmol.adapter.smarter.AtomSetCollectionReader
org.jmol.adapter.readers.simple.MopacReader
- All Implemented Interfaces:
javajs.api.GenericLineReader
Reads Mopac 93, 6, 7, 2002, or 2009 output files
- Author:
- Egon Willighagen <egonw@jmol.org>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private int
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allow_a_len_1, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, baseBondIndex, binaryDoc, bsFilter, bsModels, calculationType, CELL_TYPE_CONVENTIONAL, CELL_TYPE_PRIMITIVE, centroidPacked, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterAllHetero, filterCased, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noPack, out, packingError, paramsCentroid, paramsLattice, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, slabXY, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
protected void
(package private) void
Reads the section in MOPAC files with atomic charges.(package private) void
Reads the section in MOPAC files with cartesian coordinates.(package private) void
private void
Interprets the Harmonic frequencies section.Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassReader, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFilterWithCase, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR
-
Field Details
-
chargesFound
private boolean chargesFound -
haveHeader
private boolean haveHeader -
mopacVersion
private int mopacVersion
-
-
Constructor Details
-
MopacReader
public MopacReader()
-
-
Method Details
-
initializeReader
- Overrides:
initializeReader
in classAtomSetCollectionReader
- Throws:
Exception
-
checkLine
- Overrides:
checkLine
in classAtomSetCollectionReader
- Returns:
- true if need to read new line
- Throws:
Exception
-
processTotalEnergy
void processTotalEnergy() -
processAtomicCharges
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:
Exception
-
processCoordinates
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:
Exception
-
readFrequencies
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:
Exception
- If an I/O error occurs
-