diff -Naur lammps-17Mar17/doc/Makefile lammps-24Mar17/doc/Makefile --- lammps-17Mar17/doc/Makefile 2017-03-17 11:19:47.000000000 -0600 +++ lammps-24Mar17/doc/Makefile 2017-03-24 10:03:58.560996000 -0600 @@ -6,6 +6,7 @@ RSTDIR = $(BUILDDIR)/rst VENV = $(BUILDDIR)/docenv TXT2RST = $(VENV)/bin/txt2rst +ANCHORCHECK = $(VENV)/bin/doc_anchor_check PYTHON = $(shell which python3) HAS_PYTHON3 = NO @@ -50,7 +51,7 @@ clean-spelling: rm -rf spelling -html: $(OBJECTS) +html: $(OBJECTS) $(ANCHORCHECK) @(\ . $(VENV)/bin/activate ;\ cp -r src/* $(RSTDIR)/ ;\ @@ -131,7 +132,7 @@ txt2html: utils/txt2html/txt2html.exe -anchor_check : $(TXT2RST) +anchor_check : $(ANCHORCHECK) @(\ . $(VENV)/bin/activate ;\ doc_anchor_check src/*.txt ;\ @@ -162,7 +163,7 @@ deactivate;\ ) -$(TXT2RST): $(VENV) +$(TXT2RST) $(ANCHORCHECK): $(VENV) @( \ . $(VENV)/bin/activate; \ (cd utils/converters;\ diff -Naur lammps-17Mar17/doc/html/.buildinfo lammps-24Mar17/doc/html/.buildinfo --- lammps-17Mar17/doc/html/.buildinfo 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/.buildinfo 2017-03-24 15:15:43.079377756 -0600 @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a9f7bb869f3f420d6f9dab019a48a79b +config: f039b912c596c05d5420a39e01adcb8d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff -Naur lammps-17Mar17/doc/html/Manual.html lammps-24Mar17/doc/html/Manual.html --- lammps-17Mar17/doc/html/Manual.html 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/Manual.html 2017-03-24 15:15:43.111378708 -0600 @@ -120,6 +120,7 @@
Past core developers include Paul Crozier, Ray Shan and Mark Stevens, @@ -301,7 +302,7 @@
| none | @@ -1490,13 +1496,13 @@hybrid | charmm (ko) | ||
| class2 (ko) | +||||
| charmmfsh | +class2 (ko) | harmonic (io) | helix (o) | -multi/harmonic (o) |
| opls (iko) | -+ | |||
| multi/harmonic (o) | +opls (iko) | |||
| body | body particles, 2d system | |||
| colloid | +||||
| cmap | +CMAP 5-body contributions to CHARMM force field | +|||
| colloid | big colloid particles in a small particle solvent, 2d system | |||
| comb | +||||
| comb | models using the COMB potential | |||
| coreshell | +||||
| coreshell | core/shell model using CORESHELL package | |||
| controller | +use of fix controller as a thermostat | +|||
| crack | crack propagation in a 2d solid | |||
| friction | frictional contact of spherical asperities between 2d surfaces | |||
| gcmc | +Grand Canonical Monte Carlo (GCMC) via the fix gcmc command | +|||
| granregion | +use of fix wall/region/gran as boundary on granular particles | +|||
| hugoniostat | Hugoniostat shock dynamics | |||
| min | energy minimization of 2d LJ melt | |||
| msst | +||||
| mscg | +parameterize a multi-scale coarse-graining (MSCG) model | +|||
| msst | MSST shock dynamics | |||
| nb3b | +||||
| nb3b | use of nonbonded 3-body harmonic pair style | |||
| neb | +||||
| neb | nudged elastic band (NEB) calculation for barrier finding | |||
| nemd | +||||
| nemd | non-equilibrium MD of 2d sheared system | |||
| obstacle | +||||
| obstacle | flow around two voids in a 2d channel | |||
| peptide | +||||
| peptide | dynamics of a small solvated peptide chain (5-mer) | |||
| peri | +||||
| peri | Peridynamic model of cylinder impacted by indenter | |||
| pour | +||||
| pour | pouring of granular particles into a 3d box, then chute flow | |||
| prd | +||||
| prd | parallel replica dynamics of vacancy diffusion in bulk Si | |||
| python | +||||
| python | using embedded Python in a LAMMPS input script | |||
| qeq | +||||
| qeq | use of the QEQ package for charge equilibration | |||
| reax | +||||
| reax | RDX and TATB models using the ReaxFF | |||
| rigid | +||||
| rigid | rigid bodies modeled as independent or coupled | |||
| shear | +||||
| shear | sideways shear applied to 2d solid, with and without a void | |||
| snap | +||||
| snap | NVE dynamics for BCC tantalum crystal using SNAP potential | |||
| srd | +||||
| srd | stochastic rotation dynamics (SRD) particles as solvent | |||
| streitz | +||||
| streitz | use of Streitz/Mintmire potential with charge equilibration | |||
| tad | +||||
| tad | temperature-accelerated dynamics of vacancy diffusion in bulk Si | |||
| vashishta | +||||
| vashishta | use of the Vashishta potential | |||
| voronoi | +Voronoi tesselation via compute voronoi/atom command | +
Here is how you can run and visualize one of the sample problems:
diff -Naur lammps-17Mar17/doc/html/Section_history.html lammps-24Mar17/doc/html/Section_history.html --- lammps-17Mar17/doc/html/Section_history.html 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/Section_history.html 2017-03-24 15:15:43.085377934 -0600 @@ -125,6 +125,7 @@Note
Some models in LAMMPS treat particles as finite-size spheres, as -opposed to point particles. In 2d, the particles will still be -spheres, not disks, meaning their moment of inertia will be the same -as in 3d.
+opposed to point particles. See the atom_style sphere and fix nve/sphere +commands for details. By default, for 2d simulations, such particles +will still be modeled as 3d spheres, not 2d discs (circles), meaning +their moment of inertia will be that of a sphere. If you wish to +model them as 2d discs, see the set density/disc command +and the disc option for the fix nve/sphere, +fix nvt/sphere, fix nph/sphere, fix npt/sphere +commands.Note
+For CHARMM, the newer charmmfsw or charmmfsh styles were +released in March 2017. We recommend they be used instead of the +older charmm styles. See discussion of the differences on the pair charmm and dihedral charmm +doc pages.
+DREIDING is a generic force field developed by the Goddard group at Caltech and is useful for predicting structures and dynamics of organic, biological and main-group inorganic molecules. The philosophy in DREIDING is to use @@ -586,6 +602,13 @@
Note
+By default, for 2d systems, granular particles are still modeled +as 3d spheres, not 2d discs (circles), meaning their moment of inertia +will be the same as in 3d. If you wish to model granular particles in +2d as 2d discs, see the note on this topic in Section 6.2, where 2d simulations are disussed.
+These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for +solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for details:
These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP4P model with a cutoff -(Jorgensen). Note that the OM distance is specified in +(Jorgensen). Note that the OM distance is specified in the pair_style command, not as part of the pair coefficients.
LAMMPS snapshots are created by the dump command which can create files in several formats. The native LAMMPS dump format is a text file (see “dump atom” or “dump custom”) which can be visualized -by the xmovie program, included with the +by the xmovie program, included with the LAMMPS package. This produces simple, fast 2d projections of 3d systems, and can be useful for rapid debugging of simulation geometry and atom trajectories.
@@ -1900,7 +1923,7 @@ fully equilibrate the deformed cell before sampling the stress tensor. Another approach is to sample the triclinic cell fluctuations that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing (Shinoda) +converge and requires careful post-processing (Shinoda)The lammps_reset_box() function resets the size and shape of the simulation box, e.g. as part of restoring a previously extracted and saved state of a simulation.
@@ -2025,11 +2051,15 @@The lammps_get_natoms() function returns the total number of atoms in the system and can be used by the caller to allocate space for the lammps_gather_atoms() and lammps_scatter_atoms() functions. The -gather function collects atom info of the requested type (atom coords, -types, forces, etc) from all processors, orders them by atom ID, and -returns a full list to each calling processor. The scatter function -does the inverse. It distributes the same kinds of values, -passed by the caller, to each atom owned by individual processors.
+gather function collects peratom info of the requested type (atom +coords, types, forces, etc) from all processors, orders them by atom +ID, and returns a full list to each calling processor. The scatter +function does the inverse. It distributes the same peratom values, +passed by the caller, to each atom owned by individual processors. +Both methods are thus a means to extract or assign (overwrite) any +peratom quantities within LAMMPS. See the extract() method in the +src/atom.cpp file for a list of valid per-atom properties. New names +could easily be added if the property you want is not listed.The lammps_create_atoms() function takes a list of N atoms as input with atom types and coords (required), an optionally atom IDs and velocities and image flags. It uses the coords of each atom to assign @@ -2865,10 +2895,10 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
(Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990).
-(Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +
(Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983).
-(Price) Price and Brooks, J Chem Phys, 121, 10096 (2004).
-(Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
+(Price) Price and Brooks, J Chem Phys, 121, 10096 (2004).
+(Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
(Mitchell and Fincham) Mitchell, Fincham, J Phys Condensed Matter, 5, 1031-1038 (1993).
(Fincham) Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, diff -Naur lammps-17Mar17/doc/html/Section_intro.html lammps-24Mar17/doc/html/Section_intro.html --- lammps-17Mar17/doc/html/Section_intro.html 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/Section_intro.html 2017-03-24 15:15:43.094378202 -0600 @@ -141,6 +141,7 @@
A very simple (yet fast) visualizer is provided with the LAMMPS -package - see the xmovie tool in this section. It creates xyz projection views of +package - see the xmovie tool in this section. It creates xyz projection views of atomic coordinates and animates them. We find it very useful for debugging purposes. For high-quality visualization we recommend the following packages:
diff -Naur lammps-17Mar17/doc/html/Section_modify.html lammps-24Mar17/doc/html/Section_modify.html --- lammps-17Mar17/doc/html/Section_modify.html 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/Section_modify.html 2017-03-24 15:15:43.112378738 -0600 @@ -138,6 +138,7 @@flag = lmp.set_variable(name,value) # set existing named string-style variable to value, flag = 0 if successful value = lmp.get_thermo(name) # return current value of a thermo keyword
natoms = lmp.get_natoms() # total # of atoms as int
-data = lmp.gather_atoms(name,type,count) # return atom attribute of all atoms gathered into data, ordered by atom ID
+data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID
# name = "x", "charge", "type", etc
# count = # of per-atom values, 1 or 3, etc
-lmp.scatter_atoms(name,type,count,data) # scatter atom attribute of all atoms from data, ordered by atom ID
+lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID
# name = "x", "charge", "type", etc
# count = # of per-atom values, 1 or 3, etc
For extract_atom(), a pointer to internal LAMMPS atom-based data is returned, which you can use via normal Python subscripting. See the extract() method in the src/atom.cpp file for a list of valid names. -Again, new names could easily be added. A pointer to a vector of -doubles or integers, or a pointer to an array of doubles (double **) -or integers (int **) is returned. You need to specify the appropriate -data type via the type argument.
+Again, new names could easily be added if the property you want is not +listed. A pointer to a vector of doubles or integers, or a pointer to +an array of doubles (double **) or integers (int **) is returned. You +need to specify the appropriate data type via the type argument.For extract_compute() and extract_fix(), the global, per-atom, or local data calculated by the compute or fix can be accessed. What is returned depends on whether the compute or fix calculates a scalar or @@ -798,12 +799,16 @@ specified group.
The get_natoms() method returns the total number of atoms in the simulation, as an int.
-The gather_atoms() method returns a ctypes vector of ints or doubles -as specified by type, of length count*natoms, for the property of all -the atoms in the simulation specified by name, ordered by count and -then by atom ID. The vector can be used via normal Python -subscripting. If atom IDs are not consecutively ordered within -LAMMPS, a None is returned as indication of an error.
+The gather_atoms() method allows any per-atom property (coordinates, +velocities, etc) to be extracted from LAMMPS. It returns a ctypes +vector of ints or doubles as specified by type, of length +count*natoms, for the named property for all atoms in the simulation. +The data is ordered by count and then by atom ID. See the extract() +method in the src/atom.cpp file for a list of valid names. Again, new +names could easily be added if the property you want is missing. The +vector can be used via normal Python subscripting. If atom IDs are +not consecutively ordered within LAMMPS, a None is returned as +indication of an error.
Note that the data structure gather_atoms(“x”) returns is different from the data structure returned by extract_atom(“x”) in four ways. (1) Gather_atoms() returns a vector which you index as x[i]; @@ -818,14 +823,18 @@ assigning a new values to the extract_atom() array. To do this with the gather_atoms() vector, you need to change values in the vector, then invoke the scatter_atoms() method.
-The scatter_atoms() method takes a vector of ints or doubles as -specified by type, of length count*natoms, for the property of all the -atoms in the simulation specified by name, ordered by bount and then -by atom ID. It uses the vector of data to overwrite the corresponding -properties for each atom inside LAMMPS. This requires LAMMPS to have -its “map” option enabled; see the atom_modify -command for details. If it is not, or if atom IDs are not -consecutively ordered, no coordinates are reset.
+The scatter_atoms() method allows any per-atom property (coordinates, +velocities, etc) to be inserted into LAMMPS, overwriting the current +property. It takes a vector of ints or doubles as specified by type, +of length count*natoms, for the named property for all atoms in the +simulation. The data should be ordered by count and then by atom ID. +See the extract() method in the src/atom.cpp file for a list of valid +names. Again, new names could easily be added if the property you +want is missing. It uses the vector of data to overwrite the +corresponding properties for each atom inside LAMMPS. This requires +LAMMPS to have its “map” option enabled; see the +atom_modify command for details. If it is not, or +if atom IDs are not consecutively ordered, no coordinates are reset.
The array of coordinates passed to scatter_atoms() must be a ctypes vector of ints or doubles, allocated and initialized something like this:
@@ -840,7 +849,7 @@ x[3] = x coord of atom with ID 2 ... x[n3-1] = z coord of atom with ID natoms -lmp.scatter_coords("x",1,3,x) +lmp.scatter_atoms("x",1,3,x)Alternatively, you can just change values in the vector returned by gather_atoms(“x”,1,3), since it is a ctypes vector of doubles.
diff -Naur lammps-17Mar17/doc/html/Section_start.html lammps-24Mar17/doc/html/Section_start.html --- lammps-17Mar17/doc/html/Section_start.html 2017-03-17 11:30:24.000000000 -0600 +++ lammps-24Mar17/doc/html/Section_start.html 2017-03-24 15:15:43.092378142 -0600 @@ -168,6 +168,7 @@LAMMPS is designed to be a computational kernel for performing molecular dynamics computations. Additional pre- and post-processing -steps are often necessary to setup and analyze a simulation. A few -additional tools are provided with the LAMMPS distribution and are -described in this section.
+steps are often necessary to setup and analyze a simulation. A +list of such tools can be found on the LAMMPS home page +at http://lammps.sandia.gov/prepost.html +A few additional tools are provided with the LAMMPS distribution +and are described in this section.
Our group has also written and released a separate toolkit called Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is @@ -202,41 +203,37 @@
The source code for each of these codes is in the tools sub-directory of the LAMMPS distribution. There is a Makefile (which you may need to edit for your platform) which will build several of the tools which -reside in that directory. Some of them are larger packages in their -own sub-directories with their own Makefiles.
-amber2lmp +binary2txt +ch2lmp +chain +colvars +createatoms +drude +eam database +eam generate +eff +emacs +fep +i-pi +ipp +kate +lmp2arc +lmp2cfg +matlab +micelle2d +moltemplate +msi2lmp +phonon +polybond +pymol_asphere +python +reax +smd +vim +xmgrace
The tools/createatoms directory contains a Fortran program called createAtoms.f which can generate a variety of interesting crystal structures and geometries and output the resulting list of atom @@ -321,16 +318,14 @@
The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
The file data2xmovie.c converts a LAMMPS data file into a snapshot -suitable for visualizing with the xmovie tool, as if it had -been output with a dump command from LAMMPS itself. The syntax for -running the tool is
-data2xmovie [options] < infile > outfile
-See the top of the data2xmovie.c file for a discussion of the options.
+The tools/drude directory contains a Python script called +polarizer.py which can add Drude oscillators to a LAMMPS +data file in the required format.
+See the header of the polarizer.py file for details.
+The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua +at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
The lmp2vmd sub-directory contains a README.txt file that describes -details of scripts and plugin support within the VMD package for visualizing LAMMPS -dump files.
-The VMD plugins and other supporting scripts were written by Axel -Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.
-The matlab sub-directory contains several MATLAB scripts for post-processing LAMMPS output. The scripts include readers for log and dump files, a reader for EAM potential files, and a converter that @@ -462,7 +448,7 @@
The file micelle2d.f creates a LAMMPS data file containing short lipid chains in a monomer solution. It uses a text file containing lipid definition parameters as an input. The created molecules and solvent @@ -478,7 +464,7 @@
The moltemplate sub-directory contains a Python-based tool for building molecular systems based on a text-file description, and creating LAMMPS data files that encode their molecular topology as @@ -490,20 +476,18 @@
The msi2lmp sub-directory contains a tool for creating LAMMPS input -data files from Accelrys’ Insight MD code (formerly MSI/Biosym and -its Discover MD code). See the README file for more information.
+data files from BIOVIA’s Materias Studio files (formerly Accelrys’ +Insight MD code, formerly MSI/Biosym and its Discover MD code).This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool.
-This tool may be out-of-date with respect to the current LAMMPS and -Insight versions. Since we don’t use it at Sandia, you’ll need to -experiment with it yourself.
+(Cray), and Steve Lustig (Dupont). Several people contributed changes +to remove bugs and adapt its output to changes in LAMMPS. +See the README file for more information.
The phonon sub-directory contains a post-processing tool useful for analyzing the output of the fix phonon command in the USER-PHONON package.
@@ -514,8 +498,8 @@ University.The polybond sub-directory contains a Python-based tool useful for performing “programmable polymer bonding”. The Python file lmpsdata.py provides a “Lmpsdata” class with various methods which can @@ -526,7 +510,7 @@
The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal particles into an input file for the PyMol visualization package or its open source variant.
@@ -537,7 +521,7 @@The python sub-directory contains several Python scripts that perform common LAMMPS post-processing tasks, such as:
The reax sub-directory contains stand-alond codes that can post-process the output of the fix reax/bonds command from a LAMMPS simulation using ReaxFF. See @@ -560,47 +544,21 @@
These tools were written by Aidan Thompson at Sandia.
Note
-This tool is now obsolete and is not included in the current -LAMMPS distribution. This is because there is now a -write_data command, which can create a data file -from within an input script. Running LAMMPS with the “-r” -command-line switch as follows:
-lmp_g++ -r restartfile datafile
-is the same as running a 2-line input script:
-read_restart restartfile -write_data datafile
-which will produce the same data file that the restart2data tool used -to create. The following information is included in case you have an -older version of LAMMPS which still includes the restart2data tool.
-The file restart2data.cpp converts a binary LAMMPS restart file into -an ASCII data file. The syntax for running the tool is
-restart2data restart-file data-file (input-file)
-Input-file is optional and if specified will contain LAMMPS input -commands for the masses and force field parameters, instead of putting -those in the data-file. Only a few force field styles currently -support this option.
-This tool must be compiled on a platform that can read the binary file -created by a LAMMPS run, since binary files are not compatible across -all platforms.
-Note that a text data file has less precision than a binary restart -file. Hence, continuing a run from a converted data file will -typically not conform as closely to a previous run as will restarting -from a binary restart file.
-If a “%” appears in the specified restart-file, the tool expects a set -of multiple files to exist. See the restart and -write_restart commands for info on how such sets -of files are written by LAMMPS, and how the files are named.
+The smd sub-directory contains a C++ file dump2vtk_tris.cpp and +Makefile which can be compiled and used to convert triangle output +files created by the Smooth-Mach Dynamics (USER-SMD) package into a +VTK-compatible unstructured grid file. It could then be read in and +visualized by VTK.
+See the header of dump2vtk.cpp for more details.
+This tool was written by the USER-SMD package author, Georg +Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, +Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
The files in the tools/vim directory are add-ons to the VIM editor that allow easier editing of LAMMPS input scripts. See the README.txt file for details.
@@ -609,7 +567,7 @@The files in the tools/xmgrace directory can be used to plot the thermodynamic data in LAMMPS log files via the xmgrace plotting package. There are several tools in the directory that can be used in @@ -618,32 +576,6 @@ simulation.
See the README file for details.
These files were provided by Vikas Varshney (vv0210 at gmail.com)
-The xmovie tool is an X-based visualization package that can read -LAMMPS dump files and animate them. It is in its own sub-directory -with the tools directory. You may need to modify its Makefile so that -it can find the appropriate X libraries to link against.
-The syntax for running xmovie is
-xmovie [options] dump.file1 dump.file2 ...
-If you just type “xmovie” you will see a list of options. Note that -by default, LAMMPS dump files are in scaled coordinates, so you -typically need to use the -scale option with xmovie. When xmovie runs -it opens a visualization window and a control window. The control -options are straightforward to use.
-Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he -spent a summer at Sandia. It displays 2d projections of a 3d domain. -While simple in design, it is an amazingly fast program that can -render large numbers of atoms very quickly. It’s a useful tool for -debugging LAMMPS input and output and making sure your simulation is -doing what you think it should. The animations on the Examples page -of the LAMMPS WWW site were created with xmovie.
-I’ve lost contact with Mike, so I hope he’s comfortable with us -distributing his great tool!