org.jmol.quantum
Class MOCalculation

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

public class MOCalculation
extends QuantumCalculation
implements QuantumCalculationInterface


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jmol.quantum.QuantumCalculation
QuantumCalculation.QMAtom
 
Field Summary
private  EnumQuantumShell basisType
           
private  double c
           
private  java.lang.String calculationType
           
private  double[] coeffs
           
private  float[][] coefs
           
private static double CUT
           
private  double[] CX
           
private  double[] CY
           
private  double[] CZ
           
private  int[][] dfCoefMaps
           
private  boolean doNormalize
           
private  boolean doShowShellType
           
private  double[] DXY
           
private  double[] DXZ
           
private  double[] DYZ
           
private  double[] EX
           
private  double[] EY
           
private  double[] EZ
           
private  int gaussianPtr
           
private  float[][] gaussians
           
private  boolean havePoints
           
(package private)  float integration
           
private  boolean isElectronDensity
           
private  float[] linearCombination
           
private  int[] map
           
private  int moCoeff
           
private  float[] moCoefficients
           
private  double moFactor
           
private  int nGaussians
           
private  boolean nwChemMode
           
private  float occupancy
           
private static double ROOT3
           
private static java.lang.String[][] shellOrder
           
private  java.util.List<int[]> shells
           
private  SlaterData[] slaters
           
(package private)  double sum
           
(package private)  boolean testing
           
protected  float[][][] voxelDataTemp
           
 
Fields inherited from class org.jmol.quantum.QuantumCalculation
atomIndex, bohr_per_angstrom, bsExcluded, countsXYZ, doDebug, firstAtomOffset, nX, nY, nZ, originBohr, points, qmAtoms, rangeBohrOrAngstroms, stepBohr, thisAtom, unitFactor, vd, volume, voxelData, X, X2, xBohr, xMax, xMin, Y, Y2, yBohr, yMax, yMin, Z, Z2, zBohr, zMax, zMin
 
Constructor Summary
MOCalculation()
           
 
Method Summary
private  void addData10F()
           
private  void addData5D()
           
private  void addData6D()
           
private  void addData7F()
           
private  void addDataP()
           
private  void addDataS()
           
private  void addDataSP()
           
private  void calcSP(double alpha, double as, double ax, double ay, double az)
           
 void calculateElectronDensity()
           
private  boolean checkCalculationType()
           
 void createCube()
           
private  void dumpInfo(int shell)
           
private  double getContractionNormalization(int el, int cpt)
           
private static java.lang.String[] getShellOrder(int i)
           
protected  void initialize(int nX, int nY, int nZ, javax.vecmath.Point3f[] points)
           
private  double normalizeShell(int iShell)
           
protected  void process()
           
protected  void processPoints()
           
private  void processShell(int iShell)
           
private  boolean processSlater(int slaterIndex)
           
private  void setCE(double alpha, double as, double ax, double ay, double az)
           
private  boolean setCoeffs(boolean isProcess)
           
private  void setE(double[] EX, double alpha)
           
private  void setTemp()
           
 boolean setupCalculation(VolumeDataInterface volumeData, java.util.BitSet bsSelected, java.util.BitSet bsExclude, java.util.BitSet[] bsMolecules, java.lang.String calculationType, javax.vecmath.Point3f[] atomCoordAngstroms, int firstAtomOffset, java.util.List<int[]> shells, float[][] gaussians, int[][] dfCoefMaps, java.lang.Object slaters, float[] moCoefficients, float[] linearCombination, float[][] coefs, float[] partialCharges, boolean doNormalize, javax.vecmath.Point3f[] points, float[] parameters, int testFlags)
           
 
Methods inherited from class org.jmol.quantum.QuantumCalculation
initializeOnePoint, process, setMinMax, setupCoordinates, setXYZBohr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jmol.api.QuantumCalculationInterface
process
 

Field Detail

CUT

private static final double CUT
See Also:
Constant Field Values

CX

private double[] CX

CY

private double[] CY

CZ

private double[] CZ

DXY

private double[] DXY

DXZ

private double[] DXZ

DYZ

private double[] DYZ

EX

private double[] EX

EY

private double[] EY

EZ

private double[] EZ

calculationType

private java.lang.String calculationType

shells

private java.util.List<int[]> shells

gaussians

private float[][] gaussians

slaters

private SlaterData[] slaters

moCoefficients

private float[] moCoefficients

moCoeff

private int moCoeff

gaussianPtr

private int gaussianPtr

isElectronDensity

private boolean isElectronDensity

occupancy

private float occupancy

doNormalize

private boolean doNormalize

nwChemMode

private boolean nwChemMode

dfCoefMaps

private int[][] dfCoefMaps

voxelDataTemp

protected float[][][] voxelDataTemp

linearCombination

private float[] linearCombination

coefs

private float[][] coefs

moFactor

private double moFactor

havePoints

private boolean havePoints

testing

boolean testing

sum

double sum

c

private double c

nGaussians

private int nGaussians

doShowShellType

private boolean doShowShellType

basisType

private EnumQuantumShell basisType

coeffs

private final double[] coeffs

map

private int[] map

ROOT3

private static final double ROOT3
See Also:
Constant Field Values

shellOrder

private static final java.lang.String[][] shellOrder

integration

float integration
Constructor Detail

MOCalculation

public MOCalculation()
Method Detail

setupCalculation

public boolean setupCalculation(VolumeDataInterface volumeData,
                                java.util.BitSet bsSelected,
                                java.util.BitSet bsExclude,
                                java.util.BitSet[] bsMolecules,
                                java.lang.String calculationType,
                                javax.vecmath.Point3f[] atomCoordAngstroms,
                                int firstAtomOffset,
                                java.util.List<int[]> shells,
                                float[][] gaussians,
                                int[][] dfCoefMaps,
                                java.lang.Object slaters,
                                float[] moCoefficients,
                                float[] linearCombination,
                                float[][] coefs,
                                float[] partialCharges,
                                boolean doNormalize,
                                javax.vecmath.Point3f[] points,
                                float[] parameters,
                                int testFlags)
Specified by:
setupCalculation in interface QuantumCalculationInterface

initialize

protected void initialize(int nX,
                          int nY,
                          int nZ,
                          javax.vecmath.Point3f[] points)
Overrides:
initialize in class QuantumCalculation

createCube

public void createCube()
Specified by:
createCube in interface QuantumCalculationInterface

processPoints

protected void processPoints()
Overrides:
processPoints in class QuantumCalculation

process

protected void process()
Specified by:
process in class QuantumCalculation

checkCalculationType

private boolean checkCalculationType()

normalizeShell

private double normalizeShell(int iShell)

processShell

private void processShell(int iShell)

setTemp

private void setTemp()

getContractionNormalization

private double getContractionNormalization(int el,
                                           int cpt)

setCoeffs

private boolean setCoeffs(boolean isProcess)

addDataS

private void addDataS()

addDataP

private void addDataP()

addDataSP

private void addDataSP()

setCE

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

setE

private void setE(double[] EX,
                  double alpha)

calcSP

private void calcSP(double alpha,
                    double as,
                    double ax,
                    double ay,
                    double 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(int shell)

getShellOrder

private static final java.lang.String[] getShellOrder(int i)

calculateElectronDensity

public void calculateElectronDensity()