30 Dec 2009

The compute msd and compute displace/atom commands were not fully updates with respect to the 24Dec09 patch. This patch fixes that.


26 Dec 2009

Added a replace option to the compute reduce and compute reduce/region commands. This allows min and max operations to calculate resuts for one input based on the winning result from another value. E.g. to identify the bond indices of the bond with maximum extent.

This patch also includes the compute property/molecule files accidentally left out of 23Dec09 patch.


24 Dec 2009

Added a fix store/force command so that forces can be stored before constraints are applied and output in that form. Renamed the fix coord/original command to fix store/coord to be more compatible with the new command.


23 Dec 2009

Added a compute pair/local command, as well as patom1 and patom2 options to the compute property/local command. This allows pairwise information (e.g. distances, energies, forces) to be written out via the dump local command or histogrammed via the fix ave/histo command, or reduced via the compute reduce command.

Also added a title option to the fix print command. And a compute property/molecule command to use with the related commands of the 22Dec09 patch.


22 Dec 2009

Added first per-molecule computes, namely:


21 Dec 2009

Added compute dihedral/local and compute improper/local commands. They can be used with the compute property/local, dump local, fix ave/histo, and compute reduce commands, to process and output dihedral and improper information.


20 Dec 2009

Added compute bond/local and compute angle/local commands. They can be used with the compute property/local, dump local, fix ave/histo, and compute reduce commands, to process and output bond and angle information.


19 Dec 2009

Added a compute property/local command that converts bond, angle, etc topology information to a local vector so that it can be accessed by other diagnostic and output commmands. E.g. fix ave/histo and compute reduce.

Also added a dump local command, so these local values can be output in snapshot format to a dump file. This deprecates the dump bond command, since dump local can output what it did and more.


18 Dec 2009

Added a compute rdf command to compute radial distribution functions similar to the way the fix rdf command did. The bonus with the new compute is that it produces the histogrammed g(r) as output, so the values can be used as input to all the other LAMMPS output commands.

Now that compute msd, compute com, compute gyration, and compute rdf exist, it is time to deprecate the fix msd, fix com, fix gyration, and fix rdf commands. In retrospect, they shouldn't really have been fixes in the first place. They should have been computes, so they can be used in a more flexible manner.


17 Dec 2009

Added a compute property/atom command that converts any atom attribute (x,v,f,q,mass,omega,etc) to a per-atom vector so that it can be accessed by other diagnostic and output commmands. E.g. fix ave/atom, fix ave/spatial, fix ave/histo, variables. This basically gives your input script access to all per-atom quantities LAMMPS stores.

Removed the xu,yu,zu keywords from the fix ave/atom command, since those properties (and more) can now be accessed through the new compute.


16 Dec 2009

Added a fix ave/histo command that performs histogramming of any quantity output by a compute, fix, or variable. Histograms can be accumulated over time as well.

Thanks to Aidan Thompson (Sandia) for suggesting this idea.


15 Dec 2009

Enhanced the fix ave/time command to allow for vector inputs, so that it can time average and output entire vectors or arrays of data. Also added options mode, off, title1, title2, and title3. The latter ones give more control over the format of the output file.


14 Dec 2009

Added a scaling to the tolerance check for rigid body principal axes validity in the fix rigid command. So the error about Bad Moments should not appear spuriously. Also fixed a typo bug in a rarely used logical check.

Thanks to Matt Lane (Sandia) for helping understand the tolerance issue.


13 Dec 2009

Removed the empty bracket notation, e.g. vx[], from atom-style variables. It's not needed and is inconsistent with the way vectors of data are referenenced by other commmands. See the compute and fix and this howto for newly-written details of the way data is passed between LAMMPS commands for processing and output.


8 Dec 2009

Lots of small internal bookkeeping changes to allow computes and fixes to produce arrays of global and local data, to be consumed by other fixes: e.g. fix ave/time, fix ave/spatial, fix ave/atom.

This is in preparation for a new fix ave/histo that will do histogramming and some new computes that will use it.


7 Dec 2009

Added a compute com and a compute gyration command, for similar motivations with the compute msd command of the 6Dec09 patch.

The fix com and fix gyration commands will soon be deprecated.


6 Dec 2009

Changed the syntax of the compute displace/atom command to not require a fix coord/original ID as input. Instead the compute now creates its own fix.

Also added a compute msd with the same functionality as the fix msd command. Except that because it is a compute, its output can now be accessed by a variety of other LAMMPS options. E.g. for time averaging, thermodynamic output, or use in a variable. See this section of the manual for a summary of various LAMMPS output options.

This is the first step in converting several fixes that really just do one-time computations to computes. When that is done, commands like fix msd will be deprecated.


5 Dec 2009

Added the keyword "dt" to the thermo_style custom command. This is useful for writing formulas for variables that are a function of time.


4 Dec 2009

A bug fix to the compute heat/flux command snuck into the 3Dec09 patch. Previously, the calculation was using middle-of-timestep velocities for ghost atoms, instead of end-of-timestep values, which changes the computed heat flux value slightly.

Thanks to Mario Pinto for calling attention to this.


3 Dec 2009

Added a new fix move command to move a group of atoms in a prescribed fashion, setting their position and velocity each time step. The atoms can be made to move with constant velocity, oscillate, rotate, or move according to a time or spatially-dependent variable.

This new command deprecates the "fix wiggle" command, since the new command can do what it did, and more.


