21 Dec 2010

Added an option to the allow the CHARMM pair styles to use alternate mixing rules besides the default arithmetic mode, via the pair_modify mix command. Before, these pair styles always used arithmetic mixing.

Thanks to Vaclav (Caltech) for the suggestion.

20 Dec 2010

Fixed some input parsing bugs and one logic bug in the compute ti command.

Thanks to David Cheung (U of Warwick) for finding and fixing these bugs.

18 Dec 2010

Fixed a subtle bug with the neighboring method selected after a switch from an orthogonal box to a triclinic box in the middle of an input script, i.e. via the change_box command. The code wasn't always using a neighboring method appropriate for triclinic boxes in that case.

Thanks to Nima Emadi for sending an input script that illustrated the issue.

17 Dec 2010

Explicitly disabled the fix setforce command from operating during an energy minimization if the forces are set to non-zero values. This doesn't work. The fix addforce command should be used instead.

16 Dec 2010

Axel Kohlmeyer (Temple U) fixed a bug in the dump dcd command when used with triclinic simulation boxes. The ordering of the geometry info was mixed up.

15 Dec 2010

Fixed a bug with the min_style htfn minimizer option not working robustly with the fix box/relax command.

Also, Aidan Thompson (Sandia) added a reax directory to the tool directory which contains a couple of stand-along programs to post-process the output from the fix reax/bonds command.

7 Dec 2010

Aidan Thompson (Sandia) added an emacs tools to the tool directory which contains a Lisp file which can be loaded into Emacs. This enables a lammps-mode for editing input scripts that highlights various elements of the input script to make it easier to edit.

5 Dec 2010

Sai Jayaraman (Sandia) added tail corrections to the Buckingham potentials which can be invoked by the pair_modify tail yes command.

Axel Kohlmeyer (Temple U) fixed a typo bug with the fix wall/reflect command which was treating y and z upper walls incorrectly.

4 Dec 2010

Another bug with the parsing of the new if command. Surely this is the last one!

Thanks to Craig Tenney (U Notre Dame) for sending some examples that broke.

3 Dec 2010

Craig Tenney (U Notre Dame) noted that the fix ave/spatial command can get confused when using x,y,z as atom coordinates since those keywords are also used to specify the binning directions. So I removed them as possible input values. Binning of atom coordinates can still be performed using the compute property/atom command as an input value to the fix ave/spatial command.

BACKWARD COMPATIBILITY for fix ave/spatial command. The x,y,z keywords were removed as possible input values, but are still used as bin dimensions.

2 Dec 2010

Fixed some bugs noted by a couple users with the new if command, which wasn't parsing the input script syntax correctly in some cases.

Also, fixed a memory bug with the pair_style tersoff command, when its pair coefficients were specified multiple times.

1 Dec 2010

The recent alchemy changes introduced an uninitialized memory bug into the pair coul/cut and pair coul/long commands with the added scale factor. This patch fixes it.

Thanks to Sai Jayaraman (Sandia) for sending a script that showed the problem.

30 Nov 2010

Axel Kohlmeyer (Temple U) got the Python scripts that wrap LAMMPS to perform real-time GUI interactions, plotting, and visualization to work with VMD. This completes the suite of viz packages that can be used via Python in this manner.

29 Nov 2010

Fixed a logic bug in the neb command that arose when doing inter-replica communication associated with running large systems.

Thanks to Albert Cao and German Samolyuk for sending input scripts that illustrated the problem.

28 Nov 2010

Trung Dac Nguyen (U Mich) sent an enhancement to his fix rigid/nvt command for thermostatting rigid body dynamics to monitor the energy conservation, which can now be accessed as a scalar value stored by the fix.

27 Nov 2010

Laurent Joly (U Lyon, France) added a "torque" group/region keyword to the variable command, so that the torque on a group of atoms (due to current forces) can be calculated in a input script formula.

26 Nov 2010

Added back the option to the fix nvt and fix npt commands to reset the temperature target. This is used by some other commands, like the temper command, to change the temperature on the fly during a simulation. These fixes had this option before, but it was inadvertently left out when we upgraded the Nose/Hoover formulation in the 7 April 2010 patch.

Thanks to Ting (KULeuven) for pointing out this deficiency.

25 Nov 2010

Sam Bateman (NRL) added some options to the VIM editor tool.

24 Nov 2010

Axel Kohlmeyer (Temple U) update the restart2data tool with hooks for several recently added potentials that had been added to LAMMPS itself.

23 Nov 2010

Mike Brown (ORNL) has enhaced the GPU capabilities of LAMMPS, built on top of his GPU library for CUDA. The new features include:

22 Nov 2010

Enhanced the fix external command to allow it to provide forces during an energy minimization via the minimize command.

19 Nov 2010

Enhanced the syntax for the if command to allow for arbitrarily complex Boolean expressions and to include "elif" clauses, so that a sequence of Boolean tests can be made, i.e. the equivalent of an if/then/elif/elif/else statement in a programming language.

Also enhanced the input script parser to allow for both double and single quoting of arguments with white space, so that they are treated as a single argument (only double quotes were allowed before). Double and single quotes can now be nested. See this section of the manual for details.

The motivation for this was to enable entire commands which use quoted arguments (like print) to be used as arguments within the if and run every commands. For consistency, the syntax of the print command was changed so that it now takes only a single (typically quoted) argument.

BACKWARD COMPATIBILITY for if and print commands: The syntax of these two commands has changed and the old mode of usage will typically give an error. The if command now takes a single argument for its Boolean expressions (e.g. "$x < $y" instead of $x < $y which is 3 args). The print command takes only a single arg (which, as before, can be quoted if it contains spaces). It no longer allows any nubmer of args which previously were combined internally with inserted spaces.

18 Nov 2010

Fixed a glitch in the new pair_style reax/c command when using it to restart a simulation. Initialization wasn't being done correctly in that case.

Thanks to Benjamin Jensen (MTU) for flagging this issue.

17 Nov 2010

Enhanced the class2 angle, dihedral, improper potentials, to allow their cross-term coefficients to be specified in the input script. Previously, those coefficients could only be set in the data file which made it difficult to change them or to use them in as part of a hybrid potential, e.g. angle_style hybrid.

10 Nov 2010

Added more real-time visualization scripts to the python dir in the distribution as described in the last section of the Python section of the manual.

There are now scripts that drive the GL tool in Pizza.py, AtomEye, and PyMol. We're still working on one for VMD. See the screenshots of the tools in action at the bottom of this page.

Thanks to the AtomEye folks (Futoshi Shimizu and Ju Li) for help with getting this to work with AtomEye, and to Mike Brown (ORNL) for help with getting it to work with PyMol.

5 Nov 2010

3 small bug fixes:

a) The energy tabulation in the 2 pair_style gromacs comands was incorrect, due to confusion on which GROMACS formula from their manual was applicable.

b) The create_atoms random command had a logic error for triclinic boxes.

c) The new min_style fire and quickmin options were not enabled to work with granular models when mass is stored on a per-atom basis. Now they are, so that such models can be minimized.

Thanks to Georg Ganzenmueller for the GROMACS potential fix. Thanks to Peter Gordon (Exxon/Mobil) for catching the other 2 bugs.

2 Nov 2010

