21 Dec 2011

Did a refactoring of the dump image command to break the code into a dump portion and an image portion. The latter can now be ported more easily to other codes. Also fixes a few minor bugs in the imaging that were discovered in the process.


20 Dec 2011

Fixed a glitch in the new processors part command that wasn't always enforcing an overlay of the processor grids for 2 partitions when the processors grid twolevel option was also used.


19 Dec 2011

Aidan Thompson (Sandia) fixed a small glitch with the Nose/Hoover thermostat not working with systems with (temporarily) zero atoms.


16 Dec 2011

Added error message documentation to all the header files in the code. This is to make errors more self-documenting and to make it easier to auto-generate Section_errors of the manual.


15 Dec 2011

Added new options to the processors command to enable various layouts of the 3d grid of processors and mappings of physical processors to the 3d grid. This includes options that work well on multi-core nodes as well as with the overlaying the grids of 2 partitions for use with the run_style verlet/split command.

Examples of how to use these commands for those use cases will soon be added to Section_accelerate of the manual.


13 Dec 2011

With help from Ray Shan (Sandia), we added a Wolf potential written by Yongfeng Zhang (INL) to LAMMPS, for calculating Coulombic interactions. The Wolf potential is short-range but includes effective long-range interactions, so if certain conditions are met it can be nearly as accurate as long-range Kspace solvers, but with a cost equivalent to only short-range interactions.

This is part of two new pair styles: pair_style coul/wolf and pair_style born/coul/wolf.

Also added some hooks for several new options for the processors command, related to the 9Dec11 patch and a -reorder command-line switch. The new features are not yet all implemented but will be soon.


9 Dec 2011

Added processors grid and processors numa commands to allow more control over how processors are mapped to a logical 3d grid which overlayes the simulation box. These are useful for enhancing performance with regard to MPI allocations and for NUMA-based multi-core nodes on parallel machines. Mike Brown (ORNL) provided the NUMA enhancements, which will be discussed shortly in Section_accelerate of the manual.

Also fixed a few minor bugs and omissions in the patches of the last few days, some sent by Alex Kohlmeyer (Temple U).


8 Dec 2011

Added support to yesterday's patch for the kspace_style pppm/tip4p command, which requires some additional communication between the real-space and kspace partitions.


7 Dec 2011

Yuxing Peng and Chris Knight (U Chicago) from Greg Voth's group have done some nice work to speed up LAMMPS when the performance of its PPPM solver and 3d FFTs degrade when running on large numbers of processors. The idea, employed by other MD codes like NAMD and Gromacs, is to split the force calculation into 2 parts and run them simultaneously on 2 sets of processors. One runs the KSpace (PPPM) calculation, the other runs everything else. E.g. use 1/4 of your processors to run the Kspace calculation, and 3/4 to run everything else. On large processor counts this strategy can be up to 2x faster. Performance details will be added to this section of the manual soon.

They have implemented this using the LAMMPS partition mechanism, (see the -partition command-line switch) and a new run_style verlet/split style.

There is also a new partition command and a new partition-specific option for the processors command, to allow control over how the 2 partitions layout their subset of processors.


4 Dec 2011

This is a supplemental patch to the 3 Dec and 2 Dec patches that adds/deletes some files in the GPU and USER-OMP packages that were not included/excluded in the repository correctly.


3 Dec 2011

Mike Brown (ORNL) has released a large upgrade to the GPU package which supports use of GPUs. It now has full support for OpenCL meaning it can be run on non-NVIDIA hardware, and has various performance improvements as well.


2 Dec 2011

Axel Kohlmeyer (Temple U) has released a large upgrade to the USER-OMP package which supports running in multi-threaded, shared-memory mode on cores of a multicore processor. The package now enables multi-threading of neighbor list building. And it has support for many more pair, bond, angle, dihedral, improper, and long-range styles, as well as many fixes and computes.

This patch also includes 2 new pair styles from Axel:

It also contains a tabulated version of the Tersoff potential, optimized by Luca Ferraro (CASPUR).


1 Dec 2011

Added an option to the compute pair/local command to access additional quantities computed by the single() function in a pair style. Added single() functions to the granular pair styles to calcluate both the normal and tangential force between a pair of touching particles. The tangential force components can be accessed by these additional compute pair/local fields. Thus the full forces between pairs of touching granular particles can now be dumped via the dump local command.


30 Nov 2011

Upgraded the fix dt/reset command to store the elapsed simulation time accurately on a per-timestep basis, as the timestep size changes. This quantity can now be accessed as part of the fix's output.


28 Nov 2011

Added a variable option to the fix langevin command for thermostatting. It allows you to specify an equal- or atom-style variable for the target temperature, which mean you can define a time-dependent or spatially-dependent target temperature to thermostat the system to.


9 Nov 2011

Fixed a bug with the way the start option of the fix ave/time and fix ave/histo commands were treated, sometimes leading to earlier output than desired.

Thanks to Cun Zhang (Chinese Academy of Sciences) for pointing this out.


8 Nov 2011

Small bug in the energy minimizer with an unitialized variable, due to the new multi-threading additions.


27 Oct 2011

Added an FLD package to perform Fast Lubrication Dynamics (a fast form of Stokesian Dynamics) for coarse-grained particles in implicit solvent, with either explicit or implicit timestepping. This is due to contributions from Amit Kumar and Michael Bybee from Jonathan Higdon's group at UIUC. See these 3 new pair_styles for more details:

BACKWARD COMPATIBILITY issues: The pair_style lubricate in the FLD package replaces the old one in the COLLOID package. It is more accurate and has additional options for performing FLD simulations.

We will post example scripts for FLD simulations shortly.


26 Oct 2011

