MOPAC (Molecular Orbital PACkage)

repository·main·Indexed 41 days ago

https://github.com/openmopac/mopac

A semiempirical quantum chemistry package for performing quantum mechanical calculations on molecules and materials. It features a C-compatible API, a Fortran convenience wrapper, and a command-line interface. The package includes implementations of the PM6-ORG and INDO/S models, D3 dispersion and H4 hydrogen bonding corrections, and tools for vibrational analysis, spectroscopy, and molecular geometry transformations.

Tokens
4.5K
Snippets
6
Records
41
Agent score
52%

What's inside MOPAC

  1. Overview of the INDO spectroscopy model

    main
    The src/INDO directory provides an implementation of the INDO/S (Intermediate Neglect of Differential Overlap for Spectroscopy) model. It is used for performing spectroscopy calculations and excited state calculations. The model utilizes the INDO/S Hamiltonian, with electron correlation capabilities implemented at various levels of theory.
  2. Overview of the PARAM program

    main
    The PARAM directory contains specialized subroutines and modules designed for the PARAM program. This program is used specifically for optimizing parameters of MNDO-form models. While it shares the majority of its source code with the main MOPAC package, it includes these specific components to facilitate parameter optimization tasks.
  3. Overview of MOPAC dense linear algebra operations

    main

    MOPAC performs dense linear algebra operations through a collection of specialized files. These operations are currently being consolidated into a unified subsystem to improve maintainability and re-introduce GPU support. The matrix operations are sourced from several established mathematical libraries, including:

    • EISPACK: Eigensolvers (e.g., ddiag.F90)
    • LINPACK: Linear solvers (e.g., linpack.F90)
    • IBM-SSP: Mathematical and statistical subroutines (e.g., minv.F90)
    • BLAS: Basic Linear Algebra Subprograms (via esp_utilities.F90)

    Note that some dense matrix storage and operations are not located in the src/matrix/ directory but are instead embedded within other specific modules like polar.F90 or cosmo.F90.

  4. Overview of Configuration Interaction (CI) in MOPAC

    main

    The meci directory provides the core computational routines and inter-determinant matrix elements required to perform truncated Configuration Interaction (CI) calculations.

    While these calculations may not strictly align with thermochemistry models intended solely for modeling heats of formation via Hartree-Fock, they are valuable for:

    • Evaluating the sufficiency of existing thermochemistry models.
    • Studying the effects of strong correlation in specific chemical scenarios, such as bond breaking and multi-radical systems.
  5. Overview of erratic behavior suppression data

    main

    The data/erratic/ directory contains reference data used to suppress erratic behavior in semiempirical models. This data is utilized during model fitting to prevent the model from accepting physically unrealistic configurations.

    The directory contains two types of data:

    1. Erroneous Geometry Pairs: Data points that combine physical reference data with erroneous geometries. These are assigned an energetic penalty to force model fitting to destabilize these incorrect geometries.
    2. Core-Core Collision Energies: A large, relatively crude set of energies for core-core collisions, calculated using density functional theory (DFT).
  6. Overview of the MOZYME feature

    main

    MOZYME is a feature within MOPAC designed for reduced-scaling electronic structure calculations. Unlike standard methods that use canonical orbitals, MOZYME performs calculations based on localized molecular orbitals (LMOs). This approach enables the use of sparse linear algebra instead of dense linear algebra, significantly reducing computational costs.

    Scaling Characteristics

    • Core Computational Steps: Reduced from cubic-scaling (typical of dense linear algebra) to linear-scaling relative to the number of atoms.
    • Overall Scaling: While core steps are linear, the overall scaling remains super-linear due to specific factors:
      • Electrostatics: Performed using brute-force pair summation rather than fast hierarchical methods.
      • SCF and Geometric Relaxation Cycles: Scaling depends on the degree of electronic and atomic polarizability in the system.
  7. Overview of COSMO solvation model implementations

    main

    MOPAC provides two distinct implementations of the COSMO (Conductor-like Screening Model) solvation model:

    1. Original Reference Implementation: Developed by Andreas Klamt.
    2. Fast Implementation: Developed by Andrey Bliznyuk. This version includes an implementation of the fast multipole method to improve computational efficiency.
  8. Overview of classical molecular-mechanics corrections in MOPAC

    main

    MOPAC uses classical interatomic potential terms to correct quantum mechanical calculations. These corrections address two main categories of physical phenomena:

    1. Covalent Bond Corrections: Older corrections designed to fix specific issues in certain covalent bonds, such as triple bonds.
    2. Intermolecular Interaction Corrections: More recent corrections focusing on weak interactions, specifically:
      • Dispersion: Handled via the D3 dispersion model (adapted from the DFTD3 library).
      • Hydrogen Bonding: Handled via the H4 model (adapted from the h_bonds4 library).

    Users should look for these corrections when performing quantum mechanical calculations where dispersion or hydrogen bonding effects are critical for accuracy.

  9. Overview of MNDO Hamiltonian matrix elements implementation

    main

    The src/integrals directory provides an implementation of the Hamiltonian matrix elements for the Modified Neglect of Differential Overlap (MNDO) model.

    Key characteristics of this implementation:

    • Orbital Support: Supports both s/p-orbitals and d-orbitals.
    • s/p-orbital components: Derived and adapted from the original MNDO program.
    • d-orbital components: Derived and adapted from the MNDO96 program (developed by Walter Thiel).
    • Attribution: Includes subroutines attributed to E. R. Davidson.
  10. Overview of MOPAC source code organization

    main

    MOPAC (Molecular Orbital PACkage) consists of Fortran source code and accompanying programs including PARAM, MAKPOL, and BZ.

    To improve maintainability for open-source developers, the codebase has been reorganized from a single directory into subdirectories that represent distinct features and contributions.

    Naming Conventions:

    • Source Files: Most files are named after the first subroutine contained within them.
    • Data Modules: All data modules are located in separate source files using the *_C.F90 suffix.