Added a Python wrapper to the LAMMPS-as-a-library interface using Python's ctypes package. This allows you to drive LAMMPS from a Python script or interactively. If you install a parallel Python package, like Pypar, then you can run Python and LAMMPS in parallel in this manner. It also makes it easy to hook LAMMPS to a GUI, or produce real-time plots or visualizations while LAMMPS is running, since Python is a great glue language for hooking different pieces of software together.

There is a new section of the manual describing how to set this up, a new python directory in the distribution, and a python/examples directory with simple Python scripts that do the things mentioned above.

31 Oct 2010

Replaced the vel and wiggle keyword options for the region command with a new move keyword that allows one or more equal-style variables to determine the motion of the region in the x,y,z directions. Likewise, added a variable to the rotate keyword of the region command, that sets the rotation angle as a function of time.

This should allow maximum flexibility in specifying the location and orientation of regions as a function of time.

BACKWARD COMPATIBILITY for region command: The vel and wiggle options were removed. The same functionality (and more) can now be specified by the move option. The syntax of the rotate option was changed to include a variable for the rotation angle.

30 Oct 2010

Added a fix wall/srd command to allow slip and no-slip walls to interact with stochastic rotation dynamics (SRD) particles.

29 Oct 2010

Extended the fix ave/spatial command to allow use of 2d and 3d bins (pencils and boxes), and not just 1d slabs.

28 Oct 2010

Fixed a bug in the AIREBO potential when used with periodic simulation boxes smaller (in one or more dimensions) than the AIREBO cutoff, typically about 10.0 Angs. The self-interactions of an atom with its periodic image were not being included/excluded correctly.

Thanks to Jianxin Lu for running tests that indicated the problem with small systems.

27 Oct 2010

Metin Aktulga (Purdue, now LBNL), has created a C++ implementation of the ReaxFF force field for LAMMPS from Purdue's PuReMD code. We have added it as a USER-REAXC package.

The new version of ReaxFF (pair_style reax/c), implemented in C++, should give identical or very similar results to the original verion (pair_style reax), which is a ReaxFF implementation on top of a Fortran library, a version of which was originally authored by Adri van Duin.

The pair_style reax/c version should be somewhat faster and more scalable, particularly with respect to the charge equilibration calculation. It should also be easier to build and use since there are no complicating issues due to linking to a Fortran library.

26 Oct 2010

Tod Pascal (Caltech) added support for the DREIDING force field. This includes two hydrogen bonding pair styles, an angle_style cosine periodic command, and an improper_style umbrella command.

25 Oct 2010

Aidan Thompson (Sandia) added some additional output fields to the neb command for nudged elastic band calculations. These are to help the user monitor convergence.

24 Oct 2010

With help from Sai Jayaraman (Sandia), we've extended the fix adapt command and added a compute ti command, to enable thermodynamic integration (TI) for certain kinds of free energy calculations.

The idea is that you use the fix adapt command to scale the potential energy, forces, and virial of a system during a run as a function of a lambda parameter, to perform an alchemical transformation. The compute ti command can be used to calcluate the derivative of the system energy with respect to lambda which can be related to the free energy change of the system.

Several pair styles and the K-Space solvers have been enabled to be rescaled dynamics by the fix adapt command. It is easy to enable additional pair styles as needed.

We will also soon add some example scripts for performing TI using these commands to compute the melting point of various systems. Sai is working here at Sandia to apply this methodology to molten salt mixtures.

23 Oct 2010

Shengfeng Chang (Sandia) found a sign error in the wall/colloid potential as implemented in the fix wall/colloid command.

Sabine Leroch found 2 bugs: one in the single() function of the pair_style colloid command for big/small interactions, which would show up in commands that invoke single() such as the compute group/group command.

The second bug was in the mixing formula for epsilon for the pair_modify mix sixthpower command, relevant to the pair_style lj/class2 command.

22 Oct 2010

Aidan Thompson (Sandia) found a bug in the MEAM potential where an internal buffer used for inter-processor communication wasn't always allocated to a sufficient length. This occasionally caused a crash in parallel.

He also enabled the ReaxFF potential to use the new compute pair command so that you can easily access a breakdown of ReaxFF energies (e.g. with thermo output) when running a ReaxFF simulation.

21 Oct 2010

Added a compute atom/moleclue command to allow any per-atom quantity proudced by another compute, fix, or variable to be summed on a per-molecule basis.

20 Oct 2010

Added a compute pair command to allow extra values calculated by a pair_style to be accessed and output. This will be useful for diagnostic info we intend to add to several pair styles: reax, eff, dreiding, gauss, etc.

19 Oct 2010

Aidan Thompson (Sandia) caught a bug with printing final stats on full neighbor lists, when one or more processors have no atoms. This patch fixes it.

18 Oct 2010

Certain fixes which were recently upgraded to allow for variables as arguments weren't triggering re-evaluation of computes on the current timestep if the variable included them in its formula. Examples of such fixes were fix move or fix setforce or fix wall. This patch remedies that.

Thanks to Sam Bateman for noting this issue and suggesting the remedy.

17 Oct 2010

Fixed a bug that arose due to the 7Oct10 patch with loop-style or uloop-style variables with the new pad option when they are deleted in an input script.

Thanks to Saly Jackson for sending a script that hit this issue.

16 Oct 2010

Fixed a bug in the pair_style dipole/cut command with some uninitialized values when the Coulomb/dipole cutoff is smaller than the LJ cutoff.

Thanks to Gerald Rosenthal (NCSU) for identifying this problem.

15 Oct 2010

Added new functions gmask(), rmask(), and grmask() to atom-style variable formulas, to allow atoms to be included/excluded based on the group and/or region they are in. Also added a region option to the fix ave/spatial command to allow more control over what atoms are included.

14 Oct 2010

Optimized the evaluation of atom-style variables to collapse portions of the formula that are essentially scalars, not dependent on per-atom quantities. This means they are evaluated only once instead of once per atom.

13 Oct 2010

Made the various fix wall commands work like the "fix wall/reflect" command, which means they can now take a variable as input to specify the time-dependent position of the wall. Removed the vel, wiggle/sin, wiggle/cos options as part of this change since they can be specified more generally via a variable.

Added vdisplace(x,y), swiggle(x,y,z), and cwiggle(x,y,z) options to the equal-style and atom-style variable formulas, to make this easier for the user to specify.

BACKWARD COMPATIBILITY for fix wall commands: The vel, wiggle/sin, wiggle/cos options were removed. The same functionality (and more) can now be specified by variables as discussed on the doc page.

12 Oct 2010

Sai Jayaraman (Sandia) added pair_style born and pair_style gauss commands.

These are useful for ionic liquid models he is using with thermodynamic integration (TI) methods for free energy calculations of melting points. The TI methods will be added to LAMMPS soon.

11 Oct 2010

Christoph Kloss (JKU) sent some code to allow the fix move command to work with particles added on-the-fly during a run.

10 Oct 2010

One character typo bug that effectively disabled the fix box/relax command - sigh.

Thanks to Shawn Coleman (U Ark) for sending a test script.

9 Oct 2010

Fixed some indexing bugs with how global arrays were treated by the fix ave/histo, fix ave/time, and fix rigid commands.

Also made the image flags stored for rigid bodies in the fix rigid command, available as output quantities from the fix, so that the motion of rigid bodies across periodic boundaries can be tracked more easily.

Thanks to Joshua Morre (NCSU) for calling attention to these issues.