Changed the fix wall and fix wall/reflect commands to observe the units = box/lattice setting when using variable definitions for the wall position. Previously the units setting was ignored and the variable to produce a value in box units. Now it is assumed to produce a value in lattice units if units = latttice. This is more consistent with the use of the units setting in other commands.

BACKWARD COMPATIBILITY issues: If you use these commands with defined variables and units = lattice (the default), you will need to change to units = box or adjust your variable, which can be easily be done using the xlat, ylat, zlat thermo keywords.


25 Oct 2011

More optimizations and some minor bug fixes to the AIREBO pair style. The former due to to Axel Kohlmeyer (Temple U) and the latter due to Steve Stuart's group (Clemson U).


24 Oct 2011

Fixed a glitch that can occur when reading a restart file that references a pair style which doesn't write out restart information, if you don't re-specify a pair_style command in your restart input script, but do specify a pair_coeff command.


23 Oct 2011

Christian Trott (U Tech Ilmenau) provided some bug fixes and upgrades for ECC memory usage to his USER-CUDA package, which are included in this patch.


20 Oct 2011

Added 2 new kinds of aspherical particles to LAMMPS, namely "line" particles which are line segments in 2d, and "tri" particles which are triangular facets for 3d simulation. These allow arbitrary shaped aspherical particles to be constructed in 2d and 3d, with faceted surfaces, if they are modeled as rigid bodies.

The 2 new atom styles are available via the atom_style command. They can be used to build rigid bodies, via the fix rigid command and with coarse-grained SRD solvent, via the fix srd command. There are new pair styles which mediate line/line and line/point and tri/tri and tri/point interactions, namely pair_style line/lj and pair_style tri/lj There are also NVE integrators if you want to run a model with individual line segments or triangles, though this is less useful that using them in rigid bodies. These are fix nve/line and fix nve/tri commands.

This patch also includes CUDA (NVIDIA GPU) versions of the many-body Stillinger-Weber and Tersoff potentials, written by Christian Trott (U Tech Ilmenau) as part of his USER-CUDA package.

We will post example scripts for these kinds of line/triangle aspherical simulations shortly.


19 Oct 2011

Fixed a bug with pair_style hybrid that prevented it from using granular pair styles if they used NULLs in their argument list.


12 Oct 2011

Axel Kohlmeyer (Temple U) has added a USER-OMP package which provides OpenMP accelerated versions of nearly all pair and dihedral styles, as well as a few fixes. This enables running of LAMMPS in shared-memory or multi-threaded mode on the cores of a multi-core processor, which can be faster in some cases than running in all-MPI mode. See this section of the manual for details about the USER-OMP pacakge.


11 Oct 2011

Tod Pascal (Caltech) added a spline function to the energy/force calculations in the Dreiding force field to give more stable dynamics. And he fixed a bug in the energy tallying done by the pair style. He also added an exmaples directory with a methonal calculation with hydrogen bonds which can be compared to the Dreiding calculation in the Cerius code.


10 Oct 2011

Fixed a bug with parsing command-line arguments for the "-var" switch when the specified value also starts with a "-" sign, e.g. a negative numeric value.

Thanks to Mark Tschopp (MSU) for pointing this out.


7 Oct 2011

Ray Shan (Sandia) made some optimizations to the pair_style comb command for the COMB potential. It should be as much as 2-3x faster in many cases.


6 Oct 2011

Ray Shan (Sandia) added support to the pair_style reax/c command for tallying per-atom energy and stress.


30 Sep 2011

Axel Kohlmeyer (Temple U) made some optimizations to the Born-Mayer-Huggins and Buckingham pair styles. Also an updated version of the restart2data tool. And two new optimized pair styles for lj/cut/coul/long/opt and lj/cut/coul/long/tip4p/opt.


29 Sep 2011

A previous patch caused a small glitch in a couple long-range pair styles, like lj/cut/coul/long. This patch fixes it with a more robust def of the MIN() and MAX() macros.


25 Sep 2011

Fixed a glitch in the statistic counting when deleting molecules with the fix evaporate command. The effect was to mess up the total atom/bond count, which can halt the code due to thinking it has lost atoms.


24 Sep 2011

Following a suggestion from Craig Tenney (Sandia), added file name and line # info to all the error and warning messages that LAMMPS prints out. This can help you find the source code that generated the error message.

This patch also includes a small bug fix to the dump cfg command which was sometimes outputting multiple auxiliary fields instead of just one.


23 Sep 2011

Stephanie Teich-McGoldrick (Sandia) contributed an updated version of the msi2lmp tool that works with triclinic (non-orthogonal boxes). Also a clay FF file in the MSI format in the biosym_frc_files dir.

This patch also includes a small bug fix to the dump cfg command which was sometimes outputting multiple auxiliary fields instead of just one.


17 Sep 2011

Luca Ferraro (CASPUR) has added the EDIP potential to LAMMPS. This potential is popular for modeling silicon materials where it can have advantages over other models such as the Stillinger-Weber or Tersoff potentials.


16 Sep 2011

Metin Aktulga (LBNL) sent an updated version of his USER-REAXC package, with two fixes for small systems. One to do with memory allocation, the other with periodic BC.


15 Sep 2011

Christian Trott (U Tech Ilmenau) updated the Makefiles for the USER-CUDA library to be compatible with the current LAMMPS build mechanism for including packages.


14 Sep 2011

Aidan Thompson and Matt Lane (Sandia) added a Hugoniostat method to the SHOCK package in LAMMPS. It performs time integration of the Hugoniostat NPHug equations of motion developed by Ravelo, Holian, Germann, and Lomdahl in a 2004 paper. These equations compress the system to a state with average axial stress or pressure equal to the specified target value, while satisfying the Rankine-Hugoniot (RH) jump conditions for steady shocks.


31 Aug 2011

