31 Dec 2013

Added an option to apply SHAKE constraints to molecules inserted with the fix deposit or fix pour commands. The fix_deposit command also now has an option to insert rigid molecules via the fix rigid/small command.

BACKWARD COMPATIBILITY: This patch moved the fix shake command into the RIGID package, and the fix deposit command into the MISC pacakge.


30 Dec 2013

Enabled the fix pour command to work with the new molecule command and with fix rigid/small, so that granular rigid bodies can be poured into a simulation box.


17 Dec 2013

Added a new examples/deposit with input scripts that illustrate the use of the fix deposit command with atoms and molecules.

Added some options to the create_box command to allow empty molecular systems to be created without use of a data file and the read_data command. This is useful when commands like fix deposit will add molecules later.


16 Dec 2013

Added a molecule deposition capability to the fix deposit command. As part of this, a new molecule command was added to LAMMPS, to allow specification of template molecules. This will eventually be used by other commands as well.


7 Dec 2013

There were a couple of glitches in the 6Dec patch with restart file reading/writing that this patch fixes.

Thanks to various users who pointed these out.


6 Dec 2013

This patch adds enhanced parallel options for writing and reading binary restart files via the restart, write_restart, and read_restart commands. Similar to dump files and the dump modify nfile and fileper options, the restart and write_restart commands now accept the same nfile and fileper options. When running on large numbers of processors, this allows restart files to be written by a subset of the procs, which can be the fastest mode of output. The read_restart command detects how many files are in the restart and similarly reads the files in parallel efficiently.

Logic has also been added to detect when a specified file is an invalid restart file, and when the endian ordering of the restart file is incompatible with the machine that is reading it. Likewise some logic is added to detect when the restart file format has changed and the current version of LAMMPS is thus not capable of reading the restart file.

This patch also adds hooks that will be used by future enhancements I/that will use MPI-IO capabilties for more parallel high-performance I/O.

BACKWARD COMPATIBILITY: This patch changes the format of binary restart files. Versions dated 6Dec13 or later can thus NOT be used to read restart files from previous versions of LAMMPS.


5 Dec 2013

Ray Shan (Sandia) made some small changes to the COMB potential in pair_style comb.

Thanks to Teemu Hynninen (Aalto University) for sending a careful email regarding the COMB issues.


1 Dec 2013

Added a format-style variable to the variable command to allow printing of equal-style variables, e.g. via the print command in a desired format.

Also enabled the -r command line switch for creating data files from restart files to work for pair styles that don't store additional input script settings in the restart file.

Thanks to Dmitry Fedosov (Research Center Juelich, Germany) for an email about the restart file issue.


27 Nov 2013

Fixed a bug introduced with the 11Nov13 patch with one of the input file options for the neb final command.

Thanks to Charles Laybourne for pointing out the NEB issue.


25 Nov 2013

Added support for the new dump_modify buffer command to CFG-style dumps as well.


23 Nov 2013

The restart2data tool has been removed from LAMMPS. The write_data command now has all of its functionality. A -r command-line switch has been added to enable easy conversion of existing restart files to data files, e.g.

lmp_g++ -r restartfile datafile 

which is the same as running a 2-line input script:

read_restart restartfile
write_data datafile 

BACKWARD COMPATIBILITY: This patch removes the restart2data tool.


22 Nov 2013

Made an optimization to the way in which text-based dump files are written via the dump command, for styles atom, custom, local, and xyz. Formatting of the output is now performed in parallel, and then written to disk by one or more processors as one big string. This takes about 2x as much memory per-processor, but is often faster for snapshots with large numbers of atoms.

This mode of output is now the default, but can be turned off (to be like the previous method) via the dump_modify buffer command.

This is a preliminary change necessary for supporting more parallel output via the MPI-IO library.


21 Nov 2013

Changed the format of the -h (help) output as a LAMMPS command-line switch, to be more readable and also list command-line options.

Also did some internal refactoring of the way 32-bit and 64-bit integers are stored in double-precision buffers, to avoid problems with some compiler optimizations.


11 Nov 2013

Made some enhancements and changes to the nudged elastic band energy barrier search, or neb command.

It now allows input of initial configuration atom coordinates via one file per replica, or no files. The latter means that the initial configs can be read by each replica thru data, restart, or dump files.

There is also added error checking on invalid atom IDs in the input files of atom coordinates.

BACKWARD COMPATIBILITY: This patch changes the syntax of the neb to enable different modes of initial configuration input. It also makes a slight change to the input file format for atomic coordinates, adding a line at the beginning which gives N = the number of lines to follow. This is to make the format compatible with other files read by LAMMPS.


10 Nov 2013

Francis Mackay and Colin Denniston (U Western Ontario) have added a Lattice Boltzmann capability that allows a background fluid to exert hydrodynamic forces on particles using a lattice superposed over the simulation domain. This patch releases it as USER-LB package with example files in examples/USER/lb. See the doc page for the fix lb/fluid command to get started.


9 Nov 2013

Added a velocity auto-correlation compute as a compute vacf command.


8 Nov 2013

Fixed a memory leak in neighbor lists that was triggered when multiple lists were requested and one could be a "copy" of another.

Fixed a small bug in the just-released write_dump command.

