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 booleanprivate booleanprivate intFields 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, is2D, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noHydrogens, noPack, optimize2D, 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 booleanprotected void(package private) voidReads the section in MOPAC files with atomic charges.(package private) voidReads the section in MOPAC files with cartesian coordinates.(package private) voidprivate voidInterprets 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:
initializeReaderin classAtomSetCollectionReader- Throws:
Exception
-
checkLine
- Overrides:
checkLinein 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.9079They 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.0000In 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.02447The 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
-