Aidan Thompson (Sandia) has added a pair_style lj/cubic potential that modifies the LJ functional outside the inflection point to make the energy and force smooth through the cutoff. This potential is commonly used to study the shock mechanics of FCC solids.


27 Aug 2011

Georg Ganzenmuller (Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute, Germany) has implemented smoothed particle hydrodynamics (SPH) in LAMMPS. This patch releases it as a new USER-SPH package. See the very nice users guide he has included with the package. There are also example scripts in examples/USER/sph and we also posted some cool demonstration movies at this link.


26 Aug 2011

Aidan Thompson (Sandia) fixed a bug in the LAMMPS implementation of the GROMACS potential for pair_style lj/gromacs. Forces were OK, but the energy shift term was not added to the entire range of the potential, causing a discontinuity. Pair_style lj/gromacs/coul/gromacs was OK.


25 Aug 2011

Paul Crozier (Sandia) added a fix gcmc command to perform grand canonical Monte Carlo insertion/deletions of particles, which can be coupled to dynamics.


24 Aug 2011

Craig Tenney (Sandia) added a fix restrain command to add a harmonic restraint to 4 atoms to maintain them in a dihedral configuration. Similar angle and bond constraints can be added at some point.


23 Aug 2011

Added a Developer Guide file to the doc directory. We'll add to this over time. It now contains a diagram of the class hierarchy within LAMMPS and a breakdown of the basic timestepping operations.


20 Aug 2011

Added a -h or -help command-line switch to print to the screen the list of style options compiled into the LAMMPS executable you are running. This should help you know if you included the package with the command you are trying to used, when LAMMPS was built.


19 Aug 2011

Tried to simplify the LAMMPS build procedures when including an optional package that uses a separately compiled library from code in lammps/lib. The settings for these libraries were removed from the lo-level Makefiles and now must be created wheh the auxiliary library is pre-compiled, so that the LAMMPS build can import the settings.

This should hopefully just work for most use cases on most machines, but I'm sure I'll hear about it if not ...

BACKWARD COMPATIBILITY issues: If you have your own lo-level Makefile, you will need to conform it to the new syntax for lo-level Makefiles. Which should be easy since the new syntax removes some settings.


18 Aug 2011

Added some internal support for OpenMP threading of pair styles. There will soon be a USER-OMP package released with various pair styles enabled to operate in this mode.

BACKWARD COMPATIBILITY issues: Merged the following single-file USER package commands into the new USER-MISC package: fix imd, fix smd, pair_style eam/cd, compute ackland/atom.


17 Aug 2011

Standardized the use of the package command for the several acceleration packages: GPU, USER-CUDA, USER_OMP. The USER-OMP package will be released soon.

BACKWARD COMPATIBILITY issues: The fix gpu command has been removed, as used by the GPU package. Its functionality is now part of the package gpu command.


14 Aug 2011

We're finally making an official release of the USER-CUDA package. This was developed by Christian Trott (U Tech Ilmenau) and is a significant addition to the GPU capabilities of LAMMPS. In its initial version, the package includes NVIDIA GPU support for:

An important feature of the package is that it only transfers per-atom data (e.g. coordinates, forces) back-and-forth between the CPU and GPU on timesteps when your script requires CPU calculations to be done. This means you can achieve impressive speed-ups if you can run for many timesteps entirely on the GPU, i.e. no non-GPU-ized fix or compute is invoked during those steps and you perform only infrequent output (thermo, dump file snapshots, restart files).

The use of the new package, as well as the original GPU package, is detailed in this section of the manual. We plan to soon add some benchmarking results to the documentation.

Example input scripts for both the GPU and USER-CUDA packages are provided in the examples/gpu and exmaples/USER/cuda directories respectively.


13 Aug 2011

Laurent Joly (U Lyon) has added a pair_style lj/sf command to compute a shifted-force LJ interaction.


12 Aug 2011

Carsten Svaneborg has added 5 new molecular potentials:


11 Aug 2011

Mario Orsi has added a pair_style dipole/sf command that computes a shifted-force version of the dipole/cut potential.


10 Aug 2011

Laurent Joly (U Lyon) has added fix addtorque and compute temp/rotate commands.


9 Aug 2011

Axel Kohlmeyer (Temple U) and Phil Blood (PSC) have added an option to perform PPPM and its associated 3D FFTs in single precision. This can now be enabled using a -DFFT_SINGLE setting in your lo-level Makefile, as discussed in this section of the manual. This can offer a speed-up in parallel or on GPUs.

A new kspace_style pppm/cg command was added which will perform more a efficient PPPM calculation when only a small fraction of the particles are charged.

BACKWARD COMPATIBILITY issues: The two commands kspace_style pppm/gpu/single and kspace_style pppm/gpu/double commands have now been replaced by simply the kspace_style pppm/gpu command. The choice of single vs double precision is now a compile-time option via the same -DFFT_SINGLE setting mentioned above.


8 Aug 2011

Axel Kohlmeyer (Temple U) has upgraded the USER-IMD package with its fix imd command for interactive MD. This patch includes a couple of bug fixes and allows for asynchronous communication between LAMMPS and the IMD server.


7 Aug 2011

Axel Kohlmeyer (Temple U) has added more options for FFT library support, namely FFTW3, ACML (AMD), MKL (Intel), and also a built-in library called KISSFFT, for which source code is provided (meaning no external FFT library is needed). FFTW2 is still supported as well. Information about selecting these various libaries at compile time is given in this section of the manual.


5 Aug 2011

Fixed a bug with the fix ave/spatial command that prevented its array output from being accessed by other commands. This crept in recently somehow, as it used to work.


29 Jul 2011

Fixed a bug with the read_restart command searching for filenames that contained timesteps exceeding 2 billion. This didn't get upgraded with the move to 64-bit integer timesteps a few months back.

Thanks to Sam Bateman for pointing this out.


