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 | |
|---|---|---|---|
| aiida_lammps-1.0.2.tar.gz | 308.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiida_lammps-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
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
|