Skip to main content

A SEAMM plug-in for LAMMPS, a forcefield-based molecular dynamics code.

Project description

GitHub pull requests Build Status Code Coverage Code Quality Documentation Status PyPi VERSION

SEAMM LAMMPS Plug-in

A SEAMM plug-in for LAMMPS, a forcefield-based molecular dynamics code.

This plug-in provides a graphical user interface (GUI) for setting up complex simulations using LAMMPS. It uses a sub-flowchart that provides steps such as constant pressure and temperature (NPT) dynamics which give access to the functionality in LAMMPS in a more consistent and understandable way than the inscrutable fixes that LAMMPS uses.

These sub-flowcharts mirror the main flowchart in form and function and can use the same variables such as temperature and pressure that are accessible anywhere in the flowcharts. This allows “programming” a LAMMPS workflow in the same familiar way that SEAMM uses to represent the overall workflow.

Features

  • Use of any forcefield supported by the forcefield plug-in:

    • PCFF

    • OpenKIM: EAM, MEAM, LJ, ReaxFF

  • Molecular statics: minimization

  • Molecular dynamics: NVE, NVT, and NPT with any of the approaches supported in LAMMPS

  • Automatic statistical analysis of averages from MD

    • Detection of equilibration

    • Mean and standard error of the mean for the sampling after equilibration

    • Autocorrelation function and time

    • Statistical inefficiency

    • Plotting of results in the Dashboard

  • Using property values to drive MD. Rather than running MD for a length of time, automatically run long enough to determine a set of properties within given error bars.

Acknowledgements

This package was created with Cookiecutter and the molssi-seamm/cookiecutter-seamm-plugin project template.

Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award ACI-1547580

History

2024.3.22 – Corrected issue with e.g. heat flux calculations
  • Corrected an issue running LAMMPS via Python, intorduced in the new scheme for executing. It ignored parallelism.

2024.3.21 – Switched to new installation scheme
  • Fully support ~/SEAMM/lammps.ini

  • Updated to new installer

  • Support for Conda and Docker installation.

2024.1.18 – Restructured to support running in containers.

2023.11.7 – Bugfix: properties that are constant
  • A property, such as the total energy, can be a constant over an MD run due to precision of the trajectory. This caused errors because the autocorrelation function is not defined. These cases are now detected and the ACF not calculated for them.

2023.11.6 – Bugfix in thermal conductivity
  • Due to change in input file name.

2023.9.6 – Corrected issues with final coordinates; added velocities
  • There was a problem with getting the final coordinates from a dump file.

  • Added saving and reusing velocities so now a second LAMMPS step will by default use the velocities from the previous step, which is what you would expect.

2023.8.31 – Bugfix: not reading structure correctly after dynamics

2023.8.27 – Added support for tabulated angle potentials.
  • Support for the CL&P-OPLSAA potential for octahedral PF6-

2023.8.21 – Bugfix: x-axes length on graphics incorrect
  • The size of the x-axes of the trajectory graphs were wrong, often much too large, compressing the actual data near the beginning of the graph.

  • Fixed an issue with systems with no non-bonds.

2023.6.17 – Bugfix: more centroid/stress/atom issues
  • Avoided using centroid/stress/atom for heat flux in standard NVE, NVT, … dynamics with Class 2 forcefield.

  • Added option to not use centroid/stress/atom for any forcefield.

2023.6.16 – Heat flux with PCFF
  • centroid/stress/atom does not work with Class 2 forcefields, so don’t use for PCFF.

2023.5.29 – Self diffusion and other improvements
  • Added trajectory panel to support diffusion, viscosity and simple thermal conductivity.

  • Added support for separate GPU versions of LAMMPS.

  • Added support for command-line arguments to LAMMPS, mainly used for accelerators.

  • Added support for using modules.

2023.4.24 – Support for thermal conductivity
  • Internal changes to support thermal conductivity with its embedded flowchart.

  • Added the heat flux substep.

  • Now delete output and reference files when rerunning, so the output is clean.

  • Internal changes to support running LAMMPS from a Python driver.

  • Corrected units of properties returned from LAMMPS when e.g. metal units used.

  • Added support for Buckingham potentials

  • Fixed issues with and cleaned up the use of hybrid types for bonds, angles, ….

  • Fixed issues with the alignment of some of the widgets in the GUI.

