Giter VIP home page Giter VIP logo

aiida-lammps's Introduction

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.

aiida-lammps's People

Contributors

chrisjsewell avatar jpchico avatar abelcarreras avatar sphuber avatar dependabot[bot] avatar pre-commit-ci[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.