Software‎ > ‎

LAMMPS-ICMS

This is an experimental version of LAMMPS with additional features made available for testing before they will be submitted for inclusion into the official LAMMPS tree. The source code is based on the developer svn mirror and kept up-to-date as much as possible. Most of the time, all changes from the upstream repository are integrated immediately, sometimes - when additional development work is needed to adapt the additional code in LAMMPS-ICMS to the changes in the official LAMMPS version - the  tree may be lagging behind for a while. Don't hesitate to contact me, if you need some specific feature to be merged in.

Summer 2015 Update:
Development on LAMMPS-ICMS is still mainly in bugfix-and-performance-enhancements mode. Currently the branch is also used to help integrating new add-on packages to LAMMPS. To ease contributing code and bugfixes or submit bug reports a project on bitbucket has been opened: https://bitbucket.org/akohlmey/lammps/  Recent effort has also been invested into a (mostly) automated build system to generate binary RPM packages from LAMMPS-ICMS snapshots for a variety of Linux distributions and installer packages for 32-bit and 64-bit Windows machines. More information can be found at http://rpm.lammps.org/ and http://rpm.lammps.org/windows.html, respectively. In an ongoing collaboration with the Quantum ESPRESSO developers a QM/MM facility is being added that currently is capable of an ONIOM style mechanical QM/MM coupling between LAMMPS and the pw.x code from Quantum ESPRESSO. Further improvements of the coupling code are under way.

Known Issues:
Using /omp pair styles as part of a hybrid style currently can yield wrong per atom pressure and per atom energies, if there are more threads than atoms on any MPI task.

Last Merge of LAMMPS-ICMS code to Upstream LAMMPS:
Version 18 July 2015

Last Merge of Upstream LAMMPS into LAMMPS-ICMS:
Check out the file src/version.h it corresponds to the last upstream version that was integrated.



LAMMPS-ICMS Features


This branch currently has the following features in addition to the regular LAMMPS version:
  • An improved Timer class and general time accounting. Now records wall time and cpu time (if available) and prints CPU utilization for all categories. Time is given as min/avg/max and a new category "Modify" was added to differentiate time spent on fixes and computes from the rest (i.e. "Other"). New timers command to select between the level of timer detail collected and printed from none to full.
  • Similar timing breakdown infrastructure for per thread timing. Currently with limited support from individual styles.
  • New callback mechanism that allows computes to register a callback function to be executed on every call to ev_tally(), i.e. typically once per each pair of atoms when the global energy is computed. Three example computes demonstrate the usage pe/tally, force/tally, stress/tally. All allow tallying potential energy, force and stress tensor contributions between atoms of two groups on a per atom basis. For group all, those should be equivalent to the corresponding pe/atom and stress/atom computes. The force/tally and pe/tally commands are similar to compute group/group, only that they don't call Pair::single() and allow per atom data tally.
  • Automatically launch a pager (defaults to the command set in ${PAGER} or falls back to more) when viewing the help page interactively.
  • Support for multiple special_bonds settings via pair_style hybrid.
  • Support for using different sub-styles in a hybrid pair style in r-RESPA integration (initial code contributed by Sam Genhedin)
  • A new fix spring/pull that works like fix spring in tether mode, but allows to move the tether point with a constant velocity vector during the simulation and handles pulling repeatedly through periodic boundaries well (unlike fix smd in its current form).
  • Mersenne Twister pseudo random number generator to replace the existing "RandMars" class (not yet active).
  • Scripts and spec files to build binary RPMs for CentOS/RHEL, Fedora and openSuSE.
  • Support for cross-compilation of 32-bit and 64-bit windows executables from Linux via MinGW. Scripts to build complete installer packages.
For more details have a look at the changelog.

Source Code Access

The code is maintained as a git repository and can be downloaded similar to other git repositories using:
git clone git://git.lammps.org/lammps-icms.git lammps-icms
or:
git clone http://git.lammps.org/lammps-icms.git lammps-icms
and then kept up-to-date with:
git pull

Alternatively, you can download a snapshot archive of the latest version in .tar.gz format or in .tar.bz2 format.

Pre-compiled LAMMPS Binaries for Linux

A yum repository with precompiled binary RPM packages for several Linux distributions is now available at http://rpm.lammps.org/. The packages are configured to depend only on other packages that are part of the respective distributions, so dependencies should be resolved automatically when using yum or PackageKit to install the packages. The LAMMPS binaries contain all optional packages included in the source distribution except: GPU, KIM, and USER-CUDA since those depend on libraries that do not exist as regular RPM packages and/or where the license is incompatible with including them in a binary distribution like this one. The Fortran REAX version is also excluded, since it has been superseded by the corresponding C/C++ version in the USER-REAXC package, which is faster and more flexible and tested to give identical results within the range of floating point accuracy. All binaries are capable of using multiple threads via the styles provided in the USER-OMP package.

Pre-compiled LAMMPS binaries for Windows

Installers for 32-bit and 64-bit windows of LAMMPS are available at http://rpm.lammps.org/windows.html. The compilation is done on a Linux machine running Fedora 18 via the bundled MinGW cross-compiler packages. The LAMMPS binaries contain all optional packages included in the LAMMPS source distribution except: KIM, and USER-CUDA since those cannot be cross-compiled their license is incompatible with including them in a binary distribution like this one. The Fortran REAX version is also excluded, since it has been superseded by the corresponding C/C++ version in the USER-REAXC package, which is faster and more flexible and tested to give identical results within the range of floating point accuracy.

All binaries are capable of using multiple threads via the styles provided in the USER-OMP package. Also GPU acceleration is available via the OpenCL mode of the GPU package. There are installers for 32-bit and 64-bit Windows versions and for each of them a version compiled without MPI and one with MPI support (via MPICH2) is available. The packages also include the the restart2data, binary2txt, msi2lmp, and chain utility programs as well as the LAMMPS and Colvars manuals in PDF format.

Ċ
Axel Kohlmeyer,
Mar 11, 2011, 6:54 AM
Ċ
Axel Kohlmeyer,
Aug 6, 2010, 8:02 PM
Comments