20 Dec 2007

Fixed a one-line bug with energy tabulation in the TIP4P pair style, introduced by the 1 Dec 2007 patch. Doesn't affect dynamics.

Thanks to Ahmed Ismail (Sandia) for pointing out the flaw.

19 Dec 2007

Fixed a small bug with the molecular atom_style when used as one of several atom styles via atom_style hybrid. Also fixed a bug with how the improper_style class2 command tallied virial information, introduced by the 1 Dec 07 patch.

Thanks to Sefa Dag (LBL) for sending a script that caused the problem.

18 Dec 2007

The fix langevin command did not adjust its timestep-dependent white noise parameter when being used with an adaptive timestep via the fix dt/reset command. This patch fixes that.

Thanks to James Palko (Aerospace Corp) for noting the deficiency.

15 Dec 2007

Fixed a one-line bug with the virial tabulation in the dihedral_style class2 command. This was introduced by the 1 Dec 07 patch.

Thanks to Sezen Curgul (MIT) for finding the problem.

14 Dec 2007

Added the ability for the dump custom command to directly reference an atom-style variable in its list of per-atom quantities to output. This is one step in getting rid of the compute variable/atom command, which is an extra needless layer of complexity for LAMMPS output.

13 Dec 2007

Modified the syntax of the print and run every commands to be more consistent with their use of quoting. Also added an option to the fix print command to allow its output to be written to a file.

9 Dec 2007

The replicate command was not preserving the atom map setting from the atom_modify command, which could cause memory problems for huge runs (10s or 100s of millions of atoms). This patch fixes it.

8 Dec 2007

Added a binsize option to the neigh_modify command. This allows users to experiment with the size of bins used in neighbor list construction for optimization purposes.

7 Dec 2007

The fix msd command did not compute the correct atom displacement for non-orthogonal (triclinic) boxes when computing a mean-squared displacement. This patch fixes it.

Thanks to LingTi Kong (U Western Ontario) for pointing this out.

6 Dec 2007

Fixed a bug with the minimizer not computing the correct pressure on its final iteration. I think this was also introduced by the large 1 Dec 1007 patch.

Thanks to Zhenhai Xu for discovering there was a problem.

5 Dec 2007

Fixed a one-line bug with pair hybrid and pair airebo that computed pressure incorrectly as a result of the 1 Dec 2007 patch. A flag's value was checked incorrectly.

Thanks to Mike Brown (Sandia) for finding the issue.

4 Dec 2007

Pair_style meam lacked a couple of variable declarations in the 1 Dec 2007 patch. This patch fixes the problem.

Thanks to a couple of users for pointing out the deficiency.

2 Dec 2007

Tersoff energy was not tabulated correctly in the 1 Dec 2007 patch. This patch fixes it.

1 Dec 2007

Per-atom energy and stress (virial) tabulation has been enhanced in a way that makes it possible for any pairwise or bonded or manybody potential to generate the appropriate per-atom quantities with little overhead cost. Every potential in LAMMPS can now be used in this mode, with a few exceptions as noted below.

This is a significant patch that changes many files, though mostly in minor ways. To make all the various potentials consistent with the new tabulation routines, some variable rearrangement was necessary, which may have introduced bugs in the potentials themselves. Hopefully not, but it's a good idea to check if your results for this new version are consistent with the pre-patched version.

The following changes have been made:

See this section for details of how to use the global and per-atom computes for energy and stress (pressure) in conjunction with other computes and fixes.

Fix gran/diag was deleted because its functionality is available by using the compute stress/atom command in conjunction with fix ave/spatial.

There are 3 pair potentials that still need to be instrumented to work with the per-atom energy and stress computes: AIREBO, MEAM, and TIP4P. This will be implemented soon. Likewise, fixes that contribute to the virial (e.g. SHAKE, rigid), still need to be instrumented to extract their per-atom contributions.

Thanks to Aidan Thompson (Sandia) for very helpful discussions about the nitty-gritty details of virial computations.

30 Nov 2007

Paul Crozier has made the grid size selection code in the PPPM kspace_style solver more robust, so it can more often select a good grid size without user intervention via the kspace_modify mesh command.

29 Nov 2007

Made a change to the Lennard-Jones pressure tail correction option specified by the pair_modify command. Now it is only applied to the 3 diagonal components of the pressure tensor, not to the off-diagonal components.

Thanks to LT Kong (University of Western Ontario) for calling attention to this issue.

27 Nov 2007

Fixed a bug with the virial (and hence pressure) computation for the GayBerne and RE-squared pair potentials.

Also changed an error condition with fix ave/time and fix ave/spatial so that the timestep to compute the first average is incremented rather than generating an error.

26 Nov 2007

Changed Make.csh in the src dir because the "make makelib" and "make makelist" were failing due to too many source files. The shell was complaining about too long a word, as generated by the script.

Thanks to Wende Tian for pointing out the problem.

16 Nov 2007

Added support for the pair_style lj/smooth potential to the restart2data tool.

Thanks to Javier Ramos (Instituto de Estructura de la Materia, Spain) for noting the omission.

15 Nov 2007

Fixed a bug with the pressure contribution computed by pair style lj/cut/coul/long/tip4p. This bug was introduced recently when neighbor lists and the way pair styles use them was changed. It doesn't effect dynamics, only the thermodynamic reporting of pressure (unless you're running an NPT or NPH ensemble).

Thanks to Ahmed Ismail (Sandia) for helping with this.

13 Nov 2007

Added a diagnostic to sum the applied forces due to the fix spring and fix drag commands. The vector of applied force can be accessed by various output commands. This is useful for thermodynamic integration when umbrella sampling is performed.

Also fixed a couple small bugs with the indexing of applied forces accessible from other fixes: fix indent, fix wall/lj93, and fix wall/lj126.

Thanks to Kelly Anderson (Procter & Gamble) for suggesting this feature.

12 Nov 2007

Fixed a one-line bug in the compute ebond/atom command for computing bond energies on a per-atoms basis.

Thanks to Naida Lacevic (LLNL) for finding the problem.

8 Nov 2007

Fixed a dumb bug in the new compute sum command where it failed to sum the result across processors.

