MOCalculation
Date: 2019-10-22

org.jmol.quantum

## Class MOCalculation

- java.lang.Object
- - org.jmol.quantum.QuantumCalculation
  - - org.jmol.quantum.MOCalculation

-     public class MOCalculation
      extends QuantumCalculation

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String` | `calculationType`
    `double[]` | `coeffs`
    `private float[][]` | `coefs`
    `private static double` | `CUT`
    `private double[]` | `CX`
    `private double[]` | `CY`
    `private double[]` | `CZ`
    `(package private) int[]` | `dataAdderOK`
    `(package private) DataAdder[]` | `dataAdders`
    `private int[][]` | `dfCoefMaps`
    `private boolean` | `doShowShellType`
    `private double[]` | `DXY`
    `private double[]` | `DXZ`
    `private double[]` | `DYZ`
    `double[]` | `EX`
    `double[]` | `EY`
    `double[]` | `EZ`
    `int` | `gaussianPtr`
    `float[][]` | `gaussians`
    `boolean` | `havePoints`
    `private int[]` | `highLEnabled`
    `private boolean` | `isSquaredLinear`
    `private int` | `lastGaussianPtr`
    `private float[]` | `linearCombination`
    `private int[]` | `map`
    `private int` | `moCoeff`
    `private float[]` | `moCoefficients`
    `private double` | `moFactor`
    `int` | `nGaussians`
    `static int` | `NORM_NBO`
    `static int` | `NORM_NONE`
    `static int` | `NORM_NWCHEM`
    `static int` | `NORM_STANDARD`
    `int` | `normType`
    `static double` | `ROOT3`
    `private static java.lang.String[][]` | `shellOrder`
    `private javajs.util.Lst<int[]>` | `shells`
    `private SlaterData[]` | `slaters`
    `(package private) double` | `sum`
    `(package private) boolean` | `testing`
    `private java.lang.String` | `warned`

    - ### Fields inherited from class org.jmol.quantum.QuantumCalculation

      `atomIndex, bohr_per_angstrom, bsExcluded, countsXYZ, doDebug, firstAtomOffset, integration, nX, nY, nZ, originBohr, points, qmAtoms, rangeBohrOrAngstroms, stepBohr, thisAtom, unitFactor, volume, voxelData, voxelDataTemp, X, X2, xBohr, xMax, xMin, Y, Y2, yBohr, yMax, yMin, Z, Z2, zBohr, zMax, zMin`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MOCalculation()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `addData5D()`
    `private void` | `addData6D()`
    `private void` | `addDataP()`
    `private void` | `addDataS()`
    `private void` | `addDataSP()`
    `private boolean` | `addHighL(int basisType)` modular loading of high-L data adders
    `private void` | `addValuesSquared(float occupancy)`
    `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)`
    `double` | `getContractionNormalization(int el, int cpt)` NWCHEM only
    `private static java.lang.String[]` | `getShellOrder(int i)`
    `void` | `initialize(int nX, int nY, int nZ, javajs.util.T3[] points)`
    `void` | `process()`
    `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(int type, boolean isProcess)`
    `void` | `setE(double[] EX, double alpha)`
    `private void` | `setNormalization(java.lang.Object nboType)`
    `boolean` | `setupCalculation(java.util.Map<java.lang.String,java.lang.Object> moData, boolean isSlaters, VolumeData volumeData, javajs.util.BS bsSelected, javajs.util.T3[] xyz, Atom[] atoms, int firstAtomOffset, int[][] dfCoefMaps, float[] moCoefficients, float[] linearCombination, boolean isSquaredLinear, float[][] coefs, javajs.util.T3[] points)`

    - ### Methods inherited from class org.jmol.quantum.QuantumCalculation

      `getIntegration, initialize0, initializeOnePoint, initializeOnePointQC, processPt, setMinMax, setupCoordinates, setXYZBohr`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ROOT3

          public static final double ROOT3

      See Also:
        Constant Field Values

    - #### 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

          public double[] EX

    - #### EY

          public double[] EY

    - #### EZ

          public double[] EZ

    - #### calculationType

          private java.lang.String calculationType

    - #### shells

          private javajs.util.Lst<int[]> shells

    - #### gaussians

          public float[][] gaussians

    - #### slaters

          private SlaterData[] slaters

    - #### moCoefficients

          private float[] moCoefficients

    - #### moCoeff

          private int moCoeff

    - #### gaussianPtr

          public int gaussianPtr

    - #### NORM_NONE

          public static final int NORM_NONE

      See Also:
        Constant Field Values

    - #### NORM_STANDARD

          public static final int NORM_STANDARD

      See Also:
        Constant Field Values

    - #### NORM_NWCHEM

          public static final int NORM_NWCHEM

      See Also:
        Constant Field Values

    - #### NORM_NBO

          public static final int NORM_NBO

      See Also:
        Constant Field Values

    - #### normType

          public int normType

    - #### dfCoefMaps

          private int[][] dfCoefMaps

    - #### linearCombination

          private float[] linearCombination

    - #### coefs

          private float[][] coefs

    - #### moFactor

          private double moFactor

    - #### havePoints

          public boolean havePoints

    - #### testing

          boolean testing

    - #### highLEnabled

          private int[] highLEnabled

    - #### sum

          double sum

    - #### nGaussians

          public int nGaussians

    - #### doShowShellType

          private boolean doShowShellType

    - #### warned

          private java.lang.String warned

    - #### dataAdders

          DataAdder[] dataAdders

    - #### dataAdderOK

          int[] dataAdderOK

    - #### coeffs

          public double[] coeffs

    - #### map

          private int[] map

    - #### lastGaussianPtr

          private int lastGaussianPtr

    - #### shellOrder

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

    - #### isSquaredLinear

          private boolean isSquaredLinear

  - ### Constructor Detail

    - #### MOCalculation

          public MOCalculation()

  - ### Method Detail

    - #### setupCalculation

          public boolean setupCalculation(java.util.Map<java.lang.String,java.lang.Object> moData,
                                          boolean isSlaters,
                                          VolumeData volumeData,
                                          javajs.util.BS bsSelected,
                                          javajs.util.T3[] xyz,
                                          Atom[] atoms,
                                          int firstAtomOffset,
                                          int[][] dfCoefMaps,
                                          float[] moCoefficients,
                                          float[] linearCombination,
                                          boolean isSquaredLinear,
                                          float[][] coefs,
                                          javajs.util.T3[] points)

    - #### setNormalization

          private void setNormalization(java.lang.Object nboType)

    - #### initialize

          public void initialize(int nX,
                                 int nY,
                                 int nZ,
                                 javajs.util.T3[] points)

      Overrides:
        `initialize` in class `QuantumCalculation`

    - #### createCube

          public void createCube()

      Specified by:
        `createCube` in class `QuantumCalculation`

    - #### processPoints

          public void processPoints()

      Overrides:
        `processPoints` in class `QuantumCalculation`

    - #### process

          public void process()

      Specified by:
        `process` in class `QuantumCalculation`

    - #### checkCalculationType

          private boolean checkCalculationType()

    - #### processShell

          private void processShell(int iShell)

    - #### addHighL

          private boolean addHighL(int basisType)

      modular loading of high-L data adders
      Parameters:
        `basisType` -
      Returns:
        true if implemented

    - #### addValuesSquared

          private void addValuesSquared(float occupancy)

    - #### getContractionNormalization

          public double getContractionNormalization(int el,
                                                    int cpt)

      NWCHEM only
      Parameters:
        `el` -
        `cpt` -
      Returns:
        NWCHEM contraction normalization

    - #### setCoeffs

          private boolean setCoeffs(int type,
                                    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

          public 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()

    - #### 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()