6 Dec 2012

Stan Moore (Sandia) has greatly improved the parallel scalability of kspace_style MSM. The kspace_modify minorder keyword is no longer supported by MSM (i.e. the kspace_modify overlap keyword is always set to yes). The default order for MSM has also been changed to 8, and a bug in MSM was fixed.

MSM may now scale better than PPPM on relatively large problems when running on large core counts. MSM is most competitive versus Ewald and PPPM when only relatively low accuracy forces, about 1e-4 relative error or less, are needed.


4 Dec 2012

Ray Shan (Sandia) fixed a memory bug with the compute property/atom command when used in array mode for a problem where some procs have no atoms.


3 Dec 2012

Fixed a bug with an uninitialed normalization variable in thermo output that could be an issue when variables are evaluated before thermo output is ever performed.

Axel Kohlmeyer (Temple U_ made an upgrade to the USER-COLVARS package library and added a "purge" option to the master LAMMPS Makefile to assist in whacking obsolete files that may remain in the source directory after files are deleted or renamed in packages.


1 Dec 2012

Added a compute inertia/molecule command to compute the intertia tensors of individual molecules.


30 Nov 2012

Added a rotate option to the displace_atoms command.


29 Nov 2012

Added an out option to the compute temp/profile command to enable it to tally and output the temperature of the system on a per-bin basis. This can be useful for generating a temperature profile where the mean flow velocity of the atoms has been subtracted out.


28 Nov 2012

Found and fixed a rare case where using the velocity loop geom command with a Gaussian distribution of velocities could cause a hang if the internal RN seed was set to 0 for a particular atom.


27 Nov 2012

The 23Aug patch for the EDIP potential also required a sign change to the way per-atom virial was tallied. This patch makes it consistent.

Thanks to Anton Rudenko for noticing this and Fernan Saiz for correcting it.


26 Nov 2012

Added an abs() function to the variable equal and atom-style commands.

Also fixed a second glitch with the 17Nov patch.


21 Nov 2012

Fixed a glitch with the 17Nov patch. Also upgraded the 27Oct patch and the Fourier potentials added to the USER-MISC package to allow for real phase shifts.

Thanks to Andrew Jewett (UCSB) for adding features to the Fourier non-bond potentials.


17 Nov 2012

Niall Jackson (Imperial College) found an indexing bug in the trap() function of the variable command, which was applying the wrong weight to the last value of the vector.


14 Nov 2012

Cassiano Aimoli (Petrobras/U Notre Dame) added the Mie potential, which is a generalized form of Lennard-Jones interactions, as pair_style mie/cut.


13 Nov 2012

Paul Crozier (Sandia) has upgraded the fix gcmc command to allow grand canonical Monte Carlo simulations of molecular as well as atomic gasses. LAMMPS now allows hybrid MD + GCMC (or plain GCMC simulations) of molecular gasses (including insertion, deletion, translation, and rotation) of an arbitrary user-supplied molecular species. This is particularly useful for simulation of gas uptake in microporous materials. The framework into which the gas is to be inserted can be modeled as static or dynamic, and now the gas can be atomic or molecular.

Continuing limitations of GCMC in LAMMPS include:

See the doc page for the fix gcmc command for further details.

BACKWARD COMPATIBILITY: The previous version of fix GCMC allowed deletions of atoms only if they were of the specified GCMC type. The new version will allow deletion of any atom that is part of the user-specified fix group. Consequently, users of the old version of fix GCMC may need to modify the specified fix group in their input scripts to include only deletable gas atoms or molecules.


12 Nov 2012

Fixed another small bug related to the 19 Oct 12 patch when Coulomb tabling was added to several pair styles. Also added the tabling option to pair_style lj/class2/coul/long, which completes the additions for all "long" pair styles.


11 Nov 2012

Added a file-style variable that allows it to read successive values (strings or numbers) from a file via the next command or the next() function in an equal-style or atom-style variable.

This could be useful for listing a large number of simulation parameters or input script names or random numbers or timestep values in the file and processing them, one at a time, with a LAMMPS input script. As an example, for the case of timestep values, when used with the "dump_modify every" command, this allow dump snapshots to be output on whatever timesteps you wish.


10 Nov 2012

This patch contains several small changes:


28 Oct 2012

Rob Rudd (LLNL) added a new pair_style meam/sw/spline with potential files for Si and Ti that extends modified EAM (MEAM) with a Stillinger-Weber term.


27 Oct 2012

Loukas Peristeras (Scienomics) has added 7 new angle, dihedral, improper potentials, which are now part of the USER-MISC package:


26 Oct 2012

Added logic to several commands that use unwrapped coords, e.g. for computing the center of mass of a set of atoms, to be consistent with triclinic (non-orthogonal boxes) when unmapping their image flags. This was done correctly for orthogonal boxes, but not triclinic in some cases.

Thanks to Bart Vorselaars (Warwick) for flagging the files that needed these changes.


25 Oct 2012

Karl Hammond (Caltech) made an upgrade to his Fortran wrapper on the LAMMPS library interface to be more efficient about not copying data, which allows a driver code to access/change LAMMPS data directly.

Axel Kohlmeyer (Temple U) updated the USER-COLVARS library as well as updated the connection between the run_style verlet/split command and its OMP interface in the USER-OMP package.

Updated a couple of the Python scripts in the python dir that were out-of-date with respect to the current Python wrapper and library interface.


23 Oct 2012

Fixed a bug with the way the read_dump and rerun commands read triclinic box information from a dump file.

Thanks to Bart Vorselaars (Warwick) for calling attention to this bug.


20 Oct 2012

Karl Hammond (U Tenn) sent an updated version of the LAMMPS.F90 library wrapper for the examples/COUPLE/fortran2 dir.

Likewise, Andrew Jewett (UCSB) sent an updated version of his moltemplate package for the tools dir.


19 Oct 2012

Stan Moore (Sandia) has updated the kspace_style msm command to allow communication of ghost values to extend to as many processors as needed, similar to PPPM (see the 15 Oct 2012 patch). A kspace_modify cutoff/adjust option was also added for MSM, which allows the code to automatically adjust the Coulombic cutoff to give the desired estimated error. When the grid is not set manually by the user, this option also seeks to use the optimal grid size to minimize cost, while maintaining the desired accuracy by adjusting the Coulombic cutoff.

A remaining limitation in the MSM implementation is parallelization of only the finest MSM level.

This patch also adds a Coulombic tabling option to the pair_style born/coul/long and buck/coul/long commands.

This patch also removes the pair styles and kspace styles with "proxy" in their name in the USER-OMP package. These operations can now be done via the run_style verlet/split command.


17 Oct 2012

Fixed a bug with single replica dump output in the prd command.

Thanks to Francesco Puosi for noting the error.


16 Oct 2012

Added an option via the neigh_modify cluster command to check that bond, angle, dihedral, etc interactions are between clusters of nearby atoms. Normally this is the case, but LAMMPS can get confused if your pairwise cutoff is so short that it doesn't encompass the distance between atoms in a bonded interaction. This will lead to bad dynamics, e.g. a bond that stretches all the way across the periodic box.


15 Oct 2012

Extended the way PPPM grid values are exchanged between neighboring processors in the kspace_style pppm command, to allow ghost values to extend to as many processors as needed. This means there is now no limit to how many processors PPPM can be run on for a fixed size problem, e.g. many processors for a small problem. Eventually the kspace_style msm command will also use this functionality to compute multiple grid level solutions, each in parallel.

Added two options minorder and overlap to the kspace_modify command to allow this behavior to be controlled if the default behavior is not desired.


14 Oct 2012

Fixed an input argument bug with the origin argument of the fix ave/spatial command.

Thanks to Kasra Hesary (LSU) for flagging this bug.


13 Oct 2012

Paul Crozier (Sandia) added a better error estimator to the new kspace_style msm command for the multi-level summation method (MSM). This removed the need for the kspace_modify split/order option.


12 Oct 2012

Added a pbc on/off option to the fix wall command variants. This allows you to use walls within a periodic box if you wish, for example, to allow some atoms to go thru the wall and wrap around the periodic box.


11 Oct 2012

Fixed an indexing issue in the change_box command that affected a couple of the options.

Thanks to Vikas Varshney for sending a script that illustrated the issue.


10 Oct 2012

Not all of the settings made by the pair_modify command were being stored in restart files, in particular the tail, table, and tabinner settings. This patch changes that.

BACKWARD COMPATIBILITY issues: For pair styles that use the tail, table, and tabinner settings, the format of restart files changes with this patch, so that those settings are now stored.


9 Oct 2012

Christian Trott (Sandia) made some upgrades to the USER-CUDA package library to make it compatible with both cuda4 and the new cuda5.


8 Oct 2012

The 6 Oct 12 patch changes did not work with the pair_style hybrid command. Now they should.


7 Oct 2012

Fixed a sign error in the region plane command that affected it's use for detecting particles near the "outside" of the plane, e.g. when used with the fix wall/region command.

Also changed the TIP4P pair style names to shorten them.

BACKWARD COMPATIBILITY issues: The pair style lj/cut/coul/long/tip4p was changed to lj/cut/tip4p/long to be shorter and more consistent with other pair style names.

Thanks to Bernard Beckerman (Northwestern U) for fixing the region plane bug.


6 Oct 2012

Rolf Isele-Holder (Aachen University) added a long-range dispersion option to the PPPM solver, invoked as kspace_style pppm/disp, which means that LJ interactions can now be treated as infinite range along with Coulombic interactions, if desired. To make this consistent with the similar option for the Ewald solver, the kspace_style ewald/n was changed to ewald/disp.

Two other changes were made to try and make the matching of pair and KSpace styles simpler to understand. The USER-EWALDN package was eliminated; all it's code was moved into the KSPACE package. And several pair styles were renamed so that their style names are more consistent with the long-range solvers they are used with. For example pair_style lj/coul was renamed to lj/long/coul/long.

BACKWARD COMPATIBILITY issues: The USER-EWALDN package was removed; it's options were added to the KSPACE package. The style names of a few pair styles and one kspace style that are meant to be used together were changed to be make the correspondence more obvious.


5 Oct 2012

This patch adds Andrew Jewett's (UCSB) moltemplate package to LAMMPS in the tool directory, as a molecular builder tool, suitable for generating molecular systems in a format compatible with LAMMPS input. See the new Molecular Builders WWW page for details.


4 Oct 2012

Sigh. The 23 Oct patch changed the wrong lines of code in pair_style edip and thus introduced a new bug. This patch should fix both the original bug and the new one.


3 Oct 2012

Stan Moore (Sandia) has improved the multi-level summation (MSM) long-range solver in LAMMPS. MSM now includes the long-range pressure contribution and NPT/NPH capability, per-atom energy/virial, several different order and splitting order options, and two different ways of calculating the forces. See the kspace_style and kspace_modify command documentation for more details.

Remaining limitations in this MSM implementation include: not-so-good error estimation, and parallelization of only the finest MSM level


2 Oct 2012

Reese Jones (Sandia) extended the fix efield command to be useable with energy minimization, so that atoms relax consistent with the externally applied electric field.


1 Oct 2012

Some needed new files were left out of the 21 Sept patch. This patch adds them.


21 Sept 2012

Trung Nguyen and Mike Brown (ORNL) added both CPU and GPU versions of two new pair styles: pair_style lj/cut/coul/dsf and coul/dsf.

The DSF potential is based on the Wolf summation method (pair_style coul/wolf), but it behaves better (the energies and forces are consistent) and it is continuous at the cutoff.


20 Sept 2012

Tom Coles (MIT) found a couple bugs with the image flag processing in the read_dump command. This patch fixes them.


19 Sept 2012

This patch adds a term to the energy tallying in the pair_style eam commands which is only applicable when 2 atoms get very close together and thus induce a high density on each other, e.g. in a knock-on cascade simlulation. In this case, the density can exceed the tabluated values, so an add-on term is necessary to get the energy correct. Forces were already correct, so dynamics are unaffected.

Thanks to Aidan Thompson (Sandia) and Zbigniew Postawa for figuring this out.


18 Sept 2012

Rolf Isele-Holder (Aachen University) made an upgrade to pair_style TIP4P to simplify the assignment of force to the various water atoms, which also induced changes in the per-atom energy and virial assignments.

Also changes to the bond_style table (and angle/dihedral table counterparts0 to allow a file with multiple tables with overlapping names to be used as input.


16 Sept 2012

Fixed a bug with the offset energy as invoked by pair_modify shift command, for a couple of the Born pair styles.

Thanks to John Russell for pointing this out.


14 Sept 2012

Stan Moore, Stephen Bond, and Paul Crozier have written a new multi-level summation (MSM) method capability for LAMMPS.

This is a first version of an MSM capability that will be enhanced with subsequent releases. This implementation of MSM performs reasonably well versus Ewald and PPPM for lower accuracy simulations and longer cutoffs. See the kspace_style command for more details.

Limitations in this implementation include:


13 Sept 2012

The last patch introduced a couple of typo bugs. This patch fixes them, and also extends the new timing routines called at the end of a run for FFTs (in the PPPM solver) to more of the PPPM variant styles.


11 Sept 2012

Made an upgrade to the new 2-FFT version of the long-range Coulombics PPPM solver, as enabled by the kspace_modify diff ad command. It now pre-computes more values, so that it can be run efficiently with fix npt, which changes the box size every timestep.


10 Sept 2012

Two small bug fixes in this patch. The first to pair_style table to allow a file with multiple tables with overlapping names to be used as input. The second to upgrade dihedral_style hybrid to work the same as other hybrid bonded styles.

Thanks to and Andrew Jewett for noting the out-of-date issue with dihedral_style hybrid.


30 Aug 2012

Christian Trott (Sandia) added some mask logic to the code to allow pair styles, bond styles, fix styles, compute styles to flag which per-atom vectors or array they use, so that the USER-CUDA package can be more precise about what data needs to move bewteen the CPU and GPU.


28 Aug 2012

Added a "variable" option to the group command to allow atoms to be added to a group based on the evaulation of an atom-style variable.

Also, Christian Trott (Sandia) added a check in variable evalulation for circular dependencies of one variable on another.


27 Aug 2012

Dominik Wojt (Wroclaw University of Technology) made a bug fix to the pair lcbop command for an indexing error.


23 Aug 2012

Daniel Karls (U Minn) found a sign error in one of the force terms in the EDIP potential in pair_style edip.

This patch also contains an upgrade to the COVLARS library from Axel Kohlmeyer (Temple U) used in LAMMPS via the USER-COLVARS package.

And an updgrade to the GPU package from Mike Brown (ORNL) to make it faster for double precision calculations.


22 Aug 2012

Trung Nguyen (ORNL) has added fix rigid/npt and fix rigid/nph commands so that a collection of rigid bodies can be run in the NPT or NPH ensemble. He also upgraded the fix rigid/nvt command so that all of them now have similar thermostat and barostat options to the fix nvt, fix npt, and fix nph commands.


21 Aug 2012

One more tweak to the installation procedure for the Python wrapper on LAMMPS.


20 Aug 2012

Here is another iteration of the Python interface to LAMMPS, that is easier to build and install. Typically all you need to now do, from the src directory is:

% make makeshlib
% make -f Makefile.shlib foo
% make install-python 

Thanks to and Joe Jordan (Imperical College), Axel Kohlmeyer (Temple U), and Tim Shead (Sandia) for suggestions on how to make this easier for users.


19 Aug 2012

Karl Hammond (UT, Knoxville) has provided a more general and powerful Fortran wrapper to use LAMMPS thru its library interface from Fortran. This is added as a new sub-directory in the COUPLE examples dir:

examples/COUPLE/fortran2 

18 Aug 2012

Added a more general gather/scatter capability to the LAMMPS library interface, so that any atom-based quantity in LAMMPS can be extracted or inserted, while being gathered and scattered across processors in parallel.

The new functions are lammps_gather_atoms() and lammps_scatter_atoms(). They replace the previous ones which were limited to only working with atom coordinates, lammps_get_atoms() and lammps_put_atoms().


17 Aug 2012

Changed the Python interface to LAMMPS, so that it is more straighforward to use, and does not require installing LAMMPS into your system Python, via the setup.py tool.

The mechanism for running LAMMPS from Python is now simpler:

The Python section of the manual has all the details.


16 Aug 2012

Christian Trott (Sandia) made a couple bug fixes in the USER-CUDA package to sync it with recent changes to main LAMMPS, for bonded interactions and FFTs in PPPM.


15 Aug 2012

Added options for atom type output for pairwise interactions to the compute property/local command.


14 Aug 2012

Fixed a bug in the restart2data tool with reading LAMMPS restart files, which was due to the format of image flags changing in the 30 Jun 2012 patch.

Thanks to Craig Tenney (Sandia) for noting this issue.


13 Aug 2012

Added a compute contact/atom command to tally the number of overlaps each particle has with neighbor particles, when using finite-size spheres with variable radius, e.g. in a granular model.


12 Aug 2012

Ryan Elliott (U Minn) has upgraded the pair_kim command in LAMMPS to be compatible with the current 1.1.0 version of the KIM repository of interatomic potentials.


11 Aug 2012

Added an option to the compute coord/atom command to allow for calculation of multiple coordination numbers, each with respect to neighbor atoms of different atom types.


10 Aug 2012

Paul Crozier (Sandia) added a region option to the fix gcmc command to enable insertions and deletions with a geometric region.


9 Aug 2012

Removed the restriction for triclinic (non-orthogonal) boxes, that LAMMPS requires their tilt factors to be within -0.5 to 0.5. This is still the default and a good idea for running efficiently. But it can now be overridden by the following new command and new options on existing commands that potentially change the box shape:


8 Aug 2012

Added a compute erotate/sphere/atom command to tally rotational energies on a per-particle basis.


7 Aug 2012

Fixed an indexing bug in parsing the fix npt dilate command.

Fixed a bug in the pair_style lj/smooth/linear command with a cutoff distance being left unset.


6 Aug 2012

Rolf Isele-Holder (Aachen University), Stan Moore (BYU), and Paul Crozier (Sandia) have formulated a 2-FFT version of the PPPM solver based on analytic differentiation (similar to smoothed PME), which can speed-up long-range calculations in some scenarios. See the kspace_modify diff command for details.


31 Jul 2012

Ray Shan (Sandia) has added some keyword options to the pair_style reax/c command. They control how much memory is allocated for data arrays at the start of a simulation. This is useful in situations where the number of bonds increases dranatically during the course of the simulation, to avoid a run-time memory error message.


25 Jul 2012

Prettyfied some files and tweaked the install scripts for a couple packages that depend on each other.


4 Jul 2012

Aidan Thompson (Sandia) added the keyword options scaleyz, scalexz, scalexy, and fixedpoint to the fix box/relax command. The scaling keywords control whether or not tilt factors are rescaled when the corresponding periodic dimension changes. The default is yes, meaning that the cell angles in triclinic cells are preserved when the cell volume is relaxed. A value of no recovers the old LAMMPS behavior. The fixedpoint keyword defines the point about which the cell is dilated or contracted. The default is the box center, corresponding to the old LAMMPS behavior.

Paul Crozier (Sandia) added a nozforce option to the 2d-slab mode in the kspace_modify command.


3 Jul 2012

The 30Jun12 patch for allowing 64-bit image flags had a couple of typo bugs that affected various commands that read/manipulate the image flags. This patch should fix them.

Thanks to Trung Nguyen (ORNL) and Laurent Joly (U Lyon) for flagging this.


2 Jul 2012

Maintenance patch with some updates of files in opttional packages that depended on recent changes. Also a couple of minor bug fixes that average users would only rarely see.


1 Jul 2012

Fixed a bug in the logic for setting the next output timesteps for thermo and dump output that could occur when the reset_timestep command is used to set the timestep earlier than the last previous output written to an open dump file.

Thanks to Jeff Armstrong for calling attention to this.


30 Jun 2012

Don Ward and Xiaowang Zhou (Sandia) added a BOP (bond-order potential) originally due to Pettifor, as a new pair_style bop command.

Also, enabled higher bit count image flags via the -DLAMMPS_BIGBIG compile option described in this_section of the manual. With this setting, image flags will not wrap around after an atom passes thru the periodic box 2^9 = 512 times, but after 2^20 = 1 million times, if LAMMPS is compiled with that option.

BACKWARD COMPATIBILITY issues: This patch changes the way image flags are stored in restart files and hence the format of the restart file. Thus the tools/restart2data tool will only work with compatible restart files. This change to restart2data was not made until the 14 Aug 2012 patch.

Also fixed a memory bug in kspace_style ewald when used with the compute group/group command.


29 Jun 2012

Added support to the granular pair styles for use with rigid bodies built of finite-size spheroidal granular particles. Because the granular damping terms are mass-dependent, computing collisions between pairs of particles in such rigid bodies correctly, requires using the effective mass of the entire rigid body.

Thanks to Christoph Kloss (JKU) for sending some code snippets that perform this calculation in LIGGGHTS.


28 Jun 2012

Added an infile option to the various fix rigid commands to allow attributes of each rigid body to be read in from a file. Namely the total mass, center of mass, and moments of inertia. This is useful when the rigid body consists of overlapping finite-size particles, such that LAMMPS cannot compute the properties accurately. E.g. for an irregular-shaped rigid-body particle consisting of many highly overlapped spheroids.


27 Jun 2012

Release of a dynamic load balancer via the fix balance command. This is complement to the static load balancing performed by the balance command. They use similar algorithms.


26 Jun 2012

Fixed a bug with parallel replica dynamics using the prd command where multi-processor replicas could get out of sync with respect to the way they stored atoms, and not recognize it.

Thanks to Srujan Rokkam for illustrating a case where this happened.


25 Jun 2012

Ray Shan (Sandia) has made some optimizations to the pair_style reax/c command, regarding how neighbors of ghost atoms are found and used.

Also two bug fixes:

For fix reax/c/bonds, fixed an array size problem that could cause segmentation fault. Thanks to Jukka Vaari of VTT Technical Research Centre of Finland for noticing this.

For fix qeq/comb, fixed a bug in updating charges of ghost atoms during charge equilibration. Thanks to Dundar Yilmaz of University of Florida for noticing this.


24 Jun 2012

The 15 Jun 2012 patch for adding the gyration tensor included a sqrt() that isn't correct. This patch removes it. This is for the compute gyration and compute gyration/molecule commands.


23 Jun 2012

Axel Kohlmeyer (Temple U) has added dump file readers for XYZ dump files and molfile plugins which can support DCD and other formats. These are now usable by the read_dump and rerun commands.


22 Jun 2012

Added an overwrite option to the fix ave/time, fix ave/spatial, fix ave/correlate, and fix ave/histo commands. When doing running averages, this means the output file will only contain the latest output.

Also yet another change needed for the granular restart issue to add to the 20 Jun 2012 patch. I hope this is the last one.

Thanks for Stan Moore (BYU) for sending some example code that implemented this feature.


21 Jun 2012

Fixed a bug introduced by the 15 Jun 2012 patch when running molecular systems (with bonds) in parallel.


20 Jun 2012

Updated the default settings for bond and hbond cutoffs in pair_style reax/c.

Also, the 16 Jun 2012 patch on the granular restarts was not a complete solution. This patch should provide more exact restarts, and fix the bugs that existed with making shear history values persistent across continued runs and restarts. However, because granular pair styles are velocity-dependent, exact restarts are not possible.


17 Jun 2012

Made some performance improvements to the TIP4P water potential in pair_style lj/cut/coul/long/tip4p. This version stores information about the off-site charge rather than re-computing it. It runs about 20% faster on tests we've performed.

New versions of the OPT and USER-OMP package versions are also included in the patch, thanks to Axel Kohlmeyer (Temple U).


16 Jun 2012

Kevin Hanley (Imperial College London) found and fixed 2 bugs with the way the granular pair styles that store shear history information were working with storing/retreiving their info to/from restart files. It should now be possible to continue a run via a restart file and have it match the original run more exactly.


15 Jun 2012

Fixed an issue with molecular systems (which in LAMMPS means that explicit bond/angle/dihedral interactions are specified) that could arise when the pairwise cutoff was greater than the periodic box length, where far-away images of bonded atoms were excluded due to the special_bonds exclusion rules.

The solution was to make the neighbor list building more clever about not excluding the far-away images.

It should now be possible to use any length cutoff with molecular systems, or alternatively very small periodic boxes. The only restriction is that the furthest apart atoms in any bond, angle, or dihedral must be less than half the periodic box length in all dimensions.


14 Jun 2012

Axel Kohlmeyer (Temple U) added a USER-MOLFILE package which is a wrapper on the VMD molfile plugins

Molfile plugins provide a consistent programming interface to read and write file formats commonly used in molecular simulations. The package only provides the interface code, not the plugins; these can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins, support for new file formats can be added to LAMMPS (or VMD or other programs that use them) without having to recompile the application itself.

See the new dump molfile command for details.


13 Jun 2012

Added an option to calculate the radius-of-gyration tensor to the compute gyration and compute gyration/molecule commands.


12 Jun 2012

Reworked the algorithm used by the balance command to statically partition the domain across processors in an attempt to balance the number of atoms per processor. The new algorithm is more robust and converges more directly to a good result, particularly when the initial or default partitioning is very imbalanced. The new method should now usable in a dynamic load balancer, which will be implemented next as a new fix balance command.

An out option was also added to the balance command, so you can visualize the sub-domains assigned to each processor.

BACKWARD COMPATIBILITY issues: This patch changes the syntax of the dynamic option for the balance command. The new syntax is simpler.


11 Jun 2012

The changes for the rerun command introduced a bug in the reset_timestep command when thermo output is turned off. This patch should fix it.

Thanks to Reese Jones (Sandia) and Axel Kohlmeyer (Temple U) for flagging this.


8 Jun 2012

Added a rerun command to LAMMPS. This allows a dump file(s) with containing multiple snapshots to be read in, one snapshot at a time, energy and forces to be computed, and new output to be generated.

This is useful for using LAMMPS to compute diagnostic quantities on the output of a previous simulation, that weren't computed the first time it was run. See the rerun doc page for other use cases.

This patch also removes some of the restrictions on using the reset_timestep command, such as not allowing dump and restart commands to be defined. This is because the rerun command uses the reset_timestep command when it reads each new snapshot, and the change allows use of dump or restart files when performing a rerun.

BACKWARD COMPATIBILITY issues: Removed the "every" option from the thermo_modify command. The thermo command itself now allows use of an equal-style variable to specify timesteps for thermodynamic output.


6 Jun 2012

Converted all tabs to spaces and stripped all whitespace at end-of-lines from the source code files. This makes it easier for various 2nd-class editors (other than the one true editor = Emacs) to display source code files in an eye-pleasing manner.

Also made a few internal changes to the read_dump command and other files to accommodate the soon-to-be-released rerun command.


2 Jun 2012

Enhanced the fix gravity command to allow for time-dependent gravitational magnitude and direction via variables.

BACKWARD COMPATIBILITY issues: Removed the "gradient" option from the fix gravity command, because the new version can do that and more by specifying time-dependent variables for phi and theta.


1 Jun 2012

With help from Tim Sirk (ARL), a read_dump command has been added to LAMMPS. This allows you to read atom coordinates (and a few other attributes) for a specified snapshot from a dump file. As an alternative to reading a restart file or data file. Currently, only native-formatted dump files are supported, as written by the dump atom or dump custom commands, but additional readers could be added.


28 May 2012

Added a variable option to the fix temp/rescale and fix temp/berendsen commands so that the target temperature can be specified as a time-dependent equal-style variable.


27 May 2012

Axel Kohlmeyer (Temple U) added a fix colvars command that interfaces LAMMPS to a "collective variables" or "colvars" library which allows the calculation of potentials of mean force (PMFs) for any set of colvars, using different sampling methods. The currently implemented methods are the Adaptive Biasing Force (ABF) method, metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a flexible harmonic restraint bias.

This fix is now contained in the USER-COLVARS pacakge and there is an auxiliary lib/colvars library which contains the "colvars" source code, as described in this paper:

Exploring Multidimensional Free Energy Landscapes Using Time-Dependent Biases on Collective Variables, J. Hénin, G. Fiorin, C. Chipot, and M. L. Klein, J. Chem. Theory Comput., 6, 35-47 (2010).

This library is the portable "colvars" module, originally interfaced with the NAMD MD code, to provide an extensible software framework, that allows enhanced sampling in molecular dynamics simulations.

The documentation of the colvars implementation itself is available as part of the NAMD online documentation

This patch also contains the following upgrades:

Ray Shan (Sandia) added an option to the pair_style reax/c control file that allows users to change the bond order product cutoff for threebody (valence angle) interactions.

Axel added support to the dump xyz command for listing element names in the dump file.

Axel also added a tolerance check to the pair_style airebo command which avoids round-off and NaN issues for graphene sheets with tiny bending moments.

Dan Bolintineanu (Sandia) made some upgrades to the pair_style brownian, pair_style lubricate, and pair_style lubricateU potentials.

There are now flags to toggle the 1/r HI's (flagHI) and the volume fraction corrections (flagVF). The volume fraction and FLD isotropic terms are now adjusted appropriately on the fly if the available volume changes due to box deformations or moving walls. Stationary walls that don't coincide with the box boundaries are also handled.


25 May 2012

Georgios Vogiatzis (CoMSE, NTU Athens) has added 2 new improper styles to the code. These are improper_style cossq and improper_style ring. They are now part of the USER-MISC package.


24 May 2012

Axel Kohlmeyer (Temple U) added a wrapper to the LAMMPS library API so it can be called from Fortran. He also added some login to the PPPM solver command to prevent it from using too low an order on its grid for interpolating charge and forces. The minimum allowed order is now 2 grid points instead of 1. The default is still 5.


23 May 2012

Dominik Wojt (Wroclaw University of Technology) has added the long-range bond-order potential (LCBOP) of Los and Fasolino to LAMMPS. This patch adds it as a pair_style lcbop command. A potential file for C is included in the patch.

Andres Jaramillo-Botero (Caltech) sent some code to extend the fix restrain command to also work for bond and angle restraints in addition to dihedral restraints. This required the syntax of the command be enhanced.

This patch also fixes an issue with the fix addforce command, when the option to also calculate a potential energy associated with the added force is invoked. Previosly this energy term did not account for an atom crossing a periodic boundary, which could cause a discontinuity in the energy. The energy term is now calculated with unwrapped atom coordinantes to avoid this issue.

BACKWARD COMPATIBILITY issues: The syntax for the fix restrain command now allows for a combination of bond, angle, dihedral restraints, each with their own Kstart and Kstop values.

Thanks to Alex Stukowski (LLNL) for pointing out the issue with fix addforce energies.


21 May 2012

Stan Moore (BYU) has added a kspace option to the compute group/group command. This allows the calcaluation of energy and force between two groups of atoms to include a component for the long-range Coulombic interactions. Support for this was added to the PPPM and Ewald kspace_style commands.


20 May 2012

Extended the restart command to allow both types of restart files to be written at the same time, namely single files (with a timestep suffix) and double files where the output toggles between the 2 filenames.

The command also now allows a variable name for the restart file frequency. So you can more easily get restart files when you want them, e.g. at high frequency surrounding a simulation crash, when you want to debug what happened, via the stride(x,y,z) option in an equal-style variable.


19 May 2012

Fixed a bug with the change_box command that was preventing the volume option from working correctly.

Thanks to Juan Melendez (University of Extremadura, Spain) for flagging the issue.


18 May 2012

Added a stride(x,y,z) option to equal-style variable command, to generate a sequence of timesteps from x to y, strided by z. This can be used, for example, to generate dump snapshots withing a time window.


17 May 2012

This patch includes several small bug fixes that affect several commands:

This patch also extends the functionality of the fix npt dilate option, so that it can now operate on a user-specified group instead of just the fix group. This allows you to time integrate versus dilate different subsets of your atoms.

BACKWARD COMPATIBILITY issues: The syntax for the fix npt dilate option before was to specify all or partial. You now specity a group-ID. If the group-ID is all (the default) then the behavior is as before. If the group-ID is the same as the fix group-ID, then the new behavior is the same as dilate partial. But you can now specify a different group if desired.


14 May 2012

Ray Shan (Sandia) has added time-averaging to the fix reax/c/bond command which provides more reliable tracking of ReaxFF bonds.


5 May 2012

Fixed a logic bug in the AIREBO potential that affected the Lennard-Jones contribution to the energy when bonds break/form.

Thanks to Joao Sousa for finding and fixing this bug.


3 May 2012

Fixed a couple logic bugs in the fix wall/colloid command, related to its use with Fast Lubrication Dynamics (FLD), flagged by Dan Bolintineanu (Sandia).

Also made some tweaks to the 10 Apr 2012 changes for image flag updates during box flips in NEMD simulations. The new version handles some special cases correctly that the original version did not.


20 Apr 2012

Alex Stukowski (LLNL) fixed a numeric round-off bug in the compute ackland/atom command. Andres Jaramillo-Botero (Caltech) fixed a input parsing bug with the pair_style eff/cut command and some of its options in the USER-EFF package.


19 Apr 2012

Kranthi Mandadapu (Sandia) found and fixed a bug with one of the methods in the Domain class that affects the TIP4P potential when used with a non-periodic system.


12 Apr 2012

Added an option to the pair_modify and kspace_modify commands to turn off the pairwise and Kspace computations. This is not useful for running a simulation, but can be useful for debugging or when calculating partial forces, e.g. in an analysis script that processes a single snapshot of atom coordinates. You could do this by just not defining a pair or Kspace style, but both must be defined if a long-range calculation is to be used. These options allow both to be defined, but only part of the calculation to be performed.


10 Apr 2012

Fixed a bug with how atom image flags were reset during box flip events induced by large shears in the fix deform or fix npt commands. The issue is that when the box shape changes dramatically, the mapping of unwrapped atom coordinates to images of the simulation box changes in a non-trivial way. E.g. for an xy flip, the new x image index depends on the y image index.

This bug did not affect dynamics of the atoms, but the image flags became incorrect, which can mess up various post-processing analyses.

Thanks to Mohammad Hadi and Brian Edwards (UTK) for calling attention to this problem and providing a careful analysis of what was going wrong.


28 Mar 2012

Mike Brown (ORNL) has upgraded the library used by the GPU package to support NVIDIA Kepler GPUs. The new version is also generally faster, by up to 30% on some problems.


21 Mar 2012

Ray Shan (Sandia) fixed a bug with the pair_style reaxc command tallying its per-atom virial contributions across periodic boundaries.

Stan Moore (BYU) also added some code to the kspace_style ewald/n command for accuracy estimation of the long-range Lennard-Jones option.

Thanks to Ben Jensen of Michigan Technological University for noticing the reax/c issue.


6 Mar 2012

Just a note to indicate that all of the KSpace solvers in LAMMPS have now been updated to include the per-atom energy and virial tallying that was originally implmented by Stan Moore (BYU) and German Samolyuk (ORNL), as posted in the 14 Feb 2012 patch.

This includes the KSpace solvers in the GPU, USER-CUDA, USER-CG-CMM, and USER-EWALDN packages as well as the PPPM TIP4P solver.

There is no patch with this, since these changes have been added incrementally in the last few patches.


5 Mar 2012

Ilya Valuev (Joint Institue for High Temperatures, Moscow, Russia) has reformulated the Windows build directory (src/WINDOWS) that allows users running LAMMPS on a Windows box to build LAMMPS from C++ source code, using the project mechanism in Microsoft Visual Studio 2005 (or later versions). It is now possible to choose which packages to include/exclude in a build. See full instructions in the src/WINDOWS/README.txt file.


2 Mar 2012

Paul Crozier (Sandia) has made a change in the way that the long-range Coulombic or KSpace solvers in LAMMPS determine their accuracy. The kspace_style command previously discussed a dimensionless accuracy (e.g. one part in 10^4), while strictly speaking, the only computable metric is the RMS error in per-atom forces. The dimensionless setting in the kspace_style command is now converted internally to an RMS force accuracy by multiplying it by the force exerted between two unit point charges separated by 1 Angstrom. An option to specify the desired RMS error directly (in force units) was also added to the kspace_modify command.

This new metric was also made consistent across both the PPPM and Ewald solvers, which it wasn't before. Previously, given the same specified relative accuracy for Ewald vs PPPM, Ewald users were getting better accuracy than requested. So Ewald users will now need to specify tighter relative accuracy than before in order to achieve the same observed accuracy as before. A reasonable setting for relative accuracy is typically between 1e-4 to 1e-6. Along with these changes, the efficiency of the Ewald solver was also improved.

BACKWARD COMPATIBILITY issues: Specifying a PPPM relative precision such as 1.0e-4 for the kspace_style command will give the same results as before for "real", "lj", and "metal" units. However, it will induce a different grid for "si," "cgs", and "electron" units. This is because the previous version had a bug with how units were applied to the dimensionless metric. Using kspace_style ewald with the same relative accuracy as before may now give different numbers of K-space vectors than in the previous version.

This patch also fixes a bug in the run_style verlet/split command when it was used for multiple successive runs. And a small bug introduced by the the recent TIP4P patch on 28 Feb 2012.


28 Feb 2012

Added a remap option to the create_atoms single command. And an any option to the delete_bonds command.

Also fixed an issue with how some files include the LAMMPS data type settings in lmptype.h. Fixed a bug with putting quotes around input script arguments that start with whitespace. Fixed a bug with a possible erroroneous syntax in the restart command that wasn't checked for.

Also fixed an issue with the TIP4P potential where it checked the Coulomb cutoff in an inconsistent manner for the added point charge. This could cause a small discrepancy in the energy, forces, and virial (pressure) for pairs of interacting water molecules at a separation within delta of the cutoff distance, where delta = twice the added point charge displacement (typically 0.15 Angstroms).


17 Feb 2012

A maintenance patch to sync various packages with recent changes in main LAMMPS.


14 Feb 2012

Due to some nice work by Stan Moore (BYU) and German Samolyuk (ORNL), we finally have a per-atom energy and virial capability for the long-range solvers in LAMMPS (PPPM, Ewald).

Note that the derivative PPPM and Ewald styles (e.g. GPU, USER-CUDA, TIP4P, USER-CG-CMM, USER-EWALDN) may not yet work with the added per-atom energy/virial tallying, or give incorrect answers. These are in various packages, maintained by various people. We will upgrade these going forward.


13 Feb 2012

Bookkeeping patch to update the error messages in the code and sync it with the doc pages.


12 Feb 2012

Fixed a glitch in the new balance command that made it not work correctly with the PPPM solver.


11 Feb 2012

Added a balance command to perform static load-balancing of a calculation by adjusting the boundary planes between processors (in the 3d grid of processors) to equalize the particle count per processor. This command does a one-time balancing. Soon there will be a related fix balance command that balances dynamically in a similar fashion during a simulation.

This patch also fixes a small error-check bug with the new change_box command. And an indexing error in the per-atom virial computation for the pair_style reax/c command. And a bug in the end-point slopes for the pair_style table spline command.


10 Feb 2012

Christian Trott (U Tech Ilmenau) fixed an issue in the pair_style eam/cuda command regarding restart files.


9 Feb 2012

Combined the displace_box and change_box command into one new change_box command with additional options.

The new command allows you to change the size and shape of the simulation box, change the boundary conditions, change whether it is orthogonal or triclinic, and remap the atoms to the new box. It was previously not possible to change boundary conditions after the simulation box was initially created.

BACKWARD COMPATIBILITY issues: The displace_box command is removed. The new change_box command supports all the options the previous displace_box did, but the order of operations is now sequential thru the keywords, rather than all at once. This changes the syntax and operation of the command, particularly for the volume keyword. See the new doc page for details.

This patch also fixes a dumb end-of-the-run bug that was introduced by the 8 Feb patch.


8 Feb 2012

Removed the restriction on triclinic (non-orthongal) simulation boxes that the dimensions associated with the tilt (e.g. the x and y dimensions for xy tilt) must be periodic. There are still some restrictions with the fix npt and fix deform commands, but these are relaxed as well. For example, you can now use fix deform xy when x is not periodic.


7 Feb 2012

Asad Hasan (CMU) has added a new linesearch method for energy minimization. It is accessed via the command min_modify line forcezero. In some cases it converges the forces more quickly than the quadratic linesearch method.


6 Feb 2012

Jon Zimmerman (Sandia) has added a Beck potential to LAMMPS via the pair_style beck command.


5 Feb 2012

Alex Stukowski (LLNL) has implmented a cubic-spline based version of the MEAM potential, as a pair_style meam/spline command, which this patch adds to the USER-MISC directory. Some potential files for Si and Ti are added to the potentials directory. Others will be forthcoming.


4 Feb 2012

Small upgrade to the new pair_style kim command, to enable it to work with pair_style hybrid. In thi mode, copies of the KIM forces need to be made, since KIM zeroes the force vector it works with.


3 Feb 2012

Fixed a bug with restart files not storing sufficient information for the atom_style dipole case.

Thanks to Mario Orsi for sending an input script that illustrated the problem.


2 Feb 2012

Maintenance patch with some upgrades to the USER-OMP and GPU packages. Also a bug fix in the 31 Jan patch for allowing pair_style hybrid to use the same sub-style multiple times.


1 Feb 2012

Added a variable option to the fix deform command. This allows a user-defined time-dependent variable to define the evolution of the box deformation.


31 Jan 2012

Valeriu Smirichinski (U Minn) of the Knowlegebase of Interatomic Models (KIM) project, has written a pair_style kim command, that is essentially a wrapper on potentials in the KIM archive. Currently there are only a few potentials avaiable, but eventually they plan to have many. This pair style enables LAMMPS to use any potential in the KIM archive.

The pair_style kim doc page has instructions on how to use LAMMPS with KIM, which you need to download separately from the KIM WWW site.

There are also some simple examples of using KIM in the examples/kim directory.

This patch also includes an extension to pair_style hybrid to allow it to use individual pair styles multiple times in its list of sub-styles. This may turn out to be useful for KIM potentials, and is also useful for some physical models using native LAMMPS potentials.


29 Jan 2012

Ray Shan (Sandia) made an upgrade to the pair_style comb potential that fixes a memory leak and does some other optimization. He also added a new interface problem to the example/comb dir.


28 Jan 2012

Added a quit command, which can be useful to add to a script when debugging or as an invoked command in an if command to cause LAMMPS to stop.


27 Jan 2012

Added a src/Make.py script to make the management of packages, external libraries, and LAMMPS builds easier. The tool is described in this section of the doc pages.

Here is a hi-level list of operations Make.py can perform:

The last bullet can be useful when you wish to build a stripped-down version of LAMMPS to run a specific script(s). Or when you wish to move the minimal amount of files to another platform for a remote LAMMPS build.


26 Jan 2012

Ray Shan (Sandia) fixed a memory issue with the per-atom energy/virial tallying he added to the pair_style reax/c command.

Thanks to David Furman for pointing out the issue.


25 Jan 2012

Trung Dac Nguyen and Mike Brown (ORNL) have added some new GPU-enabled pair styles to the GPU pacakge: pair buck, pair eam, pair table, and pair yukawa.


15 Jan 2012

Added dump image commands to most of the example input scripts so that running the examples will produce instant images/movies.


14 Jan 2012

Andreas Aigner (JKU) found a logic bug with the region block command when it checks for overlaps with the interior surface which is when it is used as a wall.

Loukas Peristeras and Jorg-Rudiger Hill (Scienomics) found bugs with the atom_styles angle and molecular in their logic for exchanging data between processors when the communicate vel yes option was enabled.


13 Jan 2012

Andrew Jewett has added a dihedral_style table potential which allows user input of a tabulated set of energies (and forces) as a funtion of the dihedral angle phi.


12 Jan 2012

Mario Orsi has added an angle_style dipole potential.


11 Jan 2012

Updated all the example and benchmark log files, as well as the PDF version of the manual.


10 Jan 2012

Jon Zimmerman (Sandia) has added a pair_style lj/smooth/linear command that smooths the LJ interaction at the cutoff distance so the energy and force both go to 0.0, using an added term linear in the derivate (force) at the cutoff.


9 Jan 2012

Fixed a small bug with an uninitialized variable with rRESPA neighbor lists when using the inner or middle keywords.

Also fixed a glitch with the dump image command where the image orientation was non-intuitive when the "view" direction is parallel with the "up" direction in the image. This is a degenerate case that requires some special logic.

Thanks to Eric Homer (BYU) for pointing out the issue with the dump image command.


8 Jan 2012

The last couple patches were missing a few new files that didn't get added to the SVN repository. This patch should clean up those problems.


7 Jan 2012

Ray Shan (Sandia) has added a fix reax/c/bond command so that bond information can be output for the pair_style reax/c potential as it also can be for pair_style reax.

Ray also re-worked some code from Sergey Zybin (Caltech) which now allows an added option to the pair_style reax/c command to include a low gradient correction to the long-range London Dispersion, as described in their "Liu, Liu, Zybin, Sun, Goddard, JPC A, 115, 11016 (2011)" paper. Basically this is a strong, low gradient vdW attraction added to all non-bonded pairs. It is especially trained for energetic materials, and Ray verified that it yields better agreement in densities compared to experimental values for various materials. This requires a new format for the ReaxFF potential file; see the added potentials/ffield.reax.lg file for an example.


6 Jan 2012

Andres Jaramillo-Botero (Caltech) sent some upgrades to his USER-EFF package. These are the details:


5 Jan 2012

Various small changes sent by Axel Kohlmeyer (Temple U) to sync up main LAMMPS with his ICMS branch. This fixes a few small bugs, makes the STUBS dummy MPI library be fully C-compatible (instead of having a C++ wrapper), adds a target option to the fix deposit command, adds a spring direction option to the fix spring/self command, adds some Windows-compatibility code, and adds BLAS and LAPACK files used by the USER-ATC package so users don't have to find and install them if they don't have them on their system.


4 Jan 2012

These are some upgraded files for the GPU package in LAMMPS from Mike Brown (ORNL) and Axel Kohlmeyer (Temple U). This adds support in the GPU PPPM modules for the new run_style verlet/split command and also for GPU versions of some coarse-grain pair styles from Axel's USER-CG-CMM package.