Thanks to Ishraq Shabib (Carleton U, Canada) for showing up the problem.

7 Nov 2007

Fixed a small bug in pair_style sw that prevented it from working correctly with the new pair_style hybrid options recently released.

Thanks to Limel Xu (U Utah) for running into the bug.

6 Nov 2007

Fixed a one-line bug in a neighboring routine that is invoked when newton pair is off and both half and full neighbor lists are used in the same simulation.

Thanks to Kim Sangrak (Kyonggi U, Korea) for finding the bug.

5 Nov 2007

Added a compute pe command to allow potential energy to be calculated and used by fix ave/time, variables, etc in the various ways outlined in this section of the manual.

4 Nov 2007

Fixed a bug with how a half neighbor list was built from a full neighbor list in a pair hybrid simulation.

Thanks to Yonggang Zheng (Dalian University of Technology) for providing a script that identified the issue.

2 Nov 2007

Fixed a dumb bug in the Yukawa potential where the force had a pre-factor that didn't match the energy. Would not affect a simulation if the pre-factor A = 1.

Thanks to Dave Heine (Corning) for noticing this.

1 Nov 2007

The 31 Oct 2007 patch didn't include two new files for the compute sum command. This patch adds them.

31 Oct 2007

Added a compute sum command, which generates a global scalar or vector of values by summing over the per-atom quantities calculated by one or more other computes. The results can be accessed by the thermo_style custom or fix ave/time commands or by a user-defined variable.

An example of using compute sum would be to sum the total force on atoms in a group.

30 Oct 2007

Fixed a bug with the volume option in the fix deform that was due to a couple quantities being initialized incorrectly. This worked at one point, so not sure when this bug crept in!

Thanks to Vikas Varshney (Wright-Patterson AFB) and Rob Hoy (UC Santa Barbara) for calling attention to the problem.

29 Oct 2007

Aidan Thompson and Xiaowang Zhou (Sandia) have extended the Tersoff potential in LAMMPS to enable both the original Tersoff and more recent variants to be used. As part of this effort, several new Tersoff potential files were added to the potential directory for alloy modeling:

The SiCGe.tersoff file includes several Si variants, which can be used in single-element or alloy simulations. Other Tersoff potential files were modified to match the new format. Note that potential files in the old format no longer work with this patch, though modifying them to satisfy the new format is not difficult.

The doc page for the Tersoff potential has details of the new format and parameters.

28 Oct 2007

One-line bug fix in the restart2data tool for GayBerne ellipsoidal potentials. The format for printing the pair coefficients was wrong.

Thanks to Jiwu Liu for flagging this.

27 Oct 2007

Added a check for the reset_timestep command to insure dump files and restart files have not been already been written out based on the old timestep. This can mess up the determination of the next timestep on which file output should be performed.

26 Oct 2007

Mike Brown (Sandia) has implemented a new RE-squared interaction potential for aspherical particles, which can be invoked via the pair_style resquared command. This anisotropic interaction potential for ellipsoids is an alternative to the Gay-Berne potential. The RE-squared potential treats ellipsoids as composites of smaller spherical particles and therefore may be more accurate than Gay-Berne for large ellipsoids where the scaling of interaction energy does not follow simple power rules. An additional difference is that the RE-squared potential does become isotropic in the large distance limit.

He also upgraded the pymol_asphere tool for converting LAMMPS output to PyMol input for aspherical particles. This fixed a bug to force normal output for ellipsoids (this will fix shading problems on some graphics cards). The tool no longer attempts to read LAMMPS input files and will work on general LAMMPS dump files in the usual "tag type x y z" format (see tool documentation). The number of particles per timestep is no longer fixed.

25 Oct 2007

Fixed a bug with pair_style airebo that was created by changes in the format of neighbor lists in the most recent major release (5Oct07).

Thanks to Liang Wan (Chinese Academy of Science) for catching this.

24 Oct 2007

Fixed a memory issue with neighbor lists that could appear when the delete_atoms command was used, before a simulation run.

Thanks to Liang Wan (Chinese Academy of Science) for identifying the problem.

23 Oct 2007

Fixed a one-line memory allocation bug in the fix ave/atom command.

22 Oct 2007

Added options to the fix ave/time and fix ave/spatial commands to allow their output to be averaged in two new ways. One is to calculate a running cummulative average from the point in time the fix was defined. The other is to compute an average within a moving time window, e.g. over the last 100 values. Adding these options changed the syntax of both commands.

These new options also make the thermo_style custom options for time-averaged thermodynamic output obsolete, since a richer variety of time-averaged output can now be calculated by fix ave/time and accessed by the f_ID keyword of thermo_style custom. As a result, the "tave", "pave", etc keywords of thermo_style custom have been deleted.

See this section of the manual for a summary of LAMMPS output options for thermodynamic and per-atom data.

21 Oct 2007

With help from Ed Maginn (U Notre Dame), a fix viscosity command has been added. This is to enable fluid viscosities to be calculated via the method of Florian Muller-Plathe described in Phys Rev E, 59, 4894-4898 (1999). The algorithm is explained briefly in the fix viscosity doc page; full details are in the paper. This is an alternative method to running a NEMD simulation to compute viscosity.

20 Oct 2007

Added the option to the fix ave/spatial command to generate a vector of values that can be accessed by other output commands such as thermo_style custom f_ID[N].

19 Oct 2007

Fixed a problem with the energy calculation in pair_style yukawa.

18 Oct 2007

Inadvertently left 2 needed files for the new fix dt/reset command out of the 10Oct07 patch. This patch adds them.

Thanks to Mike Brown (Sandia) for calling this to my attention.

17 Oct 2007

Added a restart capability to the fix deposit command so it will be easier to run long simulations of deposition onto a surface and restart them from an intermediate state.

16 Oct 2007

Gerolf Ziegenhain has provided some new EAM potentials for Cu, Al, and W as well as the source code for one-file programs that tabulate the potentials from an analytic formula. The latter have been added to the tools/eam_generate directory as a tool.

15 Oct 2007

Fixed a one-line bug with using the TIP4P pair potential with kspace_style pppm/tip4p that gave an error at start-up time.