Thanks to Andres Jaramillo-Botero (Caltech) for posting a simple script that illustrated the memory leak issue.


7 Nov 2013

Rodrigo Freitas (UC Berkeley) has contributed two thermodynamic integration fixes for computing free energies. They are now in the USER-MISC package, as the fix ti/rs and fix ti/spring commands.


6 Nov 2013

Ray Shan (Sandia), in collaboration with Tao Liang and Dundar Yilmaz (U Florida), and the U Florida groups of Simon Phillpot and Susan Sinnott, have released the 3rd-generation COMB potential in LAMMPS, as a pair_style comb3 command, with an option to include/exclude atomic polarization effects.

Andrew Jewett (UCSB) sent a new version 1.14 of his moltemplate tool, which is included in this patch.


5 Nov 2013

Lingti Kong (Shanghai Jiao Tong University) has upgraded his USER-PHONON package and its fix phonon command to allow for generation of the map file internally if one wants to calculate the phonons at the gamma point only.

Vikas Varshney also made an upgrade to the amber2lammps tool to support some current AMBER flags.

Ray Shan (Sandia) made a memory-usage improvement to the dump cfg command.


4 Nov 2013

Axel Kohlmeyer (ICTP, Italy) added a dump movie command, so that the movies can be written as a single file via the FFmpeg command available on many machines, including Windows boxes. The new capability works by leveraging the dump image command to create the individual image files.

Also removed a couple of ignored arguments from the just-released write_dump command.


1 Nov 2013

Axel Kohlmeyer (ICTP, Italy) added a write_dump command which can be used to write out an individual snapshot to a file, in any of the dump styles supported by LAMMPS.


30 Oct 2013

Axel Kohlmeyer (ICTP, Italy) added a variable getenv style and a shell putenv command.

He also made some upgrades to the following features:


29 Oct 2013

Axel Kohlmeyer (ICTP, Italy) added PNG image file support (lossless compression) to the dump image command.

This patch also fixes a few small bugs:


30 Sep 2013

Axel Kohlmeyer (ICTP, Italy) added an append option to the log command.

Ray Shan (Sandia) made the reported memory-usage per processor more accurate for the pair_style reax/c command. He and Oleg Sergeev (VNIIA) also fixed a bug with the fix reax/c/species command when using the position keyword to write center-of-mass position of identified molecules.

Stan Moore (Sandia) also fixed a bug with the energy keyword of the fix efield command and added a region keyword to it.


23 Sep 2013

Vikas Varshney created an xmgrace tool directory with several tools to assist in creating xmgrace plots of thermodynamic data in LAMMPS log files, including one that will make a plot from the current status of a running LAMMPS simulation.

This patch also contains several small bug fixes and upgrades to various commands.


19 Sep 2013

Added a q field to the read_dump command so that charge values can be read in from a dump file, which is useful for variable-charge potentials, like ReaxFF or COMB.


18 Sep 2013

Made a change to the read_dump command so that it assigns image flags for atoms with unwrapped coordinates more automatically.


17 Sep 2013

Aidan Thompson and Stephen Foiles (Sandia) have added a new pair style called zbl. It computes the Zeigler-Biersack-Littmark (ZBL) pairwise additive repulsive interaction for describing high-energy collisions between atoms.


13 Sep 2013

Released a VISCOSITY dir under the examples dir which contains various scripts for measuring the viscosity of a simple 2d LJ fluid system. The methods used are discussed in Section 6.21 of the manual.


12 Sep 2013

Released a KAPPA dir under the examples dir which contains various scripts for measuring the thermal conductivity of a simple LJ fluid system. The methods used are discussed in Section 6.20 of the manual.


10 Sep 2013

Released an ASPHERE dir under the examples dir which contains various scripts for modeling aspherical particles, either as point ellipsoids, rigid bodies, or line- and triangle-faceted bodies for generalized 2d and 3d shapes. Many of the models contain SRD solvent provided by the fix srd command. Most of the scripts produce dump or image files. Animations of the output have been added to the Movies page of the web site.


9 Sep 2013

Some adjustments were needed to the rigid fixes to prevent them from computing angular momentum explicitly when using bodies with overlapped particles and moments of inertia read in from a file. This was affecting the new velocity zero rigid option.


5 Sep 2013

Added compute ke/rigid and compute erotate/rigid commands to calculate the translationals and rotational energy of rigid bodies as defined by the fix rigid command variants.

This patch also fixes a few small bugs with some of the rigid-body options for reading/writing moments of inertia and zeroing linean/angular momenta that have recently been added.


4 Sep 2013

Added a rigid option to the velocity zero command to allow the linear and angular momentum of individual rigid bodies to be zeroed.

30 Aug 2013

Julian Devemy and collaborators at ICCF have implemented the N-M potential, available now as pair_styles nm/cut, nm/cut/coul/cut, and nm/cut/coul/long.


27 Aug 2013

Jonathan Lee (Sandia) added a fix wall/lj1043 potential as a new wall style.


26 Aug 2013

Mike Brown and Trung Nguyen (ORNL) have released an upgrade to their GPU package in LAMMPS, including the underlying lib/gpu.

The latter allows a single OpenCL build to be used on different accelerators (e.g. the Windows build).