8 Oct 2010

Enhanced the output and post-processing Python scripts for the new nudged elastic band (NEB) capability in LAMMPS.

7 Oct 2010

Added a "pad" option to loop-style and uloop-style variables to allow zero-padded strings to be generated, e.g. 001, 002, 003, ..., 100. This can be useful for generating a sequeunce of filenames that are easier to post-process in order.

Also added random() and normal() math functions to equal-style and atom-style variables, to allow generation of uniform and Gaussian random numbers within variable calculations.

Thanks to David Rogers (Sandia) for sending some code for the random number functions.

6 Oct 2010

Greg Wagner (Sandia) fixed a small bug in the MEAM potential which arose due to some tweaks in MEAM to handle special cases.

Thanks to German Samolyuk for sending an input scrpit that exposed the problem.

3 Oct 2010

Initial release of a stochastic rotation dynamics (SRD) capability for LAMMPS. This is work in collaboration with Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF). SRD is a coarse-grained solvent model, where the solvent particles do not interact with each other directly, but only with larger solute particles via collisions. SRD particles are periodically binned and their velocities "rotated" in a manner that imbues the SRD particles with fluid-like properties like viscosity. SRD particles can be used within LAMMPS to model mixture systems (large solute particles in fluid) and measure properties like diffusivity and viscosity.

All of the details and references to papers are given on the doc page for the new fix srd command. There is also a new examples/srd directory with 2 sample input scripts.

1 Oct 2010

Fixed some minor bugs:

a) Using a dynamic (moving) region before a run started used an un-initialized timestep value.

b) Reading a restart file that reset the atom_style did not reset some flags that could cause the code to think arrays existed that really didn't if your script tried to use them.

c) The fix shake command checked for angles for some SHAKE cluster geometries even when angles weren't defined in your model.

Thanks to Loic Courtois and Trung Dac Nguyen (U Michigan) for sending scripts that hit these problems.

30 Sept 2010

Initial release of a nudged elastic band (NEB) capability in LAMMPS. This follows the methodology as outlined in two 2000 J Chem Phys papers by Henkelman and Jonsson.

See the neb and fix neb commands and this section of the manual discussing multi-replica simulations. There is also a new examples/neb directory and two Python scripts in tools/python which are useful for post-processing the multiple dump files produced by a multi-replica NEB calculation.

NEB uses one of two new minimization styles, called quickmin and fire, which run damped dynamics to perform a minimization. These may be useful to try in their own right as minimizers for some systems. Eventually we hope to make them work for systems with constraints not easily enforced by the other minimization styles (e.g. cg and sd), such as SHAKE and rigid body dynamics.

29 Sept 2010

Fixed an inconsistency in the variable option for the fix efield command, so that the conversion factor from electric field to force was added to both equal-style and atom-style variables.

Thanks to Klaus Rinne for noting this issue.

28 Sept 2010

Added a SELF option to the jump command, to jump to a new label in the current input script. Also fixed a header file snafu with the ReaxFF patch of 25Sep10.

Thanks to Craig Tenney (UND) for the suggestion.

27 Sept 2010

Fixed an initialization bug in the fix langevin command when it is tallying energy changes, which could cause a problem if the energy quantity was requested by another fix before a run begins.

Thanks to Craig Tenney (UND) for sending a script that triggered the problem.

26 Sept 2010

Andres Jaramillo-Botero (Caltech) sent an updated version of his >electron force field (eFF) tools, released in the tools directory.

25 Sept 2010

Aidan Thompson (Sandia) made some updates to the ReaxFF potential for allowing different kinds of hbonds.

24 Sept 2010

Fixed a memory leak in pair_style airebo, which could occur when doing tasks like displacing atoms or writing restart files before a run was performed.

Thanks to Ruairi Nestor (Irish Centre for High-End Computing) for catching this.

23 Sept 2010

Added a "couple" directory to the distribution with simple examples of 3 coupling applications where driver codes invoke LAMMPS as a library. See couple/README for details:

The LAMMPS/SPPARKS coupling is an example where the driver code alternates back and forth between the two application, using the output from one as input for the next.

The LAMMPS/Quest coupling is an example where the driver code launches a timestep loop in the outer code (LAMMPS), and when it needs info from the inner code (Quest), it gets the info by making a callback to the driver code which invokes the inner code.

To faciliate this callback operation, a new fix external command was added to LAMMPS.

20 Sept 2010

Added an additional feature to the new sort option of the dump_modify command, to allow sorting in descedning order. Also made the on-processor sorting more efficient by avoiding the sort altogether when sorting by atom IDs which are consecutive (the usual case).

BACKWARD COMPATIBILITY for dump_modify command: The syntax for the sort option has changed from off/0/N to off/id/N/-N.

19 Sept 2010

Added a sort option to the dump_modify command, which now works for all dump styles. Sorting can be done by atom ID, or any column of the per-atom output. Some dump styles have sorting on by default (dcd, xtc, xyz); the others do not.

Axel Kohlmeyer also added support for using the dcd and xtc dump styles with groups, so that subsets of atoms can be output. Code for this is included in this patch.

BACKWARD COMPATIBILITY for dump_modify command: The syntax for the sort option has changed from no/yes to off/0/N.

18 Sept 2010

Fix an issue with the newly enhanced read_restart command for parallel file input. It wasn't working for pair styles for which the restart file doesn't store info from the pair_coeff command. Fixing this require reformulation of the atom migration communication the read restart command performs.

Thanks to Duncan Harris for sending a test problem that illustrated the issue.

16 Sept 2010

With help from Duncan Harris, we've enhanced the read_restart command to do its file reading in parallel, when either the restart or write_restart command was used with the "%" character to write out the restart snapshot as a set of multiple files (one per processor). There is no requirement to write and read the restart files with the same number of processors.

On machines that support parallel I/O, this can be a significant savings for big problems. Duncan reported the time to read a restart file for a 10 billion atom problem dropped from 5 hours to 2 minutes on 2048 processors.

Thanks to Duncan Harris for sending some sample code for how to make this work when reading/writing on the same number of processors.

15 Sept 2010

Craig Tenney (UND) sent an addition to the fix temp/berendsen command, so it will tally the energy it adds/subtracts to the system, which can then be monitored with thermodynamic output.

14 Sept 2010

Insured that time-varying particle diameter and mass is communicated every timestep for ghost particles when using atom_style granular with the fix adapt command.

Thanks to Christoph Kloss (JKU) for noting this needed to occur.

13 Sept 2010

Added a atan2() math function to the variable command.

12 Sept 2010

Changed WARNING messages so they are written to the logfile as well as the screen. Except for WARNING messages in the middle of a run, so the log file thermodynamic output won't be cluttered with WARNING messages, e.g. if bonds are stretching too far, but not enough to cause an ERROR message, which is fatal. Hopefully this will make it more likely for users to see WARNING messages and think about what their ominous meaning is.

11 Sept 2010

There was an entry in the src/Makefile for a new ReaxFF package we haven't yet released, which might mess up LAMMPS pacakge manipulations. This is for the 10Sep10 release made yesterday. This patch fixes the Makefile.

9 Sept 2010

Reese Jones (Sandia) has provided a Perl script that makes it easy to auto-generate sets by input scripts by parameter substitution. This patch puts it in the tools/ipp directory with an accompanying README file. Two examples are given, for a LAMMPS input script and an input file used by the tools/createatoms tool.