28 Jul 2011

Introduced a bug in the dump image command when running in parallel, due to a recent logic change with the ssao option. This patch fixes it.

Thanks to Nickhil Rokkam for flagging this.


19 Jul 2011

Bohumir Jelinek (Mississippi State) added some user-settable options to the MEAM potential in LAMMPS.


14 Jul 2011

Nathan Fabian (Sandia) made some enhancements to the dump image command to do the rendering of cylinders and their end-caps more accurately.


13 Jul 2011

Changed some error checks with the Tersoff potential to be less restrictive on possible input parameterizations.


1 Jul 2011

The forces and virial for the TIP4P potential were not entirely correct, leading to dynamics and pressures that were slightly off. This patch should fix it.

Thanks to Ahmed Ismail (RWTH Aachen) and Shengfeng Cheng (Sandia) for working on this.


29 Jun 2011

Fixed a glitch in the read_data command, introduced by the 13Jun11 patch. Also made lost atoms be reflected immediately (on the next thermo output) in the internal total atom count, which should fix some counting issues in other commands.

Thanks to Mike Brown (ORNL) and Karl Hammond (U Tennessee) for alerting us to these issues.


25 Jun 2011

Various upgrades and a granular bug-fix for the restart2data tool.

Thanks to Peter Gordon (Exxon-Mobil) for the bug fix.


24 Jun 2011

The TIP4P pair style was missing a flag to prevent it from being used with the rRESPA run style and its inner/middle/outer settings (since that pair style does not support it).


23 Jun 2011

Fixed a couple logic bugs in the way atom-style variables are evaluated. This should only occur for atoms in the group associated with the calling command, e.g. a dump or fix.


22 Jun 2011

Fixed a bug in the read_restart command when the input file name contained both "*" and "%" wildcard characters. This feature got broken at some point recently.

Thanks to Jeff Ogden (Sandia) for pointing this out.


21 Jun 2011

Chris Weinberger (Sandia) and Stephen Foiles (Sandia) and Chandra Veer Singh (Cornell) have added the EAM-like angular dependent potential (ADP) of Yuri Mishin to LAMMPS. It is now available via the pair_style adp command.


20 Jun 2011

Nose-Hoover barostatting in LAMMPS, via the fix npt command, has been changed to allow triclinic (non-orthongal) simulation boxes to expand and shrink without changing shape. This means that when running options iso and aniso with a tilted box, the tilt factors will grow and shrink with the box so as to preserve the angles between the simulation box edge vectors. The old behavior where tilt factors did not change can be recovered by turning off the tilt factor scaling. In addition, the lattice constants a, b, c and cell angles alpha, beta, gamma have been added as thermo_style custom keywords.

BACKWARD COMPATIBILITY issues: This patch changes the default behavior of the fix npt command for non-orthogonal simulation boxes. The old behavior can still be specified.


19 Jun 2011

Aidan Thompson (Sandia) added a command line option -plog to allow the partition log files to be turned off or renamed, independent of the master log file. The analogous option -pscreen does the same thing for screen files. These options are useful when running PRD, where many partition files are generated by default.


18 Jun 2011

Adjusted some Make and package install files to prevent users from using packages/files which are in the distribution, but not yet officially released.


17 Jun 2011

Introduced a glitch in the lo-level Makefiles via the 14 Jun patch. This patch corrects it.


16 Jun 2011

The 11 Jun patch was missing some new files in the GPU library. This patch adds them.


15 Jun 2011

Ilya Valuev (Joint Institue for High Temperatures, Moscow, Russia) has created a Windows build directory that allows users running LAMMPS on a Windows box to build LAMMPS from C++ source code, using the project mechanism in Microsoft Visual Studio 2005 (or later versions). This is an alternative to the download site which has pre-packaged Windows executables, which are built only occasionally for a specific version of LAMMPS and which include only specific packages. With the build directory included in the standard LAMMPS tarball, you can build the current version of LAMMPS yourself.

This patch adds the Windows build directory as src/WINDOWS. See the README.txt file in that directory for further instructions, which are hopefully easy to follow for Windows and Visual Studio users. Four project options are provided. The first includes the default packages (MANYBODY, MOLECULE, and KSPACE). The second includes all standard packages (except GPU, MEAM, and REAX which are not yet included because they require NVIDIA or Fortran compilation). The third includes all standard packages (with the exceptions) and some user packages. The included user packages are USER-EFF, USER-CG-CMM, and USER-REAXC. The fourth project includes the USER-AWPMD package.


14 Jun 2011

Ilya Valuev (Joint Institue for High Temperatures, Moscow, Russia) has added his group's antisymmetric wavepacket MD formalism to LAMMPS as a user package: USER-AWPMD. This is a Fermionic molecular dynamics method which tracks electron wavepackets as particles of finite width. Multiple wavepackets (particles) can be summed to generate the wavefunction for a single electon. The multi-electron wavefunction can be specified in different forms, including the fully antisymmetrized form which represent exact exchange.

In this initial release new atom_style wavepacket and pair_style awpmd/cut commands have been added. Additional commands will be added later.


13 Jun 2011

Some recent changes broke the compilation of the add-on GPU package, due to name changes. This patch should fix them.


12 Jun 2011

With considerable help from graphics whiz Nathan Fabian (Sandia), we can finally release a dump image command with accompanying options settable via the dump_modify command.

This enables you to write out a series of high-quality, ray-traced JPG or PPM images from a running simulation. Of course, this does not replace the need for a full-featured, interactive post-processing visulization capability, such as those packages listed on this page, but it does provide a simple, easy way to quickly see how your simulation is working, since there are numerous tools that can display individual image files or animate a series of them.

The dump image doc page includes a couple sample images you van view.


11 Jun 2011

Mike Brown (ORNL) updated his GPU package recently. It includes a GPU version of the pair_style reqquared and class2 pair styles.