25 Aug 2013

Axel Kohlmeyer (ICTP, Italy) has released an updated version of the msi2lmp tool.

This patch also fixes a bug when the change_box command is used with a triclinic geometry and shrink-wrapped boundaries, thanks to user Alban.

It also fixed a bug with the region cylinder command for using EDGE as an setting for the hi-end of the cylinder, thanks to Takaaki Aoki.


24 Aug 2013

Added support for writing out rigid body parameters (mass, center-of-mass, inertia tensor) to a file when writing restart files. This is so the file-based info can be read back in when restarting a run with rigid bodies, since LAMMPS cannot compute it and the user cannot easily generate it.


23 Aug 2013

Added support for reading rigid body parameters (mass, center-of-mass, inertia tensor) from a file to the fix rigid/small commmand, the same as the fix rigid command already allowed.


21 Aug 2013

Added support in the write_data command for outputting per-atom fields read and stored by the fix property/atom command.

BACKWARD COMPATIBILITY: This patch changes the output of the fix dt/reset command to only be a scalar value for the last timestep on which the timestep was changed. The current timestep size and cumulative simulation time (previous outputs) can now be obtained directly as thermo_style keywords dt and time.


20 Aug 2013

Stan Moore (Sandia) fixed some bugs and added support for the slab correction option with the KSpace solvers. Specifically:


19 Aug 2013

Release of a new version of the USER-ATC package by its developers Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia).

It adds significant new capabilities in two areas:

(1) Coarse graining

(2) Coupling

as well as the ability to use arbitrary hex & tet meshes, and a library of kernel estimators and time filters.

The syntax has changed slightly from the previous version. See the documentation (doc/USER/atc) and examples (examples/USER/atc) for details.

This patch also fixes a bug with the grmask() function for atom-style variables.

This patch also fixes a bug with the pair_style lj/charmm/coul/charmm/implicit command provided by Jens Pfeifer (Philipps-Universität Marburg).

This patch also adds some file printing options to the print command.

This patch adds a density keyword as an option with thermodynamic output.


16 Aug 2013

Small maintenance patch needed to fix a couple glitches introduced by recent patches that prevent some packages from compiling.


15 Aug 2013

Axel Kohlmeyer (ICTP, Italy) added support for the OPLS-AA force field to the msi2lmp tool as well as some USER-CUDA timer enhancements.

Added some error checking to union and intersection regions to insure their sub-regions have not been deleted by the time they are invoked.


14 Aug 2013

Added a CiteMe class from Axel Kohlmeyer (ICTP, Italy) to auto-generate BibTeX citations in a log.cite file when you use a specific feature in LAMMPS where someone wrote a paper about their implementation of it in LAMMPS, as listed on the citations page.


13 Aug 2013

Fixed some issues with the recent changes to shear history storage for granular potentials that affected restarting from restart files which also store that info.


12 Aug 2013

Added methods to the fix external command to allow an external driver program to set the potential energy associated with the forces it adds. This is to allow the fix to be used consistently in an energy minimization.


11 Aug 2013

Fixed a bug due to the recent changes to the fix langevin command when it is used with compute temp/region as a biasing temperature via fix_modify temp.

Thanks to Shengfeng Cheng (Sandia) for flagging the issue.


10 Aug 2013

Kudos to Rolf Isele-Holder (U Aachen) who fixed a long-standing bug with how the SHAKE contribution to pressure was calculated when using the rRESPA integrator.


9 Aug 2013

Rolf Isele-Holder (U Aachen) fixed a lingering bug when using pair_style hybrid with rRESPA and using the inner/middle/outer option for splitting the pair style.


8 Aug 2013

Fixed a logical bug in the FIRE and QuickMin minimizers when used with the nudged elastic band neb command that was slowing their convergence. This was due to some of their parameters being reset each time output was performed in the NEB procedure.

Thanks to Karl Hammond (U Tenn) for flagging this issue.


7 Aug 2013

Rezwan Rahman (U Texas San Antonio) added a visco-elastic model to the Peridynamics package in LAMMPS, now available as a pair_style peri/ves command.


6 Aug 2013

Vitaly Dozhdikov (JIHT of RAS) added a MOD variant of the Tersoff potential which is called pair_style tersoff/mod. There is a also a potential file for Si added to the potentials dir.


5 Aug 2013

Christopher Barrett and colleagues at Mississippi State added a compute basal/atom command which calculates the normal vector to the basal for each atom in an hcp lattice. It can be used to identiry twins and grains in hcp structures.


4 Aug 2013

Daniel Schwen (LANL) sent an update for his compute voronoi/atom command which adds several new features. See the doc page for details.


3 Aug 2013

Ryan Elliott (U Minn) sent an update to the pair_style kim command, to make it compatible with the latest version (v1.2.0) of their Knowledge Base for Interatomic Models (KIM) repository of interatomic potentials.


2 Aug 2013

Zachary Kraus (Georgia Tech) developed a tool for creating data files that bind polymer chains to nanoparticles. It's now in the tools/polybond directory, with a nice manual which explains how to use it.


1 Aug 2013