28 Nov 2009

Fixed a typo in the various fix wall commands, introduced by the 19Nov09 patch, which caused a bogus error check for walls in the z dimension.

Thanks to Brian Giera for running into this.


27 Nov 2009

Fixed a bug in the compute stress/atom command where it adds the virial contribution from fixes to the per-atom virial, such as the fix shake command. A logic error was causing it to only add the contribution from the first fix and not all of them.

Thanks to Marco Kalweit (Cranfield, UK) for sending a bug report on this.


26 Nov 2009

Updated the restart2data tool to check for the pair_style tersoff/zbl.

Thanks to Lisa Lan for noting this problem.


21 Nov 2009

Bring the python tool files imported from Pizza.py up-to-date, so that the dump tool will write out write self-describing LAMMPS dump files, with atom column info. E.g. the dumpsort.py script will sort each snapshot by atom ID.

Thanks to Kelly Anderson (P&G) for pointing out this deficiency.


20 Nov 2009

Fixed a small memory clean-up issue with the prd command when it exits.

Thanks to Michael Rieger (Fritz Haber Institute, Germany) for calling attention to this.


19 Nov 2009

Reformulated the fix wall/lj93, fix wall/lj126, and fix wall/colloid commands to be self-consistent. Each command can now be used to specify up to 6 flat walls, be used with lattice or box units, and have a velocity or oscillatory motion applied to the walls.


18 Nov 2009

Bohumir Jelinek (Mississippi State Univ) found a bug with using the compute temp/profile command as a temperature bias, e.g. with the fix nvt command, when running in parallel. This patch fixes it.


17 Nov 2009

Mike Brown (Sandia) sent some upgrades to his GPU pair styles and library. A couple of memory leaks are fixed as well.

Axel Kohlmeyer (Temple Univ) added a nowait option to his fix imd command, so that LAMMPS can continue to run even if the VMD visualization package is not running.


16 Nov 2009

Fixed a typo in the atom_style angle command, that was introduced up by the 12Nov09 patch. Surely this is the last bug on this!


14 Nov 2009

Forgot a couple of initializations in atom_style hybrid in the 12 Nov 2009 patch. Sigh.


13 Nov 2009

Fixed a logic bug in yesterday's patch.


12 Nov 2009

Generalized the way ghost atoms store velocity info (translational velocity, angular velocity, angular momentum), which is needed by some pair styles in order to computer pairwise interactions.

Before, this was a property of specific atom_styles. Now, the communicate vel command is used to turn on this option, which means any atom_style can be used in this way.

This change eliminates the need for a atom_style dpd command, so it and the associated DPD package have been removed. The pair_style dpd command is now in main LAMMPS, and not in a package.


11 Nov 2009

Added some colloid particle options, where colloids are finite-size spherical particles, typically modeled in some kind of background solvent. The three new options are:

Thanks to Randy Schunk and Jeremy Lechman (Sandia) for working on these new options.


10 Nov 2009

Paul Crozier (Sandia) has added a DSMC pair style, which allows formulation of a Direct Simulation Monte Carlo (DSMC) model for low-density fluid flow. This is an initial vanilla implementation of DSMC; various enhanced models and boundary conditions can be added as time and interest permit.


9 Nov 2009

Axel Kohlmeyer (Temple Univ) created a USER-IMD package which leverages the work of the VMD and NAMD folks at U Illinois to allow a code like LAMMPS to connect in real-time to the VMD visualization package. This allows you to view real-time visualization of a running LAMMPS simulation as well as interact with the model, e.g. by dragging an atom with the mouse. See the doc page for the fix imd command for details.


7 Nov 2009

Alexander Stukowski (Technical University of Darmstadt, Germany) sent an extension to the embedded atom method (EAM) pair style known as concentration-dependent EAM (CD-EAM) for more accurate alloy modeling.

This patch installs it as a user package, which can be accessed via the new pair_style eam/cd command.


6 Nov 2009

Fixed a problem in the src/Make.csh script that is used to generate the Makefile.lib (and Makefile.list) for building LAMMPS as a library. This only seemed to affect the use of the tool on Macs, and is really due to a bug in the sed commmand on Macs not accepting the tab character. With this change, the script now works on a Mac as well.

Thanks to Patrick Varilly (UC Berkeley) and Jon Zimmerman (Sandia) for sending me fixes for this.


5 Nov 2009

Axel Kohlmeyer (Temple Univ) sent some small changes for his CMM coarse-grain model, in the USER-CG-CMM package.


4 Nov 2009

Fixed a bug in the pair_style dpd command when using non-LJ units. The derived sigma parameter was missing a Boltzmann constant.

Thanks to Dave Heine (Corning) for finding this bug.


3 Nov 2009

Fixed a bug with neighbor lists in pair_style hybrid command, when the I,I and J,J pair interactions are with one pair style, but I,J interactions are with another.


2 Nov 2009

Fixed a bug with the hybrid bond,angle,dihedral,improper styles and there use of the "none" option as part of the coefficient command, to turn off certain bond,angle,dihedral,improper types.

Thanks to Ting for identifying what the problem was.


1 Nov 2009

Fixed a one-line bug in the fix rigid command that sometimes messed up the processing of the "force" keyword.

Thanks to Chen Chen (Wuhan University) for finding this typo.


31 Oct 2009

