aiida-lammps


Nameaiida-lammps JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryAiiDA plugin for the LAMMPS code
upload_time2023-11-28 17:18:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords aiida workflows lammps
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![CI Status](https://github.com/aiidaplugins/aiida-lammps/workflows/CI/badge.svg)](https://github.com/aiidaplugins/aiida-lammps)
[![Coverage Status](https://codecov.io/gh/aiidaplugins/aiida-lammps/branch/master/graph/badge.svg)](https://codecov.io/gh/aiidaplugins/aiida-lammps)
[![PyPI](https://img.shields.io/pypi/v/aiida-lammps.svg)](https://pypi.python.org/pypi/aiida-lammps/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Docs status](https://readthedocs.org/projects/aiida-lammps/badge)](http://aiida-lammps.readthedocs.io/)

# AiiDA LAMMPS plugin

An [AiiDA](http://aiida-core.readthedocs.io/) plugin for the classical molecular dynamics code [LAMMPS](https://www.lammps.org).

This plugin contains 2 types of calculations:

- `lammps.base`: Calculation making use of parameter based input generation for single stage LAMMPS calculations.
- `lammps.raw`: Calculation making use of a pre-made LAMMPS input file.

The `lammps.base` is also used to handle three workflows:

- `lammps.base`: A workflow that can be used to submit any single stage LAMMPS calculation.
- `lammps.relax`: A workflow to submit a structural relaxation using LAMMPS.
- `lammps.md`: A workflow to submit a molecular dynamics calculation using LAMMPS.

- [AiiDA LAMMPS plugin](#aiida-lammps-plugin)
  - [Installation](#installation)
  - [Built-in Potential Support](#built-in-potential-support)
  - [Examples](#examples)
    - [Code Setup](#code-setup)
    - [Structure Setup](#structure-setup)
    - [Potential Setup](#potential-setup)
    - [Force Calculation](#force-calculation)
    - [Optimisation Calculation](#optimisation-calculation)
    - [MD Calculation](#md-calculation)
  - [Development](#development)
    - [Coding Style Requirements](#coding-style-requirements)
    - [Testing](#testing)

## Installation

To install a stable version from pypi:

```shell
pip install aiida-lammps
```

To install from source:

```shell
git clone https://github.com/aiidaplugins/aiida-lammps.git
pip install -e aiida-lammps
```

## Built-in Potential Support

The `lammps.base` calculation and associated workflows make use of the ``LammpsPotentialData`` data structure which is created by passing a potential file, plus some labelling parameters to it.

This data structure can be used to handle the following potential types:

- Single file potentials: Any potential that can be stored in a single file, e.g. [EAM](https://docs.lammps.org/pair_eam.html), [MEAM](https://docs.lammps.org/pair_meam.html), [Tersoff](https://docs.lammps.org/pair_tersoff.html) and [ReaxFF](https://docs.lammps.org/pair_reaxff.html).
- Directly parametrized potentials: Potentials whose parameters are directly given via ``pair_coeff`` in the input file, e.g [Born](https://docs.lammps.org/pair_born_gauss.html), [Lennard-Jones](https://docs.lammps.org/pair_line_lj.html) and [Yukawa](https://docs.lammps.org/pair_yukawa.html). These parameters should be written into a file that is then stored into a ``LammpsPotentialData`` node.



## Examples

More example calculations are found in the folder **/examples** as well as in the documentation. The examples touch some common cases for the usage of LAMMPS for a single stage calculation.

## Development

### Running tests

The test suite can be run in an isolated, virtual environment using `tox` (see `tox.ini` in the repo):

```shell
pip install tox
tox -e 3.9-aiida_lammps -- tests/
```

or directly:

```shell
pip install .[testing]
pytest -v
```

The tests require that both PostgreSQL and RabbitMQ are running.
If you wish to run an isolated RabbitMQ instance, see the `docker-compose.yml` file in the repo.

Some tests require that a `lammps` executable be present.

The easiest way to achieve this is to use Conda:

```shell
conda install lammps==2019.06.05
# this will install lmp_serial and lmp_mpi
```

You can specify a different executable name for LAMMPS with:

```shell
tox -e 3.9-aiida_lammps -- --lammps-exec lmp_exec
```

To output the results of calcjob executions to a specific directory:

```shell
pytest --lammps-workdir "test_workdir"
```

### Pre-commit

The code is formatted and linted using [pre-commit](https://pre-commit.com/), so that the code conform to the standard:

```shell
cd aiida-lammps
pre-commit run --all
```
or to automate runs, triggered before each commit:

```shell
pre-commit install
```

## License

The `aiida-lammps` plugin package is released under the MIT license. See the `LICENSE` file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aiida-lammps",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "aiida,workflows,lammps",
    "author": null,
    "author_email": "Chris Sewell <chrisj_sewell@hotmail.com>, Jonathan Chico <jonathan.chico@sandvik.com>",
    "download_url": "https://files.pythonhosted.org/packages/4a/96/b26bf7c6369b80172a3907b43405b9786f084eeadb599cefbfb7db8b83b2/aiida_lammps-1.0.1.tar.gz",
    "platform": null,
    "description": "[![CI Status](https://github.com/aiidaplugins/aiida-lammps/workflows/CI/badge.svg)](https://github.com/aiidaplugins/aiida-lammps)\n[![Coverage Status](https://codecov.io/gh/aiidaplugins/aiida-lammps/branch/master/graph/badge.svg)](https://codecov.io/gh/aiidaplugins/aiida-lammps)\n[![PyPI](https://img.shields.io/pypi/v/aiida-lammps.svg)](https://pypi.python.org/pypi/aiida-lammps/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Docs status](https://readthedocs.org/projects/aiida-lammps/badge)](http://aiida-lammps.readthedocs.io/)\n\n# AiiDA LAMMPS plugin\n\nAn [AiiDA](http://aiida-core.readthedocs.io/) plugin for the classical molecular dynamics code [LAMMPS](https://www.lammps.org).\n\nThis plugin contains 2 types of calculations:\n\n- `lammps.base`: Calculation making use of parameter based input generation for single stage LAMMPS calculations.\n- `lammps.raw`: Calculation making use of a pre-made LAMMPS input file.\n\nThe `lammps.base` is also used to handle three workflows:\n\n- `lammps.base`: A workflow that can be used to submit any single stage LAMMPS calculation.\n- `lammps.relax`: A workflow to submit a structural relaxation using LAMMPS.\n- `lammps.md`: A workflow to submit a molecular dynamics calculation using LAMMPS.\n\n- [AiiDA LAMMPS plugin](#aiida-lammps-plugin)\n  - [Installation](#installation)\n  - [Built-in Potential Support](#built-in-potential-support)\n  - [Examples](#examples)\n    - [Code Setup](#code-setup)\n    - [Structure Setup](#structure-setup)\n    - [Potential Setup](#potential-setup)\n    - [Force Calculation](#force-calculation)\n    - [Optimisation Calculation](#optimisation-calculation)\n    - [MD Calculation](#md-calculation)\n  - [Development](#development)\n    - [Coding Style Requirements](#coding-style-requirements)\n    - [Testing](#testing)\n\n## Installation\n\nTo install a stable version from pypi:\n\n```shell\npip install aiida-lammps\n```\n\nTo install from source:\n\n```shell\ngit clone https://github.com/aiidaplugins/aiida-lammps.git\npip install -e aiida-lammps\n```\n\n## Built-in Potential Support\n\nThe `lammps.base` calculation and associated workflows make use of the ``LammpsPotentialData`` data structure which is created by passing a potential file, plus some labelling parameters to it.\n\nThis data structure can be used to handle the following potential types:\n\n- Single file potentials: Any potential that can be stored in a single file, e.g. [EAM](https://docs.lammps.org/pair_eam.html), [MEAM](https://docs.lammps.org/pair_meam.html), [Tersoff](https://docs.lammps.org/pair_tersoff.html) and [ReaxFF](https://docs.lammps.org/pair_reaxff.html).\n- Directly parametrized potentials: Potentials whose parameters are directly given via ``pair_coeff`` in the input file, e.g [Born](https://docs.lammps.org/pair_born_gauss.html), [Lennard-Jones](https://docs.lammps.org/pair_line_lj.html) and [Yukawa](https://docs.lammps.org/pair_yukawa.html). These parameters should be written into a file that is then stored into a ``LammpsPotentialData`` node.\n\n\n\n## Examples\n\nMore example calculations are found in the folder **/examples** as well as in the documentation. The examples touch some common cases for the usage of LAMMPS for a single stage calculation.\n\n## Development\n\n### Running tests\n\nThe test suite can be run in an isolated, virtual environment using `tox` (see `tox.ini` in the repo):\n\n```shell\npip install tox\ntox -e 3.9-aiida_lammps -- tests/\n```\n\nor directly:\n\n```shell\npip install .[testing]\npytest -v\n```\n\nThe tests require that both PostgreSQL and RabbitMQ are running.\nIf you wish to run an isolated RabbitMQ instance, see the `docker-compose.yml` file in the repo.\n\nSome tests require that a `lammps` executable be present.\n\nThe easiest way to achieve this is to use Conda:\n\n```shell\nconda install lammps==2019.06.05\n# this will install lmp_serial and lmp_mpi\n```\n\nYou can specify a different executable name for LAMMPS with:\n\n```shell\ntox -e 3.9-aiida_lammps -- --lammps-exec lmp_exec\n```\n\nTo output the results of calcjob executions to a specific directory:\n\n```shell\npytest --lammps-workdir \"test_workdir\"\n```\n\n### Pre-commit\n\nThe code is formatted and linted using [pre-commit](https://pre-commit.com/), so that the code conform to the standard:\n\n```shell\ncd aiida-lammps\npre-commit run --all\n```\nor to automate runs, triggered before each commit:\n\n```shell\npre-commit install\n```\n\n## License\n\nThe `aiida-lammps` plugin package is released under the MIT license. See the `LICENSE` file for more details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "AiiDA plugin for the LAMMPS code",
    "version": "1.0.1",
    "project_urls": {
        "Documentation": "https://aiida-lammps.readthedocs.io",
        "Source": "https://github.com/aiidaplugins/aiida-lammps"
    },
    "split_keywords": [
        "aiida",
        "workflows",
        "lammps"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8911026744897f880531c95fee36b53defee2ae5f6ee9ac719681bb2afd05c3c",
                "md5": "7261aa4526841c9fde13a14f256c24c9",
                "sha256": "c0cb4fc1d8fd901e1a258865db969666ada43b2de1f797dab124ed8eb446fcd9"
            },
            "downloads": -1,
            "filename": "aiida_lammps-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7261aa4526841c9fde13a14f256c24c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 59769,
            "upload_time": "2023-11-28T17:18:31",
            "upload_time_iso_8601": "2023-11-28T17:18:31.193713Z",
            "url": "https://files.pythonhosted.org/packages/89/11/026744897f880531c95fee36b53defee2ae5f6ee9ac719681bb2afd05c3c/aiida_lammps-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4a96b26bf7c6369b80172a3907b43405b9786f084eeadb599cefbfb7db8b83b2",
                "md5": "6a3e261957067355fe098a4c0872d085",
                "sha256": "72df880905f6807e543e804e4e849fdf91ad5874a731d87372fe8b0fe7c1fc04"
            },
            "downloads": -1,
            "filename": "aiida_lammps-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6a3e261957067355fe098a4c0872d085",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 307879,
            "upload_time": "2023-11-28T17:18:33",
            "upload_time_iso_8601": "2023-11-28T17:18:33.340724Z",
            "url": "https://files.pythonhosted.org/packages/4a/96/b26bf7c6369b80172a3907b43405b9786f084eeadb599cefbfb7db8b83b2/aiida_lammps-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-28 17:18:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aiidaplugins",
    "github_project": "aiida-lammps",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aiida-lammps"
}
        
Elapsed time: 0.15057s