AdfReader
, DgridReader
, MopacSlaterReader
abstract class SlaterReader extends BasisFunctionReader
Modifier and Type | Class | Description |
---|---|---|
(package private) class |
SlaterReader.OrbitalSorter |
|
(package private) class |
SlaterReader.SlaterSorter |
BasisFunctionReader.MOEnergySorter
Modifier and Type | Field | Description |
---|---|---|
private static double |
_1_4pi |
|
private static double[] |
dfact2 |
|
private static double[] |
fact1 |
|
protected SlaterData[] |
slaterArray |
|
protected javajs.util.Lst<SlaterData> |
slaters |
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, 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, isSequential, isTrajectory, latticeCells, latticeScaling, line, lstNCS, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitals, shells
Constructor | Description |
---|---|
SlaterReader() |
Modifier and Type | Method | 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"
|
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, fractionalizeCoordinates, 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, 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
canonicalizeQuantumSubshellTag, discardPreviousAtoms, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO
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
-