{"id":18437659,"url":"https://github.com/aiidaplugins/aiida-lammps","last_synced_at":"2025-04-09T11:10:34.428Z","repository":{"id":37826328,"uuid":"109243454","full_name":"aiidaplugins/aiida-lammps","owner":"aiidaplugins","description":"LAMMPS plugin for AiiDA","archived":false,"fork":false,"pushed_at":"2025-03-31T06:57:37.000Z","size":1809,"stargazers_count":25,"open_issues_count":12,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T08:08:40.127Z","etag":null,"topics":["aiida","lammps","plugin"],"latest_commit_sha":null,"homepage":"https://aiida-lammps.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aiidaplugins.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-02T09:25:35.000Z","updated_at":"2025-02-14T01:39:36.000Z","dependencies_parsed_at":"2023-02-16T16:32:06.192Z","dependency_job_id":"856a2a61-c253-44ba-afcb-dbeef3685f42","html_url":"https://github.com/aiidaplugins/aiida-lammps","commit_stats":{"total_commits":151,"total_committers":4,"mean_commits":37.75,"dds":"0.16556291390728473","last_synced_commit":"8f618541784bbd6360efc653350570cf76398e83"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiidaplugins%2Faiida-lammps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiidaplugins%2Faiida-lammps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiidaplugins%2Faiida-lammps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiidaplugins%2Faiida-lammps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aiidaplugins","download_url":"https://codeload.github.com/aiidaplugins/aiida-lammps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248027407,"owners_count":21035594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiida","lammps","plugin"],"created_at":"2024-11-06T06:15:45.490Z","updated_at":"2025-04-09T11:10:34.409Z","avatar_url":"https://github.com/aiidaplugins.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiidaplugins%2Faiida-lammps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faiidaplugins%2Faiida-lammps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiidaplugins%2Faiida-lammps/lists"}