Stephen Bond and Andrew Baczewski (Sandia) have written a Generalized Langevin Dyanamics fix, called fix gld It models the effect of an implicit solvent with a temporally non-local dissipative force and a colored Gaussian random force, consistent with the Fluctuation-Dissipation Theorem. The functional form of the memory kernel associated with the temporally non-local force is constrained to be a Prony series. Details and a journal reference are given on the doc page.


31 Jul 2013

Andrew Jewett (UCSB) sent us a new version of his moltemplate builder tool, available in the tools dir of the LAMMPS distro.


30 Jul 2013

Added a fix property/atom command which allows molecule IDs to be added to atom styles that don't have them. It also allows addition of new custom per-atom attributes as named integer or floating-point vectors. These can be initialized by the read_data or set commands, and accessed for various purposes including output by the compute property/atom command.

This is a simple way


29 Jul 2013

Added a new kind of variable, namely atomfile variables that read per-atom values from a specified file.

Also enhanced the set command to allow most of the atom properties it sets to be specified as atom-style variables, which means they can now be specified by a formula or values read from a file.


26 Jul 2013

Changed the calculation performed by compute temp/profile to use the center-of-mass velocity for each spatial bin, rather than the average velocity. The results will be the same if all particles have the same mass, but the former is more consistent with how temperature is calculated if atoms have different masses.

BACKWARD COMPATIBILITY: For systems with atoms with different masses, the temperatures calculated by this compute will be now be different.


25 Jul 2013

Refactored the way fixes, computes, pair styles are created internally within LAMMPS so that there is now no limit to the number there can be. The previous method was using in-then-else logic that was starting to exceed some compiler's limits.

Thanks to Richard Berger (JKU) for the suggestion on how to do this efficiently.


24 Jul 2013

Removed a restriction on the fix ave/spatial command that prevented its use with the fix balance command.


23 Jul 2013

Stan Moore (Sandia) made some more optimizations to the kspace_style msm solver based on recent scaling tests:


22 Jul 2013

Axel Kohlmeyer (ICTP, Italy) made some bug fixes to the USER-COLVARS package.

He also re-factored the msi2lmp tool and fixed some bugs in the process. This tool should now be better supported by current LAMMPS developers, i.e. Axel.


11 Jul 2013

Fixed a logic bug in fix ave/correlate with repsect to how the lower and auto/lower options looped over the relevant pairings of input values.

Thanks to Niall Jackson (Imperial College) for catching this.


8 Jul 2013

Refactored one of the underlying data structures for storing neighbor lists to streamline some of the code, and make it easier to use with the USER-OMP threaded package.


2 Jul 2013

Removed a restriction in granular systems of having a hard-coded maximum number of touching neighbors when storing shear history info. This allows easier simulation of systems with a large polydispersity. The history info is now stored similar to neighbor lists in a more efficient paged data structure.


1 Jul 2013

Todd Zeitler (Sandia) contributed a new pair_style nb3b/harmonic, which stands for nonbonded 3-body harmonic potential, which is a many-body potential which enumerates and computes all 3-body interactions.


30 Jun 2013

Andrew Jewett (UCSB) just released the 1.04 version of the moltemplate builder tool, available in the tools dir of the LAMMPS distro.


29 Jun 2013

This is a bug fix for the fix rigid/small command when used with the granular pair styles.

Also, Axel Kohlmeyer (ICTP, Italy) added an option to use an environment variable to specify the path for potentials files read-in by LAMMPS, to make them easier to find. It is documented on the pair_coeff doc page.


27 Jun 2013

Stan Moore (Sandia) has added a kspace_style pppm/stagger command, which performs calculations on two separate PPPM meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase accuracy of the method for the same-size mesh, or more importantly it can reduce the mesh size needed for a specified target accuracy. For high accuracy calculations it can be up to 4x faster than regular PPPM. For low accuracy it can be up to 2x slower. See Section accelerate of the manual for more details.


25 Jun 2013

Rolf Isele-Holder (U Aachen) sent some bug fixes for the kspace_style pppm/disp and pair_style lj/long/tip4p/long commands.

Here are the details:

In pppm/disp, energies are computed incorrectly in large systems. The problem here is that two integers are multiplied in calc_csum(). If the system is too large, this leads to an integer overflow. Furthermore, energies are not summed up correctly when using the arithmetic mixing rule. Both of those bugs influenced only the energy and not the dynamics.

In pair lj/long/tip4p/long there are two problems in the compute_outer() function, used by run_style respa. The first is, that the computed pressure can be Nan because of a division by zero. The second is that the dummy site has to be reset after the neighbor lists are build in the compute_outer() function. The second error leads to a crash of the simulation.

Axel Kohlmeyer (ICTP, Italy) also sent an update for the USER-COLVARS pacakge. Here are the highlights:


24 Jun 2013

This patch fixes a bug in the switching function of the pair_style hbond/dreiding commands.

The patch also contains small code maintenance changes to many files, most of them due to Axel Kohlmeyer (ICTP, Italy).

Thanks to Karteek Kumar (JNCASR, Bangalore) and Andrew Jewett (UCSB) for sending these fixes.


17 Jun 2013

Stan Moore (Sandia) added logic to the fix efield command for the applied E-field to operate on point dipoles, in addition to charges.


13 Jun 2013

