org.jmol.adapter.readers.quantum
Class MopacSlaterReader

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.MopacSlaterReader
Direct Known Subclasses:
CsfReader, MoldenReader, MopacGraphfReader, WebMOReader

abstract class MopacSlaterReader
extends SlaterReader

Author:
hansonr

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.SlaterReader
SlaterReader.OrbitalSorter, SlaterReader.SlaterSorter
 
Field Summary
protected  int[] atomicNumbers
           
protected static float MIN_COEF
           
private static int[] npqd
           
private static int[] principalQuantumNumber
           
private static int[] sphericalDValues
           
 
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
MopacSlaterReader()
           
 
Method Summary
protected  void createSphericalSlaterByType(int iAtom, int atomicNumber, String type, float zeta, float coef)
          We have the type as a string and need to translate that to exponents for x, y, z, and r.
private static int getNPQ(int atomicNumber)
           
private static int getNPQd(int atomicNumber)
          for D orbitals, MOPAC adds 1 to n for noble gases but subtracts 1 from n for transition metals
private static int getNPQp(int atomicNumber)
          for P orbitals, MOPAC adds 1 to n for helium only
private static int getNPQs(int atomicNumber)
          for S orbitals, MOPAC adds 1 to n for noble gases other than helium
protected  double scaleSlater(int ex, int ey, int ez, int er, double zeta)
          overrides method in SlaterReader to allow for MOPAC's treatment of the radial exponent differently depending upon position in the periodic table -- noble gases and transition metals and for the fact that these are spherical functions (5D, not 6D) ignores any F orbitals.
 
Methods inherited from class org.jmol.adapter.readers.quantum.SlaterReader
addSlater, addSlater, getSlaterConstCartesian, getSlaterConstDSpherical, 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, checkLine, 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

MIN_COEF

protected static final float MIN_COEF
See Also:
Constant Field Values

atomicNumbers

protected int[] atomicNumbers

sphericalDValues

private static final int[] sphericalDValues

principalQuantumNumber

private static final int[] principalQuantumNumber

npqd

private static final int[] npqd
Constructor Detail

MopacSlaterReader

MopacSlaterReader()
Method Detail

createSphericalSlaterByType

protected void createSphericalSlaterByType(int iAtom,
                                           int atomicNumber,
                                           String type,
                                           float zeta,
                                           float coef)
We have the type as a string and need to translate that to exponents for x, y, z, and r. No F here.

Parameters:
iAtom -
atomicNumber -
type -
zeta -
coef -

scaleSlater

protected double scaleSlater(int ex,
                             int ey,
                             int ez,
                             int er,
                             double zeta)
overrides method in SlaterReader to allow for MOPAC's treatment of the radial exponent differently depending upon position in the periodic table -- noble gases and transition metals and for the fact that these are spherical functions (5D, not 6D) ignores any F orbitals.

Overrides:
scaleSlater in class SlaterReader
Parameters:
ex -
ey -
ez -
er -
zeta -
Returns:
scaling factor

getNPQ

private static final int getNPQ(int atomicNumber)

getNPQs

private static final int getNPQs(int atomicNumber)
for S orbitals, MOPAC adds 1 to n for noble gases other than helium

Parameters:
atomicNumber -
Returns:
adjusted principal quantum number

getNPQp

private static final int getNPQp(int atomicNumber)
for P orbitals, MOPAC adds 1 to n for helium only

Parameters:
atomicNumber -
Returns:
adjusted principal quantum number

getNPQd

private static final int getNPQd(int atomicNumber)
for D orbitals, MOPAC adds 1 to n for noble gases but subtracts 1 from n for transition metals

Parameters:
atomicNumber -
Returns:
adjusted principal quantum number