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
Hashes for aiida_lammps-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57f8755358c64ad08a30dda1d13ac9e5506d2d56b4a3ac854bac77970c43df6d |
|
MD5 | b3f8fc330026c7547480a2269ca1015b |
|
BLAKE2b-256 | 561368a5692d310c56b50c17ac6bf60c582fe6255c41cb55dc8a3b8d47e7bc8d |