8 Sept 2010

Xiaowang Zhou (Sandia) has provided a new tool for generating interesting lattices of atoms in different geometries, called createAtoms, and can write them out in a LAMMPS input format. This patch adds the tool as tools/createatoms. See the included Manual.pdf in that dir for details.

7 Sept 2010

Xiaowang Zhou (Sandia) has provided a new tool for generating alloy EAM potential files. This patch adds it as tools/eam_database. Parameters for any of the following elements can be combined into alloy potentials: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, Zr.

6 Sept 2010

Andres Jaramillo-Botero (Caltech), with help from Julius Su, has implemented the Goddard group's electron force field (eFF) model as a user-eff package. eFF can be viewed as an approximation to QM wave packet dynamics and Fermionic molecular dynamics, combining the ability of electronic structure methods to describe atomic structure, bonding, and chemistry in materials, and of plasma methods to describe nonequilibrium dynamics of large systems with a large number of highly excited electrons. The new package includes an eFF pair style, with various computes and fixes to support it for time integration and thermostatting.

The currently implemented eFF gives a reasonably accurate description for systems containing nuclei from Z = 1-6.

5 Sept 2010

Xiaowang Zhou (Sandia) has added his embedded ion method (EIM) potential to LAMMPS, suitable for modeling ionic compounds. A potential file is included which has parameters for nine elements: Li, Na, K, Rb, Cs, F, Cl, Br, and I. Systems with any combination of these elements can be modeled.

4 Sept 2010

Tzu-Ray Shan (U Florida) update the force field file for the COMB pair_style command (COMB) in LAMMPS and also updated the examples to print out more diagnostic info.

3 Sept 2010

Greg Wagner (Sandia) made some changes to the MEAM library invoked by the pair_meam command, to allow second-neighbor pair interactions in L12 crystal structures.

2 Sept 2010

One character typo bug in the fix indent cylinder command where it used the wrong internal variable for the radius of the cylinder.

Thanks to Shijo Nagao (NTNU Nanomechanical Lab, Norway) for catching this one.

1 Sept 2010

Addendum to the 30 Aug 2010 patch, to insure a few more pair style energy and virial accumulation flags are correctly zeroed when the compute stress/atom or compute pe/atom commands are used.

31 Aug 2010

Updated the examples/couple test programs to be current with the current LAMMPS library interface.

30 Aug 2010

Fixed a logic bug with a couple of pair styles calling the per-atom stress accumulation needlessly when the compute stress/atom command was used. This affected the Tersoff, AIREBO, and COMB potentials.

Thanks to Duncan Harris for sending an input script that had the problem.

29 Aug 2010

More internal changes/upgrades necessary for the release of the electronic force field (EFF) from Bill Goddard's group. Coming soon.

27 Aug 2010

Added some library interface routines to make it easier to extract quantities calculated by a LAMMPS compute, fix, or variable when using LAMMPS as a library called from an external program.

26 Aug 2010

Fixed a typo bug in the fix adapt command for processing the input script arguments.

Thanks to Lisa Hall (Sandia) for catching this.

25 Aug 2010

Enabled the compute group/group command to work with pair_style hybrid if all the pairwise interactions it is asked to calculate only involve a pair potential that supports it. Previously. if any of the hybrid sub-styles did not support calculation of pairwise interactions (e.g. a manybody potential), then compute group/group would throw an error.

24 Aug 2010

Changed the default Nose/Hoover chain setting for the fix nvt/sllod command to 1, instead of 3. This effectively turns off NH chains which seems to work better for most systems being driven in shear mode by the SLLOD model.

23 Aug 2010

Made some internal changes/upgrades to prepare for the release of the electronic force field (EFF) from Bill Goddard's group. Hopefully the full release will be next week.

This also made some minor changes to the NVT and NPT integrators for spherical and aspherical particles.

22 Aug 2010

Tzu-Ray Shan (U Florida) has added the Charge-Optimized Many-Body (COMB) potential to LAMMPS, as originally developed by his advisors, Profs Susan Sinnott and Simon Phillpot.

See the new pair_style comb command. It also performs charge equilibration, which is implemented by a new fix qeq/comb command. A potential file including all the currently available COMB parameterizations is included: for Si, Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals.

20 Aug 2010

Added a region delete command, in case you are creating/discarding large numbers of regions.

18 Aug 2010

Added a new fix ave/correlate command to compute time correlations of various values. Also added some vector functions to equal-style variables, like sum(), min(), max(), ave(), trap(). The latter is useful for performing a time-integration of the correlation datums via the trapezoidal rule.

For example, these commands can now be used to simplify computing a thermal conductivity from a flux calculated by compute heat/flux, using the Green-Kubo formalism.

BACKWARD COMPATIBILITY for compute reduce command: I removed this command's ability to "reduce" global vectors, since that functionality is now available in the new variable functions. This limits the use of compute reduce to operating on per-atom and local vectors, which is what it was really designed for.

Thanks to Benoit Leblanc, Dave Rigby, and Paul Saxe (Materials Design) for contributing to this, as well as Reese Jones (Sandia).

17 Aug 2010

Fixed a small glitch with the 12 Aug 2010 patch that can cause a crash at the end of a run if the thermo command setting is 0.

16 Aug 2010

Teodoro Laino sent a new Tersoff potential file for SiO.

13 Aug 2010

Slightly changed the syntax of the variables specified with the fix adapt and fix addforce energy commands, to be compatible with other similar LAMMPS commands, namely to prefix the variable with "name" with a "v_", so that it is specified in the input script as v_name.

BACKWARD COMPATIBILITY for fix adapt and fix addforce energy commands: This patch changes the command syntax for specifying a variable.

12 Aug 2010

Added a thermo_modify every command to allow the timesteps on which thermodynamic output is made to be controlled by an equal-style variable, similar to the 7 Aug 2010 patch for dump file output.

11 Aug 2010

Mike Parks (Sandia) has added a 2nd Peridynamics pairwise model to LAMMPS. Previously, there was a bond-based prototype microelastic brittle (PMB) model, see the pair_style peri/pmb command. Now there is also a state-based linear peridynamic (LPS) model. See the pair_style peri/lps command.

10 Aug 2010

Fixed a bug with using the replicate command on systems with aspherical particles; the shape settings were not copied to the new system correctly.

Thanks to Dave Heine (Corning) for sending a test script that hit this problem.

9 Aug 2010

Amended the 5Aug10 patch so that the angle option of the special_bonds command also checks if an angle interaction appears between the 1-3 or 2-4 atoms in a dihedral.

8 Aug 2010

Ahmed Ismail added a more conventional density units to the code, which is currently only used in fix ave/spatial output for its density/mass option.

BACKWARD COMPATIBILITY for fix ave/spatial command: This patch changes the units of the output for the density/mass option of this command. Previously they were mass/volume units. Now they are more conventional density units, as described on the units command doc page. E.g. for real or metal units this changes the output from units of gram/mole/Ang^3 to gram/cm^3.

7 Aug 2010

Added stagger() and logfreq() math function to variable formulas, as well as a dump_modify every variable option. This now allows the frequency of dump snapshots to be determined by a variable. The stagger() function generates timesteps on staggered intervals like 0,100,110,200,210,300,310,400,etc. The logfreq() function generates timesteps in a logarithmic fashion like 0,10,20,30,100,200,300,1000,2000,3000,10000,etc. Other generating math functions could be added to the variable class.

