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
public class MopacReader extends AtomSetCollectionReader
Reads Mopac 93, 6, 7, 2002, or 2009 output files- Author:
- Egon Willighagen
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
chargesFound
private boolean
haveHeader
private int
mopacVersion
-
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, 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 Constructor Description MopacReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkLine()
protected void
initializeReader()
(package private) void
processAtomicCharges()
Reads the section in MOPAC files with atomic charges.(package private) void
processCoordinates()
Reads the section in MOPAC files with cartesian coordinates.(package private) void
processTotalEnergy()
private void
readFrequencies()
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
-
-
-
-
Method Detail
-
initializeReader
protected void initializeReader() throws java.lang.Exception
- Overrides:
initializeReader
in classAtomSetCollectionReader
- Throws:
java.lang.Exception
-
checkLine
protected boolean checkLine() throws java.lang.Exception
- Overrides:
checkLine
in classAtomSetCollectionReader
- Returns:
- true if need to read new line
- Throws:
java.lang.Exception
-
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
-
-