Mike Brown (Sandia) implemented the parallel replica dynamics (PRD) method of Art Voter to allow accelerated dynamics to be performed for appropriate systems. Typically this is solid-state systems undergoing infrequent transition events.

PRD is invoked in LAMMPS via the new prd and compute event/displace commands. There is a also a new example directory lammps/examples/prd with a sample input script for vacancy diffusion in bulk Si.


30 Oct 2009

Axel Kohlmeyer (Temple Univ) and Paul Crozier (Sandia) modified the way lookup tables are used for efficient long-range Coulombic calculation as part of the pair_modify table command. Before, we were doing this in a non-standard way that sometimes caused problems with certain compilers at high levels of optimization. The new way should be ANSI-standard and no longer cause these problems.


29 Oct 2009

One more set of changes to the LAMMPS makefiles, in an attempt to maket them as clear and easy to edit as possible, when a user needs to create a low-level src/MAKE/Makefile.foo for a new platform. There are now sections for specifying settings for MPI, FFT, and package libraries needed by LAMMPS. The doc pages explains the format of the file.

Since I can't test all the Makefiles, please send edits if something doesn't work on a particular platform.

I also took this opportunity to delete some old Makefiles that I assumed no one uses anymore. If this is not the case, then complain.


25 Oct 2009

Paul Crozier (Sandia) created and posted a pre-built LAMMPS executable for Windows platforms on the download site. This does not include an MPI or FFT library, so it can only be run on a single processor. Nor does it include all LAMMPS packages; see the download page for details. It also only includes bug-fixes/upgrades listed on this page up to a certain date. Our plan is to periodically update the Windows executable to be close to the latest LAMMPS tarball. If you want something more current, or with more packages, you'll have to download the source tarball and build it yourself.


14 Oct 2009

Fixed a small bug in the fix aveforce and fix addforce commands with incorrectly parsing the optional keywords.

Thanks to Craig Tenney (U Notre Dame) for calling attention to this.


13 Oct 2009

Mike Brown (Sandia) has fixed a bug in the CUDA implementation of pair_style gayberne/gpu, resulting in insufficient memory allocation to hold the maximum number of aspherical particles.

Thanks to Davide Vanzo for reporting the problem.


12 Oct 2009

Mike Brown (Sandia) has some minor changes to his PyMol-based apspherical particle visualization tool, so that it compiles under gcc 4.0.


29 Sept 2009

Todd Plantenga (Sandia) has added a Hessian-free truncated Newton (hftn) minimization style to LAMMPS. It should converge quadratically when near the minimum (like a Newton method) and has the potential to achieve a higher accuracy than the conjugate gradient or steepest descent methods.


28 Sept 2009

Changed (yet again) the lo-level Makefiles in src/MAKE to allow the plethora of optional LAMMPS packages and their library dependencies to be managed more easily. And the platform-specific settings in those Makefiles to be more easily understood. See this section of the doc pages for gory details.


24 Sept 2009

Reese Jones, Jon Zimmerman, and Jeremy Templeton (Sandia) have worked a long time on creating a capability to couple continuum finite elements (FE) to atomistic calculations. This is the initial release of their user-atc package which is invoked through a new fix_atc command.


22 Sept 2009

Fixed a round-off bug when using triclinic simulation boxes with the displace_box or fix deform commands that could cause an atom near a periodic boundary to get remapped incorrectly on rare occasions.

Thanks to Sai Jayaraman (Sandia) for sending a test script with this problem.


16 Sept 2009

Greg Wagner (Sandia) made a small change to the MEAM library that fixes a small bug caused by round-off error that is occasionally hit when computing the screening function for collinear atoms.

Thanks to Bohumir Jelinek (Mississippi State) for tracking this down.


14 Sept 2009

Fixed a small bug with the new dump cfg command that prevented it from outputting per-atom compute quantities.

Thanks to Wang Zhiguo for identifying this issue.


7 Sept 2009

Paul Crozier (Sandia) and Carolyn Phillips (U Michigan) added a restart capability to their two-temperature model fix ttm command.


6 Sept 2009

Aidan Thompson (Sandia) added an append option to the dump_modify command so that you can append to an existing dump file on a subsequent run, so long as the "dump_modify" command is used before the new dump file is actually written to.


5 Sept 2009

At the suggestion of Craig Maloney (CMU), I changed the interpretation of the trate parameter of the fix deform command. It now has consistent 1/time units and modifies the box length or box tilt by a exp(trate*dt) factor that is a more traditional interpretation of a "true engineering strain or shear rate".


4 Sept 2009

Mike Brown (Sandia) made some small changes to the GPU library inovoked by pair_style lj/cut and pair_style gayberne to add barriers to kernels to prevent a possible race condition when there is more than 2 atom types. Probably a condition that would never occur in practice, but this is have more safe code.

Also, Ahmed Ismail (Sandia) made a small change to the ch2lmp tool for converting a LAMMPS dump file into a PDB file. This was needed to parse the current LAMMPS dump output which adds keywords for atom column info.


2 Sept 2009

Liang Wan (Chinese Academy of Sciences) has added a dump cfg command to write out dump files in the extended CFG format, suitable for visualizing with the AtomEye package. The extended format means that additional per-atoms values (velocity, energy, stress, etc) can be included and visualized accordingly, e.g. by coloring the atoms.


1 Sept 2009

Greg Wagner (Sandia) fixed a small bug in the pair_style meam potential for the reference energies of the L12 and C11 crystal structures.


27 Aug 2009