6 Aug 2010

Added a ramp() math function to variable formulas to make it easier to specify a linear ramping time-dependent quantity. This can be used, for example, with the fix adapt command.

5 Aug 2010

Will French added an angle option to the special_bonds command to allow 1-3 weighting factors to be excluded for atom pairs that do not appear in any defined angle.

4 Aug 2010

Added a compress option to the delete_atoms command, so that the renumbering of atom IDs can be suppressed, if desired.

3 Aug 2010

Fixed a memory leak that could occur when an energy or virial-dependent compute was invoked every timestep, e.g. through frequent thermo output.

Thanks to Jorge Lolailo for identifying this was an issue.

2 Aug 2010

Axel Kohlmeyer (Temple U) fixed some argument processing errors for the fix ave/histo commmand when using the built in vectors as arguments (e.g. x, vy, fz).

Thanks to Laurent Joly (U Lyon) for sending an input script with the problem.

1 Aug 2010

Fixed a sign error in the friction term of the DPD thermostat implemented by the pair_style dpd/tstat command.

Thanks to David Cheung (U Warwick) for catching this.

21 Jul 2010

Axel Kohlmeyer (U Temple) upgrade the dump dcd and dump xtc commands to allow for dumping atoms in triclinic (non-orthogonal) boxes.

20 Jul 2010

Trung Dac Nguyen (U Michigan) fixed a bug in the fix rigid/nve and fix rigid/nvt commands for non-LJ units and to better scale the rotational degrees of freedom.

17 Jul 2010

Fixed a subtle round-off issue in the create_atoms command that could occasionally cause an atom on a boundary between 2 processors to not be created by either processor.

Thanks to Philip Howell (Siemens) for sending an input script that triggered the problem.

16 Jul 2010

Craig Tenney (U Notre Dame) upgraded the fix viscosity and fix thermal/conductivity commands to allow for energy- and momentum-conserving swaps of atoms with different masses, which makes the reverse-NEMD methods more general.

15 Jul 2010

Fixed a bug with when the fix adapt was doing part of it's initialization.

Thanks to Lisa Hall (Sandia) for noting the issue.

13 Jul 2010

This patch posts a new PDF version of the LAMMPS documentation, up-to-date with all patches from the last major release in Jan 2010.

Also some tweaks to lo-level Makefiles for MPI settings.

4 Jul 2010

One-line bug fix for a typo in the z-component of the omega option in a variable equal command.

Aidan Thompson (Sandia) also added a new error check to the ReaxFF potential.

Thanks to David Cheung (Warwick, UK) for pointing this out.

3 Jul 2010

Fixed a bug with the pair_style eam/opt command which affected its use a sub-style in the pair_style hybrid command.

Thanks to Shuai Shao for sending an offending input script.

2 Jul 2010

Fixed a bug in the fix efield command which affected E-fields applied in the y or z dimensions with a specified variable.

Thanks to Jonathan Lee (Rice) for flagging the error.

1 Jul 2010

Enabled the bond_style hybrid and angle_style hybrid commands to work with bond_style table and angle_style table as valid sub-styles.

Thanks to William French for pointing out this deficiency.

30 Jun 2010

Aidan Thompson (Sandia) made some minor changes to the fix npt command to make it more accurate for Parinello-Rahman dyamics with a non-orthongoal box.

Added an option to the variable loop command to allow loop variables to be specified as running from N1 to N2 instead of just from 1 to N.

28 Jun 2010

Fixed an issue with the fix npt command with an unitialized target pressure when not all off-diagonal components of the pressure tensor are specified.

Thanks to Virginia Dupont (LANL) for finding this issue.

27 Jun 2010

Fixed a couple issues with the new fix adpat command to insure any compute commands its variables invoke are up-to-date and that the command itself is invoked on the correct timesteps.

Thanks to Christoph Kloss (JKU) for calling attention to this.

25 Jun 2010

The compute pair/local command was missing a factor of "r" in the pairwise forces it computed. This patch corrects it.

Thanks to Siva Shankar for noting this.

24 Jun 2010

Fixed an initialization bug in the fix aveforce command, created by the recent addition of the variable option.

23 Jun 2010

Extended the compute property/local command with natom1 and natom2 keywords which allow the full neighor list (not just within the force cutoff) to be generated and dumpeed, via the dump local command.

22 Jun 2010

Fixed a typo-bug with the latest enhancement to the fix wall/reflect command which could affect walls in the y and z dimensions.

Thanks to Matt Lane (Sandia) for finding the bug.

20 Jun 2010

Added a fix adapt command which allows certain simulation parameters to be changed over the course of a run. New ones can now be easily added. E.g. pair potential parameters can be time-varied, as can the atom attribute of diameter for granular particles. The former is now used with pair_style soft to vary the prefactor of the potential. The latter might be useful for modeling an explosion by embedding a few particles whose diameter rapidly increases in the center of a system.

BACKWARD COMPATIBILITY for pair_style soft command: This patch changes the syntax of the pair_coeff command for pair_style soft by removing Astart and Astop and just replacing it with A. A can now be time-varied using the fix adapt command in a more general fashion.

19 Jun 2010

Removed the restriction in the pair_style hybrid/overlay command that coefficients for a particular sub-style cannot be overwritten. See the pair_style hybrid/overlay doc page for details.

18 Jun 2010

Fixed a one-line bug in the fix heat command for processing the new region option.

17 Jun 2010

Lawrence Fried (LLNL) and Evan Reed (LLNL, Stanford) have added a new fix msst command which implements the the Multiscale Shock Technique (MSST). This method represents the shock compression of a bulk material as a shockwave passes through it and is part of a new "shock" package added to LAMMPS.

Thanks to Aidan Thompson (Sandia) for facilitating this addition.

16 Jun 2010

Enhanced the bond_style table command to allow for a tabulated bond file with bond lengths ranging from a LO value to a HI value, instead of being required to start at 0.0. If the bond lenght falls outside of LO to HI, then its energy and force is evaluated as if it were of length LO or HI.

Thanks to Teo Laino for sending some snippets of code for this.

15 Jun 2010

Fixed a bug with restarting simulations with triclinic boxes when the restart file was written from a simulation that didn't remap atoms to a changing box shape, e.g. using the fix deform remap v command. The symptom was that atoms were sometimes lost by the read_restart command.

Thanks to Flint Pierce (Sandia) for calling attention to this.

14 Jun 2010

Fix a one-line bug in the new version of the fix store/state command. A class variable was re-declared, causing the com option not to work.

Thanks to Christian Muller for flagging this.

13 Jun 2010

Greg Wagner (Sandia) sent 2 upgrades to the pair_style meam command for the MEAM library it invokes.

The first protects against a division-by-zero that can occur in the pair potential for large atom separations.

The second fixes a small discrepancy between MEAM calculations in LAMMPS and DYNAMO. The problem was affecting the case where the B1 reference crystal structure is combined with the second-nearest neighbor version of MEAM. Energies and forces computed with DYNAMO were off by a little bit.

12 Jun 2010

One-line bug fix for the fix heat command when not using a region.

Thanks to Axel Kohlmeyer (Temple U) for finding this.

11 Jun 2010

