abstract class SlaterReader extends BasisFunctionReader
Modifier and Type | Class and Description |
---|---|
(package private) class |
SlaterReader.OrbitalSorter |
(package private) class |
SlaterReader.SlaterSorter |
BasisFunctionReader.MOEnergySorter
Modifier and Type | Field and Description |
---|---|
private static double |
_1_4pi |
private static double[] |
dfact2 |
private static double[] |
fact1 |
protected SlaterData[] |
slaterArray |
protected javajs.util.Lst<SlaterData> |
slaters |
alphaBeta, CANONICAL_DC_LIST, CANONICAL_DS_LIST, CANONICAL_FC_LIST, CANONICAL_FS_LIST, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitals, shells
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, fileName, fileOffset, filePath, fileScaling, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, notionalUnitCell, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, trajectorySteps, useAltNames, validation, vibrationNumber, vibsFractional, vwr
Constructor and Description |
---|
SlaterReader() |
Modifier and Type | Method and Description |
---|---|
protected void |
addSlater(int iAtom,
int a,
int b,
int c,
int d,
double zeta,
float coef)
We build two data structures for each slater:
int[] slaterInfo[] = {iatom, a, b, c, d}
float[] slaterData[] = {zeta, coef}
where
psi = (coef)(x^a)(y^b)(z^c)(r^d)exp(-zeta*r)
Mopac: a == -2 ==> z^2 ==> (coef)(2z^2-x^2-y^2)(r^d)exp(-zeta*r)
and: b == -2 ==> (coef)(x^2-y^2)(r^d)exp(-zeta*r)
|
protected void |
addSlater(SlaterData sd,
int n) |
private static double |
fact(double f,
double zeta,
int n)
Sincere thanks to Miroslav Kohout (DGRID) for helping me get this right
-- Bob Hanson, 1/5/2010
slater scaling based on zeta, n, l, and x y z exponents.
|
protected static double |
getSlaterConstCartesian(int n,
double zeta,
int el,
int ex,
int ey,
int ez)
scales slater using double factorials involving
quantum number n, l, and xyz exponents.
|
protected static double |
getSlaterConstDSpherical(int n,
double zeta,
int ex,
int ey)
spherical scaling factors specifically for x2-y2 and z2 orbitals
see http://openmopac.net/Manual/real_spherical_harmonics.html
dz2 sqrt((1/2p)(5/8))(2cos2(q) -sin2(q)) sqrt(5/16p)(3z2-r2)/r2
dxz sqrt((1/2p)(15/4))(cos(q)sin(q))cos(f) sqrt(15/4p)(xz)/r2
dyz sqrt((1/2p)(15/4))(cos(q)sin(q))sin(f) sqrt(15/4p)(yz)/r2
dx2-y2 sqrt((1/2p)(15/16))sin2(q)cos2(f) sqrt(15/16p)(x2-y2)/r2
dxy sqrt((1/2p)(15/16))sin2(q)sin2(f) sqrt(15/4p)(xy)/r2
The fact() method returns sqrt(15/4p) for both z2 and x2-y2.
|
protected double |
scaleSlater(int ex,
int ey,
int ez,
int er,
double zeta)
Perform implementation-specific scaling.
|
protected void |
setMOs(java.lang.String units) |
protected void |
setSlaters(boolean doScale,
boolean doSort)
after the vectors intinfo and floatinfo are completed, we
|
protected void |
sortOrbitalCoefficients(int[] pointers)
sorts coefficients by atomic number for speed later
|
protected void |
sortOrbitals()
sorts orbitals by energy rather than by symmetry
so that we can use "MO HOMO" "MO HOMO - 1" "MO LUMO"
|
canonicalizeQuantumSubshellTag, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getNewDfCoefMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO
addAtomXYZSymName, addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassReader, finalizeSubclassSymmetry, forceSymmetry, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeReader, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, processDSSR, 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
protected final javajs.util.Lst<SlaterData> slaters
protected SlaterData[] slaterArray
private static final double _1_4pi
private static final double[] fact1
private static final double[] dfact2
protected final void addSlater(int iAtom, int a, int b, int c, int d, double zeta, float coef)
iAtom
- a
- b
- c
- d
- zeta
- coef
- protected void addSlater(SlaterData sd, int n)
protected final void setSlaters(boolean doScale, boolean doSort)
doScale
- doSort
- TODOprotected final void setMOs(java.lang.String units)
protected void sortOrbitalCoefficients(int[] pointers)
pointers
- protected void sortOrbitals()
protected double scaleSlater(int ex, int ey, int ez, int er, double zeta)
ex
- ey
- ez
- er
- zeta
- private static double fact(double f, double zeta, int n)
f
- zeta
- n
- protected static final double getSlaterConstCartesian(int n, double zeta, int el, int ex, int ey, int ez)
n
- zeta
- el
- ex
- ey
- ez
- protected static final double getSlaterConstDSpherical(int n, double zeta, int ex, int ey)
n
- zeta
- ex
- ey
-