10 Jun 2011

Another internal bookkeeping patch, this time in preparation for releasing the new dump image command.


9 Jun 2011

Removed an unused cutoff argument from the pair_style rebo command, that only applies to the AIREBO potential


8 Jun 2011

The 5 Jun 2011 patch was missing a header file. This patch adds it.


7 Jun 2011

Added a compute slice command to allow subsets of values from a global vector or array, produced by another compute or fix, to be extracted and processed further.


6 Jun 2011

Added a system-call option to the shell command. This allows processor 0 to invoke an arbitrary command thru the shell from an input script. This could be useful for performing pre- and post-processing tasks between LAMMPS simulation runs.


5 Jun 2011

Added a REBO pair style. This is really the AIREBO potential with its extra torsion and LJ terms turned off, but this option should make the relationship between 2nd generation REBO and AIREBO more clear.

Thanks to Dave Schall (Oakland U) for clarifying these distinctions.


4 Jun 2011

Fixed a small bug introduced by last week's patches to the dump cfg command.

Thanks to Nickhil Rokkam for pointing out the issue.


3 Jun 2011

Fixed a bug in the way auxiliary class2 coefficients were read from a data file in the case of the angle_style hybrid or dihedral_style hybrid commands.

Also fixed a glitch introduced in the Makefile for removing packages by yesterday's patch.

Thanks to Teodoro Laino for identifying these problems.


1 Jun 2011

More internal changes in preparation for the releasing the new USER-CUDA package with GPU support. This patch actually includes all the src files. What is still lacking is some documentation. When that is available, we will make the official full release.


31 May 2011

Made some internal changes to the dump commands in preparation for releasing the new dump image command, which will hopefully happen soon.

One addition is that the dump custom command now supports dumping of an element string, assigned to each atom type via the dump_modify element command. So this is a way to write a per-type string like "C" or "Si" into the dump file with each atom if desired. A "diameter" keyword was also added to the dump custom and compute property/atom commands.


30 May 2011

Tod Pascal (Caltech) sent an upgrade to his Dreiding hydrogen bonding potentials for LJ and Morse kernels. This implements a splined version of the distance-dependent term so it goes smoothly to 0.0. It allows for the hydrogen-bond energy to be output as well as the number of hydrogen-bonds. And it adds a single() function so it can be invoked in pairwise mode by various other LAMMPS commands, such as the compute group/group command.

This version also fixed a bug in the energies in the original released version.


29 May 2011

Fixed a bug in a small-contribution angle-angle term in the improper_style class2 command, where two coefficients were swapped.

Thanks to Fernando Dri (Purdue) and Jay Oswald (Northwestern U) for sending the exact same bug fix at nearly the same time.


28 May 2011

Enforce some earlier error checking in the neb command to prevent it from being run with incorrect settings and possibly crashing.

Thanks to Yun Liu for sending an input script that had this problem.


27 May 2011

Fixed a bug with variable formulas that involved parsing nested math functions.

Thanks to Dario Meluzzi for posting some code that fixed this bug.


26 May 2011

More changes in preparation for the release of the USER-CUDA package.


23 May 2011

Forgot to include one new file in the repository for the 22May patch. Also made some additional new changes for the soon-to-be released USER-CUDA package.


22 May 2011

This patch makes various internal changes to LAMMPS, in preparation for adding a USER-CUDA package, which will provide NVIDIA GPU versions of a variety of atom, pair, fix, and compute styles. It will be a complement to the existing GPU package.

A new accelerator command was added.

Also, an accelerator command-line switch was added which can be used with the OPT, GPU, or USER-CUDA packages to auto-create the accelerated version of any pair or other style when your input script invokes it. If an accelerated version does not exist, the standard version is created. This means you can use the accelerated versions without modifying your input script.

A communication bug with atom_style hybrid, when using the sphere, peri, or election atom styles as sub-styles is also fixed by this patch.


19 May 2011

Fixed an indexing bug in the OPT package potentials when they are used with exclusion lists. This bug was introduced by the change in exclusion formats in the 5 Apr 2011 patch.

Thanks to Michael Mitchell for flagging this.


18 May 2011

Sai Jayaraman (Sandia) fixed a bug in the fix adapt command which was parsing the kspace attribute incorrectly.

Also, fixed a bug where the group region command needs to initialize the regions to insure a proper error check of a region using an undefined variable.

The patch for this was corrupted, but the affected files are in the current tarball.

Thanks to Fateme Sadat Emami (U Akron) for stumbling into the group region bug.


17 May 2011

Aidan Thompson (Sandia) added dump custom atom attributes xsu,ysu,zsu for scaled unwrapped atom coordinates. These can be used with dump style cfg to generate unwrapped visualizations of periodic systems in AtomEye


7 May 2011

A few more GPU library changes from Mike Brown (ORNL) relative to making the 2May11 patch work will different GPU variants.


4 May 2011

Accidentally left out some new files in the 2 May 2011 patch for upgrading the GPU package. This patch adds them.


3 May 2011

Saurav Goel (Heriot-Watt University Edinburgh) added several new Tersoff potentials for Si and C. The files themselves actually slipped in with the 27Apr11 patch.


2 May 2011

Mike Brown (ORNL) has made a significant upgrade to his GPU package in LAMMPS. This includes options to run portions of the PPPM calculation on the GPUs, via the kspace_modify pppm/single and pppm/double commands. And new GPU-enabled pair styles for pair_style morse and pair_style lj/expand. As well as other upgrades to his underlying CUDA library in lib/gpu. See Section 2.8 of the manual for details.


29 Apr 2011

