Bug fixes and new features added to the 22 Jan 2008 version of LAMMPS. These are all part of the 21 May 2008 release, as discussed here.
20 May 2008
Axel Kohlmeyer (U Penn) sent some bug fixes for his USER-CG-CMM package which has coarse-grained models of various kinds.
Here is what he says is in the patch:
This contains two important bugfixes for the CMM cg models:
This patch file can be applied to the 19 May 2008 version. This is the list of changed files.
19 May 2008
Axel Kohlmeyer (U Penn) has written a new fix smd command for steered MD.
This patch adds it as a user package: USER-SMD.
From the README file in src/USER-CG-CMM:
Please find attached a fix that I was asked to write for our "coarse-grainers". They need free energy profiles for their parametrization and this seems to work best. The code basically is a version of "fix spring" on steroids (constant velocity pulling with velocity set to zero should recover fix spring), but I found it cleaner to have it in a seprarate class since otherwise the result may become too convoluted for people that only want to use fix spring.
This patch file can be applied to the 18 May 2008 version. This is the list of changed files.
18 May 2008
Added a fix bond/swap command that will perform Monte Carlo swapping of bonds between two nearby polymer chains to effectively induce large conformational changes faster than normal molecular dynamics would. See the reference in the doc page for details of how it works and how it can be used.
This patch file can be applied to the 17 May 2008 version. This is the list of changed files.
17 May 2008
Also need an updated restart2data tool for the two new GROMACS pair potentials.
This patch file can be applied to the 16 May 2008 version. This is the list of changed files.
16 May 2008
Mark Stevens (Sandia) has added two GROMACS compatible potentials, pair_style lj/gromacs and pair_style lj/gromacs/coul/gromacs. These apply a switching function to the LJ and Coulombic terms to bring them smoothly to zero at the cutoff distance. They are often used with the coarse-grained models of Marrink; see Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004).
This patch file can be applied to the 15 May 2008 version. This is the list of changed files.
15 May 2008
Added trigonometric functions and a base-10 log to the list of supported math functions in variable equations.
This patch file can be applied to the 14 May 2008 version. This is the list of changed files.
14 May 2008
Added a fix thermal/conductivity command which uses the Muller-Plathe algorithm to exchange kinetic energy between particles and induce a temperature gradient in a system. The thermal conductivity can be deduced, as explained in the doc page for the new command. This is conceptually similar to the fix viscosity command for measuring the viscosity via the Muller-Plathe algorithm.
This patch file can be applied to the 10 May 2008 version. This is the list of changed files.
Thanks to Ed Maginn (U Notre Dame) for teaching me about the method.
10 May 2008
Made some small changes to the output format for text files written out by various fixes, such as fix msd or fix gyration, so that non-numeric lines (e.g. header lines) have leading "#" characters. This should make the files easier to read in by various plotting programs.
This patch file can be applied to the 28 Apr 2008 version. This is the list of changed files.
Thanks to Ahmed Ismail (Sandia) for this suggestion.
28 Apr 2008
Added the keywords radius, omegax, omegay, and omegaz to the dump custom command. These are applicable to extended spherical and aspherical particles.
This patch file can be applied to the 21 Apr 2008 version. This is the list of changed files.
21 Apr 2008
Fixed a couple 1-character bugs in the angle_style class2 command, introduced before the 22Jan08 release, when per-atom energy and virials were coded.
This patch file can be applied to the 16 Apr 2008 version. This is the list of changed files.
Thanks to Gaurav Pranami (ISU) for sending some files that showed up the problem.
16 Apr 2008
Added a Langevin thermostatting term to the pair_style lubricate potential. Also cleaned up some of the units issues associated with the lubrication and thermostatting forces, as previously amended by the 12Apr08 patch. Hopefully all the units associated with this potential are now correct.
This patch file can be applied to the 15 Apr 2008 version. This is the list of changed files.
15 Apr 2008
Changed some attributes of the energy minimizer in LAMMPS as invoked by the minimize, min_style, and min_modify commands. The new version appears to be more robust and also do a better job at minimizing to the requested tolerance(s). Unfortunately, despite this patch's release date, it cannot be used to minimize your tax payment (US users only).
The main change is to replace the previous line-search algorithm options (secant, scan) with a backtracking routine that performs better and more robustly. "Better" means it is often more effective at reducing the energy and zeroing the forces. It is now the only line search option, so several of the keywords previously settable via the min_modify command have been removed.
The cg/fr minimize style has also been removed. The standard CG style (Polak-Ribieri) seems to do better on atomistic problems.
NOTE: The most visible change to users is the format of the minimize command, which now includes a force tolerance, in addition to the energy tolerance. See the doc page for details. The page also explains more about how the minimizer works, what the various stopping criteria are, and how to interpret the final output provided by the code when the minimization ends.
This patch file can be applied to the 14 Apr 2008 version. This is the list of changed files.
Thanks to Aidan Thompson and Denis Ridzal (Sandia) for help in formulating and testing the new minimizer algorithms.
14 Apr 2008
Axel Kohlmeyer (U Penn) sent an upgrade to the lmp2cfg tool to enable it handle dump files containing only a part of the system. See the README file for details.
This patch file can be applied to the 13 Apr 2008 version. This is the list of changed files.
13 Apr 2008
Gerolf Ziegenhain sent some code snippets that add a hcp lattice to the options available with the lattice command.
This patch file can be applied to the 12 Apr 2008 version. This is the list of changed files.
12 Apr 2008
Amended the units for viscosity, input as part of the pair_style lubricate command, to be accurate for all units choices in LAMMPS.
This patch file can be applied to the 11 Apr 2008 version. This is the list of changed files.
11 Apr 2008
Enhanced the fix wall/gran command to allow the wall to impose a shear force on the granular particles via the shear keyword.
Also fixed 2 bugs with the command. The computed torques on particles by the wall for 2 of the pair_style granular options (no_history and hertzian) did not include a particle radius in the torque calculation. And the velocity of wiggling walls (via the wiggle keyword) was off by a factor of the timestep size.
This patch file can be applied to the 10 Apr 2008 version. This is the list of changed files.
Thanks to Jin Sun (Iowa State) and Justin Garvin (USAF AFRL) for pointing out these issues.
10 Apr 2008
Fixed a small bug with the fix addforce and fix aveforce commands, that wasn't allowing the total force before the constraint is applied to be accessed by thermodynamic output.
This patch file can be applied to the 9 Apr 2008 version. This is the list of changed files.
Thanks to Liang Wan for calling attention to this.
9 Apr 2008
Fixed a bug with the dump xyz and xtc commands that could occur in parallel if the number of atoms changed after the time the dump file was created, e.g. due to the delete_atoms command.
This patch file can be applied to the 8 Apr 2008 version. This is the list of changed files.
Thanks to Chengxiang Li for identifying there was a problem.
8 Apr 2008
Added a warning when any atoms are time integrated by more than one fix. This is probably an error and can happen when users define multiple time integration fixes in one input script. A typical mistake (which I've made a few times) is to run equilibration with NVT, followed by dynamics with NVE, and forget to unfix the fix nvt command.
This patch file can be applied to the 7 Apr 2008 version. This is the list of changed files.
7 Apr 2008
Added a howto section to the manaul on the topic of thermostatting, barostatting, and computation of temperature. It should provide a big-picture overview of different ways to do these operations in LAMMPS.
This patch file can be applied to the 6 Apr 2008 version. This is the list of changed files.
6 Apr 2008
This patch provides an updated version of the lmp2cfg tool, which does a better job of reading general box sizes from LAMMPS dump files.
This patch file can be applied to the 5 Apr 2008 version. This is the list of changed files.
Thanks to Axel Kohlmeyer (U Penn) for providing the fix.
5 Apr 2008
Fixed a bug in the recently upgraded fix viscosity command that could affect parallel execution.
This patch file can be applied to the 4 Apr 2008 version. This is the list of changed files.
Thanks to Dave Heine (Corning) for identifying the problem and providing an input script that showed it up.
4 Apr 2008
Axel Kohlmeyer (U Penn) provided some updates to the scripts in his lmp2vmd tool.
This patch file can be applied to the 3 Apr 2008 version. This is the list of changed files.
3 Apr 2008
The 1Apr08 patch introduced a round() function which turns out not to be in the standard C math library, though many compilers support it. This patch replaces the library call with a macro definition that does the same thing. So there should be no portablility problems.
This patch file can be applied to the 2 Apr 2008 version. This is the list of changed files.
2 Apr 2008
Wrote some simple Python scripts that wrap Pizza.py tools for performing common LAMMPS post-processing tasks:
These scripts are in lammps/tools/python along with the needed Pizza.py modules. Additional scripts can be added over time by developers or user contributions. See the README file in lammps/tools/python for details of how to use them.
This patch file can be applied to the 1 Apr 2008 version. This is the list of changed files.
1 Apr 2008
Gerolf Ziegenhain added 3 new math functions for formulas supported by the variable command, namely ceil(), floor(), and round(), as in the C math library. These allow you to convert floating points values to integers, rounding up, down, or in the usual way, which can be a useful conversion to perform in an input script.
This patch file can be applied to the 31 Mar 2008 version. This is the list of changed files.
31 Mar 2008
Enhanced the fix viscosity command with some options that allow more fine-grain control over how much momentum is exchanged between atoms if different layers of the simulation domain. This allows a wider range of effective shear rates and viscosities to be modeled.
This patch file can be applied to the 30 Mar 2008 version. This is the list of changed files.
Thanks to Matt Petersen (Sandia) for help in designing/testing these changes.
30 Mar 2008
Added a couple of scripts provided by Axel Kohlmeyer (U Penn) to the tools directory as part of a new lmp2vmd tool. These are for converting info in a LAMMPS data file to a format suitable for visualizing with VMD. Axel says more scripts are to come. Maybe others want to contribute LAMMPS -> VMD tools as well.
This patch file can be applied to the 28 Mar 2008 version. This is the list of changed files.
28 Mar 2008
Updated the restart2data tool to skip pair_style airbebo. Potentials like this that read their data from a file are not stored in the restart file. They just need to be skipped appropriately.
This patch file can be applied to the 27 Mar 2008 version. This is the list of changed files.
27 Mar 2008
Fixed a one-line bug with pair_style yukawa, where it was missing a symmetrization of the pre-factor A for differing atom types.
This patch file can be applied to the 26 Mar 2008 version. This is the list of changed files.
Thanks to Stephanie Teich-McGoldrick (U Mich) and Ahmed Ismail (Sandia) for figuring this out.
26 Mar 2008
Updated the restart2data tool to support bond_style quartic and angle_style cosine/delta potentials.
This patch file can be applied to the 24 Mar 2008 version. This is the list of changed files.
Thanks to Vikas Varshney (WPAFB) and Axel Kohlmeyer (U Penn) for sending code snippets for these additions.
24 Mar 2008
Added a line to tools/restart2data.cpp to allow it to skip pair_style hybrid/overlay, as it should.
This patch file can be applied to the 23 Mar 2008 version. This is the list of changed files.
Thanks to Dongsheng Zhang for pointing this out.
23 Mar 2008
Forgot the files for the new fix nvt/sphere and fix npt/sphere commands in the 22Mar08 patch. This patch adds them.
This patch file can be applied to the 22 Mar 2008 version. This is the list of changed files.
22 Mar 2008
Enhanced the computes that calculate temperature, thermostatting fixes, and time integrators that use temperature control to be more flexible and consistent. This is for point particles, extended spherical particles, and aspherical particles. Also Added new compute ke and compute erotate/asphere commands.
These compute commands calculate temperature. All but the first 3 calculate velocity biases that are removed when computing a temperature. Temp/sphere and temp/asphere now allow computes that calculate such a biased temperature to be included as an additional argument, so that the translational velocity of extended spherical or aspherical particles can also be altered in prescribed ways.
Four thermostatting methods are available: Nose-Hoover, Berendsen, Langevin, and direct rescaling. Nose/Hoover works on rotational degrees-of-freedom for spherical and aspherical particles; the others only work on translational degrees of freedom. Any of these methods can use temperature computes that remove bias for the purpose of computing the current temperature and performing thermostatting only on the remaining thermal velocity. For non-equilibrium MD simulations., there is also a SLLOD fix which does NVT thermostatting in conjunction with the SLLOD equations of motion. These are the relevant fix commands:
Note that only the nvt fixes perform time integration. The others should be used with an NVE integration fix such as these:
Two barosttating methods are available: Nose-Hoover and Berendsen. The fix npt commands include Nose-Hoover thermostatting. Fix nph and fix press/bernendsen can be used in conjunction with any of the 4 thermostatting methods. These are the relevant fix commands:
This patch file can be applied to the 21 Mar 2008 version. This is the list of changed files.
21 Mar 2008
Fixed some problems with error checking in pair potentials that support the rRESPA integrator, when used with the rRESPA inner/middle/outer options. The issues occurred when mixing rules were also used with some of these potentials.
This patch file can be applied to the 20 Mar 2008 version. This is the list of changed files.
Thanks to Dave Heine (Corning) for catching this problem.
20 Mar 2008
Added a Berendsen barostat via the fix press/berendsen command, which can be used as an alternative to fix npt or fix nph which do barostatting via Nose/Hoover. To do constant NPT simulations, the Berendsen barostat can be used in conjunction with any LAMMPS thermostat, e.g. fix nvt, fix langevin, fix temp/berendsen, or fix temp/rescale.
This patch file can be applied to the 19 Mar 2008 version. This is the list of changed files.
Thanks to Manoj Warrier and Axel Kohlmeyer (U Penn) for help in understanding the details of Berendsen thermostats and barostats.
19 Mar 2008
Made the various commands that operate on extended spherical particles more consistent. Spherical particles are those with a radius, as opposed to point particles which is what most of LAMMPS operates on. Spherical particles have angular velocity, and can thus be acted on by torques, which cause them to rotate. The atom_style granular and dipole models within LAMMPS are examples of spherical particles.
As part of these changes, extended spherical particles used in a 2d model are now treated as true spherical particles throughout LAMMPS, as opposed to circular disks. This means their moment of inertia is that of a sphere, as opposed to a disk.
New commands added by this patch are the following:
The following commands and styles are deleted by this patch:
All the options of the deleted commands can be invoked via the new commands.
This patch file can be applied to the 18 Mar 2008 version. This is the list of changed files.
18 Mar 2008
Enhanced the fix addforce and fix aveforce commands to store the forces on the group of atoms before modification, so those values can be accessed as part of thermodynamic or other output.
This patch file can be applied to the 17 Mar 2008 version. This is the list of changed files.
17 Mar 2008
Fixed a bug with atom-style variables when using a unary minus sign operator.
This patch file can be applied to the 12 Mar 2008 version. This is the list of changed files.
Thanks to June Zhong (Ames Lab) for identifying there was a problem.
12 Mar 2008
Forgot to add the two files for the Berendsen thermostat fix to the 11Mar08 patch. This patch remedies that.
This patch file can be applied to the 11 Mar 2008 version. This is the list of changed files.
11 Mar 2008
Added some flexibility to the various fixes that perform thermostatting and to the various compute commands that calculate temperature. The idea is to formulate the temperature computations as first removing a "bias" from atom velocities before the thermal temperature is calculatd. The thermostatting fix uses this temperature, and performs its thermostatting on atoms that have this bias removed from their velocities, before restoring the bias afterwards.
The 4 thermostatting fixes that now work in this manner are as follows: fix nvt, fix temp/rescale, fix langevin, and fix temp/berendsen. The Berendsen thermostat is new.
The temperature computes that include a bias term are as follows: compute temp/com, compute temp/partial, compute temp/region, compute temp/deform, and compute temp/ramp.
Basically, any of these temperature computes can be used with any of these thermostatting fixes. As before, the assignment of a temperature compute to a thermostatting fix is done via the fix_modify command. A standard temperature with no bias is the default; see the compute temp command.
Note that previously, the fix langevin and fix temp/rescale commands had options like region or partial to enable specific kinds of bias to be removed. This new capability is more general, so those command options have been removed.
This patch file can be applied to the 10 Mar 2008 version. This is the list of changed files.
10 Mar 2008
Fixed a bug that affected thermodynamic print-out of pressure when both total pressure and pressure tensor components were being printed, and the thermo_modify command was used to specify a user-defined pressure compute.
This patch file can be applied to the 5 Mar 2008 version. This is the list of changed files.
Thanks to LT Kong who showed up the bug.
5 Mar 2008
Added a compute temp/com command to allow temperature of a group of atoms to be compute, after subtracting out the center-of-mass velocity of the group. Useful if the group has a net velocity for some reason.
This patch file can be applied to the 4 Mar 2008 version. This is the list of changed files.
4 Mar 2008
Added a start option to the fix ave/time command to allow a delay in when it starts doing its final averaging. This is useful if you want to discard early non-equilibrium values from the output averages.
This patch file can be applied to the 29 Feb 2008 version. This is the list of changed files.
29 Feb 2008
Amended many typos in the doc pages as well as changed some files with DOS-style end-of-lines to the Unix standard.
Also undid the 14Feb08 IBM-specific patch since it's possible to use a compiler switch to fix this rather than a source code change.
This patch file can be applied to the 21 Feb 2008 version. This is the list of changed files.
Thanks to Tom Oppe who identified all these issues.
21 Feb 2008
Fixed a one-line bug in the pair_style hybrid command that was preventing in from working correctly with the compute group/group diagnostic.
This patch file can be applied to the 20 Feb 2008 version. This is the list of changed files.
Thanks to user Ganesh for sending a script with the problem.
20 Feb 2008
Enhanced the compute sum command to become the compute reduce command with a mode option to either sum, take a min, or take a max of per-atom values to produce a single global result.
This patch file can be applied to the 19 Feb 2008 version. This is the list of changed files.
19 Feb 2008
Fixed a one-line bug in the fix wall/lj126 command, where the wall force needed an additional 1/r factor.
This patch file can be applied to the 15 Feb 2008 version. This is the list of changed files.
Thanks to user Wende from the Soft Condensed Matter Physics Lab for pointing out the problem.
15 Feb 2008
Changed the way the 11Feb08 patch was implemented to work with a new atom_modify first group command. This is a cleaner and slightly faster implementation and also allows fixes, like time integration fixes, to take advantage of the atom ordering it induces, if appropriate.
This patch file can be applied to the 14 Feb 2008 version. This is the list of changed files.
14 Feb 2008
Added a one-line kludge to a LAMMPS source file to get around a problem caused by the IBM AIX compiler and a #define of a common variable name it uses in one of its system header files.
This patch file can be applied to the 13 Feb 2008 version. This is the list of changed files.
13 Feb 2008
Made a small correction to the way the virial (pressure) is compute in the TIP4P pair potential. This turned up when we implemented per-atom energy and virial tabulation for all LAMMPS potentials. Thanks to Ahmed Ismail (Sandia) for helping me work thru the intracacies of the force interactions generated by this potential.
This patch file can be applied to the 12 Feb 2008 version. This is the list of changed files.
12 Feb 2008
Added a compute group/group command to allow the total energy and force bewteen two groups of atoms (or the same group) to be calculated. These quantities can then be used in the usual ways by other output commands in LAMMPS.
Naveen Michaud-Agrawal (JHU) wrote an early version of this as a fix. This version is a compute which is compatible with current LAMMPS design.
This patch file can be applied to the 11 Feb 2008 version. This is the list of changed files.
11 Feb 2008
Added communicate group and neigh_modify include group commands to limit communication and pairwise neighbor list construction to atoms in a group. This is useful for models of lightweight background solvent we're developing, since they don't interact with solute particles via the usual pairwise style of interactions.
This patch file can be applied to the 10 Feb 2008 version. This is the list of changed files.
10 Feb 2008
Axel Kohlmeyer (U Penn) has written a user package for coarse-graining called USER-CG-CMM. From the README file in src/USER-CG-CMM:
The current version of this package should be considered beta quality. The CG potentials work correctly and well, but there will be optimizations, cleanups and additional tools to aid in setting up and analyzing simulations with this package added in the next months.
This package implements 4 commands which can be used in a LAMMPS input script:
See the documentation files for these commands for details.
There is also an cg-cmm example directory under examples/USER with sample inputs and outputs.
These styles allow coarse grained MD simulations with the parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007) (cg/cmm), with extensions to simulate ionic liquids, electrolytes, lipids and charged amino acids (to be published soon).
Thanks for contributions, support and testing goes to
This patch file can be applied to the 9 Feb 2008 version. This is the list of changed files.
9 Feb 2008
Small bug fix for the dump xtc command provided by Axel Kohlmeyer (U Penn) that cleans up a memory allocation issue when a dump file is opened and closed multiple times.
This patch file can be applied to the 8 Feb 2008 version. This is the list of changed files.
8 Feb 2008
Added an option to the fix langevin command to allow the second term in the thermostat (random force) to be weighted differently than the first term (viscous force). This is useful is some thermostatting models where a different coupling constant to the background solvent is desired.
This patch file can be applied to the 5 Feb 2008 version. This is the list of changed files.
5 Feb 2008
Added the keywords xy, xz, yz as options to the thermo_style custom command, so the tilt factors of a triclinic (non-orthogonal) box can be monitored.
This patch file can be applied to the 31 Jan 2008 version. This is the list of changed files.
31 Jan 2008
Xiaowang Zhou (Sandia) has contributed two improvements to the Stillinger-Weber potential invoked by the pair_style sw command.
(1) A new parameter tol must be added on each line of the potential file. It specifies a tolerance value specifying the accuracy required for a virtual cut-off distance. The virtual cut-off is always less than the theoretical SW cut-off. Setting tol to zero forces LAMMPS to use the theoretical SW cut-off, reproducing the behavior of the old code. With a tolerance, less interactions are computed, speeding up the potential calculation.
(2) The treatment of the three-body energy for alloys has been enhanced to allow common literature alloy parametrizations. See the upgraded documentation page and the file potentials/GaN.sw for details.
This patch file can be applied to the 29 Jan 2008 version. This is the list of changed files.
29 Jan 2008
Fixed a bug in the delete_atoms overlap command with parallel execution.
This patch file can be applied to the 26 Jan 2008 version. This is the list of changed files.
26 Jan 2008
Enhanced the delete_atoms overlap command to work with two groups of atoms instead of atom types. This allows more flexibility in choosing what atoms get deleted, e.g. when deleting solvent that overlaps with macro-particles. Also fixed a bug that was preventing delete_atoms overlap from working with pair_style hybrid and hybrid_overlay due to the latest changes to neighbor list formats.
This patch file can be applied to the 25 Jan 2008 version. This is the list of changed files.
25 Jan 2008
Axel Kohlmeyer (U Penn) provided a new angle_style cosine/delta potential, similar to the angle_style cosine/squared potential except the interaction is proporational to the difference in cosines, rather than the difference squared.
This patch file can be applied to the 24 Jan 2008 version. This is the list of changed files.
24 Jan 2008
Fixed a bug in atom styles ellipsoid, granular, and dipole that prevented them from working correctly when used as part of the atom_style hybrid command.
This patch file can be applied to the 23 Jan 2008 version. This is the list of changed files.
Thanks to Georg Ganzenmueller for identifying there was a problem and posting an input script.
23 Jan 2008
Updated the doc pages for the various pair styles to reflect that all of them can now tally per-atom energy and stress so that they can be used with the compute pe/atom and compute stress/atom commands.
This patch file can be applied to the 22 Jan 2008 version. This is the list of changed files.