24 Dec 2015

Patch maintenance test.

This patch file can be applied to the 23 Dec 2015 version. This is the list of changed files.


23 Dec 2015

Ray Shan (Sandia) added a fix qeq/fire option to the suite of QEq charge equilibration algorithms. This one uses the FIRE minimizer.

This patch also fixes an issue with the previous patch, where the Intel compiler is required for the new pair tersoff/intel. A warning is now issued if the Intel compiler is not used, instead of a compiler error.

This patch file can be applied to the 19 Dec 2015 version. This is the list of changed files.


19 Dec 2015

Rodrigo Canales, Markus Hohnerbach, Ahmed E. Ismail, and Paolo Bientinesi have added optimized Tersoff and Buckingham potentials to the USER-INTEL package. The speed-up can be greater than 3x for simulations on Intel processors and coprocessors (Xeon Phi).

This patch file can be applied to the 17 Dec 2015 version. This is the list of changed files.


17 Dec 2015

Added a body option to the dump image command to draw particles that are defined by the atom_style body command as "bodies" with internal structure as opposed to simple spheres. This is in preparation for a new body style we are planning to release soon, for 2d models for particles shaped as rounded convex polygons.

This patch file can be applied to the 15 Dec 2015 version. This is the list of changed files.


15 Dec 2015

Lingti Kong has provided an update to his USER-PHONON package:

This patch file can be applied to the 11 Dec 2015 version. This is the list of changed files.


11 Dec 2015

Added bin/sphere and bin/cylinder options to the compute chunk/atom command, which means that spatial averaging can be done over spherical or cylindrical bins via the fix ave/chunk command. The former is analogous to the fix ave/spatial/sphere command, which will be deprecated at some point.

This patch file can be applied to the 9 Dec 2015 version. This is the list of changed files.


9 Dec 2015

Axel Kohlmeyer (U Temple) added some hooks to the Python wrapper in LAMMPS to allow it to use a new feature in the latest 2.0 version of mpi4py. The feature allows Python running in parallel under MPI to pass an MPI communicator to LAMMPS. This means a Python script can partition the MPI tasks into sub-partitions and invoke more than one instance of LAMMPS, each of them running on one or more processors. So it is now easy to use Python to manage multiple LAMMPS runs.

See the Section_python.html doc page and python/README file and python/examples/split.py script for details.

Alain Dequidt (Universite Blaise Pascal) and the folks who created the USER-DRUDE package have made an update with a couple small bugfixes, and also a new ability for the model to work with the atom_style molecular option.

Stan Moore (Sandia) added Kokkos versions of the fix setforce and region block commands.

Paolo Raiteri (Curtin U) has added 4 new force field commands. The pair styles add a tapering function to the standard non-tapered versions:

This patch file can be applied to the 8 Dec 2015 version. This is the list of changed files.


8 Dec 2015

Enabled the fix ave/chunk norm none command option which allows per-chunk values to be sums across all atoms in the chunk, e.g. the total energy of a molecule, instead of an average per-atom energy.

Axel Kohlmeyer (U Temple) and Tim Sirk (ARL) fixed an issue with the pair_style srp command to allow using it for restarted simulations and more generally to use it multiple times for different bond types.

Xioawang Zhou (Sandia) has optmized his pair_style polymorphic potential to be considerably faster. He also added potential files for several new alloy systems, to the potentials dir of the distribution.

Mario Orsi and Wei Ding (Queen Mary University of London) have made an update to their angle_style dipole command to fix an issue whereby the local angular momentum was not conserved, also resulting in non-conservation of the total energy in the NVE ensemble. The fix was to introduce a force couple that restores conservation of momentum and energy.

This patch file can be applied to the 7 Dec 2015 version. This is the list of changed files.


7 Dec 2015

Aidan Thompson (Sandia) added an average option to the compute msd command to allow displacements to be calculated from a time-averaged reference position, which can be useful for solids with atoms on a lattice.

He also fixed some minor issues with these commands:

This patch file can be applied to the 20 Nov 2015 version. This is the list of changed files.


20 Nov 2015

Trung Nguyen enhanced the pair_style tersoff/gpu potential in the GPU package to allow for multiple GPU threads/atom.

Andrew Jewett fixed a bug in his moltemplate tool tool.

Tim Sirk (ARL) fixed a bug in his pair_style srp command by enforcing it to allocate an underlying fix in the correct order relative to other fixes.

This patch file can be applied to the 17 Nov 2015 version. This is the list of changed files.


17 Nov 2015

Aidan Thompson (Sandia), with help from Axel Kohlmeyer, added a per-atom compute orientorder/atom command that calculates the Steinhardt bond orientational order parameters Ql, often used to detect local crystalline order in three-dimensional solid phases.

This patch file can be applied to the 6 Nov 2015 version. This is the list of changed files.


6 Nov 2015

Aidan Thompson (Sandia) added a compute hexorder/atom command, that calculates the bond orientational order parameter q6, often used to detect hexagonal phases.

