Atomic Simulation Interface (ASI)

Atomic Simulation Interface (ASI): application programming interface for electronic structure codes - Published in JOSS (2023)

https://gitlab.com/pvst/asi

Science Score: 89.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    5 of 11 committers (45.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 4 months ago · JSON representation

Repository

Atomic Simulations Interface

Basic Info
  • Host: gitlab.com
  • Owner: pvst
  • License: mit
  • Default Branch: main
Statistics
  • Stars: 2
  • Forks: 2
  • Open Issues: 11
  • Releases: 0
Created over 3 years ago

https://gitlab.com/pvst/asi/blob/main/

# Atomic Simulation Interface (ASI) API

The Atomic Simulation Interface (ASI) is a native C-style API that
includes functions for the export and import of data structures that are
used in electronic structure calculations and for classical molecular
dynamics simulations. ASI aims to be a uniform, generic and efficient
interface for connecting various computational chemistry and materials
science codes in multiscale simulation workflows, such as QM/MM, QM/ML,
QM/QM. ASI specifies functions, data types and calling conventions for
export and import of density matrices, overlap and Hamiltonian matrices,
electrostatic potentials, atomic coordinates, charges, total energy and
forces.

[Full ASI API documentation](https://pvst.gitlab.io/asi).

## ASI API specification

The ASI API is specified as a C header file
[asi.h](https://pvst.gitlab.io/asi/asi_8h.html). Codes using ASI API
must provide a linkable library with definitions of functions matching
[asi.h](https://pvst.gitlab.io/asi/asi_8h.html). Depending on particular
usage of the implementations, some functions can be omitted or
implemented as stubs, if they are not going to used. To use the Python
ASI wrapper it is necessary to have all functions from
[asi.h]{.title-ref} defined, but of course stub definitions can be used.

[Doxygen-generated ASI API
specification](https://pvst.gitlab.io/asi/asi_8h.html).

## Implementations

-   [DFTB+](https://dftbplus.org/): [in separate
    branch](https://github.com/PavelStishenko/dftbplus/tree/ASI_v1.3).
    Milestone release: `24.2`. ASI API is provided by a separate library
    that should be linked with the DFTB+ library.
-   [FHI-aims](https://fhi-aims.org/): in the main branch.

## Supported platforms

### FHI-aims

The ASI API implementation in FHI-aims is routinely tested on Linux
machines with the following compilers and libraries:

-   Linux, GNU 7.5.0, Intel MKL 2021.4, and Intel MPICH 3.2.1.
-   Linux, Intel compilers, Intel MKL 2021.4, and Intel MPICH 3.2.1.
-   Debian Stable, GNU 9.3, OpenBLAS 0.3, and OpenMPI 4.1

### DFTB+

Although the DFTB+ works on both Linux and MacOS machines, the ASI API
implementation is not tested for MacOS and build scripts are Linux-only.

The well-tested configurations are:

-   Debian Stable with GCC 9.3 and OpenMPI 4.1
-   Fedora 34 with GCC 11.3 and OpenMPI 4.1
-   Debian Testing with GCC 12.2 and OpenMPI 4.1

## Python wrapper

ASI-enabled codes can be used in Python scripts via the `asi4py` wrapper
of the ASI API.

To install asi4py use `pip`

    pip install asi4py

See [asi4py reference in
documentation](https://pvst.gitlab.io/asi/reference.html).

# Usage example

See tests and their
[descriptions](https://pvst.gitlab.io/asi/testing.html#tests-descriptions)
in the documentation for various usage scenarios.

## A simple asi4py example

``` python
::include{file=tests/python/example.py}
```

JOSS Publication

Atomic Simulation Interface (ASI): application programming interface for electronic structure codes
Published
May 17, 2023
Volume 8, Issue 85, Page 5186
Authors
Pavel V. Stishenko ORCID
Cardiff Catalysis Institute, School of Chemistry, Cardiff University, Cardiff, United Kingdom
Thomas W. Keal ORCID
Scientific Computing Department, STFC Daresbury Laboratory, Keckwick Lane, Daresbury, Warrington WA4 4AD, United Kingdom
Scott M. Woodley ORCID
Department of Chemistry, Kathleen Lonsdale Materials Chemistry, University College London, London, United Kingdom
Volker Blum ORCID
Thomas Lord Department of Mechanical Engineering and Materials Science, Duke University, Durham, North Carolina 27708, United States
Benjamin Hourahine ORCID
SUPA, Department of Physics, University of Strathclyde, John Anderson Building, 107 Rottenrow, Glasgow G4 0NG, United Kingdom
Reinhard J. Maurer ORCID
Department of Chemistry, University of Warwick, Coventry, CV4 7AL, United Kingdom, Department of Physics, University of Warwick, Coventry, CV4 7AL, United Kingdom
Andrew J. Logsdail ORCID
Cardiff Catalysis Institute, School of Chemistry, Cardiff University, Cardiff, United Kingdom
Editor
Rachel Kurchin ORCID
Tags
Python DFT

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 410
  • Total Committers: 11
  • Avg Commits per committer: 37.273
  • Development Distribution Score (DDS): 0.276
Past Year
  • Commits: 80
  • Committers: 5
  • Avg Commits per committer: 16.0
  • Development Distribution Score (DDS): 0.363
Top Committers
Name Email Commits
Pavel V. Stishenko p****o@g****m 297
mazay m****y@l****d 62
Gabriel B****G@c****k 23
Pavel Stishenko p****l@l****n 7
Pavel Stishenko s****p@c****k 6
mazay m****y@l****n 5
Gabriel Bramley b****g@c****k 3
Ben Hourahine b****e@s****k 3
mazay m****y@m****n 2
Pavel Stishenko P****o@y****u 1
gabrielbramley g****y@w****k 1

Issues and Pull Requests

Last synced: 4 months ago

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 896 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 64
  • Total maintainers: 1
pypi.org: asi4py

A Python wrapper for Atomic Simulation Interface API

  • Homepage: https://gitlab.com/pvst/asi
  • Documentation: https://asi4py.readthedocs.io/
  • License: MIT License Copyright (c) 2022 Pavel V Stishenko, Andrew Logsdail, Reinhard Maurer, Volker Blum, Mariana Rossi, Ben Hourahine, Scott Woodley, Thomas Keal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 1.4.4
    published 6 months ago
  • Versions: 64
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 896 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 9.0%
Average: 19.5%
Forks count: 23.2%
Stargazers count: 28.2%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 4 months ago