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
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
-
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
BasisFunctionReader.MOEnergySorter
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static float[]
_AM1_C
Data from MOPAC F90 source parameters_for_xxx_C.F90 for use in GamessReader.private static float[]
_MNDO_C
private static float[]
_PM3_C
private static float[]
_PM6_C
private static float[]
_PM7_C
private static float[]
_RM1_C
protected boolean
allowMopacDCoef
protected int[]
atomicNumbers
protected static float
MIN_COEF
static java.lang.String
MOPAC_TYPES
protected float[][]
mopacBasis
GAMESS may need AM1, PMn, or RM1 zeta/coef dataprivate static java.util.Map<java.lang.String,float[][]>
mopacParams
private static int[]
npqd
private static int[]
principalQuantumNumber
private static int[]
sphericalDValues
-
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, centroidPacked, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, 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, modDim, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, paramsCentroid, paramsLattice, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
-
Constructor Summary
Constructors Constructor Description MopacSlaterReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
addData(float[][] params, float[] data)
Add Fortran zeta dataprotected void
addSlaterBasis()
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, java.lang.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(java.lang.String type)
Retrieve the MOPAC zeta(1/bohr) [s,p,d] array by atom numberprivate 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 metalsprivate static int
getNPQp(int atomicNumber)
for P orbitals, MOPAC adds 1 to n for helium onlyprivate static 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, 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 Detail
-
MIN_COEF
protected static final float MIN_COEF
- See Also:
- Constant Field Values
-
atomicNumbers
protected int[] atomicNumbers
-
mopacBasis
protected float[][] mopacBasis
GAMESS 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
private static java.util.Map<java.lang.String,float[][]> mopacParams
-
MOPAC_TYPES
public static final java.lang.String MOPAC_TYPES
- See Also:
- Constant Field Values
-
_AM1_C
static final float[] _AM1_C
Data 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
-
-
Method Detail
-
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
-
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, java.lang.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
public static float[][] getMopacAtomZetaSPD(java.lang.String type)
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
-
-
-