Class MopacSlaterReader

    • Field Detail

      • atomicNumbers

        protected int[] atomicNumbers
      • mopacBasis

        protected float[][] mopacBasis
        GAMESS may need AM1, PMn, or RM1 zeta/coef data
      • allowMopacDCoef

        protected boolean allowMopacDCoef
      • principalQuantumNumber

        private static final int[] principalQuantumNumber
      • npqd

        private static final int[] npqd
      • sphericalDValues

        private static final int[] sphericalDValues
      • mopacParams

        private static java.util.Map<java.lang.String,​float[][]> mopacParams
      • _AM1_C

        static final float[] _AM1_C
        Data from MOPAC F90 source parameters_for_xxx_C.F90 for use in GamessReader. Values are 1/Bohr Bob Hanson 2021.03.16
      • _MNDO_C

        private static final float[] _MNDO_C
      • _PM3_C

        private static final float[] _PM3_C
      • _PM6_C

        private static final float[] _PM6_C
      • _PM7_C

        private static final float[] _PM7_C
      • _RM1_C

        private static final float[] _RM1_C
    • Constructor Detail

      • MopacSlaterReader

        MopacSlaterReader()
    • Method Detail

      • scaleSlater

        protected double scaleSlater​(int ex,
                                     int ey,
                                     int ez,
                                     int er,
                                     double zeta)
        overrides method in SlaterReader to allow for MOPAC's treatment of the radial exponent differently depending upon position in the periodic table -- noble gases and transition metals and for the fact that these are spherical functions (5D, not 6D) ignores any F orbitals.
        Overrides:
        scaleSlater in class SlaterReader
        Parameters:
        ex -
        ey -
        ez -
        er -
        zeta -
        Returns:
        scaling factor
      • setMOData

        public void setMOData​(boolean clearOrbitals)
        Overrides:
        setMOData in class MOReader
      • getNPQ

        private static final int getNPQ​(int atomicNumber)
      • getNPQs

        private static final int getNPQs​(int atomicNumber)
        for S orbitals, MOPAC adds 1 to n for noble gases other than helium
        Parameters:
        atomicNumber -
        Returns:
        adjusted principal quantum number
      • getNPQp

        private static final int getNPQp​(int atomicNumber)
        for P orbitals, MOPAC adds 1 to n for helium only
        Parameters:
        atomicNumber -
        Returns:
        adjusted principal quantum number
      • getNPQd

        private static final int getNPQd​(int atomicNumber)
        for D orbitals, MOPAC adds 1 to n for noble gases but subtracts 1 from n for transition metals
        Parameters:
        atomicNumber -
        Returns:
        adjusted principal quantum number
      • addSlaterBasis

        protected void addSlaterBasis()
        When slater basis is referred to only by "AM1" "PM6" etc., as in GAMESS
        Overrides:
        addSlaterBasis in class MOReader
      • createMopacSlaters

        public void createMopacSlaters​(int iAtom,
                                       int atomicNumber,
                                       float[] values,
                                       boolean allowD)
      • createSphericalSlaterByType

        protected void createSphericalSlaterByType​(int iAtom,
                                                   int atomicNumber,
                                                   java.lang.String type,
                                                   double zeta,
                                                   float coef)
        We have the type as a string and need to translate that to exponents for x, y, z, and r. No F here.
        Parameters:
        iAtom -
        atomicNumber -
        type -
        zeta -
        coef -
      • getMopacAtomZetaSPD

        public static float[][] getMopacAtomZetaSPD​(java.lang.String type)
        Retrieve the MOPAC zeta(1/bohr) [s,p,d] array by atom number
        Parameters:
        type -
        Returns:
        [[zs,zp,zd],[zs,zp,zd]...] where [1] is for hydrogen, [6] is for carbon, etc.
      • addData

        private static void addData​(float[][] params,
                                    float[] data)
        Add Fortran zeta data
        Parameters:
        params -
        data -