This patch file can be applied to the 31 Oct 2015 version. This is the list of changed files.


31 Oct 2015

Update to the msi2lmp conversion tool from Axel Kohlmeyer (Temple U). Also a zillion tiny changes to the syntax of header file includes in the LAMMPS src files, to correctly use angle brackets instead of quotes on system include files.

This patch file can be applied to the 26 Oct 2015 version. This is the list of changed files.


26 Oct 2015

Accidentally left out the pair mgpt potential files in the 24Oct15 patch. This adds them.

This patch file can be applied to the 25 Oct 2015 version. This is the list of changed files.


25 Oct 2015

Reese Jones (Sandia) added a variable option to the displace_atoms command, so that atoms can be displaced (in each dimension) by an equal-style or atom-style variable. The latter means one or more sets of displacements could be read from a file.

This patch file can be applied to the 24 Oct 2015 version. This is the list of changed files.


24 Oct 2015

Tomas Oppelstrup and John Moriarty (LLNL) have added their quantum-based model generalized pseudopotential theory (MGPT) multi-ion potentials. It is available as a pair_style mgpt command within the USER-MGPT package. There is also an examples/USER/mgpt directory with example scripts.

Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS, France) have added the second moment tight binding QEq (SMTBQ) potentias for ionocovalent bonds in oxides. It is available as a pair_style smtbq command within the USER-SMTBQ package. There is also an examples/USER/smtbq directory with example scripts.

This patch file can be applied to the 23 Oct 2015 version. This is the list of changed files.


23 Oct 2015

Fixed a couple bugs with the read_data command when used to read in multiple data files, a fairly recent added option.

Changed the syntax of the molecule command when used with optional keywords, so that the options can be applied to individual molecule files in a multi-molecule template. Added a scale option to allow molecules size, mass, moments-of-inertia to be scaled. This is useful, for example, for creating polydisperse rigid granular bodies.

Augmented the fix adapt command to allow a sub-style of the pair_style hybrid or hybrid/overlay command to be selected for adaptation, even when the same sub-style is used multiple times. This is done by specifying the pstyle argument of fix adapt as "style:N", where N is which instance of the sub-style you wish to adapt.

BACKWARD COMPATABILITY: The changes to the molecule command will change the command's behavior if multiple files are specified with one set of optional keywords at the end. Previously, the keywords were applied to all files. Now they will only be applied to the last file.

This patch file can be applied to the 22 Oct 2015 version. This is the list of changed files.


22 Oct 2015

Jorge Ramirez (UPM) and Alexei Likhtman (U Reading) added a new fix ave/correlate/long command, which is more efficient than fix ave/correlate at compute correlations for very long time windows.

Aidan Thompson (Sandia) has added a new pair_style vashishta command. It computes the combined 2-body and 3-body family of potentials developed in the group of Vashishta and co-workers. By combining repulsive, screened Coulombic, screened charge-dipole, and dispersion interactions with a bond-angle energy based on the Stillinger-Weber potential, this potential has been used to describe a variety of inorganic compounds, including SiO2, SiC, and InP. Thanks to Yongnan Xiong (HNU) for contributing the original source code.

Hendrik Heenen (TU Munchen) sent a couple upgrades to his CORESHELL package as to how temperatures are computed and thermostatting is performed. The Section howto 6.26 now explains more carefully how to use the package correctly.

Fixed a bug in the fix shake command for setting the equilibrium angle distance (between 1-3) when the 2 bonds in the angle are of different equilibrium lengths.

Tim Sirk (ARL) caught a bug in the compute msd/chunk command for not initializing the chunk count correctly.

Added a deprectation warning to the pair_style reax command, since we plan to remove it at some point in the future. The reax style only differs from the pair_style reax/c command in the lo-level implementation details. The reaxc style runs faster and is where we are focusing efforts for further optimization, enhancements, and bug fixes (as they are discovered).

This patch file can be applied to the 5 Oct 2015 version. This is the list of changed files.


5 Oct 2015

Mike Brown (Intel) added an option to the suffix command and corresponding command-line switch for specifying a "hybrid" setting for 2 suffixes, e.g. intel and omp. This allows the second to be used if the first package is not available.

Also fixed a one-line bug in the pair_style airebo command which could compute one term in the bond-order LJ potential (for some atom pairs) incorrectly for two-component systems, due to incorrectly swapping the C and H atom parameters.

This patch file can be applied to the 25 Sep 2015 version. This is the list of changed files.


25 Sep 2015

Added an examples/COUPLE/multiple directory to illustrate the LAMMPS library interface can be used by a driver program (C++ in this case) can create multiple instances of LAMMPS, each on a subset of allocated MPI processors, and use them to run independent simultaneous simulations.

This patch file can be applied to the 24 Sep 2015 version. This is the list of changed files.


24 Sep 2015

