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.SlaterSorter
Nested 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 boolean
protected int[]
protected static final float
static final String
protected 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
scaleSlaters
Fields 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, shellCount
Fields inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitalMaps, orbitals, shells, slaterArray, slaters
Fields 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, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noPack, 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 void
addData
(float[][] params, float[] data) Add Fortran zeta dataprotected void
When slater basis is referred to only by "AM1" "PM6" etc., as in GAMESSvoid
createMopacSlaters
(int iAtom, int atomicNumber, float[] values, boolean allowD) 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.static float[][]
getMopacAtomZetaSPD
(String type) Retrieve the MOPAC zeta(1/bohr) [s,p,d] array by atom numberprivate static final int
getNPQ
(int atomicNumber) 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 metalsprivate static final int
getNPQp
(int atomicNumber) for P orbitals, MOPAC adds 1 to n for helium onlyprivate static final int
getNPQs
(int atomicNumber) for S orbitals, MOPAC adds 1 to n for noble gases other than heliumprotected 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.void
setMOData
(boolean clearOrbitals) Methods inherited from class org.jmol.adapter.readers.quantum.SlaterReader
addSlater, addSlater, getSlaterConstCartesian, getSlaterConstDSpherical, getSlaters, setMOs, setSlaters, sortOrbitalCoefficients, sortOrbitals
Methods inherited from class org.jmol.adapter.readers.quantum.MOReader
addCoef, addMOData, checkNboLine, getMOHeader, getNboTypes, initializeReader, readMolecularOrbitals
Methods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
canonicalizeQuantumSubshellTag, clearOrbitals, discardPreviousAtoms, enableShell, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO
Methods 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:
scaleSlater
in 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:
addSlaterBasis
in 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
-
-