Skip to main content

AiiDA plugin for the LAMMPS code

Project description

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:

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

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:

  • Single file potentials: Any potential that can be stored in a single file, e.g. EAM, MEAM, Tersoff and ReaxFF.
  • Directly parametrized potentials: Potentials whose parameters are directly given via pair_coeff in the input file, e.g Born, Lennard-Jones and Yukawa. 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):

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida_lammps-1.0.2.tar.gz (308.7 kB view details)

Uploaded Source

Built Distribution

aiida_lammps-1.0.2-py3-none-any.whl (60.1 kB view details)

Uploaded Python 3

File details

Details for the file aiida_lammps-1.0.2.tar.gz.

File metadata

  • Download URL: aiida_lammps-1.0.2.tar.gz
  • Upload date:
  • Size: 308.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for aiida_lammps-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c161e5b926766e440638cec6302c033b840eecb82e2f4c651f932866039b0ffa
MD5 08dcda915f2893360ee56f5692f30ce4
BLAKE2b-256 3ed08f4fa3f593010d011afd46e3b440983a77c643a62c608a64598ed1d6b9bd

See more details on using hashes here.

File details

Details for the file aiida_lammps-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for aiida_lammps-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 57f8755358c64ad08a30dda1d13ac9e5506d2d56b4a3ac854bac77970c43df6d
MD5 b3f8fc330026c7547480a2269ca1015b
BLAKE2b-256 561368a5692d310c56b50c17ac6bf60c582fe6255c41cb55dc8a3b8d47e7bc8d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page