Aidan Thompson (Sandia) made some changes to the pair_style zbl command so that it does mixing in a more standard way, which also allows it to be used more flexibly as part of the pair_style hybrid command. Aidan also made some bug fixes and features upgrades to the fix gcmc command.

A small update to the moltemplate tool was made by Andrew Jewett.

Biswajit Mishra (Shell) fixed a bug in the USER-INTEL package that could cause incorrect special bond settings to be applied for small simulations where the cutoff is greater than half of the simulation box size.

Stan Moore (Sandia) added several new Kokkos-accelerated fixes and computes, including fix nvt, fix nph, fix npt, fix deform, and fix wall/reflect.

BACKWARD COMPATABILITY: The changes to the pair_style zbl command change the syntax for some usages of the command, which will generate errors if the old syntax is not compatible.

This patch file can be applied to the 11 Sep 2015 version. This is the list of changed files.


11 Sep 2015

Mike Salerno (Sandia) added an omega option for angular velocity to the set command.

Some internal error checking is also added by this patch.

This patch file can be applied to the 9 Sep 2015 version. This is the list of changed files.


9 Sep 2015

This patch contains a new parametrization of the real-space part of the EWALD summation for all the pair styles in the CORESHELL package, which was formulated by Alain Dequint and implemented with Hendrik Heenen.

It also contains a bug fix for pair_style sw/gpu when using multiple elements, fixed by Trung Nguyen. And an updated version of the library used by the USER-COLVARS package.

This patch file can be applied to the 4 Sep 2015 version. This is the list of changed files.


4 Sep 2015

Added a version() function to the variable command so that variables (and thus scripts) can detect the version of LAMMPS that is running.

Also adds a change to the compute rdf command from Bernard Beckerman, that checks for possible double counting when atoms are in both groups, and effectively corrects for finite size effects.

Also adds an option to selectively override the communication cutoff via the comm_modify mode multi command, based on suggestions made by Martin Wagner.

Also some code maintentance changes, with some safety code added as well as a minor change or two.

This patch file can be applied to the 29 Aug 2015 version. This is the list of changed files.


29 Aug 2015

Axel Kohlmeyer (Temple U) has added a USER-TALLY package which has compute commands which can tally various kinds of pairwise interactions (e.g. energy, force, stress, heat/flux). They do it in a manner that is directly triggered from the pair style itself within its double loop over atoms and neighbors, only on timesteps when requested. This allows users to write their own new computes that tally whatever they wish (e.g. a new kind of stress formulation) without editing any of the individual pair style files.

See the compute tally doc page and the src/USER-TALLY/README file for additional details.

This patch file can be applied to the 28 Aug 2015 version. This is the list of changed files.


28 Aug 2015

Axel Kohlmeyer (Temple U) has refactored the internal timer class and added a timer command which gives more control over how performance timings are measured and output, both at the MPI and thread level. Section Start 2.8 has details on the printed timing statistics when a run finishes.

This patch file can be applied to the 21 Aug 2015 version. This is the list of changed files.


21 Aug 2015

Maintentance patch with some code clean-up. Thanks to Axel Kohlmeyer (Temple U) and Richard Berger (JKU).

This patch file can be applied to the 19 Aug 2015 version. This is the list of changed files.


19 Aug 2015

Pierre de Buyl (KU Leuven) has added a USER-H5MD package with a dump h5md command for writing dump files via HDF5. HDF5 files are binary, portable and self-describing and can be examined and used by a variety of auxiliary tools. The output HDF5 files are structured in a format called H5MD, which was designed by Pierre to store molecular data, and can be used and produced by various MD and MD-related codes. The dump h5md command gives a citation to a paper describing the format.

Note that using this new dump command requires you have HDF5 support on your system. See the lib/h5md/README file for more information.

Axel Kohlmeyer (Temple U) added a COMPRESS package that provides several variants of dump commands that produce compressed output via a system compression library (zlib). This is an alternative to using the -DLAMMMPS_GZIP option when you build, which does something similar via a pipe. Pipes are not supported on some HPC platforms which use pinned memory, like clusters with Infiniband or Myrinet. See the dump command doc page with its "gz" suffix commands for details.

This patch also contains an upgrade to the GPU package provided by Trung Nguyen, and a new version of the tools/moltemplate provided by Andrew Jewett.

This patch file can be applied to the 18 Aug 2015 version. This is the list of changed files.


18 Aug 2015

Added a format keyword to the fix ave/time and fix ave/chunk commands to allow user control of the precision of values output to a file.

This patch file can be applied to the 10 Aug 2015 version. This is the list of changed files.


10 Aug 2015

This patch has some minor changes to the recently released USER-SMD package and the USER-REAXC package to make them mutually compatible. Also to make the auxiliary Eigen library used by the USER-SMD package be used in a similar fashion to other auxiliary libs used by LAMMPS.

Some updates to the fix gcmc command are also included, as well as optimization to the pair_style eam command for KOKKOS.

This patch file can be applied to the 4 Aug 2015 version. This is the list of changed files.


4 Aug 2015

