mopac

Molecular Orbital PACkage

https://github.com/openmopac/mopac

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 18 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

electronic-structure molecular-orbital-theory quantum-chemistry semiempirical-methods

Keywords from Contributors

computational-chemistry atomistic-simulations tight-binding
Last synced: 6 months ago · JSON representation

Repository

Molecular Orbital PACkage

Basic Info
  • Host: GitHub
  • Owner: openmopac
  • License: apache-2.0
  • Language: Fortran
  • Default Branch: main
  • Homepage: http://openmopac.net
  • Size: 51 MB
Statistics
  • Stars: 152
  • Watchers: 6
  • Forks: 36
  • Open Issues: 23
  • Releases: 16
Topics
electronic-structure molecular-orbital-theory quantum-chemistry semiempirical-methods
Created almost 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Authors

README.md

Molecular Orbital PACkage (MOPAC)

License DOI Anaconda-Server Badge build codecov

This is the official repository of the modern open-source version of MOPAC, which is now released under an Apache license (versions 22.0.0 through 23.0.3 are available under an LGPL license). This is a direct continuation of the commercial development and distribution of MOPAC, which ended at MOPAC 2016. Commercial versions of MOPAC are no longer supported, and all MOPAC users are encouraged to switch to the most recent open-source version.

mopac_at_molssi

MOPAC is actively maintained and curated by the Molecular Sciences Software Institute (MolSSI).

Installation

Open-source MOPAC is available through multiple distributon channels, and it can also be compiled from source using CMake. In addition to continuing the distribution of self-contained installers on the old commercial website and here on GitHub, MOPAC can also be installed using multiple package managers and accessed through containers.

Self-contained installers

Self-contained graphical installers for Linux, Mac, and Windows are available on GitHub for each release, which are constructed using the Qt Installer Framework.

While the installers are meant to be run from a desktop environment by default, they can also be run from a command line without user input. On Linux, the basic command-line installation syntax is:

./mopac-x.y.z-linux.run install --accept-licenses --confirm-command --root type_installation_directory_here

For more information on command-line installation, see the Qt Installer Framework Documentation.

Linux installations without a desktop environment may not have the shared libraries required for the graphical installers, and there have also been isolated reports of problems with the Qt installer on other platforms. A minimal, compressed-archive installer is available for each platform as an alternative for users that have problems with the Qt installer.

The minimum glibc version required for the precompiled version of MOPAC on Linux is currently 2.17.

Library path issues

The pre-built MOPAC executables use the RPATH system on Mac and Linux to connect with its shared libraries, including the libiomp5 Intel OpenMP redistributable library. The libiomp5 library is not properly versioned, and the recent version used by MOPAC is not compatible with older versions that might also exist on a user's machine. If a directory containing an old version of libiomp5 is in the shared library path (LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on Mac), this will override the RPATH system, link MOPAC to the wrong library, and cause an error in MOPAC execution. On Mac, this can be fixed by switching the offending directories to the failsafe shared library path, DYLD_FALLBACK_LIBRARY_PATH. On Linux, the use of LD_LIBRARY_PATH is generally discouraged for widespread use, and there is no simple workaround available. The newer version of libiomp5 is backwards compatible, so replacing the offending version with the version used by MOPAC should preserve the functionality of other software that depends on the library.

Package managers

The officially supported package manager for MOPAC is the conda-forge channel of Conda. MOPAC is also packaged by major Linux distributions including Fedora and Debian. It is also available in the Google Play store.

Packaging status

Docker/Apptainer Containers

The official Docker and Apptainer (Singularity) containers for MOPAC 22.0.6 (Conda version) are developed and maintained by MolSSI Container Hub and are distributed by the MolSSI Docker Hub repository.

CMake

MOPAC is now built using a CMake 3.x build system with tests orchestrated using CTest. The minimum required CMake version is presently 3.14.

CMake performs out-of-source builds, with the canonical sequence of commands:

mkdir build cd build cmake .. make

starting from the root directory of the MOPAC repository. MOPAC should build without any additional options if CMake successfully detects a Fortran compiler and BLAS/LAPACK libraries. Otherwise, the cmake .. command may require additional command-line options to specify a Fortran compiler (-DCMAKE_Fortran_COMPILER=...) or the path (-DMOPAC_LINK_PATH=...) and linker options (-DMOPAC_LINK=...) to link BLAS and LAPACK libraries to the MOPAC executable.

The CTest-based testing requires an installation of Python 3.x and Numpy that can be detected by CMake.

Documentation

The main source for MOPAC documentation is presently its old online user manual.

There is a new documentation website under development, but it is not yet ready for general use.

Interfaces

While MOPAC is primarily a self-contained command-line program whose behavior is specified by an input file, it also has other modes of operation, some of which only require the MOPAC shared library and not the executable. Note that API calls to the MOPAC library are not thread safe. Each thread must load its own instance of the MOPAC library, such as by running independent calling programs.