Changed an internal setting in the kspace_style pppm and kspace_style pppm/tip4p commands to allow for larger 3d FFTs, now up to 16384 in any dimension.

5 Jun 2010

Deprecated the fix store/coord command and replaced it with a more general fix store/state command. The new command allows any per-atom property to be stored at a particular time, for future use of the old value in a calculation or output.

BACKWARD COMPATIBILITY for fix store/coord command: This patch removes this command and replaces it with the fix store/state command which has a different and more general syntax.

3 Jun 2010

Fixed an error with the tail correction factor invoked by pair_modify tail yes for the pair_style lj96/cut potential.

Also fixed a length scaling issue with pair_style granular when running with no initial particles in SI units.

Thanks to Laurent Joly (U Lyon) and Diego Peinado (Intrame AS) for flagging the 2 issues.

2 Jun 2010

Fixed a small bookkeeping bug in the fix evaporate command for molecule deletion.

Thanks to Gary Grest (Sandia) for seeing this.

1 Jun 2010

Added the initial timestep to the restart file information saved by the fix move command. This is to make it easier to do a continuous simulation, reading a restart file, while using this command.

BACKWARD COMPATIBILITY for fix move command: This patch changes the format of the restart file when the fix move command is used. Thus after installing this patch, you cannot read an older restart file written by an input script that used the fix move command.

31 May 2010

Enhanced the capability of the fix wall/reflect command, to allow walls to be positioned at coordinates other than the simulation box boundaries. Also, an equal-style variable can now be used to specify the wall position, so that it can be time-varying.

BACKWARD COMPATIBILITY for fix wall/reflect command: The old syntax will no longer work. The new syntax requires a coordinate be specified for each face (xlo, yhi, etc) where a wall is to be applied.

30 May 2010

Added inertia and angular velocity (omega) functions to the variable command, to enable the angular momentum of a group or region of atoms to be calcluated.

29 May 2010

Enhanced the fix ave/time and fix ave/histo commands to allow arrays, calculated by a compute or fix, as input values. This is essentially a short-cut notation, instead of needing to list the individual columns of the array as vector inputs.

Thanks to Jeff Greathouse (Sandia) for the suggestion for this capability.

27 May 2010

Fixed a bug with the write_restart command where it wasn't re-creating an atom map, needed for things like the fix shake command.

Thanks to Axel Kohlmeyer (Temple U) for sending a script that triggered the problem.

26 May 2010

Added a random option to the create_atoms command, to enable a large number of atoms to be generated at random coordinates. After subsequent energy minimization, this is a means to generate an amorphous system.

25 May 2010

Added fmax and fnorm keywords to the thermo_style custom command for easier monitoring of the progress of an energy minimization.

24 May 2010

Axel Kohlmeyer (Temple U) updated his fix imd command for interactive MD control.

23 May 2010

Added tpcpu and spcpu keywords to the "thermo_style custom" command to allow you to track the rate at which your simulation is running. Tpcpu is simulation time per CPU second, e.g. picoseconds per CPU second. Spcpu is timesteps per CPU second.

Thanks to Axel Kohlmeyer (Temple U) for sending some code for this.

22 May 2010

Enhanced the processors command to allow wildcard entries for the number of processors in different dimensions, which allows LAMMPS to choose the processor layout with constraints.

Thanks to Axel Kohlmeyer (Temple U) for sending some code for this.

21 May 2010

Fixed a bug in the fix move rotate command with how a projection vector was calculated.

Thanks to Christoph Kloss (JKU) for noting this.

20 May 2010

Changed some of the lo-level Makefiles to use g++ (v4) and to clarify which use the Intel Fortran compiler and which use the GNU gfortran compiler. So that its easier to build for Linux platforms with either GNU compiler or the Intel compilers installed.

Thanks to Kevin Gilbert (Argonne) for suggesting this.

19 May 2010

Added an angular momentum function to the variable command, to enable the angular momentum of a group or region of atoms to be calcluated.

18 May 2010

Dump files that don't write a snapshot on the first timestep of a run were not registering when they needed certain computes invoked to do their output. This patch fixes it.

Thanks to Olivier Politano for posting a test script for this.

15 May 2010

The 10May2010 patch made a change to the dihedral charmm command to try and fix an issue with using rRESPA and SHAKE together. However it broke the contribution it makes to the pressure when used with standard non-rRESPA Verlet! This patch reverts to the correct calculation, but means some work still needs to be done on rRESPA pressure with this dihedral style.

14 May 2010

One-line change to the compute temp/partial command to make it work correctly with constraints like fix shake to compute the remaining total degrees of freedom in the system as part of the temperature calculation.

Thanks to Brian Novak (LSU) for flagging this problem.

13 May 2010

Fix a problem in the fix addforce command, with the wrong variable being initialized.

Thanks to Brian Giera (UCSB) for noting this issue.

12 May 2010

Aidan Thompson (Sandia) added an examples directory and script that computes elastic constants, as well as a section in the howto doc page.

11 May 2010

Added a string style variable so that it can be changed multiple times in an input script.

10 May 2010

Some debug code was left in the fix shake command, which affected running SHAKE + rRESPA. This patch removes it.

Thanks to Alfredo Freites for finding this issue.

8 May 2010

At the suggestion of Pieter in 't Veld (BASF), the pairwise energy computed by the conservative term in the pair dpd potential is now shifted to be 0.0 at the cutoff. This gives more sensible values for system energy. Energy calculation is just a bookkeeping operation, so this does not affect dynamics.

7 May 2010

Enhanced the fix evaporate command to allow entire molecules to be deleted via the "evaporation" mechanism.

6 May 2010

Added a DPD thermostat which operates by applying forces similar to those of the fix langevin command, except on a pairwise basis. Thus the thermostat is implemented as a pair_style dpd/stat. It can be used as a thermostat in conjunction with any other pair style, by using it as part of the pair_style hybrid/overlay command.

1 May 2010

Tony Sheh and Trung Dac Nguyen (U Michigan) have enhanced the integration of rigid bodies with two new fixes: fix rigid/nve and fix rigid/nvt.

The original fix rigid command did NVE time integration via Richardson iterations. The new fix rigid/nve uses methods that are thought to provide better energy conservation. The new fix rigid/nvt uses a Nose/Hoover thermostat with chains which thermostats both translational and rotational degrees of freedom.

A NPT integrator for rigid bodies, fix rigid/npt is in the works.

30 Apr 2010

Fixed a typo bug in the velocity ramp command for the z-direction.

Thanks to Fabio Pavia (Brown U) for finding the bug.

29 Apr 2010

Fixed a bug in the compute reduce command for x,v,f inputs where a needed variable was not set.

Thanks to Patrick Varilly for pointing this out.

28 Apr 2010

Added a test to pair_style colloid to detect overlapped particles which can causes odd behavior since the potential energy goes to inifinity at the surface contact of two colloidal particles.

27 Apr 2010

Fixed a bug with minimization when used with long-range Coulombics (PPPM,Ewald) and the fix box/relax command to adjust the box size. The kspace params were not being reinitialized correctly when the box size changed, leading to inconsistent energies.

Aidan also enhanced the quadratic line search algorithm.

Thanks to Harold Hatch (Princeton U) for sending a test input that showed the problem.

26 Apr 2010