Georg Ganzenmuller (Ernst Mach Institute, Germany) has developed a Smooth Mach Dynamics package (USER-SMD) to supplement the Smoothed Particle Hydrodynamics package (USER-SPH) he released in LAMMPS previously. The new package has the following features:

Aidan Thompson (Sandia) made a bug fix to the fix gcmc command that was causing undefined behavior in attempt_molecule_deletion_full() when bonded atoms were deleted, and the full energy calculation was being used, without SHAKE or RATTLE.

Luis Sandoval (LANL) and Manuel Camargo (UAN, Cali, Colombia) fixed a couple bugs with the clock advance when multiple events occur within the same dynamics increment, for the prd command in the LAMMPS implementation of parallel replica dynamics (PRD).

Andrew Jewett sent a new version of his moltemplate tool.

This patch file can be applied to the 28 Jul 2015 version. This is the list of changed files.


28 Jul 2015

Xiaowang Zhou and Reese Jones (Sandia) have added a pair_style polymorphic command which implements a generic polymorphic 3-body potential. It can be parameterized (via pre-tablulated inputs) as an EAM-style or Tersoff-style potential.

Axel Kohlmeyer (Temple U) added a pair_modify special option to allow the special_bonds weights to be set to different values for different pair_hybrid sub-styles. This allows multiple force fields to be used in a model of a hybrid system, e.g. CHARMM and AMBER with their different default weightings.

Sam Genheden (U of Southampton) added the capability to rRESPA via the run_style respa command to use pair_style hybrid where different sub-styles are invoked at different rRESPA levels. This is useful for hybrid coarse-grained/all-atom models.

This patch file can be applied to the 27 Jul 2015 version. This is the list of changed files.


27 Jul 2015

Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien Devemy (CNRS), and Agilio Padua (U Blaise Pascal Clermont-Ferrand) have added a USER-DRUDE package which implements a thermalized Drude dipole model for polarization. A nice tutorial on how to use the package is available here

The doc pages for these new commands have details:

There is an examples/USER/drude and tools/drude directory as well.

An overview of the various polazization options now in LAMMPS is available in Section howto 25.

Yuxing Peng (U Chicago) fixed some small bugs with the fix pimd command that were induced by changed to core LAMMPS and its communication interface with fixes.

This patch file can be applied to the 24 Jul 2015 version. This is the list of changed files.


24 Jul 2015

Colin Denniston (U Western Ontario) sent some small changes and bug fixes for his USER-LB package (lattice Boltzmann), primarily in the momentum routine.

Added a sumsq and avesq option to the compute reduce command, useful for calculating variances.

Fixed a small bug with the fix ave/chunk command not normalizing its density options correctly when the chunks are not spatial bins. The correct normalization factor is the entire simulation box volume in that case.

This patch also includes some doc files for a new Drude polarization model, that slipped into the repo accidentally. The source files are not there yet, but will be soon, e.g. the first of next week.

This patch file can be applied to the 22 Jul 2015 version. This is the list of changed files.


22 Jul 2015

Yuan Shen (Stanford U) contributed a new USER-QTB package which can be used to include quantum nuclear effects in a classical MD simulation. See the src/USER-QTB/README file for more details. These two commands were added:

This patch file can be applied to the 21 Jul 2015 version. This is the list of changed files.


21 Jul 2015

Shawn Coleman (ARL, formerly U Arkansas) contributed a new USER-DIFFRACTION package which can be used to calculated virtual X-ray or electron diffraction images. These are the new commands; see their respective doc pages for details:

This patch file can be applied to the 18 Jul 2015 version. This is the list of changed files.


18 Jul 2015

Added options to the read_data command to allow it to be used multiple times, to build up a complex sysstem by reading sets of atoms from different data files. There are various options for specifying how the atom IDs, atom coordinates, and types (atom, bonds, angles, etc) are treated in each data file that is read, so that a consistent final system can be created.

This patch file can be applied to the 17 Jul 2015 version. This is the list of changed files.


17 Jul 2015

Jake Gissinger (U Akron) sent some code for extending the molecule command with atom/bond type offsets, so that the same molecule template file can be more easily re-used in different simulations.

Axel Kohlmeyer (Temple U) added an info command which can be used as a debugging tool to print out the current status of various properties of a system.

This patch file can be applied to the 16 Jul 2015 version. This is the list of changed files.


16 Jul 2015

A potpourrri of small enhancements, warnings, bug fixes that Axel Kohlmeyer (Temple U) has been accumulating for the last few weeks in his LAMMPS branch.

This patch file can be applied to the 15 Jul 2015 version. This is the list of changed files.


15 Jul 2015

Released a new version of the Kokkos accelerator library as bundled with LAMMPS. A couple of Kokkos related bugs in LAMMPS were also fixed.

This release of Kokkos changes some of the variable names in machine Makefiles or make command lines for turning on various Kokkos options.

This patch file can be applied to the 14 Jul 2015 version. This is the list of changed files.