Added options to the compute temp/sphere and compute temp/asphere commands to calculate the temperature of only the rotational degrees of freedom. Added omega and angmom options to the fix langevin command to thermostat those rotational degrees of freedom. Added a langevin option to the fix_rigid and fix rigid/nve commands to thermostat the translational and rotational degrees of freedom of a collection of rigid bodies.


27 Apr 2011

Fixed a memory issue with compute cluster/atom and its ghost communication that could have led to problems in some cases.


20 Apr 2011

Fixed some issues with where files are stored that prevented builds due to the rearrangements in the 15Apr11 patch.


15 Apr 2011

Reworked the atom_style ellipsoid class to store information internally about ellipsoidal particles in more efficient manner. It now only stores the 3-vector shape and 4-vector quaternion for the subset of particles that are actually finite size. Point particles do not store these attributes.

This capability to store (a large list of) extra per-atom quantities for only a subset of particles will be important for some new atom styles we are currently developing: 2d lines and 3d triangles. Or for more generalized aspherical particles, e.g. ones with meshed surfaces.


14 Apr 2011

Fixed a loop index glitch in the pair dpd/tstat command that was preventing the thermostat from working when the target temperature changed over time (Tstop different than Tstart).

Thanks to Allison Dickey (Sandia) for running into this bug.


13 Apr 2011

Reformulated how particles with extended size/shape are stored and described by LAMMPS. Ellipsoidal particles now store a per-particle shape, which allows for polydispersity. All spherical particles are now enabled by the atom_style sphere command, and store a per-particle radius, which allows for polydispersity.

These changes eliminate the need for the shape command which only allowed for per-type size specification. Dipolar particles now store a per-particle dipole moment (length and direction), which eliminates the need for the dipole command which only allowed for per-type dipole moment magnitude specification.

The set command now allows greater flexibility in choosing what atoms to select and what per-atom properties to reset, include the mass (directly or by density), shape, and dipole moment.

BACKWARD COMPATIBILITY issues: The dipole and shape commands are deprecated. The syntax of a couple of the set command options has changed. There is no longer an atom_style granular or colloid. They have been replaced by atom_style sphere. These changes also changed the format of restart files written by some LAMMPS input scripts that use these deprecated or changed atom styles.


11 Apr 2011

Added boundary flags to the "BOX BOUNDS" line of each shapshot in dump atom and custom style dump files. This is to make it easier for post-processing programs to deduce the boundary conditions used when the dump file was created.

A line like this:

ITEM: BOX BOUNDS 

now becomes this, where all 6 boundaries are endcoded, as a pair of x boundaries, then y, then z:

ITEM: BOX BOUNDS pp pp fm 

where p = periodic, f = fixed, s = shrink wrap, m = shrink wrapped with a minimum value. See the boundary command for details.


7 Apr 2011

Mike Brown (ORNL) updated the GPU package to be compatible with the altered neighbor list special bond format from the 5Apr11 patch.


5 Apr 2011

Made some low-level changes to the way special bond flags are stored as part of neighbor lists. This touches small pieces of code in lots of files, particularly the pair styles. There were several reasons for doing this:

This patch also includes making the ATC package compatible with the new memory allocation interface in LAMMPS.


4 Apr 2011

Fixed an inter-replica communication issue in the neb command.


2 Apr 2011

The fix ave/spatial command was sometimes using an uninitialized variable to tally its memory usage.

Thanks to Laurent Joly (U Lyon) for sending an offending input script.


31 Mar 2011

Made some changes to the shear history information stored by some granular potentials, to make the use of the history data continuous across multiple runs. This involved initializing the new neighbor list with the stored info and insuring the pre-force calculation before 2nd Verlet timestepping did not update the shear history since a timestep has really not elapsed.


30 Mar 2011

The compute commands which calculate per-molecule quantities were not handling the case of a single molecule with ID=0 correctly. This patch should fix it.


29 Mar 2011

Aidan Thompson (Sandia) added a zero option to the fix langevin command, to zero out the total random force applied to the system. This can prevent a slow drift in the aggregate linear momentum of the system.


28 Mar 2011

This patch makes a lot of lo-level bookkeeping changes to the memory allocation calls scattered throughout LAMMPS. Hopefully no new bugs were introduced by the upgrade.

It also updates the error messages in errors section of the Manual and updates the example log files to be up-to-date with the most current version of LAMMPS.


27 Mar 2011

Here is the long anticipated upgrade to the AIREBO implementation in LAMMPS. This patch has several enhancements that should make AIREBO compatible with the reference implementation of Steve Stuart's group at Clemson. They did a careful comparison of the 2 versions and fixed 3 kinds of "bugs"

The 2 versions now are in agreement to high precision, and some problems the LAMMPS version had with non-conservation of energy for certain systems now appear to be solved.

Many thanks to Steve Stuart and his student Marcel Fallet for carefully figuring all of this out.


26 Mar 2011

Another bug fix for the new memory allocaters from a week ago. Multi-dimensional arrays with one of their dimensions = 0 weren't being handled correctly when re-allocated.


25 Mar 2011

Bug fix for the fix wall/region harmonic command. It was not putting the origin of the spring at the cutoff distance from the wall.

Thanks to Kazi Rahman for pointing this out.


22 Mar 2011

Fixed a bug with how the neighbor class was using the new memory allocators that was preventing a 2nd run from being setup successfully.


18 Mar 2011

Added an option to the neighbor list building code to include neighbors of ghost atoms. This is useful for a couple of the pair styles. The first one affected is pair_style airebo, which is now simplified, and speeded up a bit, due to removal of some neighboring code in the pair style itself. The two ReaxFF implementations will also be upgraded to take advantage of this at some point.

Also made some changes to the underlying memory allocaters, as suggested by Axel Kohlmeyer (Temple U), to streamline the code a bit. This shouldn't affect users, assuming I introduced no bugs.


15 Mar 2011

