Name | aiida-lammps JSON |
Version |
1.0.1
JSON |
| download |
home_page | None |
Summary | AiiDA plugin for the LAMMPS code |
upload_time | 2023-11-28 17:18:33 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
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"
}