14 Jul 2015

Andrew Jewett sent an update that fixes some stability issue with the "linear" interopolation option for the dihedral_style table command.

Mike Salerno (Sandia) fixed a bug with rigid bodies in the fix rigid and fix rigid/small commands when their state was saved via auxiliary restart files via the infile option. The image flags also needed to be saved in order to restore the state properly.

This patch file can be applied to the 8 Jul 2015 version. This is the list of changed files.


8 Jul 2015

Small bug fix with Kokkos memory allocations.

This patch file can be applied to the 7 Jul 2015 version. This is the list of changed files.


7 Jul 2015

Aidan Thompson (Sandia) fixed some issues with the fix gcmc command. Specifically, three changes have been made that affect how molecules are inserted and rotated. The first change corrects a problem with the periodic image flags that affected rotation moves for molecules that had previous been inserted at a periodic boundary. The second change modifies the distribution of rotation angles used for molecule insertions and rotations. The third change eliminates a problem inserting charged atoms and molecules when full_energy option is not used.

Also some new potential files for the BOP potential.

This patch file can be applied to the 6 Jul 2015 version. This is the list of changed files.

Thanks to Mirco Wahab for sending test files for the GCMC bug.


6 Jul 2015

Don Ward and Xiaowang Zhou (Sandia) released an updated version of their BOP potential via the pair_style bop command. The command now only reads one syntax of input (the table structure) and no longer has as many inputs. There are now BOP potential files for AlCu, CCu, CdTe, CuH, GaAs.

This patch file can be applied to the 2 Jul 2015 version. This is the list of changed files.


2 Jul 2015

Fixed a bug with restart files and shrink-wrapped boundaries of type "m" which do not shrink past a specified value, set via the bounadry command.

This patch file can be applied to the 1 Jul 2015 version. This is the list of changed files.

Thanks to Aaron Stromberg for sending a test file for the restart/boundary issue.


1 Jul 2015

Ryan Elliott (U Minnesota) has provided an upgrade to the pair_style kim command which interfaces to the most current versino of the KIM repository of potentials.

This patch file can be applied to the 15 May 2015 version. This is the list of changed files.


15 May 2015

Various small bug fixes in this patch as well as new warning and error checks. Thanks to folks who posted issues to the mail list. And thanks to Axel Kohlmeyer (Temple U) who coded many of the changes and kept track of all of them.

This patch file can be applied to the 30 Apr 2015 version. This is the list of changed files.


30 Apr 2015

Fixed a bug in the fix rigid/small command not tracking the global count of added bodies correctly, if new ones were added via fix deposit or fix pour.

Also a new version of the COLVARS library, invoked by the fix colvars command.

This patch file can be applied to the 28 Apr 2015 version. This is the list of changed files.


28 Apr 2015

Corrected a mistake in the tail contributions to energy and pressure for the pair_style lj/expand command.

Some other small bug fixes are also included in this patch.

This patch file can be applied to the 18 Apr 2015 version. This is the list of changed files.

Thanks to Ketan Khare (RPI) for catching the mistake.


18 Apr 2015

Stan Moore and Ray Shan (Sandia) have added some more Kokkos-enabled pair styles, for pair_style tersoff and its "mod" and "zbl" variants, as well as pair_style sw (Stillinger-Weber) and the EAM variants for "alloy" and "fs" (Finnis-Sinclair).

This patch file can be applied to the 16 Apr 2015 version. This is the list of changed files.


16 Apr 2015

This patch fixes several small bugs with various commands, some of them when used in combination. Including compute gyration_chunk, compute chunk/atom, fix ave/chunk temperature, fix rigid/small variants, and temperature setting via the velocity command of read-in atoms that were shrink-wrapped.

This patch file can be applied to the 11 Apr 2015 version. This is the list of changed files.


11 Apr 2015

Fixed an issue with the compute temp/profile command where it needed to subtract additional degrees of freedom from its global temperature to account for the COM velocity removal from atoms in each bin. Also fixed a memory allocation bug in the compute temp/chunk com yes command.

This patch file can be applied to the 6 Apr 2015 version. This is the list of changed files.

Thanks to Steven Strong (U Colorado) for pointing out these issues.


6 Apr 2015

Christian Trott added a Kokkos version of the pair_style lj/sdk command and also made replicate command compatible with Kokkos.

This patch file can be applied to the 3 Apr 2015 version. This is the list of changed files.


3 Apr 2015

Fixed a bug with the dump_modify amap command with its discrete option for defining discrete color maps for the dump image command.

This patch file can be applied to the 2 Apr 2015 version. This is the list of changed files.


2 Apr 2015

This patch fixes some bugs and changes a few features for rigid body dynamics using both the fix rigid and fix rigid/small command and their variants. It also adds some checks and warnings/errors to protect against command options with rigid bodies that can cause problems. Specifically,