Thanks to Jeetain Mittal (NIH) for identifying the issue.

14 Oct 2007

Randy Schunk (Sandia) has added hydrodynamic lubrication forces between particles due to an implicit solvent as a pair_style lubricate command. The pairwise lubrication forces have 4 components which can be turned on or off - squeeze, shear, pump, and twist - which produce force and torque on the particles.

13 Oct 2007

Fixed a memory bug with neighbor lists used by pair_style hybrid when doing multiple runs in the same input script.

Thanks to Mike Brown (Sandia) for stumbling into the bug.

12 Oct 2007

Fixed a one-line bug in the fix recenter command when using the shift option.

Thanks to Lukas Geyrhofer for identifying the bug.

11 Oct 2007

Enabled the fix ave/time command to produce global values that can be accessed by the thermo-style custom command. This means you can print out time averages of a variety of quantities as part of thermodynamic output. See this section for a discussion of output options.

10 Oct 2007

Added a fix dt/reset command which allows the timestep size to be reset continuously during a simulation, based on maximum velocities and accelerations experienced by the particles.

This can be useful when starting from a configuration with overlapping atoms, where forces will be large. Or it can be useful when running an impact simulation where one or more high-energy atoms collide with a solid, causing a damage cascade.

Thanks to Eduardo Bringa (LLNL) for suggesting this feature.

9 Oct 2007

Fixes can now compute global scalars and vector quantities which can be accessed by other LAMMPS output commands. An example of a scalar is the potential energy associated with the fix. An example of a vector is the aggregate force generated by the fix, e.g. by a wall or indenter or by fix setforce before it changes the forces. See the doc pages of individual fix commands for details of which fixes calculate these quantities.

The thermo_style custom command can access these fix quantities.

Variables can now access these fix quantities, like they can compute quantities.

The fix ave/time command was enhanced to allow access to these fix quantities, like compute quantities. Note that this changed the syntax of the fix ave/time command.

This howto section summarizes the various ways thermodyanmic and dump output can be produced and customized.

4 Oct 2007

Gerolf Ziegenhain has added a compute ackland/atom command that computes the Ackland parameter for local lattice orientation around an atom in a solid.

Pieter in 't Veld (Sandia) has added kspace_style ewald/n, pair_style lj/coul, and pair_style buck/coul commands that enable long-range Ewald summations to be done not only for Coulombic charges, but for any potential with 1/r^N dependence. This means that Lennard-Jones or Buckingham interactions can be used without a cutoff, i.e. to infinite extent in a periodic system. The two new pair styles provide the modifications to the short-range computation needed to complement the ewald/n summation.

The ewald/n style can also be used with Coulombic long-range potentials (such as lj/cut/coul/long) in non-orthogonal (triclinic symmetry) simulation boxes, which is currently not allowed for the PPPM or Ewald kspace styles.

These changes will be part of the next major release of LAMMPS, sometime in October.

3 Oct 2007

Adding a pair_style hybrid/overlay command to allow multiple pair potentials to be superposed in an additive fashion when specifying the interaction between atom types. Previously, the pair style hybrid command allowed a different pair style to be assigned to different pairs of atom types. Hybrid/overlay allows multiple pair styles to be assigned to the same pair of atom types, e.g. Coulombic interactions between granular particles.

Implementing this feature required changes to the way neighbor lists are stored and accessed. Thus the source files for every pair potential and other classes that use neighbor lists (some fixes and computes) are changed in minor ways.

These changes will be part of the next major release of LAMMPS, sometime in October.

2 Oct 2007

Adding user-contributed packages to LAMMPS, which are really just new features that users have contributed. This is an attempt to stream-line the process by which users can add code and features to the LAMMPS distribution. LAMMPS already has what we now are calling "standard" packages, such as the MANYBODY or KSPACE packages. This section of the documentation lists the standard packages and tells how to build LAMMPS with or without packages.

"User-contributed" packages are the same thing. You submit some files that don't require changes in other parts of LAMMPS, document the new feature(s), and provide contact information so others users can email you if there are questions. We'll release your features as part of the main LAMMPS distribution. Implicitly, you're agreeing to support your code which means answer questions, fix bugs, and maintain it if LAMMPS changes. The details are discussed in this section of the manual.

With user packages, all we are really providing (aside from the fame and fortune that accompanies having your name in the source code and on the Authors page of the LAMMPS WWW site), is a means for you to distribute your work to the LAMMPS user community and a mechanism for others to easily try out your new feature. This may help you find bugs or make contact with new collaborators.

These changes will be part of the next major release of LAMMPS, sometime in October.

1 Oct 2007

Aidan Thompson (Sandia) made LAMMPS compatible with gcc 4.2 so that it will compile without warning messages. This involved changing the declaration of constant character strings in numerous places in the code.

These changes will be part of the next major release of LAMMPS, sometime in October.

27 Sept 2007

Added new fix ave/atom, compute attribute/atom, compute sum/atom commands and changed the dump custom command to have the user specify any per-atom computes it uses. Both the dump custom and fix ave/spatial commands can now access per-atom values from fixes, not just computes. Also added a parameter to the time-averaging specification of the fix ave/time and fix ave/spatial commands to make them more flexible.

The collection of these commands allow for a flexible variety of output from LAMMPS, either as thermodynamic output of global quantites or dump output of per-atom quantities. A summary is given in this howto section of the manual.

These changes will be part of the next major release of LAMMPS, sometime in October.

24 Sept 2007

Fixed some small memory bugs with a few of the manybody potentials (EAM, Tersoff, Stillinger-Weber). You wouldn't see the effects unless you didn't set all of the needed pair coefficients or were using these potentials with others as part of a pair_style hybrid simulation.

Thanks to Chen Chen (Wuhan Univ, China) for sending a script that caused problems.

22 Sept 2007

Fixed a one-line bug with the fix deposit command, which wasn't counting deposited atoms. This was preventing the command from shutting itself off correctly once the desired number of atoms were deposited.

Thanks to Dave Heine (Corning) for pointing out the problem.

21 Sept 2007

