AiiDA plugin for the LAMMPS code
Project description
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_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 aLammpsPotentialData
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c161e5b926766e440638cec6302c033b840eecb82e2f4c651f932866039b0ffa |
|
MD5 | 08dcda915f2893360ee56f5692f30ce4 |
|
BLAKE2b-256 | 3ed08f4fa3f593010d011afd46e3b440983a77c643a62c608a64598ed1d6b9bd |
File details
Details for the file aiida_lammps-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: aiida_lammps-1.0.2-py3-none-any.whl
- Upload date:
- Size: 60.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57f8755358c64ad08a30dda1d13ac9e5506d2d56b4a3ac854bac77970c43df6d |
|
MD5 | b3f8fc330026c7547480a2269ca1015b |
|
BLAKE2b-256 | 561368a5692d310c56b50c17ac6bf60c582fe6255c41cb55dc8a3b8d47e7bc8d |