BACKWARD COMPATABILITY: The format of the file specifed by the infile keyword for both the fix rigid and fix rigid/small command was changed to include the velocity of the center of mass and the angular momentum. LAMMPS does not calculate these correctly for bodies with overlapping finite-size particles since it doesn't account for the overlaps, so the user needs to provide the desired values.

This patch file can be applied to the 29 Mar 2015 version. This is the list of changed files.


29 Mar 2015

Axel Kohlmeyer (Temple U) has reworked the CSVR thermostat of Giovanni Bussi that he intially implemented last year. There are now two variants:

In the case of temp/csvr the thermostat is similar to the empirical Berendsen thermostat in fix temp/berendsen, but chooses the actual scaling factor from a suitably chosen (Gaussian) distribution rather than having it determined from the time constant directly. In the case of temp/csld the velocities are updated to a linear combination of the current velocities with a gaussian distribution of velocities at the desired temperature.

This patch also include some other small code clean-ups.

This patch file can be applied to the 28 Mar 2015 version. This is the list of changed files.


28 Mar 2015

Ray Shan (Sandia) has added several more KOKKOS-enabled pair styles.

This patch also fixes a couple bugs with the fix ave/time aand fix ave/chunk commands when using running averages. The issues had to do with how they interfaced with the compute chunk/atom command and the possibility that the number of chunks changes with time.

This patch file can be applied to the 25 Mar 2015 version. This is the list of changed files.


25 Mar 2015

Added compute angmom/chunk and compute omega/chunk commands.

Fixed bugs in the fix gcmc and fix ave/chunk and fix ave/time commands, the latter two having to do with the new chunk diagnostics.

This patch also updates Section errors of the manual, which touches many of the src/*.h files which contain the content of the error messages.

This patch file can be applied to the 18 Mar 2015 version. This is the list of changed files.


18 Mar 2015

Stan Moore (Sandia) has added several of the bond, angle, dihedral, improper styles to the KOKKOS accelerator package.

This patch also fixes a bug with the Make.py script, the fix ave/chunk and fix ave/time (used with chunk computes) commands when using running or windowed averaging, a units issue with the fix ave/chunk command for temperature computation, and the various fix ave/* commands when used with the rerun command. The latter was an issue with the fix ave/* commands making overly cautious error checks on the resetting of the timestep that the rerun command triggers.

This patch file can be applied to the 14 Mar 2015 version. This is the list of changed files.

Thanks to various folks who identified the bugs and sent test scripts.


14 Mar 2015

Happy Py day.

Added a PYTHON package which will embed the Python interpreter in LAMMPS so that Python code can be invoked from an input script. There are two added commands:

An overview is given in Section python. An example/python dir was also added.

The python command allows you to write a Python function and ask the input script to execute it. Either directly, or by assigning it to a python-style variable, so that it is executed whenever the variable is evaluated, either in the input script, or when some other LAMMPS command uses it. Arguments to the Python function can be mapped to input script variables, and the function can return a value to a LAMMPS variable.

The code for the Python function can be included in the input script, or in a separate file you provide. The loaded code can contain other Python functions or classes or global variables to hold state between calls from LAMMPS.

The Python function can do any normal Python operation, including load modules, call other functions or class methods, etc. It can also "import" the LAMMPS library wrapper (see python/lammps.py in the distro) so it can make callbacks to LAMMPS itself. This means the Python function can invoke LAMMPS input script commands or query/alter internal LAMMPS state.

One thing this enables is writing a loop or branching operation in Python similar to what you might like to do in an input script with the LAMMPS next and if commands, but much more complex than their simple syntax allows.

This patch file can be applied to the 12 Mar 2015 version. This is the list of changed files.


12 Mar 2015

Simplified the process for building LAMMPS as a shared or static library. There is now a "mode" variable used by the Makefile. Thus these commands work to build LAMMPS as a standalone-executable or a library:

The shared library build takes place in a differnt Obj_shared_g++ directory since it requries all files be compiled with -fPIC for inclusion in the shared library.

BACKWARD COMPATIBILITY: The previous two-step commands for building libraries ("make makelib; make -f Makefile.lib g++" and "make makeshlib; make -f Makefile.shlib g++") have been removed from the build system.

This patch file can be applied to the 6 Mar 2015 version. This is the list of changed files.


6 Mar 2015

Hendrik Heenen (Technical University of Munich) has helped implement the adiabatic core/shell model for polarization effects. He also wrote a nice "howto" explanation for how to setup and run such models in LAMMPS using new pair styles he added, as well as a diagnostic compute for monitoring the temperature or thermostatting a system of paired core/shell particles. There is a new examples/coreshell dir with a sample input script for NaCl.

These are the new styles and doc page:

This patch file can be applied to the 5 Mar 2015 version. This is the list of changed files.


5 Mar 2015

Peter Wirnsberger (University of Cambridge) implemented the RATTLE constraint algorithm for LAMMPS, which is now released as a fix rattle command. The syntax is the same as for the fix shake command, and the doc page discusses the similarities and differences between the two.

This patch file can be applied to the 4 Mar 2015 version. This is the list of changed files.


4 Mar 2015

Mike Brown (Intel) has added a pair_style sw/intel command that adds support for the Stillinger-Weber potential to the USER-INTEL acceleration package. Performance gains can be greater than 3X on Xeon and up to 4X with Xeon Phi coprocessors (for example using the LAMMPS in.sw benchmark scaled to 512K atoms on 2S E5-2697v2 (IvyBridge).

Note that if using the Intel compiler, version 15 Update 1 or higher is required and a runtime error will be generated if an older Intel compiler is used.

This patch file can be applied to the 24 Feb 2015 version. This is the list of changed files.


24 Feb 2015

Albert Bartok-Partay (U Cambridge) has added a USER-QUIP package containing a pair_style quip command. This pair style provides an interface to the QUIP/libAtoms MD framework, which includes a variety of interatomic potentials, including Gaussian Approximation Potential (GAP) models.

To use LAMMPS with QUIP and GAP you need to first download and install the QUIP and GAP software. See the src/USER-QUIP/README and lib/quip/README files for details.

Example input scripts using QUIP and GAP are in the examples/USER/quip directory.

This patch file can be applied to the 19 Feb 2015 version. This is the list of changed files.


19 Feb 2015

Ray Shan (Sandia) has implemented the additional pairwise Coulombic calculations needed to use the Streitz-Mintmire potential with LAMMPS. This adds a pair coul/streitz cmomand and builds on his earlier work with the fix qeq command.

See the pair coul/streitz doc page for a discussion of how to use the pair_style hybrid command to setup the various pieces of the Streitz-Mintmire potential.

There is also a new examples/streitz directory with input scripts that run a simple Al2O3 model with the potential.

This patch file can be applied to the 16 Feb 2015 version. This is the list of changed files.


16 Feb 2015

Augmented the capabilities of the new compute temp/chunk command to allow for both a global temperature calculation as well as per-chunk values such as temperature, kinetic energy, internal energy. It is now consistent with both the other compute temp/* commands as well as the compute */chunk commands.

