org.jmol.quantum
Class MOCalculation
java.lang.Object
org.jmol.quantum.QuantumCalculation
org.jmol.quantum.MOCalculation
- All Implemented Interfaces:
- MOCalculationInterface
public class MOCalculation
- extends QuantumCalculation
- implements MOCalculationInterface
Fields inherited from class org.jmol.quantum.QuantumCalculation |
atomIndex, bohr_per_angstrom, doDebug, nX, nY, nZ, originBohr, qmAtoms, rangeBohrOrAngstroms, stepBohr, thisAtom, unitFactor, volume, voxelData, X, X2, xBohr, xMax, xMin, Y, Y2, yBohr, yMax, yMin, Z, Z2, zBohr, zMax, zMin |
Method Summary |
private void |
addData(int basisType)
|
private void |
addData10F()
|
private void |
addData5D()
|
private void |
addData6D()
|
private void |
addData7F()
|
private void |
addDataP()
|
private void |
addDataS()
|
private void |
addDataSP()
|
private void |
calcSP(float alpha,
float as,
float ax,
float ay,
float az)
|
void |
calculate(VolumeDataInterface volumeData,
java.util.BitSet bsSelected,
java.lang.String calculationType,
javax.vecmath.Point3f[] atomCoordAngstroms,
int firstAtomOffset,
java.util.List shells,
float[][] gaussians,
int[][] dfCoefMaps,
java.lang.Object slaters,
float[] moCoefficients,
float[] nuclearCharges,
boolean doNormalize)
|
void |
calculateElectronDensity(float[] nuclearCharges)
|
private void |
check5D()
Idea here is that we skip all the atoms, just increment moCoeff,
and compare the number of coefficients run through to the
size of the moCoefficients array. |
private boolean |
checkCalculationType()
|
private void |
createGaussianCube()
|
private void |
createSlaterCube()
|
private void |
dumpInfo(int shell,
int[] map)
|
private void |
dumpInfo(java.lang.String info)
|
protected void |
initialize(int nX,
int nY,
int nZ)
|
private void |
processShell(int iShell)
|
private boolean |
processSlater(int slaterIndex)
|
private void |
setCE(float[] CX,
float[] EX,
float alpha,
float as,
float ax,
float ay,
float az)
|
private void |
setE(float[] EX,
float alpha)
|
private void |
setTemp()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CUT
private static final double CUT
- See Also:
- Constant Field Values
CX
private float[] CX
CY
private float[] CY
CZ
private float[] CZ
DXY
private float[] DXY
DXZ
private float[] DXZ
DYZ
private float[] DYZ
EX
private float[] EX
EY
private float[] EY
EZ
private float[] EZ
calculationType
private java.lang.String calculationType
shells
private java.util.List shells
gaussians
private float[][] gaussians
slaters
private SlaterData[] slaters
moCoefficients
private float[] moCoefficients
moCoeff
private int moCoeff
gaussianPtr
private int gaussianPtr
firstAtomOffset
private int firstAtomOffset
isElectronDensity
private boolean isElectronDensity
occupancy
private float occupancy
doNormalize
private boolean doNormalize
dfCoefMaps
private int[][] dfCoefMaps
voxelDataTemp
protected float[][][] voxelDataTemp
as5D
boolean as5D
nGaussians
private int nGaussians
ROOT3
private static final float ROOT3
- See Also:
- Constant Field Values
MOCalculation
public MOCalculation()
calculate
public void calculate(VolumeDataInterface volumeData,
java.util.BitSet bsSelected,
java.lang.String calculationType,
javax.vecmath.Point3f[] atomCoordAngstroms,
int firstAtomOffset,
java.util.List shells,
float[][] gaussians,
int[][] dfCoefMaps,
java.lang.Object slaters,
float[] moCoefficients,
float[] nuclearCharges,
boolean doNormalize)
- Specified by:
calculate
in interface MOCalculationInterface
initialize
protected void initialize(int nX,
int nY,
int nZ)
- Overrides:
initialize
in class QuantumCalculation
calculateElectronDensity
public void calculateElectronDensity(float[] nuclearCharges)
- Specified by:
calculateElectronDensity
in interface MOCalculationInterface
createSlaterCube
private void createSlaterCube()
createGaussianCube
private void createGaussianCube()
check5D
private void check5D()
- Idea here is that we skip all the atoms, just increment moCoeff,
and compare the number of coefficients run through to the
size of the moCoefficients array. If there are more coefficients
than there should be, we have to assume 5D orbitals were not recognized
by the file loader
checkCalculationType
private boolean checkCalculationType()
processShell
private void processShell(int iShell)
addData
private void addData(int basisType)
setTemp
private void setTemp()
addDataS
private void addDataS()
addDataP
private void addDataP()
addDataSP
private void addDataSP()
setCE
private void setCE(float[] CX,
float[] EX,
float alpha,
float as,
float ax,
float ay,
float az)
setE
private void setE(float[] EX,
float alpha)
calcSP
private void calcSP(float alpha,
float as,
float ax,
float ay,
float az)
addData6D
private void addData6D()
addData5D
private void addData5D()
addData10F
private void addData10F()
addData7F
private void addData7F()
processSlater
private boolean processSlater(int slaterIndex)
dumpInfo
private void dumpInfo(java.lang.String info)
dumpInfo
private void dumpInfo(int shell,
int[] map)