Added new math operators to the equal-style and atom-style variable formulas, for the 6 C-style relational operators (x==y, x!=y, xy, x>=y) and 2 logical operators (x&&y, x||y). These return a 1.0 or 0.0 depending on whether the relation between x and y is true or false. This can be used to mask or select atom values, e.g. to count the number of atoms meeting one or more criteria.

Thanks to Alexey Kuksin for suggesting this feature and sending some sample code.

25 Apr 2010

Added the option to use variables for force components in the fix addforce, fix aveforce, and fix setforce commands. This allows time-dependent and spatially-dependent force fields to be imposed. All of these commands can now be applied to groups and geometric regions.

24 Apr 2010

Some necessary header code for compiling was inadvertently left out of the "compute centro/atom command. This patch adds it.

Thanks to Alexey Kuksin for noticing this.

23 Apr 2010

Added the option to use variables as E-field components in the fix efield command. This allows time-dependent and spatially-dependent fields to be imposed.

Thanks to Arko Roy and Craig Tenney (UND) for the suggestion.

22 Apr 2010

Added a region option to the fix heat command.

Thanks to Xiaoliang Zhang for the suggestion.

18 Apr 2010

Fixed an input script parsing bug in the pair_style hybrid command in conjunction with pair_style lj/coul or pair_style buck/coul.

Thanks to Evangeline Capiez-Lernout for running into this problem.

17 Apr 2010

Fixed a bug in pair_style eam/opt where it wasn't setup correctly when invoked as a sub-style for pair_style hybrid.

Thanks to Nicola Varini for identifying there was a problem.

16 Apr 2010

Axel Kohlmeyer (Temple U) has updated the LAMMPS doc pages that describe support in VMD for reading and visualizing LAMMPS dump files.

15 Apr 2010

Fixed a bug with the dump xyz all command which occurred when atoms are being both created and destroyed by a simulation model. It had to do with the dump command verifying that atom IDs were consecutive so atoms could be output in sorted order.

Thanks to Pablo Valentini for sending a test script that triggered the problem.

14 Apr 2010

Michel Perez (U Lyon, France) sent an upgrade to the compute centro/atom command that allows it be used for non-fcc lattices, e.g. bcc lattices.

BACKWARD COMPATIBILITY for compute centro/atom command: This compute now takes an additional parameter (fcc or bcc or N) which specifies the kind of underlying lattice symmetry (nearest-neighbor count) used in the calculation.

13 Apr 2010

Small change to the dump xtc command to insure compatibility with the Cray XT5.

Thanks to Axel Kohlmeyer (U Temple) for the change.

12 Apr 2010

A user updated the matlab tools for reading dump files to respect the new dump format with column info on the "ITEM: ATOMS" line in each snapshot.

7 Apr 2010

Aidan Thompson (Sandia) has done some very useful and careful work to reformulate and enhance the Nose/Hoover NVT,NPH,NPT integrators. They now work with orthogonal or triclinic boxes (Parinello-Rahman NPT), with an arbitrary number of Nose/Hoover chains applied to either the thermostat or barostat, and with various other options, all of which are detailed in the doc page for the fix nvt, fix nph, fix npt commands. The same options apply to related time-integration fixes for spherical and aspherical particles, like fix nvt/sphere and fix npt/asphere. We have also added fix nph/sphere and fix nph/asphere commands.

Similarly, the fix box/relax command, used with energy minimization, has been extended to allow a full 6-component external pressure tensor to be applied to triclinic simulation boxes.

We have also removed the restriction that the fix deform command requires both dimensions of the system to be periodic when applying a shear deformation. The 2nd dimension is still required to be periodic. For example, an xy shear deformation can be applied to a box which is periodic in y, but the box no longer needs to be periodic in x.

BACKWARD COMPATIBILITY for fix nvt, fix nph, fix npt, fix nvt/sllod commands and their spherical and aspherical counterparts, and for the fix box/relax and fix press/berendsen commands:

Anything that was possible with the old commands is possible with the new, more general, commands. However the syntax for the old commands is not allowed in the new commands. Specifically, the temperature control options must now be specified with the temp keyword. And the xyz option for pressure control is now the iso keyword to distinguish it from the couple xyz option. Also, various defaults have changed so you will not reproduce the same dynamics for NVT, NPH, NPT ensembles unless you set options in the new version of the commands to values equivalent to the old defaults. For example, the default number of Nose/Hoover chains for thermostatting is now 3, which wasn't even an option before. Also, all these commands now write a richer set of information to restart files to support all the options, so you cannot read an old restart file using the new version of these commands.

The syntax for the fix box/relax command was changed to be compatible with the fix npt command, including the enhancements to allow specification of all 6 elements of an externally applied pressure tensor. The syntax for the fix press/berendsen command was changed to be compatible with the new fix npt command, even though the Berendsen barostat still only allows for control of box size and not box shape, i.e. the diagonal components of the pressure tensor.

30 Mar 2010

One more change to the fix pour command. The vertical velocity assigned to inserted particles was not quite right as a function of gravity and their vertical position in the insertion volume, if an additional vertical component of velocity was specified.

Thanks to Christoph Kloss (Johannes Kepler U) for the correction.

29 Mar 2010

A new, more flexible compute heat/flux command is added via this patch. The new methodology relies on existing per-atom kinetic energy, potential energy, and stress computes, to calculate the heat flux, without the need for re-looping over pairwise interactions, and is thus cheaper to calculate. It also now includes all the interaction terms included in the potential energy and stress calculations, whereas before it only included pairwise interactions. It thus includes all contributions to the heat flux except that of long-range Coulombics.

Many thanks to German Samolyuk (ORNL) and Mario Pinto (Computational Research Lab, Pune, India) for deriving and clarifying the formulas that led to this implementation. Several others also contributed to the mailing list discussions that resulted in this simpler reformulation.

27 Mar 2010

The fix pour command did not work correctly with non-LJ unit systems where the gravity magnitude is not 1.0. E.g. CGS and SI units. This patch fixes it.

Thanks to Christoph Kloss (Johannes Kepler U) for pointing this out.

26 Mar 2010

Fixed a one-line bug affecting a fix being replaced with a new fix with the same ID. Caused issues if other fixes were defined that migrated data with atoms moving thru periodic boundaries.

Thanks to Lisa Hall (Sandia) for sending an input script that highlighted the problem.

25 Mar 2010

Fixed a subtle bug with how the fix npt command works with the rRESPA integrator, as invoked by the run_style respa command. It had to do with how the 2 box volume updates per timestep were staged, relative to the rRESPA hierarchy of timestepping.

Thanks to William French for sending a simple input script that illustrated the problem.

24 Mar 2010

Fixed a bug with the fix wall/gran command. When oscillating the wall in a tangential direction, it set the velocity of the wall correctly, but also moved the position of the wall.

Thanks to Laurent Joly (U Lyon) for catching this.

23 Mar 2010

Made a small change to how the fix ttm command does memory allocation for restart files, to be compatible with all compilers.

22 Mar 2010

Fix a memory leak in the GPU library, in some code used for testing purposes.

18 Mar 2010

Fix a bug with the fix print command where the first time it is invoked with a variable that requires a potential energy or virial computation, the calculation may not be current.

Thanks to Laurent Joly (U Lyon) for flagging the problem.

10 Mar 2010

Christoph Kloss (Johannes Kepler U) found a bug in the logic by which certain fixes clean up after themselves when they are deleted in the middle of an input script via the unfix command. This patch fixes the problem.