Fixed some bugs with commands that takes atom-style variables as input, which caused a problem when one or more procoessors had no atoms.

Thanks to Phil Korneev and Axel Kohlmeyer (Temple U) for the tipoff.


12 Mar 2011

Added a compute cluster/atom command to allow detection of clusters and assigning an ID to each atom for the cluster it is part of. A "cluster" is defined as a set of atoms where each atom in the set is less than some cutoff distance away from one or more other atoms in the set.


10 Mar 2011

Added some logic for systems which communicate ghost atom velocity, when the system is also being deformed via the fix deform command. If the "remap v" option is used with the fix deform command, then the velocity change that occurs when atoms move across a periodic boundary is now added to the ghost atoms as well. This gives atoms a more consistent view of the local environment of nearby flowing atoms, including ghost atoms.

Thanks to Frank Yong (RPI) for suggesting this.


8 Mar 2011

Fixed a small bug in the fix store/state command where it was confusing its storage for one input quantity (vector) versus multiple quantities (array).

Thanks to Gene Cook (MIT) for calling attention to this.


18 Feb 2011

Peter Gordon (ExxonMobil) sent an upgrade to the dump cfg command that lets it work with granular and peridynamic atom styles, by appropriate use of per-atom mass and scaling the box size.

Also a couple files still needed the lmptype.h header file to compile cleanly on some systems.


17 Feb 2011

Andres Jaramillo-Botero (Caltech) has made several significant upgrades to the Goddard group's electron force field USER-EFF package in LAMMPS.

Here are the details:

Also, we're currently working on a revised temperature expression, which involves a different partitioning of thermal modes, especially at low temperatures. Also on further improvements oriented towards higher Z elements and more complex bonding, including ala-DFT exchange correlation and s-p orbital overlap interactions. This will be a part of the next release.


16 Feb 2011

Mike Parks (Sandia) has made some upgrades to the PeriDynamics package in LAMMPS; see the pair_style peri commands for more info.

There are changes in how PeriDynamics computes the virial which contributes to the system and per-atom pressure. PeriDynamics needs to do it somewhat differently since, unlike other LAMMPS models, it explicitly stores a per-particle volume.


15 Feb 2011

For more cross-platform compatibility, yet some more changes to the header file that defines 8-byte integers for a few LAMMPS variables. Also made this header file be included first in all LAMMPS source files that include it, which seems to solve some macro definition issues.

Thanks to Axel Kohlmeyer (Temple U) and Peter Gordon (ExxonMobil) for help and testing with this.


14 Feb 2011

Greg Wagner (Sandia) has made some updates to his MEAM package, see the pair_style meam command.

Here are the details;

I've been working to get some much-requested changes into the MEAM library, mainly to reproduce some of the results published by Byeong-Joo Lee for second-neighbor MEAM. This required adding some input parameters, so I've also made small changes to the pair_meam.cpp file. I took the opportunity to improve the documentation a bit, too.

Also a new reference structure option, "B2", so pair_meam.cpp has also been changed along with some of the fortran.


13 Feb 2011

Ray Shan (U Florida) has made an update to his COMB potential implementation in LAMMPS, which is the pair_style comb command.

Here are the details:

Regarding the implementation of COMB potentials to LAMMPS, I have found a bug in the pair_comb subroutine. I have also modified some parameters in the fix_qeq_comb subroutine, in particular the fictitious charge mass. Also attached is the updated potential file, ffield.comb. These corrections and updates are quite important.


12 Feb 2011

Add a warning to the code if a compute or fix requests an occasional neighbor list build that is "dangerous" meaning that atoms have moved to far, without a full reneighboring. If this is the case LAMMPS may crash. The solution is for your input script to check the rebuild criteria more often.

Also fixed another bug with the fix ave/histo command making its output accessible to other commands - the indexing into the global array was wrong.


11 Feb 2011

Fixed a bug with the fix ave/histo command making its output accessible to other commands.

Thanks to Reese Jones (Sandia) for noting this issue.


10 Feb 2011

Seven new ReaxFF examples have been added to the examples/reax directory. They use the pair_style reax/c (USER-REAXC package). Each example is keyed to a particular published version of ReaxFF, and has been validated against the original serial code. The examples were contributed and tested by Mike Russo (Penn State) and finalized by Aidan Thompson.

This patch also includes a small bug fix to the neighboring patch of 5 Feb 2011 that showed up when doing triclinic systems with the NSQ option of the neighbor command.

Thanks also to Adri van Duin (Penn State), Andres Jaramillo-Botero and An Qi (Caltech), and Metin Aktulga (LBL) for help with this.


9 Feb 2011

Fixed a logic bug in the fix bond/swap command where the fix group wasn't fully respected when choosing bond swap partner atoms. Now both atoms must be in the fix group.

Thanks to Gary Grest (Sandia) for highlighting this problem.


8 Feb 2011

Fixed a rare bug in the restart command when using the neigh_modify once yes comand to never rebuild neighbor lists. In this case, if the box size was changing, the restart command wasn't writing the correct box size to the restart file, causing restarts to fail.

Thanks to Christoph Kloss (JKU) for flagging this issue.


7 Feb 2011

Eric Homer (Sandia) extended the fix orient/fcc command to store the order parameter (unnormalized and normalized) for each atom, so that it can be accessed by various output commands.

The set image command restriction on only allowing image flags to be set for periodic dimensions was removed.

The fix rigid commands now check that the image flag of any atom in a rigid body is 0 for non-periodic dimensions. As the doc page now explains, this can cause problems for rigid body motion if the image flags are not intialized correctly.

Peter Gordon (ExxonMobil) found and fixed an uninitialized issue with the ave option of the compute reduce/region command.

Thanks to Eric Homer (Sandia) for providing an example script with rigid bodies that caused problems.


6 Feb 2011

Various small changes, bug fixes.