Paul Crozier (Sandia) added a fix tune/kspace command to allow on-the-fly adjustement of various KSpace options, with the goal of determining what are the fastest options for a particular simulation. The best choice is often a function of system size, number of processors, accuracy tolerance, and other factors that can be hard to predict. Hence this fix auto-tunes.


7 Jun 2013

Aidan Thompson (Sandia) has added the new Gronbech-Jensen/Farago formulation of the Langevin thermostat to LAMMPS as a gjf option on the fix langevin command. It allows the use of much larger timesteps (e.g. 3 fs) for systems containing bonds with light atoms. See the fix langevin doc page for more info.

Also, Orestis Alexiadis found a problem with the dihedral_style nharmonic command, which Loukas Peristeras has now fixed.


6 Jun 2013

Stan Moore (Sandia) has done some nice work to clean up and fix bugs in some code for both short- and long-range dipole/dipole and charge/dipole interactions. Two new pair_styles were also added: pair_style lj/cut/dipole/long and lj/long/coul/long. Long-range dipole interactions can now be computed by kspace_style ewald/disp. All of the options are described in the pertinent pair_style and kspace_style doc pages.

BACKWARD COMPATIBILITY: The names of two of the previous dipole pair styles were changed to be more compatible with the LAMMPS naming conventions. Specifically, dipole/cut was changed to lj/cut/dipole/cut, and dipole/sf was changed to lj/cut/dipole/sf.


5 Jun 2013

Fixed a bug with neighbor list building when using pair hybrid and rRESPA inner/middle/outer options in pair styles.

Fixed a bug when reading multi-file restart files on a different number of processors than they were written on.

Thanks to Rolf Isele-Holder (U Aachen) for identifying where in the code the rRESPA issue was. Thanks to Paul Coffman (IBM) for likewise flagging the issue with restart file reading.


4 Jun 2013

Fixed a memory deallocation bug in the PPPM solver when it was used with per-atom values and commands that re-initialized the system were invoked between runs.

Rolf Isele-Holder (U Aachen) sent some patches for small bugs in the long-range LJ PPPM solver.

One was for errors in the computed energies if either only a pppm for Coulomb or only a pppm for dispersion interactions is used. The second was for errors in computed forces when using the arithmetic mixing rule. This bug was introduced when I send you the file that solved the problems with massive parallelization.

He also fixed an issue with tallying per-atom long-range energies and virial in the PPPM/TIP4P solver when running with TIP4P.

Thanks to Alexandre Barthelemy (Soitec) for sending a script for the memory bug.

31 May 2013

Axel Kohlmeyer (ICTP, Italy) added a pair_style list command which allows explicit tabulation of interaction pairs of atoms, e.g. as restraints.

Rob Hoy added a compute msd/nongauss command which calculates non-Gaussian mean-squared-displacement effects.


30 May 2013

Made some maintenance changes to the build system and associated documentation, to make it easier to build LAMMPS with packages that require auxiliary libraries. Also simplified the underlying scripts for package management.

Thanks to Axel Kohlmeyer (ICTP, Italy) and Jeff Hammond (Argonne) for good suggestions.


26 May 2013

Fixed a bug with the probability calculation for creating/deleting a bond in the fix bond/create and fix bond/break commands. It came about by trying to be too clever with assuring bonds were created/deleted consistently when 2 processors own the atoms in the bond.

Thanks to Scott Grindy for identifying the issue.


25 May 2013

Added a new polydispersity option to the fix pour command for granular particles. The diam keyword now has 3 options: one or range or poly, where the latter can be used to specify a series of particle diameters with relative probabilities.

BACKWARD COMPATIBILITY: The syntax of the fix pour diam keyword arguments has now changed. What before was simply "diam lo hi" is now "diam range lo hi" and there are other options besides range. The use of the diam keyword was optional, so you only need to change your old scripts if they used the diam keyword.


24 May 2013

Added a mol option to the delete_atoms command, so that entire molecules can be deleted wheverer one or more of the atoms in the molecule are selected for deletion. This should help prevent deletion of only a subset of atoms in a bond, angle, or dihedral interaction.

Also added a time keyword to the thermo_style custom command to allow simulation time to be output. The output value accounts for changes in timestep size or restting of the timestep.

BACKWARD COMPATIBILITY: Removed the elapsed time value stored by the fix dt/reset command, since this new keyword is a better way to keep track of simulation time.


14 May 2013

Reese Jones (Sandia) suggested we add a "sequence" option to the group command, so that a large collection of atom IDs or molecule IDs can be added to a group at once. The syntax is A:B:C, where for example 100:10000:10 would add atom IDs 100,110,120, ... 9990,10000 to a group. C is optional and defaults to 1.


13 May 2013

A couple of changed files were left out of the 11May13 patch.


12 May 2013

Stan Moore (Sandia) added triclinic support to several of the kspace_style long-range solvers in LAMMPS, namely Ewald, PPPM, and MSM.


11 May 2013

Amended the write_data command to create data files with high precision atomic coordinates and velocities (as well as other floating point values), and box dimensions. This is so restared simluations with these data files will agree better with the original simulation.

Ray Shan (Sandia) fixed a couple initialization bugs in the fix reax/c/bonds command, changed the fix species command to fix reax/c/species, and added a new position keyword to the fix reax/c/species command, which writes center-of-mass positions for each identified molecule.

