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  String energy
           
private  Hashtable htSymmetries
           
private  int nXX
           
private  String symLine
           
private  List 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, doCheckUnitCell, doProcessLines, filter, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveSymmetryOperators, iHaveUnitCell, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, next, notionalUnitCell, os, prevline, ptLine, reader, readerName, readMolecularOrbitals, spaceGroup, symmetry, templateAtomCount, 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(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, getDFMap, isQuantumBasisSupported, setMO
 
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, applySymmetryAndSetTrajectory, checkFilter, checkLastModel, checkLineForScript, checkLineForScript, clearLatticeParameters, cloneLastAtomSet, discardLines, 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, readAtomSetCollectionFromDOM, readData, readLine, set2D, setAtomCoord, setAtomCoord, setFilter, setFractionalCoordinates, setMOData, 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 Hashtable htSymmetries

vSymmetries

private List vSymmetries

energy

private String energy

nXX

private int nXX

symLine

private String symLine
Constructor Detail

AdfReader

public AdfReader()
Method Detail

checkLine

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

readCoordinates

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

Throws:
Exception - if an I/O error occurs

readFrequencies

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

Throws:
Exception - if an I/O error occurs

readSymmetries

private void readSymmetries()
                     throws Exception
Throws:
Exception

readSlaterBasis

private void readSlaterBasis()
                      throws Exception
Throws:
Exception

readMolecularOrbitals

private void readMolecularOrbitals(String sym)
                            throws Exception
Throws:
Exception

addMo

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