Andy Ballard (U Maryland) added Nose/Hoover chains to the fix nvt command. It can be turned on/off via the chain keyword, but they are now on by default. Chains provide a more robust NVT integrator, overcoming non-ergodic sampling issues and energy oscillations found with ordinary Nose/Hoover dynamics. This implementation uses one chain and integrates the equations of motion via a Trotter expansion good to 2nd order accuracy in the timestep size.


25 Aug 2009

Fixed a one-line bug with the 21Aug09 patch that messed up minimization with restart files.

Thanks to Rebecca Powles for flagging this problem.


21 Aug 2009

This is a bookkeeping patch that generalizes the interface to the verlet, respa, and minimize classes in LAMMPS. The purpose is to allow a new parallel replica dynamics (PRD) driver to work with both time integration and minimization together. We plan to release the PRD capability soon.

Also fixed a small bug in the minimizer with memory allocation, found by Liang Wan (Chinese Academy of Sciences).


19 Aug 2009

Greg Wagner (Sandia) made some small changes to the MEAM package to synchronize argument lists in function calls. The mismatch only seemed to cause a problem on a particular architecture.

Thanks to Rohit Ral for catching this problem.


18 Aug 2009

Made a small change to the quadratic linesearch in the energy minimizer so it will be more robust when performing anisotropic box relaxations via the fix box/relax command. This case is a hard one for the minimizer becuase the objective function being minimized and the gradient being used to satisfy the box size constraints do not exactly match.

Thanks to Aidan Thompson (Sandia) for help with this.


17 Aug 2009

Reorganized the files associated with the minimize command and its various min styles. This was for two reasons. First, to allow a non line-search minimizer, a Hessian-free truncated-Newton method, to be added, which will happen soon. Second, to allow additional per-atom degrees of freedom to be included in the minimizer. The latter is useful for a new force field that includes electron radius as a dynamic variable, which will also be added soon.


16 Aug 2009

The 7Aug09 patch which used the sed command to make packages with libraries easier to install/uninstall, appears not to be as portable as I assumed. I find it hard to believe, but "sed" does not work the same on Linux vs Mac. This patch fixes the problem by using some more vanilla sed commands.

Thanks to Aidan Thompson (Sandia) for running into this.


15 Aug 2009

The 9Aug09 patch which does some sanity checking on numeric arguments to force-field commands, didn't allow for the "+" sign to appear, e.g. in an exponent. This patch now allows for it.

Thanks to Volodymyr Babin (NCSU) for calling attention to this.


14 Aug 2009

Mike Brown (Sandia) has created a LAMMPS-specific NVIDIA GPU library and created two pair styles that work with it: pair_style lj/cut/gpu and pair_style gayberne/gpu. This means you can run those pairwise computations within LAMMPS in an accelerated fashion, on one or more NVIDIA GPU cards, assuming your system has them.

The speed-up you'll achieve depends on hardware (both CPU and GPU), the size of your system, the cutoff, and the relative expense of the pairwise computation itself. Mike has seen about a 4x speed-up for the Lennard-Jones potential, and about 100x for the GayBerne.

This section of the manual has background info on the use of GPUs with LAMMPS. We plan to add more GPU-enabled pair styles in the future.


13 Aug 2009

Chuanfu Luo wrote 3 new potentials: a 9/6 Lennard-Jones potential, a tabulated bond potential, and a tabulated angle potential.


11 Aug 2009

Carolyn Phillips (U Michigan) added a tally option to the fix langevin command to allow the cummulative energy added/subtracted to the system by the Langevin heat bath to be calculated, enabling the monitoring of energy conservation.


10 Aug 2009

Axel Kohlmeyer (Temple U) sent some additions to the fix addforce and fix aveforce commands, to allow them to be applied only to atoms in a geometric region.


9 Aug 2009

Added some error checking to the various force field definition commands (pair_style, pair_coeff, bond_coeff, angle_coeff, etc) to insure command arguments are valid floating point or integer values. This is to avoid some invalid input script commands that sometimes pass thru the parsing, particularly when users forget to add the pair_style name to a pair_coeff command when using the pair_style hybrid command.


8 Aug 2009

Enabled the spherical and cylindrical indenters in the fix indent command to work with periodic boundaries. The indenters can now straddle periodic boundaries or move across a periodic boundary and back into the simulation box.


7 Aug 2009

Due to some sed wizardry by Mike Brown (Sandia) we have streamlined the process to build LAMMPS with optional packages that have their own libraries (currently POEMS, MEAM, ReaxFF). Specifically you no longer need to maintain separate lo-level Makefiles, like Makefile.g++_meam, Makefile.g++_reax, etc to use the libraries and packages that wrap them. Once you have built the libraries themselves, you should be able to include/exclude them or use them in any combination, just as you would any normal LAMMPS package.

The details are in this section of the doc pages. And you can look at src/MAKE/Makefile.linux, src/MAKE/Makefile.g++, src/MAKE/Makefile.serial for examples of how to include the correct Fortran settings, if you want to use one of the Fortran-based libraries, like MEAM or ReaxFF.


4 Aug 2009

Made a small change to the fix heat command to have it always use the current timestep size for calculating heat flux. Thus it will adapt if the timestep changes.


3 Aug 2009

With help from David Heine (Corning), we found and fixed a bug in the fix bond/create command that sometimes allowed too many bonds to form per atom, exceeding the iparam and jparam limit settings.