Added some Makefiles for the Portland Group compiler including for the MEAM library. These were contributed by Chuck Henager at PNNL.

20 Sept 2007

Fixed a problem with the fix ave/spatial command when using its option for reduced units (0-1 within box) in conjunction with invoking a compute that uses atom coordinates. The mapping back and forth from box to reduced coordinates was occurring in the wrong place which messed up the calculation by the compute.

Thanks to Liang Wan (Chinese Academy of Sciences) for identifying the problem.

19 Sept 2007

Fixed a one-line indexing bug in the thermo_style custom command that affects printing of vector values from compute quantities, e.g. when a value like c_myID[3] is referenced in the custom list of values to print.

Thanks to Liang Wan (Chinese Academy of Sciences) for finding this bug.

13 Sept 2007

Added some casts to the lattice command code to avoid compiler complaints on some platforms.

12 Sept 2007

Removing a couple of EAM potential files for Al from the distribution, as they often cause problems for people. Namely, Al_vtr.eam and Al_u9.eam. These turn out to store negative values over a certain distance range of their tabulated rho(r) data, which can cause the accumulated density at an atom to be less than zero. This is non-physical and causes the subsequent EAM calculation of the embedding function f(rho) to be bogus. I think the reason for this is that these potentials were designed to be used for Al in an alloy setting, but the rationale and documentation for that has been lost over the years, so it's just easier to avoid the problem altogether.

The patch file for this change seems messed up, partly due to a re-configuration of our WWW server, which seems to have affected the script that generates our patches. So if this patch affects you, just remove the 2 files from lammps/potentials.

4 Sept 2007

Added a fix nve/limit command that bounds the distance an atom will move in one timestep during time integration. This is useful for starting a simulation with a configuration containing highly overlapped atoms. We're planning to use it for hybrid Monte Carlo simulations where one often takes larger-than-usual timesteps to generate new configurations.

3 Sept 2007

Fixed a one-line bug with dihedral_style charmm checking on sigma/epsilon parameters for 1-4 interactions. Shouldn't affect you unless you only have a single dihedral type defined.

Thanks to Prakashan Kormabath (UCLA) for identifying the problem.

29 Aug 2007

Fixed some problems with how rigid particles cross periodic boundaries in a static or deforming non-orthogonal simulation box (triclinic symmetry).

Thanks to Matt Petersen and Matt Lane (SNL) for help with this problem.

22 Aug 2007

Added some single() routines in angle potentials in preparation for a Monte Carlo bond-swapping capability that will be added soon. Also some clean-up for the new AI-REBO pair potential. Also an upgraded master Makefile that adds a few options; type "make" to see the list of possible targets.

Thanks to Pieter in 't Veld (SNL) for the Makefile upgrade.

17 Aug 2007

Fixed a one-line bug with atom_style hybrid when atom data was communicated bewtween procs.

Thanks to Kelly Anderson (Procter & Gamble) for turning up the problem.

16 Aug 2007

Fixed a one-line typo with velocity creation when zeroing of angular momentum is requested. This option is off by default and is probably only something that would be noticed for non-periodic systems.

Thanks to Sourav Ghosh for providing an input script that illustrated the problem.

15 Aug 2007

Changed the restart2data tool to write out atom coords and velocities at high precision (12 digits instead of the default 6). This should make restarts from a text data file closer to true restarts from a binary file.

14 Aug 2007

Posting new lo-level Makefiles (in src/MAKE) for Linux boxes with g++ or the Intel compiler. These now access a more standard location (/usr/local) for the FFTW and MPICH libraries. See this section of the manual for more info on how a lo-level Makefile is used in building LAMMPS.

13 Aug 2007

Added an AI-REBO potential for C and H (e.g. carbon nanotubes). This is primarily the work of Ase Henry (MIT), who worked on this as a summer project while visiting Sandia. Thanks also to Steve Stuart (Clemson) for providing some of his group's code to compare results with.

10 Aug 2007

Enhanced the read_restart command when using the "*" wildcard in filenames, to allow the restart files to be in another directory (as specified by full path name of the file in the input script). The "*" wildcard means LAMMPS will scan all files matching the pattern to pick the last one. Before, this only worked if the files were in the current working dir.

Thanks to Dan Lussier for pointing out this deficiency.

9 Aug 2007

Fixed a bug with the fix deform command which was not allowing it to work with the start and stop options of the run command to smoothly deform the simulation box size or shape across multiple consecutive runs.

Thanks to Kedernath Kolluri (U Mass) for pointing out there was a problem.

8 Aug 2007

Added an EDGE option when specifying region sizes with the region command. The INF option now means a very large bound which will always encompass the simulation box even if it changes size. The EDGE option means the current box boundary, which will not track the box boundary if the box size changes during a simulation.

7 Aug 2007

Fixed a bug where variables in the input script that were used up before a label was defined (for a jump loop) were not being skipped properly.

Thanks to Tamara Rogers for pointing out the issue.

6 Aug 2007

Fixed a bug that caused problems when the simulation box was non-orthogonal and periodic in 2 dimensions, but shrink-wrapped and non-periodic in the 3rd dimension.

Thanks to Benjamin Liu (Ames Lab) for identifying the problem.

3 Aug 2007

Enabled the use of rigid bodies (see the fix rigid command) with the fix deform command, e.g. for non-equilibrium MD (NEMD) simulations. This requires remapping the center-of-mass of the rigid bodies when the simulation box changes size or shape.

20 July 2007

Added an option to the fix temp/rescale command to allow the rescaling to only be applied to selected velocity components. Likewise the current temperature is computed only on those components. A couple of the example problems were changed to use this option (friction, meam, shear).

Thanks to Shigenobu Hirose for suggesting this enhancement.

19 July 2007

Fixed a bug in the new fix deform command that was preventing it from working correctly with other fixes that control other dimensions of the box (e.g. fix npt or fix nph).

Thanks to Liang Wan (Chinese Academy of Sciences) for identifying the precise problem and suggesting a fix for it.

18 July 2007

Fixed a bug in the restart2data tool that was preventing angle, dihedral, improper force-field data from being written to the data file.

Thanks to Arnab Chakrabarty for identifying the problem.

