aiidaplugins / aiida-lammps

LAMMPS plugin for AiiDA
https://aiida-lammps.readthedocs.io
MIT License
25 stars 14 forks source link
aiida lammps plugin

CI Status Coverage Status PyPI Code style: black Docs status

AiiDA LAMMPS plugin

An AiiDA plugin for the classical molecular dynamics code LAMMPS.

This plugin contains 2 types of calculations:

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

Installation

To install a stable version from pypi:

pip install aiida-lammps

To install from source:

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:

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):

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

or directly:

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:

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

You can specify a different executable name for LAMMPS with:

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

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

pytest --lammps-workdir "test_workdir"

Pre-commit

The code is formatted and linted using pre-commit, so that the code conform to the standard:

cd aiida-lammps
pre-commit run --all

or to automate runs, triggered before each commit:

pre-commit install

License

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