org.jmol.adapter.readers.quantum
Class AdfReader

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.SlaterReader
              extended by org.jmol.adapter.readers.quantum.AdfReader

public class AdfReader
extends SlaterReader

TODO: adf-2007.out causes failure reading basis functions A reader for ADF output. Amsterdam Density Functional (ADF) is a quantum chemistry program by Scientific Computing & Modelling NV (SCM) (http://www.scm.com/).

Molecular coordinates, energies, and normal coordinates of vibrations are read. Each set of coordinates is added to the ChemFile in the order they are found. Energies and vibrations are associated with the previously read set of coordinates.

This reader was developed from a small set of example output files, and therefore, is not guaranteed to properly read all ADF output. If you have problems, please contact the author of this code, not the developers of ADF.

Added note (Bob Hanson) -- 1/1/2010 -- Trying to implement reading of orbitals; ran into the problem that the atomic Slater description uses Cartesian orbitals, but the MO refers to spherical orbitals.

Version:
1.0
Author:
Bradley A. Smith (yeldar@home.com)

Nested Class Summary
(package private)  class AdfReader.SymmetryData
           
 
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.SlaterReader
SlaterReader.OrbitalSorter, SlaterReader.SlaterSorter
 
Field Summary
private  java.lang.String energy
           
private  java.util.Map<java.lang.String,AdfReader.SymmetryData> htSymmetries
           
private  int nXX
           
private  java.lang.String symLine
           
private  java.util.List<AdfReader.SymmetryData> vSymmetries
           
 
Fields inherited from class org.jmol.adapter.readers.quantum.SlaterReader
slaterArray, slaters
 
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
AdfReader()
           
 
Method Summary
private  void addMo(AdfReader.SymmetryData sd, int moPt, float occ, float energy)
           
protected  boolean checkLine()
           
private  void readCoordinates()
          Reads a set of coordinates
private  void readFrequencies()
          Reads a set of vibrations.
private  void readMolecularOrbitals(java.lang.String sym)
           
private  void readSlaterBasis()
           
private  void readSymmetries()
           
 
Methods inherited from class org.jmol.adapter.readers.quantum.SlaterReader
addSlater, addSlater, getSlaterConstCartesian, getSlaterConstDSpherical, scaleSlater, setMOs, setSlaters, sortOrbitalCoefficients, sortOrbitals
 
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, initializeReader, 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

htSymmetries

private java.util.Map<java.lang.String,AdfReader.SymmetryData> htSymmetries

vSymmetries

private java.util.List<AdfReader.SymmetryData> vSymmetries

energy

private java.lang.String energy

nXX

private int nXX

symLine

private java.lang.String symLine
Constructor Detail

AdfReader

public AdfReader()
Method Detail

checkLine

protected boolean checkLine()
                     throws java.lang.Exception
Overrides:
checkLine in class AtomSetCollectionReader
Returns:
true if need to read new line
Throws:
java.lang.Exception

readCoordinates

private void readCoordinates()
                      throws java.lang.Exception
Reads a set of coordinates

Throws:
java.lang.Exception - if an I/O error occurs

readFrequencies

private void readFrequencies()
                      throws java.lang.Exception
Reads a set of vibrations.

Throws:
java.lang.Exception - if an I/O error occurs

readSymmetries

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

readSlaterBasis

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

readMolecularOrbitals

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

addMo

private void addMo(AdfReader.SymmetryData sd,
                   int moPt,
                   float occ,
                   float energy)