17 July 2007

Fixed a one-character bug with the lattice spacing command where the command used the keyword spacings and the doc page says spacing. The doc page version is what I wanted.

Thanks to Doug Spearot (U Arkansas) and Giles Kimminau (Oxford) for pointing out the inconsistency.

12 July 2007

Fixed two one-line bugs with the strings storing filenames for multi-processor binary restart files.

Thanks to Marcin Wojdyr for pointing out the issue.

9 July 2007

Modified the fix gravity command to be more logical for 2d simulations.

IMPORTANT NOTE: Made a minor modification to the syntax of this command, so that the magnitude of gravity (or acceleration) is now specified for every option. For granular (LJ) systems this should normally be 1.0.

8 July 2007

Fixed a one-line bug in the restart2data tool that writes an incorrect line when a data file is generated for a non-orthogonal (triclinic) simulation box.

Thanks to David Heine (Corning) for identifying the problem.

7 July 2007

Fixed some inconsistencies with how thermodynamic pressure was computed for 2d systems and how the 2d pressure components were used by the fix npt and fix nph commands to regulate the system area.

Thanks to Dongsheng Zhang (Northwestern U) for pointing out the problem.

6 July 2007

Extended the fix gran/diag command to work with 2d systems, not just 3d.

Thanks to Katha Reddy for pointing out this deficiency.

5 July 2007

Changed equal-style variables back to the way they used to be, where there are reset each time the variable command is encountered in the input script. This allows them to be reevaluated within a loop. It also means you shouldn't use them as placeholders for variables set (optionally) from the command line via the -var switch; use index-style variables instead.

Thanks to Karel Jelinek for pointing out this issue.

4 July 2007

Rutuparna Narulkar (OSU) sent a new version of his Tersoff potential file for Si and C.

3 July 2007

Several folks have asked for the ability to include bond interactions in the computation of per-atom stress and energy. I realized the lo-level single bond routines were already in LAMMPS for another feature, so have enabled its inclusion as part of a more general compute stress/atom and a new compute ebond/atom command. As before, these quantities be easily accessed via keywords in the "dump custom" command to print the values as attributes of atom snapshots.

Note, however, that this is an incomplete solution. Per-atom energy and stress still does NOT include angle, dihedral, improper, or long-range Coulombic contributions. Also, several pairwise potentials are not setup to calculate per-atom contributions, notably Tersoff, Stillinger-Weber, MEAM, and granular potentials.

The solution to these issues awaits a more general form of bookkeeping that logs the per-atom contributions these potentials create. That's on the LAMMPS to-do list, but won't happen soon.

2 July 2007

Fixed a small glitch in the create_atoms command that was causing (in special cases) slightly different numbers of atoms to be created due to round-off near periodic box boundaries.

Thanks to Zhenhai Xu for pointing out the problem.

1 July 2007

Changed a few lines in the dump code for XTC formatted files to allow it to compile without glitches on more machines.

Also updated the doc pages for the improper styles to clarify how to order the 4 atoms in the topology section of the data file for each improper interaction.

Thanks to Shigenobu Hirose for highlighting the dump XTC issue.

30 June 2007

Added a change_box command to allow the simulation box to be toggled from orthogonal to non-orthogonal (triclinic) and vice versa.

Thus the following can now be done: run an initial equilibration simulation in an orthogonal box, toggle the box to non-orthogonal, and then run a non-equilibrium MD (NEMD) simulation with deformation via the fix deform command.

29 June 2007

Added a displace_box command to allow the size and/or shape of a simulation box to be changed. This command does it directly in one step; it is similar conceptually to the fix deform command which does it gradually while a simulation runs.

The new command is useful for dilating or contracting one or more dimensions of the box, or applying an initial strain by tilting a non-orthogonal (triclinic) box.

The command has options to remap all (or some) of the atoms into the new box, which is the typical mode of use.

28 June 2007

Enabled the use of the fix ave/spatial command with non-orthogonal (triclinic) simulation boxes. The layers over which quantities are spatially averaged are tilted slices parallel to the faces of the tilted simulation box.

27 June 2007

Added some How-to sections to the manual on how to setup non-orthogonal, non-equilibrium MD, and aspherical particle simulations. Also more details were added to the doc pages for each pair style and fix style as to how it interacts with restart files and the various pair_modify and fix_modify options. Also, details were addred for which fixes are invoked by energy minimization.

Since these represent many changes to the doc pages, a rebuilt version of the PDF manual is included in the patch.

26 June 2007

Fixed a one-line bug in the restart2data tool that will prevent it from creating an ASCII data file from a binary restart file.

Thanks to Arnab Chakrabarty for identifying this problem in the new release.

25 June 2007

Added some benchmark log files for parallel runs that didn't make it into the 22 Jun 07 release. Also udpated a few of the doc pages that weren't fully up-to-date with the new release. Regenerated the doc/Manual.pdf so it is also up-to-date with the new release.

15 June 2007

Mikhail Mendelev (Ames Lab) has provided several new EAM potential files that are included in this patch. Some of them are single element potentials, some are alloy potentials; all are in the Finnis-Sinclair format due to its more general specification of the pair-potential portion of the EAM.

With this patch, I also changed the naming convention for the potential files to be more readable. One or more capitalized element names are followed by ID text (if it exists, e.g. mm for Mikhail Mendelev), with a suffix that indicates which style of LAMMPS potential it is (eam, eam.fs, tersoff, etc). Also, many of the potential files have citation info in their header section.

8 June 2007

Mikhail Mendelev (Ames Lab) sent a Finnis/Sinclair EAM allloy potential for Fe and P that is included in this patch. More to follow.

7 June 2007

Fixed a one-line bug in the compute temp/ramp command with respect to z-direction velocity ramps.

Thanks to Dave Heine (Corning) for identifying the bug.

6 June 2007

Fixed a memory initialization bug with the lattice command.

Thanks to Vladimir Stegailov for stumbling into this problem.

31 May 2007

Fixed a bug in the new fix heat command. The kinetic energy used in this fix had units inconsistent with those of the other energies used in this fix.

Thanks to Harald Geyer for pointing out the problem.