22 Jul 2009

Added headers to the dump files written out by multiple processors, via the "%" wildcard in the dump file name. This is for the dump atom and dump custom commands. Without the headers, the files for processors other than 0 were hard to interpret, particularly if they contained multiple snapshots.


21 Jul 2009

Fixed a bug that showed up when the fix deposit command was used with rigid bodies, as setup by the fix rigid command. It had to do with attributes of added atoms not being initialized correctly.

Thanks to Thomas Siegfried for sending a script that illustrated the problem.


14 Jul 2009

Fixed a small bug in the velocity command with how it processed particles with per-particle mass (as opposed to the usual per-type mass).

Thanks to Fillion-Gourdeau for running into the problem.


6 Jul 2009

Reese Jones (Sandia), Philip Howell (Siemens), and Vikas Varsney (AFRL) have developed a new compute heat/flux command which can be used to calculate thermal conductivity via the Green-Kubo formalism. The doc page includes instructions on the methodology for doing this. This is a competing approach to the reverse-heat-flux method used by the fix thermal/conductivity command.


5 Jul 2009

Upgraded the degree-of-freedom detection done by the fix rigid command when tempterature is computed on atoms in rigid bodies. It should now work correctly with the finite-size particles which can now be part of rigid bodies (3Jul09 patch), and it should also detect when a rigid body consists of point particles in a straight line and thus has one less degree-of-freedom.


4 Jul 2009

Added a side option to the fix indent command to allow a spherical or cylindrical "indenter" to act as a constraining wall and push inward instead of outward. If the radius changes it can thus be used to squeeze a collection of particles.


3 Jul 2009

Enhanced the fix rigid command to work with constituent particles that are not just point particles (which is the default in LAMMPS), but can now also be finite-size particles. Thus a rigid body can be constructed from a combination of point-particles, spheroids, and ellipsoids. Finite-size particles alter the dynamics of a rigid body since they contribute differently to its moment of inertia. They can also contribute torque to the rigid body, e.g. due to tangential forces on a granular particle.


2 Jul 2009

Paul Crozier (Sandia) added a diagnostic output to the fix heat command.

Thanks to Ajit Vallabhaneni for the suggestion.


1 Jul 2009

Fixed an I/O bug in the new fix bond/reax command.

Thanks to Pablo Valentini for finding the issue.


30 Jun 2009

Changed the dump commmand to always output on the first timestep it is invoked, which it might not following a minimization which ends on an arbitrary timestep. This fixes a problem with the dump custom command not triggering the computation of virial or energy information on the next needed timestep.

Thanks to Minwoong Joe (KIST) for sending a script that illustrated this problem.


29 Jun 2009

Added an atom type option to the variable equal and variable atom commands.


28 Jun 2009

Made various small changes to pair styles, fixes, and computes that operate on finite-size particles like spheroids and aspherical particles (as opposed to the majority of LAMMPS that operates on point particles). The use of such particles is disussed here.

The goal here was to make LAMMPS more consistent about how these particles are treated, particularly if atom_style hybrid is used, which allows both a per-particle diameter and a per-type shape to be assigned. In this case, the per-particle diameter takes precedence.


27 Jun 2009

Andy Ballard (U Maryland) fixed two important bugs in the temper command used to do parallel replica exchange. The first was an incorrect normalization of the potential energy by atom count when thermodynamic output performs this normalization (which is the default for LJ units). The second was a failure to rescale the kinetic energy of two swapped ensembles which leads to incorrect sampling of the potential energy distribution by the set of replicas.


26 Jun 2009

Pim Schravendijk added a cone option to the region command, which is like a truncated cylinder with 2 different radii.


25 Jun 2009

One line bug fix in the restart2data tool to make it skip the MEAM potential correctly.

Thanks to Joerg Meyer (Max-Planck-Gesellschaft) for pointing this out.


24 Jun 2009

Aidan Thompson (Sandia) added a fix reax/bonds diagnostic command which outputs a file of bond information, as computed by the ReaxFF potential.


23 Jun 2009

Enabled the fix freeze command to keep track of total force on its group of atoms before it zeroes them, similar to fix setforce.


22 Jun 2009

Fixed a one-line bug in atom_style angle that would affect its use as one of the sub-styles in a atom_style hybrid model.

Thanks to Dmitry Fedosov (Brown Univ) for catching this.


6 Jun 2009

Paul Crozier (Sandia) fixed a bug in the fix dt/reset command when used with real or metal units. It was not applying a needed unit conversion, so the new timestep it computed was wrong.

We also made the timestep computation more accurate by including both velocity and force effects together. Also we insured the user-specified Xmax is now a hard limit on how far any atom moves. Before at atom could have moved up to twice as far (in rare cases).

I also changed the syntax for unspecified bounds from INF to NULL, to be more consistent with other LAMMPS commands.


5 Jun 2009

Aidan Thompson (Sandia) discovered a bug in the minimizer when it's used with the new fix box/relax command that sometimes caused it to exit before full convergence. This patch fixes it.


4 Jun 2009

Ahmed Ismail (Sandia) added a Born-Mayer-Huggins pair potential.


3 Jun 2009

The restart2data tool was missing a few lines that enable processing of dihedral_style helix.

Thanks to Axel Kohlmeyer (U Penn) for sending a patch for this.


2 Jun 2009

Paul Crozier (Sandia) and Carolyn Phillips (U Michigan) made some upgrades to the two-temperature model they've been working on.