2023.4.9 – Hid the warning from pymbar
  • Importing pymbar timeseries writes a warning to the terminal about its proper usage. SEAMM already handles the warned case, so the message is simply confusing to users and hence this release hides it.

2023.4.6 – Better forcefield handling.
  • Added correct molecule numbers for valence forcefields.

  • Correctly handle ReaxFF from OpenKim

  • Updated for some minor changes in OpenKim

2023.2.6 – Added handling of OPLS-AA forcefield
  • Added handling of the OPLS-AA forcefield

  • Moved documentation to new MolSSI theme and diátaxis layout

  • Cleaned up internale dependencies and workflows for GitHub

2022.10.31 – Bugfix: properties with commas

Properties with commas in their name in data/properties.csv need to have quotes to protect the property name!

2022.10.27 – Added properties
  • Added properties to be saved in the database.

  • Updated calls to pymbar because the names of methods were changed.

  • Add the missing references for pymbar

2021.2.11 (11 February 2021)
  • Updated the README file to give a better description.

  • Updated the short description in setup.py to work with the new installer.

  • Added keywords for better searchability.

2021.2.4.1 (4 February 2021)

Internal patch to fix CI; no changes for users.

2021.2.4 (4 February 2021)

Updated for compatibility with the new system classes in MolSystem 2021.2.2 release.

2020.12.4 (4 December 2020)

Internal: switching CI from TravisCI to GitHub Actions, and in the process moving documentation from ReadTheDocs to GitHub Pages where it is consolidated with the main SEAMM documentation.

2020.11.2 (2 November 2020)

Updated to be compatible with the new command-line argument handling.

2020.10.13 (13 October 2020)

Added capability to run MD until a set of user-selected properties are converged to requested accuracy.

2020.9.25 (25 September 2020)

Updated to be compatible with the new system classes in MolSystem.

2020.8.2.1 (2 August 2020)

Bugfix: Fixed problem with nonbonds and charges just introduced.

2020.8.2 (2 August 2020)

Bugfix: Corrected the time units when using metal units with e.g. EAM potentials.

2020.8.1 (1 August 2020)

Added support for OpenKIM potentials.

0.9.4 (29 May 2020)

Cleaned up the output for the statistical analysis.

0.9.3 (29 May 2020)

Fixed issue with settings for bins in LAMMPS for small nonperiodic systems with just a few atoms.

0.9.2 (25 May 2020)

Switched to using PYMBAR for detecting covergence to equilibrium for MD runs. This is a more robust solution than the previous approach.

0.9.1 (24 May 2020)

Support for rigid water models, such as TIP-3P.

0.9 (15 April 2020)

Support for plots in the dashboard of properties from MD. Added option to produce local HTML for the above plots.

0.8.2 (2020-01-25)
  • No significant changes in functionality.

  • Incorporating changes to the SEAMM infrastructure, which simplify the code for plug-ins.

  • Updating the Travis CI to handle incompatible changes in Travis, and to use Conda environments in all steps.

0.7.1 (18 December 2019)

Fixed problem with assigning charges to the system.

0.7.0 (17 December 2019)

General clean-up of code and output.

0.6 (8 September 2019)
  • Switched to ConfigArgParse for handling command-line arguments.

  • Added the locations of LAMMPS executables to a configuration file for easier access.

0.5.2 (31 August 2019)

Defined the correct requirements for installation.

0.5.1 (30 August 2019)

Bugfix: corrected the name of the LAMMPS executable.

0.5.0 (30 August 2019)

Added ability to use serial or parallel versions of LAMMPS based on an environment variable.

0.3.1 (27 August 2019)

Added initial, fairly reasonable output.

0.2.1 (29 July 2019)

First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lammps_step-2024.3.22.tar.gz (4.1 MB view hashes)

Uploaded Source

Built Distribution

lammps_step-2024.3.22-py2.py3-none-any.whl (100.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page