23 May 2007

Fixed bugs in the compute temp/ramp and compute temp/region commands. An incorrect MPI_Allreduce line was causing a seg fault to occur (similar to 22 May 2007 bug fix).

Thanks again to Dave Heine (Corning).

22 May 2007

Fixed a bug in the compute temp/partial command. An incorrect MPI_Allreduce line was causing a seg fault to occur.

Thanks to Dave Heine (Corning) for pointing out the problem.

14 May 2007

Added a compute coord/atom command to calculate the coordination number of any atom; i.e. the number of neighbors less than a cutoff distance away. This quantity can be dumped to a file via the dump custom command.

8 May 2007

Left a debug line in the neighboring file. This patch removes it.

Thanks to Liang Wan (Chinese Academy of Sciences) for pointing out the problem.

4 May 2007

Fixed a bug in the restart2data tool with the ordering of some class 2 dihedral potential coefficients it wrote into the resulting data file.

Thanks to James Palko for pointing out the problem.

3 May 2007

Added an if command to allow two values to be compared and one of two specified commands to be executed depending on the result. Typically the "values" would be the result of a variable evaluation.

2 May 2007

Fixed a bug in the fix ave/spatial command with how atom positions were accessed to do the spatial binning.

Thanks to Harald Geyer for identifying the problem.

1 May 2007

Changed the way variables are set via the command-line switch "-var" back to the way it used to be, where they become index style variables instead of equal style variables. This allows them to be set to arbitrary strings, e.g. a filename, instead of evaulating them as equations. This got changed by one of the recent variable-related patches. Not sure why I thought it was a good idea to do this!

Thanks to Lutz Maibaum for pointing out this issue with the previous change.

30 Apr 2007

Another change to the restart2data tool so that it properly creates the "Pair Coeffs" section in the resulting data file for just the pair styles that have coefficient info in the restart file.

Thanks to James Palko and James Ramsey for help resolving this issue.

29 Apr 2007

Tweaked the energy minimizer stopping criterion to make it more robust. Also added support in the minimizer for static triclinic (non-orthogonal) simulation boxes.

28 Apr 2007

Added a dummy MPI routine to the STUBS library needed for building LAMMPS as a serial (non-MPI) code. The new routine is needed with the 26 Apr 2007 upgrade.

Thanks to Craig Maloney (UC Santa Barbara) for pointing out the routine was missing.

27 Apr 2007

Fixed a few one-line bugs with processing certain options of the thermo_modify command and with how the restart command reallocates its memory when used multiple times.

Thanks to Liang Wan (Chinese Academy of Sciences) for identifying these bugs.

26 Apr 2007

NOTE: Sorry, there were some glitches in the patch file and upgrade tarball for this release over the 21-22 Apr weekend. As of Mon AM, 23 Apr, the problems are fixed.

Removed the restriction, for parallel simulations, that the displace_atoms command move atoms a distance no further than one procssor's sub-domain size. Now the command can be used to move atoms arbitrarily far, though you must still be cautious not to move atoms on top of each other.

22 Apr 2007

Paul Crozier and Ed Webb (Sandia) have added a fix heat option to allow energy to be continually added/subtracted to a group of atoms.

21 Apr 2007

Allow dihedral style charmm to be used without a corresponding pair style charmm. This is OK to do when the 1-4 weighting factors defined by the dihedral are all 0.0 and is useful since this dihedral style can also be used for the AMBER force field.

Thanks to Nick Suek (Iowa State Univ) for this suggestion.

20 Apr 2007

Fixed a one-line bug in the data2xmovie tool with how it read dump files formatted for a particular atom style.

Thanks to James Ramsey for identifying this bug.

19 Apr 2007

Changed the restart2data tool so it doesn't output an empty "Pair Coeffs" section into the resulting data file for pair styles that don't store any coefficient info in the restart file anyway.

Thanks to James Ramsey for pointing out this problem.

18 Apr 2007

Added a compute variable command to allow a quantity computed by an equal-style variable to be time averaged and output by fix ave/time command.

Basically this allows time-averaging of any user-defined quantity you can describe with a variable equation. Similar to how compute variable/atom can be used to define a per-atom quantity via a variable equation and then be used with dump custom or fix ave/spatial to output the quantity to a dump file or spatially (and time) average it.

6 Apr 2007

Fixed a small bug with the thermo_modify format N string command. The affected column number was off by one.

2 Apr 2007

Added an error message to the buck pair_styles to prohibit setting rho to values <= 0.

30 Mar 2007

Fixed a small bug with how restart files are written when atom_style hybrid is used.

Thanks to Kwanghee Kim (Samsung) for running into the bug.

29 Mar 2007

A recent patch added a new MPI call to the communication routines. The MPI STUBS library, used to compile LAMMPS for a serial machine without MPI, needs to have a stub version of this routine added. This patch provides it.

27 Mar 2007

Added an error message to prevent energy minimization from being used with fix shake. Bonds with SHAKE constraints were not previously supported by minimization, but having a SHAKE fix defined actually causes problems, since the fix turns off bonds that should be included in the potential energy.

Thanks to Vega Lew (Nanjing Univeristy of Technology) for highlighting the problem.

26 Mar 2007

Pieter in 't Veld (Sandia) has helped us implement new neighboring and communication algorithms which are more efficient for systems with widely disparate particle sizes/cutoffs, e.g. colloidal systems. The new options can be invoked via the multi style of the neighbor and new communicate commands.

25 Mar 2007

Added a fix nve/noforce command to allow atom coords to be updated by their velocity, but forces on the atoms are ignored, so that their velocities are unchanged. This can be useful for wall or other atoms, so that forces on those atoms do not need to be modified to move them in a prescribed fashion. The forces can thus be dumped or otherwise queried.

Also added a fcm() option for equal-style variables so that the total force on a group of atoms can be printed during thermodynamics or via fix print.

24 Mar 2007

Added code to the fix setforce command so that the fix stores the total force on the group of atoms before it is reset. The components of the force can then be printed during thermodynamics with thermo_style custom, using the f_ID[N] syntax, where ID is the fix-ID and N = 1,2,3. This allows you, for example, to have a stationary or moving wall of atoms, yet still compute the force imparted to the wall by the remainder of the system.

