Class GaussianReader
- java.lang.Object
-
- org.jmol.adapter.smarter.AtomSetCollectionReader
-
- org.jmol.adapter.readers.quantum.BasisFunctionReader
-
- org.jmol.adapter.readers.quantum.MOReader
-
- org.jmol.adapter.readers.quantum.GaussianReader
-
- All Implemented Interfaces:
javajs.api.GenericLineReader
- Direct Known Subclasses:
GaussianFchkReader
public class GaussianReader extends MOReader
Reader for Gaussian 94/98/03/09 output files. 4/11/2009 -- hansonr -- added NBO support as extension of MOReader
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
BasisFunctionReader.MOEnergySorter
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allowHighPrecision
protected int
calculationNumber
The number of the calculation being interpreted.private String
energyKey
Type of energy calculated, e.g., E(RB+HF-PW91).private String
energyString
Calculated energy with units (if possible).private int
equivalentAtomSets
The number of equivalent atom sets.private boolean
haveHighPrecision
private boolean
isHighPrecision
private int
moModelSet
protected javajs.util.BS
namedSets
private String
orientation
private boolean
orientationInput
private int
scanPoint
The scan point, where -1 denotes no scan information.private static int
STD_ORIENTATION_ATOMIC_NUMBER_OFFSET
Word index of atomic number in line with atom coordinates in an orientation block.private int
stepNumber
-
Fields inherited from class org.jmol.adapter.readers.quantum.MOReader
allowNoOrbitals, energyUnits, gaussianCount, gaussians, haveNboCharges, haveNboOrbitals, HEADER_GAMESS_OCCUPANCIES, HEADER_GAMESS_ORIGINAL, HEADER_GAMESS_UK_MO, HEADER_NONE, moTypes, orbitalsRead, shellCount
-
Fields inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitalMaps, orbitals, shells
-
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, 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, modDim, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
-
Constructor Summary
Constructors Constructor Description GaussianReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addTensor(int iatom, String[] data)
protected boolean
checkLine()
Reads a Collection of AtomSets from a BufferedReader.void
finalizeSubclassReader()
optional reader-specific method run first.private void
getSpinDensities(int pt)
protected void
initializeReader()
protected void
readAtoms()
protected void
readBasis()
private void
readCouplings()
private void
readCSATensors()
(package private) void
readDipoleMoment()
protected void
readFrequencies(String key, boolean mustHave)
Interprets the Harmonic frequencies section.protected void
readMolecularOrbitals()
(package private) void
readPartialCharges()
Reads partial charges and assigns them only to the last atom set.private void
readSCFDone()
Interprets the SCF Done: section.private void
setEnergy()
Interpret the Energy= line for non SCF type energy outputprivate void
setNames(String atomSetName, javajs.util.BS namedSets, int n)
private void
setProps(String key, String value, int n)
-
Methods inherited from class org.jmol.adapter.readers.quantum.MOReader
addCoef, addMOData, checkAndRemoveFilterKey, checkNboLine, getMOHeader, getNboTypes, readMolecularOrbitals, setMOData
-
Methods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
canonicalizeQuantumSubshellTag, clearOrbitals, discardPreviousAtoms, enableShell, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO
-
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, 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 Detail
-
STD_ORIENTATION_ATOMIC_NUMBER_OFFSET
private static final int STD_ORIENTATION_ATOMIC_NUMBER_OFFSET
Word index of atomic number in line with atom coordinates in an orientation block.- See Also:
- Constant Field Values
-
energyString
private String energyString
Calculated energy with units (if possible).
-
energyKey
private String energyKey
Type of energy calculated, e.g., E(RB+HF-PW91).
-
calculationNumber
protected int calculationNumber
The number of the calculation being interpreted.
-
scanPoint
private int scanPoint
The scan point, where -1 denotes no scan information.
-
equivalentAtomSets
private int equivalentAtomSets
The number of equivalent atom sets.Needed to associate identical properties to multiple atomsets
-
stepNumber
private int stepNumber
-
moModelSet
private int moModelSet
-
namedSets
protected javajs.util.BS namedSets
-
isHighPrecision
private boolean isHighPrecision
-
haveHighPrecision
private boolean haveHighPrecision
-
allowHighPrecision
private boolean allowHighPrecision
-
orientationInput
private boolean orientationInput
-
orientation
private String orientation
-
-
Method Detail
-
initializeReader
protected void initializeReader() throws Exception
- Overrides:
initializeReader
in classMOReader
- Throws:
Exception
-
checkLine
protected boolean checkLine() throws Exception
Reads a Collection of AtomSets from a BufferedReader.New AtomSets are generated when an
Input
,Standard
orZ-Matrix
orientation is read. The occurence of these orientations seems to depend on (in pseudo-code):
if (opt=z-matrix) Z-Matrix; else Input;
if (!NoSymmetry) Standard;
Which means that ifNoSymmetry
is used with a z-matrix optimization, no other orientation besidesZ-Matrix
will be present. This is important becauseZ-Matrix
may have dummy atoms while the analysis of the calculation results will not, i.e., theCenter Numbers
in the z-matrix orientation may be different from those in the population analysis!Single point or frequency calculations always have an
Input
orientation. If symmetry is used aStandard
will be present too.- Overrides:
checkLine
in classAtomSetCollectionReader
- Returns:
- TRUE to read a new line
- Throws:
Exception
-
finalizeSubclassReader
public void finalizeSubclassReader() throws Exception
Description copied from class:AtomSetCollectionReader
optional reader-specific method run first.- Overrides:
finalizeSubclassReader
in classAtomSetCollectionReader
- Throws:
Exception
-
readSCFDone
private void readSCFDone() throws Exception
Interprets the SCF Done: section.The energyKey and energyString will be set for further AtomSets that have the same molecular geometry (e.g., frequencies). The energy, convergence, -V/T and S**2 values will be set as properties for the atomSet.
- Throws:
Exception
- If an error occurs
-
setNames
private void setNames(String atomSetName, javajs.util.BS namedSets, int n)
-
setEnergy
private void setEnergy()
Interpret the Energy= line for non SCF type energy output
-
readFrequencies
protected void readFrequencies(String key, boolean mustHave) throws Exception
Interprets the Harmonic frequencies section.The vectors are added to a clone of the last read AtomSet. Only the Frequencies, reduced masses, force constants and IR intensities are set as properties for each of the frequency type AtomSet generated.
- Parameters:
mustHave
-key
-- Throws:
Exception
- If no frequencies were encountered
-
readPartialCharges
void readPartialCharges() throws Exception
Reads partial charges and assigns them only to the last atom set.- Throws:
Exception
- When an I/O error or discardlines error occurs
-
addTensor
private void addTensor(int iatom, String[] data)
-
-