1 Jun 2009

Aidan Thompson (Sandia) has made some enhancements to the Fortran options for building the REAX package and the associated documentation.


19 May 2009

The patch on 16Apr09 to have the restart2data tool skip the new pair_style reax setting was incomplete. Needed another line added.

Thanks to Dundar Yilmaz (Bilkent U) for finding this.


18 May 2009

Fixed a bug in the fix ave/spatial command that could affect the layer width when using the "units lattice" option.

Thanks to Marco Kalwelt (Cranfield, UK) for sending this bug fix.


12 May 2009

Changed the energy tabulation in the fix temp/rescale command so that it is cummulative energy added/subtracted by the velocity rescaling, so that it can be monitored during a run.

Thanks to Zhun-yong Ong for calling attention to this.


6 May 2009

Fixed a one character bug in the 28Apr09 patch that affected variables with region options using 3 arguments, vcm().

Thanks to Ming Ma for flagging this.


2 May 2009

Fixed a logic bug in the new 30Apr09 compute temp/profile command.

Thanks to Randy Schunk (Sandia) for exposing this.


1 May 2009

Added some more careful error checks for (pathological) simulations that exceed the one and page limits set by the neigh_modify command by large amounts. It is still possible to crash LAMMPS if you have a bazillion neighbors per atom and have not set one and page appropriately (which usually means your problem geometry is very wrong), but more likely now that you will get a nice error message.


30 Apr 2009

Added a compute temp/profile command to allow temperature to be computed on the thermal velocity that remains after subtracting out a spatially-averaged velocity field. Using this compute in conjunction with the various thermostatting fixes in LAMMPS (rescaling, Nose/Hoover, Berendsen, etc) enables a profile-unbiased thermostat (PUT), as advocated by Evans and Morriss in a 1986 PRL paper for systems undergoing complex flow.

Thanks to Matt Petersen (Sandia) for help in designing how this should work in LAMMPS.


28 Apr 2009

Added a compute reduce/region command and also region-based functions to the variable command. The former allows quantities to be summed (or "reduced") for atoms in a region. These allow quantities to be computed for just the atoms currently in a geometric region.


17 Apr 2009

Added some warnings to the read_restart command if the restart file and input script do not agree on the boundary or newton settings and the input script had changed the default values of these settings.

Thanks to David Olmsted for this suggestion.


16 Apr 2009

Added one line to the restart2data tool to have it skip the new ReaxFF setting in restart files, as it does for all potentials setup from tabulated files.

Thanks to Pablo Valentini for running into this.


15 Apr 2009

Enabled the following commands to work with rRESPA: fix gravity, fix wall/gran, and fix freeze.

Thanks to Brian Novak (LSU) for calling attention to this.


13 Apr 2009

This patch adds a few header files to the POEMS library, invoked by the fix poems command, so that it compiles without issue with the latest g++ 4.3.

Thanks to Prashant Kumar (U Pitt) for these changes.


10 Apr 2009

Added a warning message to help users avoid a common input script mistake: using the thermo_modify command before a thermo_style command. The latter wipes out settings made by the former.


6 Apr 2009

Paul Crozier (Sandia) has added a two-temperature model for coupling electronic and atomic degrees of freedom which involves solving for the electronic temperature on a spatial grid and using a Langevin thermostat to do the thermostatting between the two temperatures. This is implemented as a new fix ttm which gives the details and citations to the literature on this method.


3 Apr 2009

Fixed a couple small bugs with the energy minimizer. The first caused problems if one or more processors had no atoms, and the second was a memory issue if a 2nd minimization was performed after unfixing the fix box/relax command.

Also reduced the number of force evaluations and re-neighborings required by the minimizer. The latter issue was also causing the minimizer to potentially mess up the images flags of atoms that crossed periodic boundaries during minimization steps.

Thanks to Jervis Chu, Liang Wan, and Pablo Vanentini for input on these issues.


1 Apr 2009

Liang Wan (Chinese Academy of Sciences) found another memory issue in the new fix box/relax command. This patch fixes it.


27 Mar 2009

Fixed a bug in the new fix box/relax command, with the logic of the dilate keyword. Also added the ability to reset its computation of pressure and temperature via the fix_modify command, which the doc page claimed (erroneously) should be possible.

Thanks to Liang Wan (Chinese Academy of Sciences) for pointing out these problems.


26 Mar 2009

Fixed a small bug introduced in the fix viscosity command due to a previous patch, probably 13Feb09. It has to do with how particle mass is accessed in one of two ways, on a per-particle or per-type basis.

Thanks to Matt Petersen (Sandia) for stumbling into this.


25 Mar 2009

Fixed a one-line bug in the dump custom command for doing threshholding on the iz keyword via the dump_modify thresh command.

Aidan Thompson (Sandia) made some small improvements to the quadratic line search in the energy minimizer.

Thanks to Liang Wan (Chinese Academy of Sciences) for identifying the dump custom issue.


24 Mar 2009

Added a fix evaporate command to allow solvent (or other) particles to be removed periodically from the simulation. This enables a simple model of evaporation or drying of a mixture system.


23 Mar 2009

Just realized the group delete command causes the restart file format to change due to the way deleted groups are written out, which I normally don't like to do except at major releases. So this patch makes the restart file format backward compatible with the previous format.


22 Mar 2009