BACKWARD COMPATIBILITY: The previous fix species command is now fix reax/c/species.


9 May 2013

Albert Lu (LANL) found a logic bug with the prd command, when multiple events happen simultaneously (in multiple replicas) within the same time checking window.

NOTE: this turned out not to be a bug. The patch didn't create a new bug; it just "fixed" something that was already working. So if you were using PRD before this patch, don't worry - it should be working the same before or after this patch.


8 May 2013

Bart Vorselaars (U Warwick, UK) fixed a bug with how atoms were remapped by the fix move command in triclinic (non-orthogonal) geometries.

Andrew Jewett (UCSB) released a new version of his moltemplate tool, included in the LAMMPS tools directory.


24 Apr 2013

Changed the format of the angmom keyword to the fix langevin command to require input of a numeric scale factor. This is so the user is made aware of the effect of the scale factor on the rotational diffusivity of aspherical particles. The details are now explained on the doc page.

Also added optional keywords to the pair_style table command to allow it be used with specific long-range solvers specified by the kspace_style command.

Also added an optional keyword id to the fix deposit command, so that users can choose whether the atom IDs of newly deposited atoms increment consecutively or are always assigned to the current maximum ID of atoms in the system plus one.

BACKWARD COMPATIBILITY: The previous "angmom yes" syntax of the fix langevin command is no longer allowed. You must choose a numeric scale factor.

Thanks to Joakim Stenhammar (U Edinburgh) and Tomasz Panczyk (Polish Academy of Sciences) for pointing out the subtle details in these rotational diffusivity effects.


23 Apr 2013

Extended the read_data command to recognize a new "PairIJ Coeffs" section of the data file, where pair coefficients for all pairs I,J of atom types are listed, with I <= J. This section can now be auto-generated by the write_data if the new "pair ij" option is appended.

Axel Kohlmeyer (ICTP, Italy) sent another upgrade to the USER-COLVARS package, invoked by the fix colvars command.


12 Apr 2013

Fixed a couple small bugs introduced recently into parallel file writes via the dump cfg and write_data commands.


6 Apr 2013

Maintenance patch with some internal refactoring and small bug fixes, including a bug fix to the recent write_data command.


3 Apr 2013

Added a write_data command to write out data files from a LAMMPS input script. This will eventually replace the restart2data tool.


2 Apr 2013

Using some code ideas sent by Christopher Knight, new nfile and fileper keywords to the dump_modify command, to allow dump files to be written out by a subset of processors, one file per processor. This can be the most efficient way to write out large dump files when running on many processors.

Also fixed a bug in the way the library interface opened successive input files.

Also changed the low-level Makefiles to work with the gmake "vpath" setting to find source files to compile. This avoids copying of files into the object directories.

BACKWARD COMPATIBILITY: The change to the low-level Makefiles means that if you maintain your own Makefile.foo you need to add two vpath statements, the same as in now in all the other low-level Makefiles.

Thanks to Karl Hammond (Caltech) for sending an example that triggered the problem with the library interface.


22 Mar 2013

Fixed an issue with the create_atoms random command not always creating exactly the requested N atoms, due to issues at periodic boundaries.

Also fixed a logic bug in the fix external command.

Thanks to Paul Crozier (Sandia) for flagging the create_atoms issue and Adrian Lange (Argonne) for flagging the fix external issue.


21 Mar 2013

Cem Sevik sent a Tersoff potential file for B,N,C and their "alloys", developed by their group, that is now added to the potentials dir. See the header of the file for literature citations on use of the potential.


14 Mar 2013

Maintenance patch with some small changes to several files.


11 Mar 2013

Ling-Ti Kong (Shanghai Jiao Tong University) has contributed a fix phonon command and associated post-processing tools as part of a USER-PHONON package that is now part of the LAMMPS distro. This allows phonon dispersions relations to be calculated from dynamical matrices as part of a LAMMPS simulation. See the src/USER-PHONON/README file and the doc page for the fix phonon command for more details.


9 Mar 2013

Pavel Elkind (Gothenburg University) added a pair_style lj/cut/tip4p/cut command, which is part of this patch.

Also fixed a bug with performing consecutive runs with the new fix rigid/small command.


7 Mar 2013

Stan Moore (Sandia) made some further optimizations to kspace_style msm, including improving the single-core performance and increasing parallel scalability. A bug in MSM for mixed periodic and non-periodic boundary conditions was also fixed.

Some issues with the run_style repsa command were also addressed, to enable it to be indentical to Verlet when running rRESPA with one level.


5 Mar 2013

Upgraded the memory management strategy for atom_style body to not use many tiny mallocs and frees as body-style particles migrate between processors.


4 Mar 2013

Ray Shan and Aidan Thompson (Sandia) made some changes to the USER-REAXC package. The pair_style reax/c command and its pair coeff command now reads chemical symbols instead of integers, like other many-body pair styles. The time averaging capability for the fix reax/c/bonds command was also removed, since it is now available in the fix species command.


22 Feb 2013

Ray Shan (Sandia) upgraded the fix qeq/comb command which does charge equilibration for the COMB potential, so that it also works during energy minimization. Thus charges can be adjusted when performing a minimization.