23 Mar 2007

Fixed a small memory leak in the MEAM potentials invoked by pair_style meam. Also changed a couple of the Fortran Makefiles for the MEAM library to use -O rather than -g, which provides a speed-up.

Thanks to Greg Wagner (Sandia) for providing the patch.

22 Mar 2007

Fixed a bug in pair_style meam that arose when the recent triclinic (non-orthogonal) box upgrade changed how periodic boundary conditions are handled. The interface to the pack routine in MEAM inadvertantly didn't get changed b/c it was in a package.

Thanks to Hou Huaiyu (Nanjing University, China) for first noticing the issue.

21 Mar 2007

Fixed a one-line bug affecting how a variant of the group command is parsed that allowed a particular erroneous command to crash the code instead of generating an error.

Thanks to David Seveno (Université de Mons-Hainaut, Belgium) for identifying the bug.

20 Mar 2007

Fixed a bug with how class 2 potentials are specified in the context of a hybrid simulation. The extra angle,dihedral,improper coefficients required by class 2 were overriding the setting of coefficients to the other potential(s) used in hybrid mode.

Thanks to Hai Dong for identifying this issue.

19 Mar 2007

Fixed a bug in the dump custom command when the etotal keyword is used to dump per-atom energy (potential + kinetic). It had to do with how the compute etotal/atom object was created by the dump.

Thanks to Liang Wan (Chinese Academy of Sciences) for pointing out the bug.

16 Mar 2007

Yet another bug fix for volume-changing fixes for orthogonal and non-orthogonal boxes. This must be the last one!

15 Mar 2007

The 7Mar07 patch to enable non-orthogonal simulation boxes inadvertently broke fixes that change the box volume, such as "fix npt" and "fix volume/rescale". This was due to deficiencies in how atoms were communicated across changing periodic boundaries. This patch should fix those problems.

Thanks to several users for identifying the problem.

13 Mar 2007

Fixed a one-line typo with how dump custom performs threshholding output based on the centro-symmetry parameter.

Thanks to Liang Wan (Chinese Academy of Sciences) for finding the bug.

12 Mar 2007

Fixed a bug with how restart files were written for atom_style molecular.

Thanks to Jiwu Liu (MSU) for identifying the bug.

9 Mar 2007

Arun Subramaniyan from Purdue has written some MATLAB scripts which can post-process LAMMPS output. This patch adds them to a matlab subdir in the tools directory. There is a README.pdf included with the scripts.

The scripts include readers for log and dump files, a reader for radial distribution output from the fix rdf command, a reader for EAM potential files, and a converter that reads LAMMPS dump files and produces CFG files that can be visualized with the AtomEye visualizer.

8 Mar 2007

Fixed a bug with neighbor list building for triclinic boxes with respect to how far the neighbor bins extend in tilted space. Probably only affects simulations with large tilt factors.

7 Mar 2007

Pieter in 't Veld (Sandia) has done considerable work to enable LAMMPS to use non-orthogonal simulation boxes (parallelepipeds with triclinic symmetry). This patch is the result. See the region prism, read_data, create_box, and create_atoms commands for details on how to specify a tilted box and to define atoms within it. The lattice custom command can also be used with create_atoms to define arbitrary lattices that fill triclinic boxes.

Currently, certain LAMMPS features can NOT be used in triclinic mode, but we plan to enable them one by one in the future. These include Kspace solvers (Ewald or PPPM), fix npt and fix nph, fix ave/spatial (in tilted dimensions), and fix volume/rescale and fix uniaxial. The NPT and NPH integrators need a Parinello/Rahman option to enable all 6 box parameters to change during a simulation (3 box sizes and 3 tilt factors). We plan to replace the volume/rescale and uniaxial fixes with a more general "fix deform" that can change any of the 6 triclinic box parameters in specified ways. This will also enable a continuous shear strain to be imposed on a periodic box, e.g. to compute viscosity in a polymer melt. We also plan to add options to enable various kinds of NEMD (non-equilibrium MD) and SLODD dynamics simulations.

As part of this patch, the lattice user commmand was changed to lattice custom to be consistent with other commands that have a custom style. Also a lattice spacing option was added to give more control over how geometric regions and simulation boxes are specified in terms of an underlying lattice.

