Package org.jmol.adapter.readers.quantum
Class MopacSlaterReader
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.SlaterReader
org.jmol.adapter.readers.quantum.MopacSlaterReader
- All Implemented Interfaces:
javajs.api.GenericLineReader
- Direct Known Subclasses:
CsfReader,GamessReader,MoldenReader,MopacGraphfReader,WebMOReader
- Author:
- hansonr <hansonr@stolaf.edu>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.SlaterReader
SlaterReader.OrbitalSorter, SlaterReader.SlaterSorterNested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
BasisFunctionReader.MOEnergySorter -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final float[]Data from MOPAC F90 source parameters_for_xxx_C.F90 for use in GamessReader.private static final float[]private static final float[]private static final float[]private static final float[]private static final float[]protected booleanprotected int[]protected static final floatstatic final Stringprotected float[][]GAMESS may need AM1, PMn, or RM1 zeta/coef dataprivate static final int[]private static final int[]private static final int[]Fields inherited from class org.jmol.adapter.readers.quantum.SlaterReader
scaleSlatersFields inherited from class org.jmol.adapter.readers.quantum.MOReader
allowNoOrbitals, energyUnits, forceMOPAC, gaussianCount, gaussians, haveNboCharges, haveNboOrbitals, HEADER_GAMESS_OCCUPANCIES, HEADER_GAMESS_ORIGINAL, HEADER_GAMESS_UK_MO, HEADER_NONE, lastMoData, moTypes, orbitalsRead, shellCountFields inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitalMaps, orbitals, shells, slaterArray, slatersFields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allow_a_len_1, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, baseBondIndex, binaryDoc, bsFilter, bsModels, calculationType, CELL_TYPE_CONVENTIONAL, CELL_TYPE_PRIMITIVE, centroidPacked, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterAllHetero, filterCased, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, is2D, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noHydrogens, noPack, optimize2D, out, packingError, paramsCentroid, paramsLattice, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, slabXY, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddData(float[][] params, float[] data) Add Fortran zeta dataprotected voidWhen slater basis is referred to only by "AM1" "PM6" etc., as in GAMESSvoidcreateMopacSlaters(int iAtom, int atomicNumber, float[] values, boolean allowD) protected voidcreateSphericalSlaterByType(int iAtom, int atomicNumber, String type, double zeta, float coef) We have the type as a string and need to translate that to exponents for x, y, z, and r.static float[][]getMopacAtomZetaSPD(String type) Retrieve the MOPAC zeta(1/bohr) [s,p,d] array by atom numberprivate static final intgetNPQ(int atomicNumber) private static final intgetNPQd(int atomicNumber) for D orbitals, MOPAC adds 1 to n for noble gases but subtracts 1 from n for transition metalsprivate static final intgetNPQp(int atomicNumber) for P orbitals, MOPAC adds 1 to n for helium onlyprivate static final intgetNPQs(int atomicNumber) for S orbitals, MOPAC adds 1 to n for noble gases other than heliumprotected doublescaleSlater(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.voidsetMOData(boolean clearOrbitals) Methods inherited from class org.jmol.adapter.readers.quantum.SlaterReader
addSlater, addSlater, getSlaterConstCartesian, getSlaterConstDSpherical, getSlaters, setMOs, setSlaters, sortOrbitalCoefficients, sortOrbitalsMethods inherited from class org.jmol.adapter.readers.quantum.MOReader
addCoef, addMOData, checkNboLine, getMOHeader, getNboTypes, initializeReader, readMolecularOrbitalsMethods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
canonicalizeQuantumSubshellTag, clearOrbitals, discardPreviousAtoms, enableShell, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMOMethods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassReader, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFilterWithCase, 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 Details
-
MIN_COEF
protected static final float MIN_COEF- See Also:
-
atomicNumbers
protected int[] atomicNumbers -
mopacBasis
protected float[][] mopacBasisGAMESS may need AM1, PMn, or RM1 zeta/coef data -
allowMopacDCoef
protected boolean allowMopacDCoef -
principalQuantumNumber
private static final int[] principalQuantumNumber -
npqd
private static final int[] npqd -
sphericalDValues
private static final int[] sphericalDValues -
mopacParams
-
MOPAC_TYPES
- See Also:
-
_AM1_C
static final float[] _AM1_CData from MOPAC F90 source parameters_for_xxx_C.F90 for use in GamessReader. Values are 1/Bohr Bob Hanson 2021.03.16 -
_MNDO_C
private static final float[] _MNDO_C -
_PM3_C
private static final float[] _PM3_C -
_PM6_C
private static final float[] _PM6_C -
_PM7_C
private static final float[] _PM7_C -
_RM1_C
private static final float[] _RM1_C
-
-
Constructor Details
-
MopacSlaterReader
MopacSlaterReader()
-
-
Method Details
-
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:
scaleSlaterin classSlaterReader- Parameters:
ex-ey-ez-er-zeta-- Returns:
- scaling factor
-
setMOData
public void setMOData(boolean clearOrbitals) -
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
-
addSlaterBasis
protected void addSlaterBasis()When slater basis is referred to only by "AM1" "PM6" etc., as in GAMESS- Overrides:
addSlaterBasisin classMOReader
-
createMopacSlaters
public void createMopacSlaters(int iAtom, int atomicNumber, float[] values, boolean allowD) -
createSphericalSlaterByType
protected void createSphericalSlaterByType(int iAtom, int atomicNumber, String type, double 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-
-
getMopacAtomZetaSPD
Retrieve the MOPAC zeta(1/bohr) [s,p,d] array by atom number- Parameters:
type-- Returns:
- [[zs,zp,zd],[zs,zp,zd]...] where [1] is for hydrogen, [6] is for carbon, etc.
-
addData
private static void addData(float[][] params, float[] data) Add Fortran zeta data- Parameters:
params-data-
-