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:
-
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.
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_coeffin the input file, e.g Born, Lennard-Jones and Yukawa. These parameters should be written into a file that is then stored into aLammpsPotentialDatanode.
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.
Metadata
Release files for aiida-lammps 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aiida_lammps-1.0.2.tar.gz | 308.7 kB | Without provenance | Details for aiida_lammps-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aiida_lammps-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for aiida_lammps-1.0.2-py3-none-any.whl |
Total release size: 368.8 kB
Release files / aiida_lammps-1.0.2.tar.gz
| Download URL | aiida_lammps-1.0.2.tar.gz |
|---|---|
| Size | 308.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c161e5b926766e440638cec6302c033b840eecb82e2f4c651f932866039b0ffa
|
|
BLAKE2b-256 checksum How to use checksums |
3ed08f4fa3f593010d011afd46e3b440983a77c643a62c608a64598ed1d6b9bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|
Release files / aiida_lammps-1.0.2-py3-none-any.whl
| Download URL | aiida_lammps-1.0.2-py3-none-any.whl |
|---|---|
| Size | 60.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57f8755358c64ad08a30dda1d13ac9e5506d2d56b4a3ac854bac77970c43df6d
|
|
BLAKE2b-256 checksum How to use checksums |
561368a5692d310c56b50c17ac6bf60c582fe6255c41cb55dc8a3b8d47e7bc8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|
Security for aiida-lammps 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.