org.jmol.adapter.readers.quantum
Class GaussianReader

java.lang.Object
  extended by org.jmol.adapter.smarter.AtomSetCollectionReader
      extended by org.jmol.adapter.readers.quantum.BasisFunctionReader
          extended by org.jmol.adapter.readers.quantum.MOReader
              extended by org.jmol.adapter.readers.quantum.GaussianReader

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


Field Summary
private  int calculationNumber
          The number of the calculation being interpreted.
private  java.lang.String energyKey
          Type of energy calculated, e.g., E(RB+HF-PW91).
private  java.lang.String energyString
          Calculated energy with units (if possible).
private  int equivalentAtomSets
          The number of equivalent atom sets.
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
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, CANONICAL_DC_LIST, CANONICAL_DS_LIST, CANONICAL_FC_LIST, CANONICAL_FS_LIST, dfCoefMaps, ignoreMOs, moData, nOrbitals, orbitals, shells
 
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addVibrations, ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredVibrationNumber, doApplySymmetry, doc, doCheckUnitCell, doPackUnitCell, doProcessLines, filter, filterHetero, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, next, notionalUnitCell, os, prevline, ptLine, reader, readerName, readMolecularOrbitals, spaceGroup, stateScriptVersionInt, supercell, symmetry, templateAtomCount, useAltNames, vibrationNumber, viewer
 
Constructor Summary
GaussianReader()
           
 
Method Summary
protected  boolean checkLine()
          Reads a Collection of AtomSets from a BufferedReader.
private  void readAtoms()
           
private  void readBasis()
           
(package private)  void readDipoleMoment()
           
private  void readFrequencies()
          Interprets the Harmonic frequencies section.
private  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 output
 
Methods inherited from class org.jmol.adapter.readers.quantum.MOReader
addMOData, checkNboLine, getMOHeader, getNboTypes, initializeReader, readMolecularOrbitals, setMOData, setMOType
 
Methods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
canonicalizeQuantumSubshellTag, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, isQuantumBasisSupported, setMO
 
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, applySymmetryAndSetTrajectory, checkFilter, checkLastModel, checkLineForScript, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, fillDataBlock, fillDataBlock, fillFloatArray, fillFrequencyData, filterAtom, finalizeReader, getElementSymbol, getFortranFormatLengths, getStrings, getSymmetry, getTokens, getTokens, getTokens, getTokensFloat, initializeSymmetry, isLastModel, newAtomSet, parseFloat, parseFloat, parseFloat, parseInt, parseInt, parseInt, parseInt, parseStringInfestedFloatArray, parseToken, parseToken, parseToken, parseTokenNext, parseTrimmed, parseTrimmed, processBinaryDocument, processXml, read3Vectors, readData, readLine, readLines, set2D, setAtomCoord, setAtomCoord, setFilter, setFractionalCoordinates, setIsPDB, setMOData, setPdb, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 java.lang.String energyString
Calculated energy with units (if possible).


energyKey

private java.lang.String energyKey
Type of energy calculated, e.g., E(RB+HF-PW91).


calculationNumber

private 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
Constructor Detail

GaussianReader

public GaussianReader()
Method Detail

checkLine

protected boolean checkLine()
                     throws java.lang.Exception
Reads a Collection of AtomSets from a BufferedReader.

New AtomSets are generated when an Input, Standard or Z-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 if NoSymmetry is used with a z-matrix optimization, no other orientation besides Z-Matrix will be present. This is important because Z-Matrix may have dummy atoms while the analysis of the calculation results will not, i.e., the Center 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 a Standard will be present too.

Overrides:
checkLine in class AtomSetCollectionReader
Returns:
TRUE to read a new line
Throws:
java.lang.Exception

readSCFDone

private void readSCFDone()
                  throws java.lang.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:
java.lang.Exception - If an error occurs

setEnergy

private void setEnergy()
Interpret the Energy= line for non SCF type energy output


readAtoms

private void readAtoms()
                throws java.lang.Exception
Throws:
java.lang.Exception

readBasis

private void readBasis()
                throws java.lang.Exception
Throws:
java.lang.Exception

readMolecularOrbitals

private void readMolecularOrbitals()
                            throws java.lang.Exception
Throws:
java.lang.Exception

readFrequencies

private void readFrequencies()
                      throws java.lang.Exception,
                             java.io.IOException
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.

Throws:
java.lang.Exception - If no frequences were encountered
java.io.IOException - If an I/O error occurs

readDipoleMoment

void readDipoleMoment()
                throws java.lang.Exception
Throws:
java.lang.Exception

readPartialCharges

void readPartialCharges()
                  throws java.lang.Exception
Reads partial charges and assigns them only to the last atom set.

Throws:
java.lang.Exception - When an I/O error or discardlines error occurs