8 Mar 2010

One character bug in the new fix indent command (5Mar10 patch), with respect to using a variable for the radius of the indenter.

7 Mar 2010

Mike Brown (Sandia) made some upgrades to the CUDA GPU library and associated pair potentials that have been CUDA-ized.

5 Mar 2010

Enhanced the fix indent command to allow variables to be used to define the indenter geometry. This allows the indenter position and size to vary in a time-dependent manner, based on a formula defined in an equal-style variable formula. This upgrade deprecates the vel and rstart keywords, since those options (and much more general ones) can now be specified in a variable.

We also changed the action of the units lattice keyword so that it does NOT scale the force constant K by the x lattice constant. Nor does it scale an indenter geometry parameter if it is defined by a variable instead of a number.

BACKWARD COMPATIBILITY for fix indent command: Anything that was possible with the old command is possible with the new, more general, command. The vel and rstart options have been removed. And the indenter force constant K is no longer scaled by lattice units, if the units lattice option is used (the default). You can scale K yourself, if desired, by defining K via a variable whose formula contains lattice spacing keywords.

4 Mar 2010

Changed the bond counting quantities output by the fix bond/create and fix bond/break commands to be "intensive" rather than "extensive", which means they are not normalize by thermodynamic output.

BACKWARD COMPATIBILITY for fix bond/create and fix bond/break commands: The operation of these fixes has not changed, but output from a script printing results of these fixes will change, if thermo_modify norm is set to yes.

3 Mar 2010

Added a "dump_modify first" command to allow user control over whether a dump snapshot is written on the initial timestep after a dump command is invoked in an input script. This always occurs if the current timestep is a multiple of the dump frequency, including step 0. But if the current timestep is not a multiple of N, this option controls whether an initial dump snapshot is written. The default for this setting is "no". Previously, the snapshot was always written, which is the same as a setting of "yes".

BACKWARD COMPATIBILITY for dump command: A dump file will now not contain an initial snapshot if the current timestep when the dump command is invoked is not a multiple of the dump frequency N, unless you set dump_modify first yes.

2 Mar 2010

Changed the documentation regarding "intensive" versus "extensive" quantities as stored by fixes and computes, to make it more clear.

20 Feb 2010

Aidan Thompson (Sandia) has provided some additional examples of ffield.reax parameter files in the potentials dir.

Also added a file with a version string, e.g. 20 Feb 2010, to the src dir that will be updated every time there is a patch. When you re-build the code, LAMMPS output will be labeled with that date. When you unpack the tarball downloaded from the LAMMPS WWW site, a LAMMPS directory with the same date is created.

The hope is that this will make it more transparent to users what version they are running.

15 Feb 2010

Paul Crozier and Mike Brown (Sandia) and others working with them on GPU enhancements for LAMMPS, have a "version 2" ready to release with this patch. These are the improvements:

8 Feb 2010

Fixed some end-of-run clean-up issues with parallel replica dynamics when using the prd command.

Thanks to John Chu (U Toronto) and Mike Brown (Sandia) for identifying the problem.

3 Feb 2010

The recently changed shell scripts use "==" in several places when they should use "=" for the test command. Bash doesn't care, but the Bourne shell does. This patch fixes it.

Thanks to James Palko for pointing out the problem.

2 Feb 2010

Bug fix for a memory issue when using the atom_style hybrid command for bonded systems with the new atom_modify sort option (which is on by default).

Thanks to Pieter in 't Veld (BASF) for identifying there was a problem and providing an input script that broke it.

1 Feb 2010

Bug fix to the compute reduce command for processing global input vectors (as opposed to per-atom or local vectors). The logic for combining results across processors was wrong for the "sum" and "ave" modes.

Thanks to Lisa Hall (Sandia) for calling attention to this and providing a test script.

30 Jan 2010

The previous patch needed a small change in one of the shell scripts to enable building LAMMPS from a clean distribution without an error.

Thanks to Teodoro Laino for noting this and for the idea to use a function in the Make.sh script to create style files, thus simplifying its format.

29 Jan 2010

Changed the make file scripts for building LAMMPS to use "sh" instead of "csh". The Bourne shell (sh) or Bourne-again shell (bash) should be more universal on any Linux system. Ubuntu does not install csh by default, so that was causing some problems.

24 Jan 2010

Yet another small glitch with the changes to the if command. This one wasn't processing an if-then command (without the else) when the if condition wasn't met.

23 Jan 2010

Typo bug possibly affecting the region rotate command.

Also, the previous patch was missing one piece of logic for the if command upgrade. This patch adds it.

Thanks to Cameron Smith (RPI) for noting the typo.

20 Jan 2010

Enhanced the if and run every and print commands. The if and run every commands can now take multiple commands as arguments, instead of a single command. The print command now can have multiple arguments, which are concatenated into one string, so that the entire command can be enclosed in quotes as a single-command argument to the if and run every commands.

Thanks to Craig Tenney (U Notre Dame) for the if command suggestion, which motivated the other changes as well.

19 Jan 2010

The new release simplified the way that packages are included/excluded in a LAMMPS build. But it broke the mechanism for the MOLECULE package due to it needing to maintain some header files as part of the build even when the package is excluded. This patch fixes the problem.

18 Jan 2010

Fix a memory issue in the fix ave/time command in its scalar mode, with an uninitialized pointer.

Thanks to Pan Xiao (Institute of Mechanics, Chiese Academy of Sciences) for pointing this out.

17 Jan 2010

One line bug fix for the compute property/molecule command when molecules numbers are consecutively ordered.

Thanks to Craig Tenney (U Notre Dame) for finding the issue.

13 Jan 2010

Added an atom_modify sort option which will become the default setting for LAMMPS. This will perform a spatial sorting of atoms every so many timestep within each processor's sub-domain. For some problems this improves cache performance for pairwise computations and neighbor list construction and thus speeds up a simulation; for some problems it doesn't do much.

This will be part of the next major release, probably in the next week or so.

12 Jan 2010

Getting rid of the need for users to edit style*.h files when they add a new feature/class to LAMMPS. The macro that defines the input script's hook to the class is now embedded at the top of each *.h itself, rather than being listed separately in a style*.h file. Pieter in 't Veld (BASF) taught me this trick.

Since this is a minor change to nearly every *.h file in LAMMPS, it will be part of the next major release, probably in the next week or so.

11 Jan 2010

Allow regions, as specified by the region command, to be dynamic, in that they can move with a constant velocity, oscillate, or rotate. This is useful when they the region surface is used as a bounding wall with the new fix wall/region command.

See this howto for further info on various ways that walls can be specified in LAMMPS.

This patch also includes a couple new files that were left out of the 8Jan2010 patch.

8 Jan 2010

Added a fix wall/region command, so that regions can be used as bounding walls. Since regions can be unions and intersections of more primitive geometric shapes, this allows for some interesting container geometries. However, there are some caveats; see the doc page for details.

Also added a region plane command, and a "harmonic" option to both the fix wall/harmonic and fix wall/region commans, so the wall can be modeled as a repulsive spring.

4 Jan 2010

Fixed small bugs in the fix thermal/conductivity and fix ave/histo commands where a variable was used before it was set. This could trigger the fixes to think their info was not current on the correct timesteps when it really was.

Thanks to Craig Tenney for identifying these bugs.