Also fixed an indexing bug in the read_dump command that could affect certain fields for atoms being added from a snapshot.


21 Feb 2013

Added output of a scalar temperature and some diagnostic output for the extent of rigid bodies needed to determine the cutoff for ghost atom communication, to the new fix rigid/small command.


20 Feb 2013

Daniel Moller (Autonomous University of Barcelona) added syntax for immediate evaluation of variables to input script lines, without having to assign the formula string to a variable. For example this

region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE

is now equivalent to

variable X equal (xlo+xhi)/2+sqrt(v_area) region 1 block $X 2 INF INF EDGE EDGE variable X delete


19 Feb 2013

Ray Shan (Sandia) added a new on-the-fly chemical species analysis fix to the USER-REAXC package. It is the fix species command and eliminates the need to perform post-processing on the large files generated by fix reax/c/bond. It also performs time-averaging of bond-order.


18 Feb 2013

Another small change to the new fix rigid/small command to work with the temperature computes cleanly.


17 Feb 2013

Fixed a bug with the fix ave/histo command when it was accessing a column of an array stored by a per-atom compute. The offset if was using into the array was sometimes incorrect, so it could grab the wrong values.

Thanks to Luis Goncalves for flagging the problem.


17 Feb 2013

The 14Feb patch introduced a bug in thermostatting via the Nose/Hoover commands like fix nvt with respect to how degrees of freedom are computed. This patch should fix it.


16 Feb 2013

Daniel Schwen added a modulo operator "%" to the formula options in the variable command.

This patch also includes several small changes/upgrades/optimizations to some of the KSPACE and USER_OMP and USER-CUDA pacakage files to make them consistent and fix some minor bugs.


15 Feb 2013

Made some logic changes to the creation of pairwise exclusion lists to handle small ring topologies more accurately. Previously if both the angle yes and dihedral yes options were used with the special_bonds command, and an atom was both a 1-3 and 1-4 neighbor, it could be removed from the exclusion list for not being in an angle but not included for also being part of a dihedral. This is now not the case.


14 Feb 2013

Release of a new fix rigid/small command, suitable for modeling large numbers of small rigid bodies in more scalable way than the original fix rigid command.


13 Feb 2013

Axel Kohlmeyer (ICTP, Italy) upgraded the various USER-OMP kspace styles to be fully compatible with the most recent refactoring of the kspace styles in main LAMMPS.


12 Feb 2013

Rolf Isele-Holder (U Aachen) sent a couple upgrades to the kspace_style pppm/disp and kspace/style pppm/tip4p/omp command. The former had a small bug in the energies and pressures (not forces, hence not dynamics). The latter needed to be upgraded to match the latest TIP4P version in LAMMPS.


11 Feb 2013

Several small bug fixes and a couple new features. Thanks to various folks who flagged the bugs.


3 Feb 2013

Fixed a bug with yesterday's patch that could affect parallel runs with body particles. Also updated one of the Makefile shell scripts to work with the new BODY package from a default build when no body styles exist.


1 Feb 2013

Released a new BODY package that defines a new atom_style body with takes a body style as an argument. Bodies are a new kind of particle in LAMMPS where a single body particle can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. A simple body style that treats a body particles as a rigid body with a variable number N of sub-particles is provided as an example.

The body page has more details.

These are the new commands that are part of the package:


27 Jan 2013

Joakim Stenhammar (U Edinburgh) found a problem with the rotational thermostatting option in the fix langevin command. The drag term needs to be increased by a factor of 10/3 and the random noise term by sqrt(10/3) to produce the correct variance in the rotation which affects the rotational diffusivity (but not the rotational temperature/energy itself).


26 Jan 2013

Fixed a bug with how the pair lubricate and brownian styles interact sometimes with the fix wall command.

Thanks to Luiz Zepeda (LLNL) for running into the problem and sending an input script.


25 Jan 2013

Daniel Schwen added a compute voronoi/atom command, which calculates the Voronoi tesselation volume around atoms, using the Voro++ package.


24 Jan 2013

Update some USER-OMP pair styles to be compatible with recent changes.


21 Jan 2013

Extended the region command so that the radius of a spherical or cylindrical region can be specified as an equal-style variable.


20 Jan 2013

Added a variable option for the epsilon and sigma paramters of wall interactions specified by the various fix wall commmand options.


19 Jan 2013

Fixed an issue with pair_style hybrid not getting some of its settings correct (e.g. KSpace compatibility flags) when run from a restart file versus a data file.

Thanks to Andrew Jewett (UCSB) for sending a test case that exposed the problem.


18 Jan 2013

With help from Dan Bolintineanu (Sandia), a velocity rescale option was added to the fix srd command, to allow more control over when the velocity of SRD particles are rescaled. This can be important for simulations of pure SRD fluids when thermostatting is not used, or when collisions with walls or big particles is not sufficient to effectively thermostat the system.


17 Jan 2013

Axel Kohlmeyer (U Temple) fixed a bug with variable substitution in the fix print command that was introduced by the 6 Jan patch.

Axel also added multi-threading (OpenMP) support to the kspace_style msm command and corresponding MSM pair styles in the USER-OMP package.