This patch file can be applied to the 13 Feb 2015 version. This is the list of changed files.


13 Feb 2015

A collection of new "chunk" commands have been added. These replace the compute */molecule commands and the fix ave/spatial command, though the latter will not be removed from LAMMPS for several months.

Chunks are collections of atoms, as defined by the compute chunk/atom command, which assigns each atom to a chunk ID (or to no chunk at all). The number of chunks and the assignment of chunk IDs to atoms can be static or change over time. Examples of "chunks" are molecules or spatial bins or atoms with similar values (e.g. coordination number or potential energy).

The per-atom chunk IDs can be used as input to either the fix_ave_chunk command or to any of the compute */chunk commands, to calculate various properties of a system on a per-chunk basis.

The new commands are:

There is a new Section howto 6.23 in the manual, which summarizes how to use the new chunk commands and gives some examples of their use.

BACKWARD COMPATIBILITY: This patch removes all of the compute */molecule.html commands and the compute atom/molecule command. The operation of the latter can now be performed by the fix ave/chunk command.

This patch file can be applied to the 10 Feb 2015 version. This is the list of changed files.


10 Feb 2015

The fix wall/lj1043 command was missing a 2*PI pre-factor in the code (doc page was correct).

This patch file can be applied to the 6 Feb 2015 version. This is the list of changed files.

Thanks to Charles Laybourne for catching this.


6 Feb 2015

Added a bias option to the "velocity" command which allows creation or rescaling of particle velocities in accord with a compute that calculates a temperature bias.

As an example, assume atoms are currently streaming in a flow direction and you wish to initialize their thermal velocity to a desired temperature. In this context thermal velocity means the per-particle velocity that remains when the streaming velocity is subtracted. This can now be done using velocity create with a temp keyword using compute temp/ramp or compute temp/profile command and the bias keyword set to yes.

Also fixed an issue with using granular pair styles that store shear history, to maintain the history correctly across runs, when operations that delete or create atoms are performed between runs.

This patch file can be applied to the 4 Feb 2015 version. This is the list of changed files.


4 Feb 2015

Stan Moore (Sandia) has created KOKKOS accelerated versions of 4 new pair styles: pair buck, pair eam, pair coul/dsf, pair wolf/dsf. This patch also includes a new version of the Kokkos library itself (included with LAMMPS).

This patch file can be applied to the 3 Feb 2015 version. This is the list of changed files.


3 Feb 2015

Kristof Bal (University of Antwerp) has contributed a fix tfmc command which performs uniform-acceptance force-bias Monte Carlo (fbMC) simulations, using the time-stamped force-bias Monte Carlo (tfMC) algorithm, which can extend the timescle of atomistic simulations when long timescale relaxations need to be considered.

This patch file can be applied to the 2 Feb 2015 version. This is the list of changed files.


2 Feb 2015