The 19Mar09 patch of a group delete command requires the restart2data tool to read the restart file in a slightly different way. This patch updates that tool.

Thanks to Kelly Anderson (PNG) for pointing this out.


21 Mar 2009

Added a wiggle option to the fix deform command to allow the box dimensions or tilt factor (for triclinic boxes) to be oscillated in time.


20 Mar 2009

Added xu, yu, zu options to the fix ave/atom command to allow atom coordinates to be time averaged without worrying whether the atoms cross periodic boundaries.


19 Mar 2009

Added a delete option to the group command to allow a group definition no longer in use to be deleted. This can make it easier to live with the restriction that no more than 32 groups can be defined (at any one time). You cannot delete a group that is being used by a fix or compute or dump.


18 Mar 2009

Made some minor enhancements to the format of the files produced by the dump atom and dump custom commands in the header region of each snapshot, to make the files more self-describing. This is useful for post-processing programs that read LAMMPS dump files. Hopefully it won't break any tools you have, and will allow them to be more robust.

Specifically, if the simulation box is non-orthogonal, then the triclinic tilt factors are now included in the BOX BOUNDS portion of the header. And the ATOMS line in the header now lists the contents of the columns of the per-atom lines that follow. E.g.

ITEM: ATOMS 

has become

ITEM: ATOMS id type x y z 

Other LAMMPS tools that read dump files have been modified to read the extended format, namely xmovie, binary2txt, the Python scripts in the tools directory, and Pizza.py itself.


17 Mar 2009

Added an append option to the fix print command to allow it to append its file output to an already existing file if desired. This can be useful if your input script loops over multiple runs.


16 Mar 2009

Craig Maloney (CMU) sent a small bug fix for the pair_style lj/smooth command he originally authored. It only affects the calculation of energy, not forces or dynamics.


12 Mar 2009

Turned off the action of the bond-order scaling parameter bom, the 12th parameter in the list for each bond in ffield.reax. bom is normally set to 1, in which case the change will have no effect. This change makes the LAMMPS implementation of ReaxFF consistent with more recent versions of Adri van Duin's code, and eliminates unexpected behavior when using ffield.reax files in which bom has been set to zero.

Thanks to Mike Russo and Adri van Duin for tracking down this problem.


7 Mar 2009

rRESPA neighbor lists, used when pair interactions are spread across multiple rRESPA levels, were broken by an earlier change to neighbor lists. This patch fixes what was broken.

Thanks to Brian Novak (LSU) for pointing out the problem.


6 Mar 2009

The pair_write command, when used with pair_style hybrid, wasn't nsuring the values written to the tabulated file repspected the cutoff distances of individual sub-styles. This one-line patch fixes that problem.

Thanks to Dave Heine (Corning) for noticing this.


5 Mar 2009

With help from Aidan Thompson and David Olmsted (Sandia), this patch adds a fix box/relax command that can be used to apply pressure to a simulation box during energy minimization to allow the box size to change as atoms relax. This is analagous to performing NPT dynamics, e.g. via the fix npt command.

This patch also makes some additional tweaks to the minimizer itself.


25 Feb 2009

Aidan Thompson (Sandia) worked on improving the energy minimizer in LAMMPS. There are now 2 options for the linesearch algorithm used, accessible by the min_modify command, The default is backtrack (as before), but the algorithm has been improved in several ways as has the conjugate gradient driver that calls it. Overall this option should perform better than before and require less energy/force evaluations. If you want to drive forces close to 0.0, then try the quadratic linesearch option, which performs a quadratic projection of the line search distance and can sometimes do a better job, though it may be less robust.


19 Feb 2009

Aidan Thompson (Sandia) added a once option to the neigh_modify command. This allows you to turn off reneighboring when you know neighbor lists do not need to be recomputed. E.g. when running a crystalline structure at cold temperatures.


13 Feb 2009

Various bookkeeping changes to distinguish more carefully between the two ways LAMMPS allows particle mass to be specified, either on a per-type or per-atom basis. Hybrid simulations using the atom_style hybrid command can actually use both. These changes make it so particle mass is referenced in the correct way, whichever way mass is defined.

This is in preparation for an enhanced fix rigid which will soon be released, allowing for more general rigid bodies composed of different types of particles.


12 Feb 2009

Aidan Thompson (Sandia) and Hansohl Cho (MIT) have added ReaxFF potentials to LAMMPS. This force field was originally developed by Adri van Duin in Bill Goddard's group at Caltech. This was added as a new "reax" package which links to a Fortran library, which is now distributed with LAMMPS. See the making LAMMPS section of the documentation for instructions on how to build LAMMPS with packages and libraries. See the pair_style reax doc page for details of how to use the ReaxFF in LAMMPS.


29 Jan 2009

Fixed a small bug in the restart2data tool to make it work on restart files written from simulations with optimized pair potentials like pair_style lj/cut/opt.

Thanks to Vladamir Stegailov for flagging this.


27 Jan 2009

Mike Brown (Sandia) has added a more accurate distance-of-closest- approach calculation to the pair_style resquared potential. This is for the mixture case when a large ellipsoid interacts with a small spherical solvent particle and results in a more accurate "size" for the ellipsoid as seen by the solvent particles.


23 Jan 2009

Somehow the doc files for fix bond/create and fix bond/break didn't make it into the 9Jan09 release, probably due to the derelict who manages our Subversion repository. This patch provides them.

Thanks to Dave Heini (Corning) for noticing the omission.