(a) Make a couple of the datatype definitions in lmptype.h be more general, specifically for Windows builds. Thanks to Axel Kohlmeyer (Temple U).

(b) Additional changes to tools/restart2data.cpp to be fully 64-bit compatible. Thanks to Axel Kohlmeyer (Temple U).

(c) Fixed bug in fix store/state command, for unusual case when a processor has no atoms. Thanks to Axel Kohlmeyer (Temple U).

(d) The non-history pair_style gran/hooke should allow for faster virial computation.

(e) Explicity disallow use of the 2 ReaxFF pair_style variants with pair_style hybrid. This will require more work in those 2 pair styles, namely pair_style reax and pair_style reax/c.

(f) Bug in fix wall/region command with force on particles from wall being off by a 1/r factor. Thanks to Rémi Busselez (Université de Rennes).


5 Feb 2011

Made 2 adjustements to neighbor list construction.

The first was a subtle round-off bug that could occur (very rarely) when binning ghost atoms within epsilon of a periodic boundary, causing a neighbor list entry to be incorrect.

The second fixes a too-liberal criterion for triggering reneighboring. When the box size is changing (fix npt, fix deform, etc), the distance criterion for atom movement that triggers a reneighbor needs to be reduced, else the code may not reneighbor as soon as it should. Since the reneighboring criterion was already conservative, this should be a rarely seen issue. But reneighboring too rarely can possibly cause pairwise interactions to be missed.

Thanks to Aidan Thompson (Sandia) for help with these issues.


3 Feb 2011

Fixed an indexing bug in special functions (min,max,etc) in variable formulas when they acesssed columns of compute global arrays.

Allow the kspace_modify gewald command to also set Gewald for Ewald, not just PPPM.

Relax the error checking in the velocity set command to allow a z velocity to be set in a 2d simulation, so long as it is set to 0.0.

Thanks to Lynn Munday for flagging the indexing issue.


2 Feb 2011

Allow for index variables with multiple values (instead of just one) to be set by the -var command-line switch when LAMMPS is launched. This is useful, for example to pass in a list of scripts or other parameters that you wish to loop over in the input script.

Also now allow abbreviations for each command-line switch, e.g. -v instead of -var.


18 Jan 2011

The formatting of a few thermodynamic output keywords in variables was neglected in the recent move to a handful of 64-bit variables. This should fix them.

Thanks to Axel Kohlmeyer (Temple U) for posting a patch.


17 Jan 2011

Mike Parks (Sandia) ran into 2 bugs. One with using sin() in an atom-style variable formula when applied to a per-atom quantity. Another with the new velocity set command.


16 Jan 2011

Bookkeeping patch to clean up some stuff associated with the new 64-bit datatypes.


15 Jan 2011

Mike Brown (ORNL) added a GPU-version of the pair_style lj/charmm/coul/long potential.

Added a variable option to the velocity set command, so that equal-style or atom-style variables can be used to set velocities. Deprecated the velocity option for the set command, since the velocity command is more flexible.

The fix reax/bonds *.h file was missing a new function prototype for using 64-bit timesteps.

Added a variable option to the velocity set command, so that equal-style or atom-style variables can be used to set velocities. Deprecated the velocity option for the set command, since the velocity command is more flexible.

BACKWARD COMPATIBILITY for set command. The vx,vy,vz options for the set command no longer exist. The velocity command is more general.


13 Jan 2011

Bit the bullet and converted timestep within LAMMPS to 64-bit integers. This should enable simulations to be run for more than 2 billion timesteps, up to 2^63 timesteps.

Unfortunately, it's unlikely that I found every place in LAMMPS where timesteps are stored or used and insured it was 64-bit compatible, but hopefully I got almost all of them.


12 Jan 2011

Forgot to change the STUBS MPI library (for serial compilation) to signed 64-bit integers to be compatible with the 10Jan11 patch.


11 Jan 2011

Fixed a bug with reading restart files in parallel (one per processor) via the read_restart command, that was due to an unitialized data structure.

Thanks to Chris Forrey for posting an example problem that had this issue.


10 Jan 2011

Made the 32-bit vs 64-bit integer data types within LAMMPS more portable, including with respect to MPI data types which do not allow for explicit size declarations. There is now a src/lmptype.h file that specifies these data types and allows settings specific to different machines and MPI installations. Hopefully, this should not be necessary to mess with for the vast majority of users.

These changes should allow future changes to enable timestepping up to 2^63 steps, as well as 64-bit integer atom IDs.


9 Jan 2011

Aidan Thompson (Sandia) has implemented a version of Art Voter's temperature accelerated dynamics (TAD) which can be run via a new tad command as a multi-replica simulation in LAMMPS.

Also, yesterday's patch for 64-bit data types was not as portable as I thought, with respect to MPI operations on the data types. This patch includes some changes that should help with that.


8 Jan 2011

Created some internal 64-bit integer datatypes and logic. This is to enable atom counts and timesteps and eventually atom tags to be 64 bit for larger/longer problems. For now, only the total # of atoms is now a 64-bit integer instead of a double. Timesteps are soon to follow.

BACKWARD COMPATIBILITY for restart files. This changes the format of how the number of atoms in the system is stored in restart files. Thus you will not be able to read old restart files with this version of the code.


5 Jan 2011

Enhanced the min_style fire and quickmin minimizers to allow their use with the minimize command with a non-zero energy tolerance. This was done by skipping the energy tolerance convergence check for a few steps after velocities are reset to 0.0.


4 Jan 2011

The averaging fixes could get confused about when to start accumulating values if a minimization was done after the fix was defined but before the first dynamics run. This patch should remedy that.


3 Jan 2011

Fixed a bug with the compute reduce/region command incorrectly processing some of its options.

Thanks to Sangrak Kim for posting an offending script.