Sergey Starikov and Vasily Pisarev (Joint Institute for High Temperatures of RAS) have writted a fix ttm/mod command which is an extension to the fix ttm command for the two-temperature model modeling heat transfer between atoms and electrons. The new version adds options to account for external heat sources (e.g. at a surface) and for specifying parameters that allow the electronic heat capacity to depend strongly on electronic temperature via a nonlinear thermal diffusion equation.

This patch file can be applied to the 1 Feb 2015 version. This is the list of changed files.


1 Feb 2015

Paul Crozier (Sandia) has made another upgrade to the fix gcmc command. It now works with any pair style and can also be used with the kspace_style command to include long-range energy effects. Fix gcmc now has a full_energy option that is used for systems with complicated potential energy calculations, including the following: long-range electrostatics (kspace), manybody pair styles, hybrid pair styles, EAM pair styles, triclinic systems, and potential energy contributions from other fixes. Errors associated with use of fix gcmc together with fix shake have also been remedied. Also, a new charge option has been implemented to allow insertion of atoms with a user-specified point charge.

This patch file can be applied to the 30 Jan 2015 version. This is the list of changed files.


30 Jan 2015

Changed the was image flags are treated by the fix rigid and fix rigid/small commands (and their variants), so that image flags for rigid bodies are no longer modified. This made them unusable for other commands, such as compute msd. Image flags for atoms in rigid bodies are now unaltered, though internally they are still kept track of in a different way, so that the rigid bodies can be reconstructed around their center-of-mass.

This patch file can be applied to the 21 Jan 2015 version. This is the list of changed files.


21 Jan 2015

Added a create_bonds command to allow creation of bonds between pairs of atoms based on a distance criterion. This is useful for adding bonds to a system, e.g. between nearest neighbors in a lattice of atoms, without having to enumerate all the bonds in the data file read by the read_data command.

Also forced the distance and time units written to XTC files by the dump xtc command, to be compatible with the units expected by Gromacs.

This patch file can be applied to the 20 Jan 2015 version. This is the list of changed files.


20 Jan 2015

Fixed a subtle bug with how a fix that uses a neighbor list can sometimes fail to trigger initialization of the list if it is destroyed and re-created in an input script, via the unfix and fix commands. This required a small change to each fix, compute, pair style that requests neighbor lists.

This patch file can be applied to the 19 Jan 2015 version. This is the list of changed files.

Thanks to Alex Stukowski (Technische Universitat Darmstadt) for explaining how this could be a problem.


19 Jan 2015

Paul Crozier (Sandia) added a ke option to the new Monte Carlo fix atom/swap command to enable enforcement of energy conservation during swaps.

Some refactoring was done of the KSpace styles and the various fixes and computes that modify per-atom charges dynamically, such as fix qeq, fix adapt, fix adapt/fep, compute fep, etc. This was done to simply the KSpace operations that need to occur for computing long-range Coulombic self-energy correctly when charges change.

Axel Kohlmeyer (Temple U) added some logic to enable fix adapt to work with rRESPA and fixed a geometry bug in the rotate option for the region command.

This patch file can be applied to the 10 Jan 2015 version. This is the list of changed files.


10 Jan 2015

Andrew Jewett has released an updated version of his moltemplate tool.

Modified how auxiliary libraries used by LAMMPS, but which we don't include code for in the distro, are accessed by the build system. The affected packages are KIM, VORONOI, and USER-MOLFILE. They each have a sub-directory under lib now, so that scripts can be added to automate the process of downloading, building, and installing the libraries, so that LAMMPS can link to them. See lib/voronoi/README and lib/voronoi/install.py as an example. Once scripts are in place, the Make.py tool can also be augmented to build with these packages and libraries with a one-line command. Make.py has already been augmented to do this for the VORONOI package and its Voro++ library.

This patch file can be applied to the 6 Jan 2015 version. This is the list of changed files.


6 Jan 2015

Added a bond option to the delete_atoms command to allow specific bonded interactions (bonds, angles, dihedrals, impropers) to also be deleted if the interaction contains a deleted atom. Otherwise the code will generate a "missing atom" error if one atom within a bond (or angle, etc) is deleted.

This patch file can be applied to the 5 Jan 2015 version. This is the list of changed files.


5 Jan 2015

Paul Crozier (Sandia) added a fix atom/swap command to allow Monte Carlo swapping of atoms types and charge during a running MD simulation. Alternatively it can be used to do a pure MC simulation, e.g. to relax an alloy system due to surface segregation, by swapping atom types, followed by energy minimization to relax atom positions.

Update to the USER-INTEL package from Mike Brown (Intel) with changes required to get the order of initialization correct with the offload option for the Intel Phi co-processor.

Upgrade to the fix vector command to allow it to pre-allocate storage correctly across multiple runs, even with the run pre no command option being used.

Trung Nguyen and Axel Kohlmeyer (Temple U) did some refactoring of the various fix rigid commands to avoid some code duplication and:

This patch file can be applied to the 22 Dec 2014 version. This is the list of changed files.