MDI Engine

MOPAC can be compiled to run as an MDI Engine through the MolSSI Driver Interface Library by setting -DMDI=ON when running CMake. See MDI documentation for more information.

Run from library

MOPAC calculations can be run as a C-like library call to run_mopac_from_input(path_to_file) where path_to_file is a C string containing the system path to a MOPAC input file. Alternatively, a Fortran wrapper in the include directory allows this to be run as the subroutine run_mopac_from_input_f(path_to_file) in the mopac_api_f module where path_to_file is a Fortran string.

Diskless/stateless API

A subset of MOPAC calculations can be run through a C-like Application Programming Interface (API) defined by the mopac.h C header file in the include directory, which also has a Fortran wrapper for convenience to Fortran software developers. Calculations run through this API do not use any input or output files or any other form of disk access, and the data structures of the API contain all relevant information regarding the input and output of the MOPAC calculation. The functionality and data exposed by this API is limited and has been designed to align with the most common observed uses of MOPAC. Future expansion of this functionality and data will be considered upon request.

Citation

To cite the use of open-source MOPAC in scientific publications, see the CITATION.cff file in this repository.

Owner

  • Name: MOPAC
  • Login: openmopac
  • Kind: organization
  • Email: mopac@molssi.org

Molecular Orbital PACkage

GitHub Events

Total
  • Create event: 41
  • Release event: 5
  • Issues event: 40
  • Watch event: 33
  • Delete event: 35
  • Issue comment event: 121
  • Push event: 183
  • Pull request event: 71
  • Fork event: 4
Last Year
  • Create event: 41
  • Release event: 5
  • Issues event: 40
  • Watch event: 33
  • Delete event: 35
  • Issue comment event: 121
  • Push event: 183
  • Pull request event: 71
  • Fork event: 4

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 622
  • Total Committers: 18
  • Avg Commits per committer: 34.556
  • Development Distribution Score (DDS): 0.138
Past Year
  • Commits: 226
  • Committers: 12
  • Avg Commits per committer: 18.833
  • Development Distribution Score (DDS): 0.173
Top Committers
Name Email Commits
Jonathan Moussa j****a@v****u 536
Jonathan Moussa j****a@J****l 24
Susi Lehtola s****a@g****m 17
Jonathan E. Moussa 4****m@u****m 12
Jonathan Moussa j****a@m****u 10
Brent Westbrook b****k@g****m 5
Sina Mostafanejad m****d@h****m 4
Jonathan Edward Moussa j****a@t****r 3
kamischi k****r@w****e 2
Jonathan Edward Moussa j****a@t****r 1
Jonathan Edward Moussa j****a@c****l 1
GodotAlgorithm g****m@g****m 1
Jonathan Moussa j****a@h****u 1
Jan Rezac r****c@u****z 1
Reza Hemmati 5****m@u****m 1
Paul Saxe p****l@t****t 1
Sebastian Ehlert 2****k@u****m 1
Reza Hemmati r****i@m****u 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 95
  • Total pull requests: 132
  • Average time to close issues: 2 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 33
  • Total pull request authors: 11
  • Average comments per issue: 3.04
  • Average comments per pull request: 1.51
  • Merged pull requests: 125
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 26
  • Pull requests: 49
  • Average time to close issues: 12 days
  • Average time to close pull requests: about 4 hours
  • Issue authors: 14
  • Pull request authors: 1
  • Average comments per issue: 2.15
  • Average comments per pull request: 1.12
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • godotalgorithm (22)
  • flatstik (15)
  • susilehtola (10)
  • aizvorski (6)
  • paulsaxe (5)
  • mbanck (4)
  • awvwgk (4)
  • ntBre (3)
  • tomoya8 (2)
  • nwmoriarty (2)
  • miroi (1)
  • by-student-2017 (1)
  • Acetylsalicylsaeure (1)
  • berquist (1)
  • ghutchis (1)
Pull Request Authors
  • godotalgorithm (140)
  • susilehtola (8)
  • nbehrnd (3)
  • taylor-a-barnes (2)
  • ntBre (2)
  • SinaMostafanejad (1)
  • gbarnes128 (1)
  • QuChem (1)
  • awvwgk (1)
  • Honza-R (1)
  • paulsaxe (1)
Top Labels
Issue Labels
bug (16) enhancement (10) wontfix (2) good first issue (2) question (2) help wanted (1)
Pull Request Labels
bug (1) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 9
  • Total versions: 3
conda-forge.org: mopac
  • Homepage: http://openmopac.net
  • License: Apache-2.0
  • Latest release: 22.0.5
    published over 3 years ago
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 9
Rankings
Dependent repos count: 11.6%
Average: 34.2%
Stargazers count: 36.2%
Forks count: 37.4%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v2 composite
  • codecov/codecov-action v2 composite
  • jmarrec/setup-qtifw v1 composite