Jon Zimmerman (Sandia) made an addition to the ATC package to do J-integral calculations via an eshelby stress field. This patch includes some new examples in examples/USER/atc/hardy that demonstrate the capability.


12 Jan 2013

Stan Moore and Paul Crozier (Sandia) have extended the kspace_style msm to work for any combination of periodic, non-periodic, or shrink-wrapped boundary conditions, which can be specified using the boundary.

A bug in thermo output for the thermo_style multi, due to the 6Jan13 line length patch was fixed.

The use of atom-style variables for the fix heat command was added.


11 Jan 2013

Enhanced the fix heat command so it can take a time-dependent flux as an argument, but using an equal-style variable.


10 Jan 2013

Oleg Sergeev (MIPT, Moscow) enhanced the fix append/atoms command so that added atoms can be of different types, corresponding to basis atoms in the defined lattice.

Also added pair_style lj/expand to the list of pair styles that can be modified on the fly via the fix adapt command.


9 Jan 2013

Extended the fix external command so it can be used in different ways by an external program that is invoking LAMMPS thru its library interface.

BACKWARD COMPATIBILITY: The syntax of the fix external command changed to become more general.


8 Jan 2013

Andrew Jewett (UCSB) made a small change to the dihedral_style class2 command so that it handles negative input angles in a consistent manner to produce an odd-function of angle and not an even one.


7 Jan 2013

Yesterday's patch for input script parsing dropped a newline from the per-line echoing to the log file. This fixes it.


6 Jan 2013

Changed the input script and thermo_style custom command parsing to allow for arbitrary length lines. Before, it was a large fixed value.


5 Jan 2013

Andrew Jewett (UCSB) fixed a numerical bug in the pair_style hbond/dreiding/morse command as well as a parsing error for the pair_coeff commands for both the LJ and Morse variants of the Dreiding force field. He also made some careful clarifications to the doc page for how to use this force field properly in LAMMPS, that should be helpful to users.


4 Jan 2013

Andres Jaramillo-Botero (Caltech) has upgraded his USER-EFF package with this patch. Details are as follows:

We have made very cool progress towards extending eFF to higher Zs by using effective core potentials (ECPs). We now cover up to 2nd and 3rd row p-block elements of the periodic table. We are publishing new results soon on SiC and SiO2 soon. The ECP captures the orbital overlap between the core and valence electrons (i.e. Pauli repulsion) with very simple functional forms (see pair_eff_cut.txt). We have developed two different functional forms, one that approximates this overlap assuming the core is an s-like orbital interacting with an s-like valence electron (s-s) and another that assumes the interaction is s-p. In principle one could use the s-s for all, albeit at reduced accuracy for those systems that may have significant p-character (e.g. C, N, O).

To support this, I have now modified some of the original USER-EFF sources/docs/examples/tools as follows:

  1. Added static arrays of ECP parameters indexed by Z number (PAULI_CORE_A-E defined in pair_style_eff.h and used in pair_style_eff.cpp). Each array entry is 5 parameters long A-E. The s-s ECP requires the first 3, and the s-p all 5.
  2. Populated the array with our validated parameter set for C, N, O, Al and Si in pair_eff_cut.cpp (PairEffCut::settings).
  3. Added the ECP functional forms in pair_eff_inline.h (PauliCorePElec) and modified pair_eff_cut.cpp to account for multiple core-type interactions.
  4. Added support for changes to the syntax of pair_style eff/cut and pair_coeff for the pair_style (see below).
  5. Added ecp_flag definition to atom.cpp/h (this flag is set/reset during atom data unpacking in atom_vec_electron and used to check that an ECP definition exists for the particular atom type used in pair_eff_cut.cpp).
  6. Adjusted the code to support syntax change to the pair_style eff/cut and pair_coeff for handling ECPs (see below).
  7. Also made a syntax adjustment of the pair_style electron flags I had, now the flags are set by simply adding the corresponding keywords, i.e. limit_eradius or pressure_with_evirials, or both.
  8. Adjusted the input scripts in the /examples/USER/eff/ECP to comply with these syntax changes and included a couple of new binary ECP examples (SiC).
  9. Added corresponding updates to the pair_eff_cut.txt (i.e. manual).
  10. Adjusted /tools/eff/VMD-input.py and associated scripts to enable VMD visualization of eFF trajectories with changing electronic radii.
  11. The definition of an ECP representation in the data file remains the same as for the older version, i.e. spin=3 for ECP, spin=2 for fixed-core, and spin=+/-1 for full electron. The code supports systems with mixed and multiple core-types (i.e. s-s, s-p, fixed-core) and full electron interaction.

What changes for the user?


3 Jan 2013

Andrew Jewett (UCSB) released a new version 1.01 of his moltemplate tool, included in the LAMMPS tools directory.


2 Jan 2013

Mike Brown (ORNL) made some changes to the GPU PPPM solvers to sync them with changes previously made to the non-GPU versions.


1 Jan 2013

Rolf Isele-Holder (Aachen University) fixed two small bugs with specific KSpace solvers. The kspace_modify order/disp command was not parsed correctly. The pair_style lj/long/coul/long command was expecting charge to be defined even when it was only used for long-range LJ interactions.