org.jmol.quantum
Class MOCalculation

java.lang.Object
  extended by org.jmol.quantum.QuantumCalculation
      extended by org.jmol.quantum.MOCalculation
All Implemented Interfaces:
MOCalculationInterface

public class MOCalculation
extends QuantumCalculation
implements MOCalculationInterface


Field Summary
(package private)  boolean as5D
           
(package private)  java.lang.String calculationType
           
(package private)  float[] CX
           
(package private)  float[] CY
           
(package private)  float[] CZ
           
(package private)  float[] DXY
           
(package private)  float[] DXZ
           
(package private)  float[] DYZ
           
(package private)  float[] EX
           
(package private)  float[] EY
           
(package private)  float[] EZ
           
(package private)  int firstAtomOffset
           
(package private)  int gaussianPtr
           
(package private)  float[][] gaussians
           
private static int MAX_GRID
           
(package private)  int moCoeff
           
(package private)  float[] moCoefficients
           
private static float ROOT3
           
(package private)  java.util.Vector shells
           
(package private)  float[][] slaterData
           
(package private)  int[][] slaterInfo
           
 
Fields inherited from class org.jmol.quantum.QuantumCalculation
atomCoordAngstroms, atomCoordBohr, atomIndex, atomSet, bohr_per_angstrom, countsXYZ, doDebug, originBohr, stepBohr, voxelData, X, X2, xMax, xMin, xyzBohr, Y, Y2, yMax, yMin, Z, Z2, zMax, zMin
 
Constructor Summary
MOCalculation()
           
 
Method Summary
private  void addData(int basisType, int nGaussians)
           
private  void addData10F(int nGaussians)
           
private  void addData5D(int nGaussians)
           
private  void addData6D(int nGaussians)
           
private  void addData7F(int nGaussians)
           
private  void addDataP(int nGaussians)
           
private  void addDataS(int nGaussians)
           
private  void addDataSP(int nGaussians)
           
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.Vector shells, float[][] gaussians, java.util.Hashtable aoOrdersDF, int[][] slaterInfo, float[][] slaterData, float[] moCoefficients)
           
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 nGaussians, int shell)
           
private  void dumpInfo(int nGaussians, java.lang.String info)
           
private  void processShell(int iShell)
           
private  void processSlater(int slaterIndex)
           
private  void setCE(float alpha, float as, float ax, float ay, float az)
           
 
Methods inherited from class org.jmol.quantum.QuantumCalculation
initialize, setMinMax, setupCoordinates, setVolume
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_GRID

private static int MAX_GRID

CX

float[] CX

CY

float[] CY

CZ

float[] CZ

DXY

float[] DXY

DXZ

float[] DXZ

DYZ

float[] DYZ

EX

float[] EX

EY

float[] EY

EZ

float[] EZ

calculationType

java.lang.String calculationType

shells

java.util.Vector shells

gaussians

float[][] gaussians

slaterInfo

int[][] slaterInfo

slaterData

float[][] slaterData

moCoefficients

float[] moCoefficients

moCoeff

int moCoeff

gaussianPtr

int gaussianPtr

firstAtomOffset

int firstAtomOffset

as5D

boolean as5D

ROOT3

private static final float ROOT3
See Also:
Constant Field Values
Constructor Detail

MOCalculation

public MOCalculation()
Method Detail

calculate

public void calculate(VolumeDataInterface volumeData,
                      java.util.BitSet bsSelected,
                      java.lang.String calculationType,
                      javax.vecmath.Point3f[] atomCoordAngstroms,
                      int firstAtomOffset,
                      java.util.Vector shells,
                      float[][] gaussians,
                      java.util.Hashtable aoOrdersDF,
                      int[][] slaterInfo,
                      float[][] slaterData,
                      float[] moCoefficients)
Specified by:
calculate 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,
                     int nGaussians)

addDataS

private void addDataS(int nGaussians)

addDataP

private void addDataP(int nGaussians)

addDataSP

private void addDataSP(int nGaussians)

setCE

private void setCE(float alpha,
                   float as,
                   float ax,
                   float ay,
                   float az)

calcSP

private void calcSP(float alpha,
                    float as,
                    float ax,
                    float ay,
                    float az)

addData6D

private void addData6D(int nGaussians)

addData10F

private void addData10F(int nGaussians)

addData5D

private void addData5D(int nGaussians)

addData7F

private void addData7F(int nGaussians)

processSlater

private void processSlater(int slaterIndex)

dumpInfo

private void dumpInfo(int nGaussians,
                      java.lang.String info)

dumpInfo

private void dumpInfo(int nGaussians,
                      int shell)