22 Jan 2009

Fixed a bug with temperature computation of systems with rigid bodies that could occur if the group used in a temperature compute did not include all the rigid bodies defined by the fix rigid command. The bug had to do with removing the appropriate number of degrees of freedom. LAMMPS now issues a warning if you try to compute temperature on only some of the atoms in a particular rigid body. See the fix rigid doc page for details on how degrees of freedom are now handled.

Thanks to Jiwu Liu (Michigan State Univ) for identifying the offending code.


21 Jan 2009

Fixed (yet another) bug with the fix spring command to do with summing forces in parallel for output by the fix. (Not a bug in the force applied to atoms.) Also added a 4th output field useful for computing the potential of mean force (PMF).

Thanks again to Xibing He (U Penn) for these suggestions.


19 Jan 2009

Liang Wan (Chinese Academy of Sciences) provided some code to use the common neighbor analysis (CNA) methodology to deduce a local crystal structure around each atom. This has become the compute cna/atom command.


18 Jan 2009

Fixed a sign error and a summation error (in parallel) in the spring force reported by the fix spring tether command. Also enabled this fix to store and use the energy of the spring, both for addition to the overall energy of the system (see the fix_modify energy command) and in energy minimization.

Thanks to Xibing He (U Penn) for catching the errors and making additional suggestions on how to enhance this command.


17 Jan 2009

Fixed another bug with how fixes trigger computes to be calculated on the correct timestep. Again something that got broken in the 9Jan09 release.

Thanks to LT Kong for posting commands that showed the problem.


16 Jan 2009

Fixed a bug in the "compute reduce" command and its interaction with other computes that calculate virial or energy quantities. This was broken by the 9Jan09 release.

Thanks to Yao Li for flagging this.


15 Jan 2009

Rudra Mukherjee (JPL) sent an update to the POEMS library used by LAMMPS via the fix poems command to insure compatibility on 32 and 64 bit machines.


14 Jan 2009

Removed the restriction on dump file output via the dump and dump_modify commands that output of scaled and unwrapped coordinates can only be done for orthogonal simulations boxes. It can now be done by either the dump atom or dump custom commands for triclinic (non-orthogonal boxes) as well.

Thanks to Liang Wan (Chinese Academy of Sciences) for suggesting how to do this.


13 Jan 2009

Enhanced the fix rigid command to allow for restricting the motion of rigid bodies, either translationally or rotationally, via the force and torque keywords. Also added some output options from this fix, so that the center-of-mass position, velocity, force, or torque can be tracked for one or more of the rigid bodies.


12 Jan 2009

Added some code to compute stress/atom command to enable it to work for granular systems which define mass on a per-particle basis instead of the usual way (per-type atom mass).

Thanks to Priscilla Fonseca (Northwestern) for sending a script that illustrated the problem.


8 Jan 2009

Made some changes to the pair_style granular Hertzian force field to have it handle polydisperse systems more accurately. Also generalized the various elastic constants and damping coefficients that can be specified. This has changed the style names of the granluar pairwise potentials and the syntax of those commands as well as the fix wall/gran command.

This change will be part of the next LAMMPS release, the first part of January.

Thanks to Yang Zhiping for identifying there was a problem and to Leo Silbert (SIU), Jeremy Lechman (Sandia), and Gary Grest (Sandia) for helping me formulate this correctly.


7 Jan 2009

Fixed a bug in how pair_style airebo builds neighbor lists for ghost atoms. This could effect the lists of generated interactions for periodic systems since periodicity creates ghost atoms.

This change will be part of the next LAMMPS release, the first part of January.

Thanks to Wei Zhang and Ase Henry (MIT) and for helping me find this bug with some good test systems.


6 Jan 2009

The addition of a fix bond/create command required some additional functionality from the special_bonds command. Thus, the syntax of this command has now changed to allow it to be used more generally.

This change will be part of the next LAMMPS release, the first part of January.


5 Jan 2009

Added fix bond/create and fix bond/break commands, which allow bonds to be created or broken during a simulation by checking distance and other criteria.

These commands will be added as part of the next LAMMPS release, the first part of January.


4 Jan 2009

Changed the default setting for the fix ave/spatial command to be lattice units instead of box units. This is to be consistent with all other LAMMPS commands that allow for lattice or box distances to be specified for their parameters. Note that both options are still available using the units keyword with the fix ave/spatial command; this change only affects what the default is if the units keyword is not used.

This change will be part of the next LAMMPS release, the first part of January.


3 Jan 2009

Changed the keyword "tag", used as part of the "dump custom"/doc/dump.html command, to "id", which is consistent with the use of atom IDs in other LAMMPS commands. Tag is the name of the internal LAMMPS variable that stores the atom ID.

This change will be part of the next LAMMPS release, the first part of January.


2 Jan 2009

Made a change to require the use of the pair_coeff command with granular pair styles. Even though no additional info is specified for atom type pairs in this case, this is required to allow the granular pair styles to work with pair_style hybrid models, where other pair styles are also used.

This change will be part of the next LAMMPS release, the first part of January.


1 Jan 2009

Made some changes to the way variable formulas are evaluated to do it more robustly between runs, so that current thermodynamics values are always used or warnings or errors are issued. Also updated the doc page for the variable command to explain the various options and how to force variables to be evaluated immediately (between runs) if desired.

These changes will be part of the next LAMMPS release, the first part of January.