As part of this patch, various wall boundary conditions (fix wall/lj93, fix wall/126, fix wall/reflect, fix wall/gran) are now not allowed in periodic dimensions (which didn't really make sense anyway). This also effectively disallows them in tilted dimensions of triclinic boxes since those dimemsions must be periodic.

6 Mar 2007

The folks at the Korea Institute of Science and Technology (KIST) sent new versions of their EAM alloy potential files for AlCu and CoAl that include citations for the potential originators in the file header.

23 Feb 2007

Vikas Varshney (Wright Patterson AFB) has written a post-processing C code called thermo_extract that reads one of more LAMMPS log files and extracts a thermodynamic value (e.g. Temp, Press). It spits out the time,value as 2 columns of numbers so the tool can be used as a quick way to plot some quantity of interest.

22 Feb 2007

Fixed a memory bug with rRESPA neighbor lists being cleaned up after a run. Affects subsequent non-rRESPA runs.

Thanks to Axel Kohlmeyer (U Penn) for identifying the bug.

21 Feb 2007

A new kind of atom-style variable has been added which specifies a formula to compute for each atom. This can be used in conjunction with a new compute variable/atom command which will invoke the formula to calculate per-atoms quantities. This info can be dumped as part of atom snapshots via the dump custom command or spatially averaged via the fix ave/spatial command.

Basically, the new variable style lets you write a formula that computes a customized per-atom property without having to add a new compute Class to LAMMPS. The formula evaluation is pretty fast, since the formula is stored as a parse tree.

For example, these 3 commands would compute the xy kinectic energy of atoms in the flow group and include the values in dumped snapshots of the system.

variable xy atom mult(0.5,add(mult(vx[],vx[]),mult(vy[],vy[])))
compute ke flow variable/atom xy
dump 1 flow custom 1000 dump.flow tag type x y z c_ke 

If the dump line were replaced by

fix 1 flow ave/spatial 100 1000 z lower 2.0 ke.profile compute ke 

then the xy kinetic energy values would be averaged by z layer and the layer averages written periodically to the file ke.profile.

20 Feb 2007

Pieter in 't Veld (Sandia) helped us create 2 new fixes, a fix ave/time for time-averaging, and a fix ave/spatial for spatial-averaging.

The time averaging works on any compute quantity in LAMMPS, like temperature or pressure, and allows you to sample it at one frequency, average it over many samples, and write the result to a file.

The spatial averaging works on density (mass or number), or atom quantities (like velocity components), or any compute quantity that calculates a per-atom value. The command lets you specify "layers" in your simulation box of a desired thickness and orientation. The layer averages are computed over all the atoms in each layer and multiple time samples and the results are written to a file.

The code for these 2 fixes will be in the 21 Feb 2007 patch.

19 Feb 2007

Added a warning when fix wall/reflect is not used as the last time integration fix in an input script. This is it normal usage since it modifies atom positions (to put them back inside the simulation box) after time integration has occurred. If not used this way, atoms can be lost.

17 Feb 2007

For some reason, the Makefile.solaris for Sun Solaris had leading spaces in it instead of tabs, which "make" doesn't like. This patch fixes it.

Thanks to Bhavin Vadgama (Auburn U) for stumbling into this problem.

16 Feb 2007

Fixed a small bug in the reading of restart files which could affect non-periodic systems restarted in parallel.

Thanks to Aidan Thompson (Sandia) for finding this bug.

15 Feb 2007

Added a step-size bound to the secant line minimizer invoked by the conjugate gradient and steepest-descent energy minimizers in LAMMPS. This seems to make the secant algorithm more robust for some problems.

Thanks to David Olmsted (Sandia) for devising this upgrade.

13 Feb 2007

Fixed a bug in the read_restart command which occurs when a force field style (pair, bond, etc) has already been defined in the input script, but the restart file overrides it with a new style definition. The old style was deleted twice which could cause memory problems.

Thanks to Pieter in 't Veld (Sandia) for finding this bug.

1 Feb 2007

Paul Crozier has updated the units used by LAMMPS to be consistent with this document: http://physics.nist.gov/cuu/Constants/Table/allascii.txt

This meant small changes (less than 1 part in 1.0e-5) in some conversion constants stored by LAMMPS. When comparing runs made before and after the changes, you may see tiny differences in thermodynamic output, leading to the usual divergence of trajectories over long timescales.

These changes will be included in the next major release of LAMMPS, planned for release in the next week or so.

31 Jan 2007

The 1 Nov 06 change in the EAM potentials introduced a bug into the bookkeeping for the pairwise potential term for alloy interactions. This could be an issue when modeling alloy systems with either pair_style eam, eam/alloy, or eam/fs.

This bug fix will be included in the next major release of LAMMPS, planned for release in the next week or so.

Thanks to Hoseok Nam (Princeton U) for identifying the bug.

30 Jan 2007

The thermo_style custom, dump custom, and variable equal commands have been enhanced for greater flexibility and to make it easier for users to compute and print customized information as part of thermodynamic or dump output.

As part of this change, several computations within LAMMPS have been aggregated as "styles" in a new "compute" command. Compute styles include temperature and pressure calculations, certain energy calculations invoked as options to the thermo command, and per-atom computations like energy and stress, as invoked by the dump custom command. LAMMPS creates several Compute objects of its own, but input scripts can also create them and new compute styles can be easily added by users, just as pair or fix styles are added now.

The thermo_style custom command now has additional keywords for references to fixes, compute objects, and variables.

Dump custom commands now have additional keywords for references to compute objects.

Equal-style variables now can reference compute objects, as well as other variables.

For users, this means a few minor syntax changes in LAMMPS input scripts. The "temperature" and "temp_modify" commands have been deprecated. They are replaced by more general "compute" and "compute_modify" commands. The "thermo", "thermo_modify", "dump custom", and "variable equal" commands have an extended syntax.

These features will be included in the next major release of LAMMPS, planned for release in the next week or so.

29 Jan 2007

The way atom styles are implemented in LAMMPS has been changed, to enable easier addition of new styles and easier use of multiple styles via the atom_style hybrid command. Unlike before, coding a new atom style, now requires no additional coding to the hybrid style to enable the new style to work in a hybrid mode.

One syntax change for input scripts is that the atom_style molecular command now includes charge, and thus the "atom_style full" command has been deprecated.

This feature will be included in the next major release of LAMMPS, planned for release in the next week or so.

28 Jan 2007

James Fischer (High Performance Technologies, Inc) and his collaborators David Richie and Vincent Natoli (Stone Ridge Technologies) have written optimized versions of several commonly used pair styles in LAMMPS. The resulting speed-up (in the portion of time spent computing pair interactions) depends on the processor LAMMPS is running on and the size of problem being run, but can be between 5% and 20%.

The new optimized styles are

These new pair styles will be included in a new OPT package in the next major release of LAMMPS, planned for release in the next week or so.

27 Jan 2007

Greg Wagner (Sandia) has added his modified embedded atom method (MEAM) library to LAMMPS as a new pair_style meam. This is implemented as a F90 library that can be compiled separately and linked to LAMMPS.

This library will be included in a new MEAM package in the next major release of LAMMPS, planned for release in the next week or so.

26 Jan 2007

The top-level structure of LAMMPS has been altered to remove a few global variables, using a restructuring idea proposed by Ben FrantzDale at RPI. This means when LAMMPS is used as a library, multiple copies of LAMMPS "objects" can be instantiated and used simultaneously. All the LAMMPS classes have also been put into their own namespace, again to facilitate LAMMPS use as a library. See this section of the manual for additional info on coupling another code to LAMMPS as a library.

This feature will be part of the next major release of LAMMPS, planned for release in the next week or so.

12 Jan 2007

Fixed a bug in the minimizer that occurs if some proc has 0 atoms when the minimizer starts up.

Thanks to Dan Lussier (Oxford Univ) for finding the bug.