diff --git a/doc/Section_intro.html b/doc/Section_intro.html index f56ebd4ba..f560c86ff 100644 --- a/doc/Section_intro.html +++ b/doc/Section_intro.html @@ -1,557 +1,557 @@ <HTML> <CENTER><A HREF = "Manual.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_start.html">Next Section</A> </CENTER> <HR> <H3>1. Introduction </H3> <P>These sections provide an overview of what LAMMPS can and can't do, describe what it means for LAMMPS to be an open-source code, and acknowledge the funding and people who have contributed to LAMMPS over the years. </P> 1.1 <A HREF = "#1_1">What is LAMMPS</A><BR> 1.2 <A HREF = "#1_2">LAMMPS features</A><BR> 1.3 <A HREF = "#1_3">LAMMPS non-features</A><BR> 1.4 <A HREF = "#1_4">Open source distribution</A><BR> 1.5 <A HREF = "#1_5">Acknowledgments and citations</A> <BR> <HR> <A NAME = "1_1"></A><H4>1.1 What is LAMMPS </H4> <P>LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained systems using a variety of force fields and boundary conditions. </P> <P>For examples of LAMMPS simulations, see the Publications page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. </P> <P>LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any parallel machine that compiles C++ and supports the <A HREF = "http://www-unix.mcs.anl.gov/mpi">MPI</A> message-passing library. This includes distributed- or shared-memory parallel machines and Beowulf-style clusters. </P> <P>LAMMPS can model systems with only a few particles up to millions or billions. See <A HREF = "Section_perf.html">this section</A> for information on LAMMPS performance and scalability, or the Benchmarks section of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. </P> <P>LAMMPS is a freely-available open-source code, distributed under the terms of the <A HREF = "http://www.gnu.org/copyleft/gpl.html">GNU Public License</A>, which means you can use or modify the code however you wish. See <A HREF = "#1_4">this section</A> for a brief discussion of the open-source philosophy. </P> <P>LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary conditions, or diagnostics. See <A HREF = "Section_modify.html">this section</A> for more details. </P> <P>The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See <A HREF = "Section_history.html">this section</A> for more information on different versions. All versions can be downloaded from the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. </P> <P>LAMMPS was originally developed under a US Department of Energy CRADA (Cooperative Research and Development Agreement) between two DOE labs and 3 companies. It is distributed by <A HREF = "http://www.sandia.gov">Sandia National Labs</A>. See <A HREF = "#1_5">this section</A> for more information on LAMMPS funding and individuals who have contributed to LAMMPS. </P> <P>In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors communicate and store "ghost" atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. Papers with technical details of the algorithms used in LAMMPS are listed in <A HREF = "#1_5">this section</A>. </P> <HR> <A NAME = "1_2"></A><H4>1.2 LAMMPS features </H4> <P>This section highlights LAMMPS features, with pointers to specific commands which give more details. If LAMMPS doesn't have your favorite interatomic potential, boundary condition, or atom type, see <A HREF = "Section_modify.html">this section</A>, which describes how you can add it to LAMMPS. </P> -<P>General features: h4 -</P> +<H4>General features +</H4> <UL><LI> runs on a single processor or in parallel <LI> distributed-memory message-passing parallelism (MPI) <LI> spatial-decomposition of simulation domain for parallelism <LI> open-source distribution <LI> highly portable C++ <LI> optional libraries needed: MPI and single-processor FFT <LI> easy to extend with new features and functionality <LI> in parallel, run one or multiple simulations simultaneously <LI> runs from an input script <LI> syntax for defining and using variables and formulas <LI> syntax for looping over runs and breaking out of loops <LI> run a series of simluations from one script </UL> -<H4>Kinds of systems LAMMPS can simulate: +<H4>Kinds of systems LAMMPS can simulate </H4> <P>(<A HREF = "atom_style.html">atom style</A> command) </P> <UL><LI> atomic (e.g. box of Lennard-Jonesium) <LI> bead-spring polymers <LI> united-atom polymers or organic molecules <LI> all-atom polymers, organic molecules, proteins, DNA <LI> metals <LI> granular materials <LI> coarse-grained mesoscale models <LI> ellipsoidal particles <LI> point dipolar particles <LI> hybrid combinations of these </UL> -<H4>Force fields: +<H4>Force fields </H4> <P>(<A HREF = "pair_style.html">pair style</A>, <A HREF = "bond_style.html">bond style</A>, <A HREF = "angle_style.html">angle style</A>, <A HREF = "dihedral_style.html">dihedral style</A>, <A HREF = "improper_style.html">improper style</A>, <A HREF = "kspace_style.html">kspace style</A> commands) </P> <UL><LI> pairwise potentials: Lennard-Jones, Buckingham, Morse, Yukawa, soft, class 2 (COMPASS), tabulated <LI> charged pairwise potentials: Coulombic, point-dipole <LI> manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), Stillinger-Weber, Tersoff, AI-REBO <LI> coarse-grain potentials: DPD, GayBerne, REsquared, colloidal <LI> mesoscopic potentials: granular, Peridynamics <LI> bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable) <LI> angle potentials: harmonic, CHARMM, cosine, cosine/squared, class 2 (COMPASS) <LI> dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS <LI> improper potentials: harmonic, cvff, class 2 (COMPASS) <LI> hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation <LI> overlaid potentials: superposition of multiple pair potentials <LI> polymer potentials: all-atom, united-atom, bead-spring, breakable <LI> water potentials: TIP3P, TIP4P, SPC <LI> implicit solvent potentials: hydrodynamic lubrication, Debye <LI> long-range Coulombics and dispersion: Ewald, PPPM (similar to particle-mesh Ewald), Ewald/N for long-range Lennard-Jones -<LI> CHARMM, AMBER, OPLS, GROMACS, force-field compatibility +<LI> force-field compatibility with common CHARMM, AMBER, OPLS, GROMACS options </UL> -<H4>Creation of atoms: +<H4>Creation of atoms </H4> <P>(<A HREF = "read_data.html">read_data</A>, <A HREF = "lattice.html">lattice</A>, <A HREF = "create_atoms.html">create_atoms</A>, <A HREF = "delete_atoms.html">delete_atoms</A>, <A HREF = "displace_atoms.html">displace_atoms</A> commands) </P> <UL><LI> read in atom coords from files <LI> create atoms on one or more lattices (e.g. grain boundaries) <LI> delete geometric or logical groups of atoms (e.g. voids) <LI> displace atoms </UL> -<H4>Ensembles, constraints, and boundary conditions: +<H4>Ensembles, constraints, and boundary conditions </H4> <P>(<A HREF = "fix.html">fix</A> command) </P> <UL><LI> 2d or 3d systems <LI> orthogonal or non-orthogonal (triclinic symmetry) simulation domains <LI> constant NVE, NVT, NPT, NPH integrators <LI> thermostatting options for groups and geometric regions of atoms <LI> pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions <LI> simulation box deformation (tensile and shear) <LI> harmonic (umbrella) constraint forces <LI> independent or coupled rigid body integration <LI> SHAKE bond and angle constraints <LI> bond breaking, formation, swapping <LI> walls of various kinds <LI> targeted molecular dynamics (TMD) and steered molecule dynamics (SMD) constraints <LI> non-equilibrium molecular dynamics (NEMD) <LI> variety of additional boundary conditions and constraints </UL> -<H4>Integrators: +<H4>Integrators </H4> <P>(<A HREF = "run.html">run</A>, <A HREF = "run_style.html">run_style</A>, <A HREF = "temper.html">temper</A> commands) </P> <UL><LI> velocity-Verlet integrator <LI> Brownian dynamics <LI> energy minimization via conjugate gradient or steepest descent relaxation <LI> rRESPA hierarchical timestepping <LI> parallel tempering (replica exchange) </UL> -<H4>Output: +<H4>Output </H4> <P>(<A HREF = "dump.html">dump</A>, <A HREF = "restart.html">restart</A> commands) </P> <UL><LI> log file of thermodynamic info <LI> text dump files of atom coords, velocities, other per-atom quantities <LI> binary restart files <LI> per-atom quantities (energy, stress, centro-symmetry parameter, etc) <LI> user-defined system-wide (log file) or per-atom (dump file) calculations <LI> spatial and time averaging of per-atom quantities <LI> time averaging of system-wide quantities <LI> atom snapshots in native, XYZ, XTC, DCD formats </UL> -<H4>Pre- and post-processing: +<H4>Pre- and post-processing </H4> <P>Our group has also written and released a separate toolkit called <A HREF = "http://www.cs.sandia.gov/~sjplimp/pizza.html">Pizza.py</A> which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in <A HREF = "http://www.python.org">Python</A> and is available for download from <A HREF = "http://www.cs.sandia.gov/~sjplimp/pizza.html">the Pizza.py WWW site</A>. </P> <HR> <A NAME = "1_3"></A><H4>1.3 LAMMPS non-features </H4> <P>LAMMPS is designed to efficiently compute Newton's equations of motion for a system of interacting particles. Many of the tools needed to pre- and post-process the data for such simulations are not included in the LAMMPS kernel for several reasons: </P> <UL><LI>the desire to keep LAMMPS simple <LI>they are not parallel operations <LI>other codes already do them <LI>limited development resources </UL> <P>Specifically, LAMMPS itself does not: </P> <UL><LI>run thru a GUI <LI>build molecular systems <LI>assign force-field coefficients automagically <LI>perform sophisticated analyses of your MD simulation <LI>visualize your MD simulation <LI>plot your output data </UL> <P>A few tools for pre- and post-processing tasks are provided as part of the LAMMPS package; they are described in <A HREF = "Section_tools.html">this section</A>. However, many people use other codes or write their own tools for these tasks. </P> <P>As noted above, our group has also written and released a separate toolkit called <A HREF = "http://www.cs.sandia.gov/~sjplimp/pizza.html">Pizza.py</A> which addresses some of the listed bullets. It provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in <A HREF = "http://www.python.org">Python</A> and is available for download from <A HREF = "http://www.cs.sandia.gov/~sjplimp/pizza.html">the Pizza.py WWW site</A>. </P> <P>LAMMPS requires as input a list of initial atom coordinates and types, molecular topology information, and force-field coefficients assigned to all atoms and bonds. LAMMPS will not build molecular systems and assign force-field parameters for you. </P> <P>For atomic systems LAMMPS provides a <A HREF = "create_atoms.html">create_atoms</A> command which places atoms on solid-state lattices (fcc, bcc, user-defined, etc). Assigning small numbers of force field coefficients can be done via the <A HREF = "pair_coeff.html">pair coeff</A>, <A HREF = "bond_coeff.html">bond coeff</A>, <A HREF = "angle_coeff.html">angle coeff</A>, etc commands. For molecular systems or more complicated simulation geometries, users typically use another code as a builder and convert its output to LAMMPS input format, or write their own code to generate atom coordinate and molecular topology for LAMMPS to read in. </P> <P>For complicated molecular systems (e.g. a protein), a multitude of topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like <A HREF = "http://www.scripps.edu/brooks">CHARMM</A> or <A HREF = "http://amber.scripps.edu">AMBER</A> or other molecular builders to setup such problems and dump its information to a file. You can then reformat the file as LAMMPS input. Some of the tools in <A HREF = "Section_tools.html">this section</A> can assist in this process. </P> <P>Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as LAMMPS runs, see <A HREF = "Section_modify.html">this section</A> for a discussion of how you can use the <A HREF = "dump.html">dump</A> and <A HREF = "compute.html">compute</A> and <A HREF = "fix.html">fix</A> commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not parallel, so it is often better to leave such analysis to post-processing codes. </P> <P>A very simple (yet fast) visualizer is provided with the LAMMPS package - see the <A HREF = "Section_tools.html#xmovie">xmovie</A> tool in <A HREF = "Section_tools.html">this section</A>. 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: </P> <UL><LI><A HREF = "http://www.ks.uiuc.edu/Research/vmd">VMD</A> <LI><A HREF = "http://164.107.79.177/Archive/Graphics/A">AtomEye</A> <LI><A HREF = "http://pymol.sourceforge.net">PyMol</A> <LI><A HREF = "http://www.bmsc.washington.edu/raster3d/raster3d.html">Raster3d</A> <LI><A HREF = "http://www.openrasmol.org">RasMol</A> </UL> <P>Other features that LAMMPS does not yet (and may never) support are discussed in <A HREF = "Section_history.html">this section</A>. </P> <P>Finally, these are freely-available molecular dynamics codes, most of them parallel, which may be well-suited to the problems you want to model. They can also be used in conjunction with LAMMPS to perform complementary modeling tasks. </P> <UL><LI><A HREF = "http://www.scripps.edu/brooks">CHARMM</A> <LI><A HREF = "http://amber.scripps.edu">AMBER</A> <LI><A HREF = "http://www.ks.uiuc.edu/Research/namd/">NAMD</A> <LI><A HREF = "http://www.emsl.pnl.gov/docs/nwchem/nwchem.html">NWCHEM</A> <LI><A HREF = "http://www.cse.clrc.ac.uk/msi/software/DL_POLY">DL_POLY</A> <LI><A HREF = "http://dasher.wustl.edu/tinker">Tinker</A> </UL> <P>CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for modeling biological molecules. CHARMM and AMBER use atom-decomposition (replicated-data) strategies for parallelism; NAMD and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. Tinker is a serial code. DL_POLY includes potentials for a variety of biological and non-biological materials; both a replicated-data and spatial-decomposition version exist. </P> <HR> <A NAME = "1_4"></A><H4>1.4 Open source distribution </H4> <P>LAMMPS comes with no warranty of any kind. As each source file states in its header, it is a copyrighted code that is distributed free-of- charge, under the terms of the <A HREF = "http://www.gnu.org/copyleft/gpl.html">GNU Public License</A> (GPL). This is often referred to as open-source distribution - see <A HREF = "http://www.gnu.org">www.gnu.org</A> or <A HREF = "http://www.opensource.org">www.opensource.org</A> for more details. The legal text of the GPL is in the LICENSE file that is included in the LAMMPS distribution. </P> <P>Here is a summary of what the GPL means for LAMMPS users: </P> <P>(1) Anyone is free to use, modify, or extend LAMMPS in any way they choose, including for commercial purposes. </P> <P>(2) If you distribute a modified version of LAMMPS, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of LAMMPS. </P> <P>(3) If you release any code that includes LAMMPS source code, then it must also be open-sourced, meaning you distribute it under the terms of the GPL. </P> <P>(4) If you give LAMMPS files to someone else, the GPL LICENSE file and source file headers (including the copyright and GPL notices) should remain part of the code. </P> <P>In the spirit of an open-source code, these are various ways you can contribute to making LAMMPS better. You can send email to the <A HREF = "http://lammps.sandia.gov/authors.html">developers</A> on any of these items. </P> <UL><LI>Point prospective users to the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. Mention it in talks or link to it from your WWW site. <LI>If you find an error or omission in this manual or on the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>, or have a suggestion for something to clarify or include, send an email to the <A HREF = "http://lammps.sandia.gov/authors.html">developers</A>. <LI>If you find a bug, <A HREF = "Section_errors.html#9_2">this section</A> describes how to report it. <LI>If you publish a paper using LAMMPS results, send the citation (and any cool pictures or movies if you like) to add to the Publications, Pictures, and Movies pages of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>, with links and attributions back to you. <LI>Create a new Makefile.machine that can be added to the src/MAKE directory. <LI>The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More details are given in <A HREF = "Section_tools.html">this section</A>. If you write a new tool that users will find useful, it can be added to the LAMMPS distribution. <LI>LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. <A HREF = "Section_modify.html">This section</A> gives details. If you add a feature of general interest, it can be added to the LAMMPS distribution. <LI>The Benchmark page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> lists LAMMPS performance on various platforms. The files needed to run the benchmarks are part of the LAMMPS distribution. If your machine is sufficiently different from those listed, your timing data can be added to the page. <LI>You can send feedback for the User Comments page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. It might be added to the page. No promises. <LI>Cash. Small denominations, unmarked bills preferred. Paper sack OK. Leave on desk. VISA also accepted. Chocolate chip cookies encouraged. </UL> <HR> <H4><A NAME = "1_5"></A>1.5 Acknowledgments and citations </H4> <P>LAMMPS development has been funded by the <A HREF = "http://www.doe.gov">US Department of Energy</A> (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life programs and its <A HREF = "http://www.sc.doe.gov/ascr/home.html">OASCR</A> and <A HREF = "http://www.er.doe.gov/production/ober/ober_top.html">OBER</A> offices. </P> <P>Specifically, work on the latest version was funded in part by the US Department of Energy's Genomics:GTL program (<A HREF = "http://www.doegenomestolife.org">www.doegenomestolife.org</A>) under the <A HREF = "http://www.genomes2life.org">project</A>, "Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to Hierarchical Modeling". </P> <P>The following papers describe the parallel algorithms used in LAMMPS. </P> <P>S. J. Plimpton, <B>Fast Parallel Algorithms for Short-Range Molecular Dynamics</B>, J Comp Phys, 117, 1-19 (1995). </P> <P>S. J. Plimpton, R. Pollock, M. Stevens, <B>Particle-Mesh Ewald and rRESPA for Parallel Molecular Dynamics Simulations</B>, in Proc of the Eighth SIAM Conference on Parallel Processing for Scientific Computing, Minneapolis, MN (March 1997). </P> <P>If you use LAMMPS results in your published work, please cite the J Comp Phys reference and include a pointer to the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> (http://lammps.sandia.gov). </P> <P>If you send is information about your publication, we'll be pleased to add it to the Publications page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. Ditto for a picture or movie for the Pictures or Movies pages. </P> <P>The core group of LAMMPS developers is at Sandia National Labs. They include <A HREF = "http://www.cs.sandia.gov/~sjplimp">Steve Plimpton</A>, Paul Crozier, and Aidan Thompson and can be contacted via email: sjplimp, pscrozi, athomps at sandia.gov. </P> <P>Here are various folks who have made significant contributions to features in LAMMPS. The most recent contributions are at the top of the list. </P> <DIV ALIGN=center><TABLE BORDER=1 > <TR><TD >Tersoff/ZBL potential </TD><TD > Dave Farrell (Northwestern U)</TD></TR> <TR><TD >peridynamics </TD><TD > Mike Parks (Sandia)</TD></TR> <TR><TD >fix smd for steered MD </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR> <TR><TD >GROMACS pair potentials </TD><TD > Mark Stevens (Sandia)</TD></TR> <TR><TD >lmp2vmd tool </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR> <TR><TD >compute group/group </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >CG-CMM user package for coarse-graining </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR> <TR><TD >cosine/delta angle potential </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR> <TR><TD >VIM editor add-ons for LAMMPS input scripts </TD><TD > Gerolf Ziegenhain</TD></TR> <TR><TD >pair lubricate </TD><TD > Randy Schunk (Sandia)</TD></TR> <TR><TD >compute ackland/atom </TD><TD > Gerolf Zeigenhain</TD></TR> <TR><TD >kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >AI-REBO bond-order potential </TD><TD > Ase Henry (MIT)</TD></TR> <TR><TD >making LAMMPS a true "object" that can be instantiated multiple times, e.g. as a library </TD><TD > Ben FrantzDale (RPI)</TD></TR> <TR><TD >pymol_asphere viz tool </TD><TD > Mike Brown (Sandia)</TD></TR> <TR><TD >NEMD SLLOD integration </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >tensile and shear deformations </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >GayBerne potential </TD><TD > Mike Brown (Sandia)</TD></TR> <TR><TD >ellipsoidal particles </TD><TD > Mike Brown (Sandia)</TD></TR> <TR><TD >colloid potentials </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >fix heat </TD><TD > Paul Crozier and Ed Webb (Sandia)</TD></TR> <TR><TD >neighbor multi and communicate multi </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >MATLAB post-processing scripts </TD><TD > Arun Subramaniyan (Purdue)</TD></TR> <TR><TD >triclinic (non-orthogonal) simulation domains </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >thermo_extract tool</TD><TD > Vikas Varshney (Wright Patterson AFB)</TD></TR> <TR><TD >fix ave/time and fix ave/spatial </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >MEAM potential </TD><TD > Greg Wagner (Sandia)</TD></TR> <TR><TD >optimized pair potentials for lj/cut, charmm/long, eam, morse </TD><TD > James Fischer (High Performance Technologies), David Richie and Vincent Natoli (Stone Ridge Technologies)</TD></TR> <TR><TD >fix wall/lj126 </TD><TD > Mark Stevens (Sandia)</TD></TR> <TR><TD >Stillinger-Weber and Tersoff potentials </TD><TD > Aidan Thompson and Xiaowang Zhou (Sandia)</TD></TR> <TR><TD >region prism </TD><TD > Pieter in 't Veld (Sandia)</TD></TR> <TR><TD >LJ tail corrections for energy/pressure </TD><TD > Paul Crozier (Sandia)</TD></TR> <TR><TD >fix momentum and recenter </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >multi-letter variable names </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >OPLS dihedral potential</TD><TD > Mark Stevens (Sandia)</TD></TR> <TR><TD >POEMS coupled rigid body integrator</TD><TD > Rudranarayan Mukherjee (RPI)</TD></TR> <TR><TD >faster pair hybrid potential</TD><TD > James Fischer (High Performance Technologies, Inc), Vincent Natoli and David Richie (Stone Ridge Technology)</TD></TR> <TR><TD >breakable bond quartic potential</TD><TD > Chris Lorenz and Mark Stevens (Sandia)</TD></TR> <TR><TD >DCD and XTC dump styles</TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >grain boundary orientation fix </TD><TD > Koenraad Janssens and David Olmsted (Sandia)</TD></TR> <TR><TD >lj/smooth pair potential </TD><TD > Craig Maloney (UCSB) </TD></TR> <TR><TD >radius-of-gyration spring fix </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U) and Paul Crozier (Sandia)</TD></TR> <TR><TD >self spring fix </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >EAM CoAl and AlCu potentials </TD><TD > Kwang-Reoul Lee (KIST, Korea)</TD></TR> <TR><TD >cosine/squared angle potential </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR> <TR><TD >helix dihedral potential </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U) and Mark Stevens (Sandia)</TD></TR> <TR><TD >Finnis/Sinclair EAM</TD><TD > Tim Lau (MIT)</TD></TR> <TR><TD >dissipative particle dynamics (DPD) potentials</TD><TD > Kurt Smith (U Pitt) and Frank van Swol (Sandia)</TD></TR> <TR><TD >TIP4P potential (4-site water)</TD><TD > Ahmed Ismail and Amalie Frischknecht (Sandia)</TD></TR> <TR><TD >uniaxial strain fix</TD><TD > Carsten Svaneborg (Max Planck Institute)</TD></TR> <TR><TD >thermodynamics enhanced by fix quantities</TD><TD > Aidan Thompson (Sandia)</TD></TR> <TR><TD >compressed dump files</TD><TD > Erik Luijten (U Illinois)</TD></TR> <TR><TD >cylindrical indenter fix</TD><TD > Ravi Agrawal (Northwestern U)</TD></TR> <TR><TD >electric field fix</TD><TD > Christina Payne (Vanderbilt U)</TD></TR> <TR><TD >AMBER <-> LAMMPS tool</TD><TD > Keir Novik (Univ College London) and Vikas Varshney (U Akron)</TD></TR> <TR><TD >CHARMM <-> LAMMPS tool</TD><TD > Pieter in 't Veld and Paul Crozier (Sandia)</TD></TR> <TR><TD >Morse bond potential</TD><TD > Jeff Greathouse (Sandia)</TD></TR> <TR><TD >radial distribution functions</TD><TD > Paul Crozier & Jeff Greathouse (Sandia)</TD></TR> <TR><TD >force tables for long-range Coulombics</TD><TD > Paul Crozier (Sandia)</TD></TR> <TR><TD >targeted molecular dynamics (TMD)</TD><TD > Paul Crozier (Sandia) and Christian Burisch (Bochum University, Germany)</TD></TR> <TR><TD >FFT support for SGI SCSL (Altix)</TD><TD > Jim Shepherd (Ga Tech)</TD></TR> <TR><TD >lmp2cfg and lmp2traj tools</TD><TD > Ara Kooser, Jeff Greathouse, Andrey Kalinichev (Sandia)</TD></TR> <TR><TD >parallel tempering</TD><TD > Mark Sears (Sandia)</TD></TR> <TR><TD >embedded atom method (EAM) potential</TD><TD > Stephen Foiles (Sandia)</TD></TR> <TR><TD >multi-harmonic dihedral potential</TD><TD > Mathias Puetz (Sandia)</TD></TR> <TR><TD >granular force fields and BC</TD><TD > Leo Silbert & Gary Grest (Sandia)</TD></TR> <TR><TD >2d Ewald/PPPM</TD><TD > Paul Crozier (Sandia)</TD></TR> <TR><TD >CHARMM force fields</TD><TD > Paul Crozier (Sandia)</TD></TR> <TR><TD >msi2lmp tool</TD><TD > Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)</TD></TR> <TR><TD >HTFN energy minimizer</TD><TD > Todd Plantenga (Sandia)</TD></TR> <TR><TD >class 2 force fields</TD><TD > Eric Simon (Cray)</TD></TR> <TR><TD >NVT/NPT integrators</TD><TD > Mark Stevens (Sandia)</TD></TR> <TR><TD >rRESPA</TD><TD > Mark Stevens & Paul Crozier (Sandia)</TD></TR> <TR><TD >Ewald and PPPM solvers</TD><TD > Roy Pollock (LLNL) </TD><TD > </TD></TR></TABLE></DIV> <P>Other CRADA partners involved in the design and testing of LAMMPS were </P> <UL><LI>John Carpenter (Mayo Clinic, formerly at Cray Research) <LI>Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) <LI>Steve Lustig (Dupont) <LI>Jim Belak (LLNL) </UL> </HTML> diff --git a/doc/Section_intro.txt b/doc/Section_intro.txt index 982399b30..bb9afb0e5 100644 --- a/doc/Section_intro.txt +++ b/doc/Section_intro.txt @@ -1,552 +1,552 @@ "Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_start.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line 1. Introduction :h3 These sections provide an overview of what LAMMPS can and can't do, describe what it means for LAMMPS to be an open-source code, and acknowledge the funding and people who have contributed to LAMMPS over the years. 1.1 "What is LAMMPS"_#1_1 1.2 "LAMMPS features"_#1_2 1.3 "LAMMPS non-features"_#1_3 1.4 "Open source distribution"_#1_4 1.5 "Acknowledgments and citations"_#1_5 :all(b) :line 1.1 What is LAMMPS :link(1_1),h4 LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained systems using a variety of force fields and boundary conditions. For examples of LAMMPS simulations, see the Publications page of the "LAMMPS WWW Site"_lws. LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any parallel machine that compiles C++ and supports the "MPI"_mpi message-passing library. This includes distributed- or shared-memory parallel machines and Beowulf-style clusters. :link(mpi,http://www-unix.mcs.anl.gov/mpi) LAMMPS can model systems with only a few particles up to millions or billions. See "this section"_Section_perf.html for information on LAMMPS performance and scalability, or the Benchmarks section of the "LAMMPS WWW Site"_lws. LAMMPS is a freely-available open-source code, distributed under the terms of the "GNU Public License"_gnu, which means you can use or modify the code however you wish. See "this section"_#1_4 for a brief discussion of the open-source philosophy. :link(gnu,http://www.gnu.org/copyleft/gpl.html) LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary conditions, or diagnostics. See "this section"_Section_modify.html for more details. The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See "this section"_Section_history.html for more information on different versions. All versions can be downloaded from the "LAMMPS WWW Site"_lws. LAMMPS was originally developed under a US Department of Energy CRADA (Cooperative Research and Development Agreement) between two DOE labs and 3 companies. It is distributed by "Sandia National Labs"_snl. See "this section"_#1_5 for more information on LAMMPS funding and individuals who have contributed to LAMMPS. :link(snl,http://www.sandia.gov) In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors communicate and store "ghost" atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. Papers with technical details of the algorithms used in LAMMPS are listed in "this section"_#1_5. :line 1.2 LAMMPS features :link(1_2),h4 This section highlights LAMMPS features, with pointers to specific commands which give more details. If LAMMPS doesn't have your favorite interatomic potential, boundary condition, or atom type, see "this section"_Section_modify.html, which describes how you can add it to LAMMPS. -General features: h4 +General features :h4 runs on a single processor or in parallel distributed-memory message-passing parallelism (MPI) spatial-decomposition of simulation domain for parallelism open-source distribution highly portable C++ optional libraries needed: MPI and single-processor FFT easy to extend with new features and functionality in parallel, run one or multiple simulations simultaneously runs from an input script syntax for defining and using variables and formulas syntax for looping over runs and breaking out of loops run a series of simluations from one script :ul -Kinds of systems LAMMPS can simulate: :h4 +Kinds of systems LAMMPS can simulate :h4 ("atom style"_atom_style.html command) atomic (e.g. box of Lennard-Jonesium) bead-spring polymers united-atom polymers or organic molecules all-atom polymers, organic molecules, proteins, DNA metals granular materials coarse-grained mesoscale models ellipsoidal particles point dipolar particles hybrid combinations of these :ul -Force fields: :h4 +Force fields :h4 ("pair style"_pair_style.html, "bond style"_bond_style.html, "angle style"_angle_style.html, "dihedral style"_dihedral_style.html, "improper style"_improper_style.html, "kspace style"_kspace_style.html commands) pairwise potentials: Lennard-Jones, Buckingham, Morse, \ Yukawa, soft, class 2 (COMPASS), tabulated charged pairwise potentials: Coulombic, point-dipole manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ Stillinger-Weber, Tersoff, AI-REBO coarse-grain potentials: DPD, GayBerne, REsquared, colloidal mesoscopic potentials: granular, Peridynamics bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ quartic (breakable) angle potentials: harmonic, CHARMM, cosine, cosine/squared, \ class 2 (COMPASS) dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ class 2 (COMPASS), OPLS improper potentials: harmonic, cvff, class 2 (COMPASS) hybrid potentials: multiple pair, bond, angle, dihedral, improper \ potentials can be used in one simulation overlaid potentials: superposition of multiple pair potentials polymer potentials: all-atom, united-atom, bead-spring, breakable water potentials: TIP3P, TIP4P, SPC implicit solvent potentials: hydrodynamic lubrication, Debye long-range Coulombics and dispersion: Ewald, \ PPPM (similar to particle-mesh Ewald), Ewald/N for long-range Lennard-Jones - CHARMM, AMBER, OPLS, GROMACS, force-field compatibility :ul + force-field compatibility with common CHARMM, AMBER, OPLS, GROMACS options :ul -Creation of atoms: :h4 +Creation of atoms :h4 ("read_data"_read_data.html, "lattice"_lattice.html, "create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, "displace_atoms"_displace_atoms.html commands) read in atom coords from files create atoms on one or more lattices (e.g. grain boundaries) delete geometric or logical groups of atoms (e.g. voids) displace atoms :ul -Ensembles, constraints, and boundary conditions: :h4 +Ensembles, constraints, and boundary conditions :h4 ("fix"_fix.html command) 2d or 3d systems orthogonal or non-orthogonal (triclinic symmetry) simulation domains constant NVE, NVT, NPT, NPH integrators thermostatting options for groups and geometric regions of atoms pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions simulation box deformation (tensile and shear) harmonic (umbrella) constraint forces independent or coupled rigid body integration SHAKE bond and angle constraints bond breaking, formation, swapping walls of various kinds targeted molecular dynamics (TMD) and steered molecule dynamics (SMD) constraints non-equilibrium molecular dynamics (NEMD) variety of additional boundary conditions and constraints :ul -Integrators: :h4 +Integrators :h4 ("run"_run.html, "run_style"_run_style.html, "temper"_temper.html commands) velocity-Verlet integrator Brownian dynamics energy minimization via conjugate gradient or steepest descent relaxation rRESPA hierarchical timestepping parallel tempering (replica exchange) :ul -Output: :h4 +Output :h4 ("dump"_dump.html, "restart"_restart.html commands) log file of thermodynamic info text dump files of atom coords, velocities, other per-atom quantities binary restart files per-atom quantities (energy, stress, centro-symmetry parameter, etc) user-defined system-wide (log file) or per-atom (dump file) calculations spatial and time averaging of per-atom quantities time averaging of system-wide quantities atom snapshots in native, XYZ, XTC, DCD formats :ul -Pre- and post-processing: :h4 +Pre- and post-processing :h4 Our group has also written and released a separate toolkit called "Pizza.py"_pizza which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in "Python"_python and is available for download from "the Pizza.py WWW site"_pizza. :link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) :link(python,http://www.python.org) :line 1.3 LAMMPS non-features :link(1_3),h4 LAMMPS is designed to efficiently compute Newton's equations of motion for a system of interacting particles. Many of the tools needed to pre- and post-process the data for such simulations are not included in the LAMMPS kernel for several reasons: the desire to keep LAMMPS simple they are not parallel operations other codes already do them limited development resources :ul Specifically, LAMMPS itself does not: run thru a GUI build molecular systems assign force-field coefficients automagically perform sophisticated analyses of your MD simulation visualize your MD simulation plot your output data :ul A few tools for pre- and post-processing tasks are provided as part of the LAMMPS package; they are described in "this section"_Section_tools.html. However, many people use other codes or write their own tools for these tasks. As noted above, our group has also written and released a separate toolkit called "Pizza.py"_pizza which addresses some of the listed bullets. It provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in "Python"_python and is available for download from "the Pizza.py WWW site"_pizza. LAMMPS requires as input a list of initial atom coordinates and types, molecular topology information, and force-field coefficients assigned to all atoms and bonds. LAMMPS will not build molecular systems and assign force-field parameters for you. For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html command which places atoms on solid-state lattices (fcc, bcc, user-defined, etc). Assigning small numbers of force field coefficients can be done via the "pair coeff"_pair_coeff.html, "bond coeff"_bond_coeff.html, "angle coeff"_angle_coeff.html, etc commands. For molecular systems or more complicated simulation geometries, users typically use another code as a builder and convert its output to LAMMPS input format, or write their own code to generate atom coordinate and molecular topology for LAMMPS to read in. For complicated molecular systems (e.g. a protein), a multitude of topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like "CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup such problems and dump its information to a file. You can then reformat the file as LAMMPS input. Some of the tools in "this section"_Section_tools.html can assist in this process. Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as LAMMPS runs, see "this section"_Section_modify.html for a discussion of how you can use the "dump"_dump.html and "compute"_compute.html and "fix"_fix.html commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not parallel, so it is often better to leave such analysis to post-processing codes. A very simple (yet fast) visualizer is provided with the LAMMPS package - see the "xmovie"_Section_tools.html#xmovie tool in "this section"_Section_tools.html. 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: "VMD"_http://www.ks.uiuc.edu/Research/vmd "AtomEye"_http://164.107.79.177/Archive/Graphics/A "PyMol"_http://pymol.sourceforge.net "Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html "RasMol"_http://www.openrasmol.org :ul Other features that LAMMPS does not yet (and may never) support are discussed in "this section"_Section_history.html. Finally, these are freely-available molecular dynamics codes, most of them parallel, which may be well-suited to the problems you want to model. They can also be used in conjunction with LAMMPS to perform complementary modeling tasks. "CHARMM"_charmm "AMBER"_amber "NAMD"_namd "NWCHEM"_nwchem "DL_POLY"_dlpoly "Tinker"_tinker :ul :link(charmm,http://www.scripps.edu/brooks) :link(amber,http://amber.scripps.edu) :link(namd,http://www.ks.uiuc.edu/Research/namd/) :link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html) :link(dlpoly,http://www.cse.clrc.ac.uk/msi/software/DL_POLY) :link(tinker,http://dasher.wustl.edu/tinker) CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for modeling biological molecules. CHARMM and AMBER use atom-decomposition (replicated-data) strategies for parallelism; NAMD and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. Tinker is a serial code. DL_POLY includes potentials for a variety of biological and non-biological materials; both a replicated-data and spatial-decomposition version exist. :line 1.4 Open source distribution :link(1_4),h4 LAMMPS comes with no warranty of any kind. As each source file states in its header, it is a copyrighted code that is distributed free-of- charge, under the terms of the "GNU Public License"_gnu (GPL). This is often referred to as open-source distribution - see "www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more details. The legal text of the GPL is in the LICENSE file that is included in the LAMMPS distribution. :link(gnuorg,http://www.gnu.org) :link(opensource,http://www.opensource.org) Here is a summary of what the GPL means for LAMMPS users: (1) Anyone is free to use, modify, or extend LAMMPS in any way they choose, including for commercial purposes. (2) If you distribute a modified version of LAMMPS, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of LAMMPS. (3) If you release any code that includes LAMMPS source code, then it must also be open-sourced, meaning you distribute it under the terms of the GPL. (4) If you give LAMMPS files to someone else, the GPL LICENSE file and source file headers (including the copyright and GPL notices) should remain part of the code. In the spirit of an open-source code, these are various ways you can contribute to making LAMMPS better. You can send email to the "developers"_http://lammps.sandia.gov/authors.html on any of these items. Point prospective users to the "LAMMPS WWW Site"_lws. Mention it in talks or link to it from your WWW site. :ulb,l If you find an error or omission in this manual or on the "LAMMPS WWW Site"_lws, or have a suggestion for something to clarify or include, send an email to the "developers"_http://lammps.sandia.gov/authors.html. :l If you find a bug, "this section"_Section_errors.html#9_2 describes how to report it. :l If you publish a paper using LAMMPS results, send the citation (and any cool pictures or movies if you like) to add to the Publications, Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links and attributions back to you. :l Create a new Makefile.machine that can be added to the src/MAKE directory. :l The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More details are given in "this section"_Section_tools.html. If you write a new tool that users will find useful, it can be added to the LAMMPS distribution. :l LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. "This section"_Section_modify.html gives details. If you add a feature of general interest, it can be added to the LAMMPS distribution. :l The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS performance on various platforms. The files needed to run the benchmarks are part of the LAMMPS distribution. If your machine is sufficiently different from those listed, your timing data can be added to the page. :l You can send feedback for the User Comments page of the "LAMMPS WWW Site"_lws. It might be added to the page. No promises. :l Cash. Small denominations, unmarked bills preferred. Paper sack OK. Leave on desk. VISA also accepted. Chocolate chip cookies encouraged. :ule,l :line 1.5 Acknowledgments and citations :h4,link(1_5) LAMMPS development has been funded by the "US Department of Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life programs and its "OASCR"_oascr and "OBER"_ober offices. Specifically, work on the latest version was funded in part by the US Department of Energy's Genomics:GTL program ("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to Hierarchical Modeling". :link(doe,http://www.doe.gov) :link(gtl,http://www.doegenomestolife.org) :link(ourgtl,http://www.genomes2life.org) :link(oascr,http://www.sc.doe.gov/ascr/home.html) :link(ober,http://www.er.doe.gov/production/ober/ober_top.html) The following papers describe the parallel algorithms used in LAMMPS. S. J. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular Dynamics], J Comp Phys, 117, 1-19 (1995). S. J. Plimpton, R. Pollock, M. Stevens, [Particle-Mesh Ewald and rRESPA for Parallel Molecular Dynamics Simulations], in Proc of the Eighth SIAM Conference on Parallel Processing for Scientific Computing, Minneapolis, MN (March 1997). If you use LAMMPS results in your published work, please cite the J Comp Phys reference and include a pointer to the "LAMMPS WWW Site"_lws (http://lammps.sandia.gov). If you send is information about your publication, we'll be pleased to add it to the Publications page of the "LAMMPS WWW Site"_lws. Ditto for a picture or movie for the Pictures or Movies pages. The core group of LAMMPS developers is at Sandia National Labs. They include "Steve Plimpton"_sjp, Paul Crozier, and Aidan Thompson and can be contacted via email: sjplimp, pscrozi, athomps at sandia.gov. Here are various folks who have made significant contributions to features in LAMMPS. The most recent contributions are at the top of the list. :link(sjp,http://www.cs.sandia.gov/~sjplimp) Tersoff/ZBL potential : Dave Farrell (Northwestern U) peridynamics : Mike Parks (Sandia) fix smd for steered MD : Axel Kohlmeyer (U Penn) GROMACS pair potentials : Mark Stevens (Sandia) lmp2vmd tool : Axel Kohlmeyer (U Penn) compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U) CG-CMM user package for coarse-graining : Axel Kohlmeyer (U Penn) cosine/delta angle potential : Axel Kohlmeyer (U Penn) VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain pair lubricate : Randy Schunk (Sandia) compute ackland/atom : Gerolf Zeigenhain kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \ Pieter in 't Veld (Sandia) AI-REBO bond-order potential : Ase Henry (MIT) making LAMMPS a true "object" that can be instantiated multiple times, \ e.g. as a library : Ben FrantzDale (RPI) pymol_asphere viz tool : Mike Brown (Sandia) NEMD SLLOD integration : Pieter in 't Veld (Sandia) tensile and shear deformations : Pieter in 't Veld (Sandia) GayBerne potential : Mike Brown (Sandia) ellipsoidal particles : Mike Brown (Sandia) colloid potentials : Pieter in 't Veld (Sandia) fix heat : Paul Crozier and Ed Webb (Sandia) neighbor multi and communicate multi : Pieter in 't Veld (Sandia) MATLAB post-processing scripts : Arun Subramaniyan (Purdue) triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia) thermo_extract tool: Vikas Varshney (Wright Patterson AFB) fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia) MEAM potential : Greg Wagner (Sandia) optimized pair potentials for lj/cut, charmm/long, eam, morse : \ James Fischer (High Performance Technologies), \ David Richie and Vincent Natoli (Stone Ridge Technologies) fix wall/lj126 : Mark Stevens (Sandia) Stillinger-Weber and Tersoff potentials : Aidan Thompson and Xiaowang Zhou (Sandia) region prism : Pieter in 't Veld (Sandia) LJ tail corrections for energy/pressure : Paul Crozier (Sandia) fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U) multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U) OPLS dihedral potential: Mark Stevens (Sandia) POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) faster pair hybrid potential: James Fischer \ (High Performance Technologies, Inc), Vincent Natoli and \ David Richie (Stone Ridge Technology) breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia) DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) grain boundary orientation fix : Koenraad Janssens and David Olmsted (Sandia) lj/smooth pair potential : Craig Maloney (UCSB) radius-of-gyration spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) and \ Paul Crozier (Sandia) self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ Mark Stevens (Sandia) Finnis/Sinclair EAM: Tim Lau (MIT) dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ Frank van Swol (Sandia) TIP4P potential (4-site water): Ahmed Ismail and Amalie Frischknecht (Sandia) uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) thermodynamics enhanced by fix quantities: Aidan Thompson (Sandia) compressed dump files: Erik Luijten (U Illinois) cylindrical indenter fix: Ravi Agrawal (Northwestern U) electric field fix: Christina Payne (Vanderbilt U) AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \ Vikas Varshney (U Akron) CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia) Morse bond potential: Jeff Greathouse (Sandia) radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) force tables for long-range Coulombics: Paul Crozier (Sandia) targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \ Christian Burisch (Bochum University, Germany) FFT support for SGI SCSL (Altix): Jim Shepherd (Ga Tech) lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \ Andrey Kalinichev (Sandia) parallel tempering: Mark Sears (Sandia) embedded atom method (EAM) potential: Stephen Foiles (Sandia) multi-harmonic dihedral potential: Mathias Puetz (Sandia) granular force fields and BC: Leo Silbert & Gary Grest (Sandia) 2d Ewald/PPPM: Paul Crozier (Sandia) CHARMM force fields: Paul Crozier (Sandia) msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) HTFN energy minimizer: Todd Plantenga (Sandia) class 2 force fields: Eric Simon (Cray) NVT/NPT integrators: Mark Stevens (Sandia) rRESPA: Mark Stevens & Paul Crozier (Sandia) Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:) Other CRADA partners involved in the design and testing of LAMMPS were John Carpenter (Mayo Clinic, formerly at Cray Research) Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) Steve Lustig (Dupont) Jim Belak (LLNL) :ul diff --git a/doc/bond_fene.html b/doc/bond_fene.html index 49fe2823c..4dcc2447f 100644 --- a/doc/bond_fene.html +++ b/doc/bond_fene.html @@ -1,67 +1,67 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>bond_style fene command </H3> <P><B>Syntax:</B> </P> <PRE>bond_style fene </PRE> <P><B>Examples:</B> </P> <PRE>bond_style fene bond_coeff 1 30.0 1.5 1.0 1.0 </PRE> <P><B>Description:</B> </P> <P>The <I>fene</I> bond style uses the potential </P> <CENTER><IMG SRC = "Eqs/bond_fene.jpg"> </CENTER> <P>to define a finite extensible nonlinear elastic (FENE) potential <A HREF = "#Kremer">(Kremer)</A>, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. </P> <P>The following coefficients must be defined for each bond type via the <A HREF = "bond_coeff.html">bond_coeff</A> command as in the example above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> commands: </P> <UL><LI>K (energy/distance^2) <LI>R0 (distance) <LI>epsilon (energy) <LI>sigma (distance) </UL> <P><B>Restrictions:</B> </P> <P>This bond style can only be used if LAMMPS was built with the "molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info on packages. </P> -<P>You typically should specify <A HREF = "special_bonds.html">special_bonds 0 1 1</A> -to use this bond style. LAMMPS will issue a warning it that's not the -case. +<P>You typically should specify <A HREF = "special_bonds.html"">special_bonds fene</A> +or <A HREF = "special_bonds.html">special_bonds lj/coul 0 1 1</A> to use this bond +style. LAMMPS will issue a warning it that's not the case. </P> <P><B>Related commands:</B> </P> <P><A HREF = "bond_coeff.html">bond_coeff</A>, <A HREF = "delete_bonds.html">delete_bonds</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Kremer"></A> <P><B>(Kremer)</B> Kremer, Grest, J Chem Phys, 92, 5057 (1990). </P> </HTML> diff --git a/doc/bond_fene.txt b/doc/bond_fene.txt index 78f399e8f..8d0ab6c25 100644 --- a/doc/bond_fene.txt +++ b/doc/bond_fene.txt @@ -1,61 +1,61 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style fene command :h3 [Syntax:] bond_style fene :pre [Examples:] bond_style fene bond_coeff 1 30.0 1.5 1.0 1.0 :pre [Description:] The {fene} bond style uses the potential :c,image(Eqs/bond_fene.jpg) to define a finite extensible nonlinear elastic (FENE) potential "(Kremer)"_#Kremer, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) R0 (distance) epsilon (energy) sigma (distance) :ul [Restrictions:] This bond style can only be used if LAMMPS was built with the "molecular" package (which it is by default). See the "Making LAMMPS"_Section_start.html#2_3 section for more info on packages. -You typically should specify "special_bonds 0 1 1"_special_bonds.html -to use this bond style. LAMMPS will issue a warning it that's not the -case. +You typically should specify "special_bonds fene"_special_bonds.html" +or "special_bonds lj/coul 0 1 1"_special_bonds.html to use this bond +style. LAMMPS will issue a warning it that's not the case. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Kremer) [(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/bond_fene_expand.html b/doc/bond_fene_expand.html index 586f9b91e..190e14ca3 100644 --- a/doc/bond_fene_expand.html +++ b/doc/bond_fene_expand.html @@ -1,72 +1,72 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>bond_style fene/expand command </H3> <P><B>Syntax:</B> </P> <PRE>bond_style fene/expand </PRE> <P><B>Examples:</B> </P> <PRE>bond_style fene/expand bond_coeff 1 30.0 1.5 1.0 1.0 0.5 </PRE> <P><B>Description:</B> </P> <P>The <I>fene/expand</I> bond style uses the potential </P> <CENTER><IMG SRC = "Eqs/bond_fene_expand.jpg"> </CENTER> <P>to define a finite extensible nonlinear elastic (FENE) potential <A HREF = "#Kremer">(Kremer)</A>, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. </P> <P>The <I>fene/expand</I> bond style is similar to <I>fene</I> except that an extra shift factor of delta (positive or negative) is added to <I>r</I> to effectively change the bead size of the bonded atoms. The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma + delta. </P> <P>The following coefficients must be defined for each bond type via the <A HREF = "bond_coeff.html">bond_coeff</A> command as in the example above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> commands: </P> <UL><LI>K (energy/distance^2) <LI>R0 (distance) <LI>epsilon (energy) <LI>sigma (distance) <LI>delta (distance) </UL> <P><B>Restrictions:</B> </P> <P>This bond style can only be used if LAMMPS was built with the "molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info on packages. </P> -<P>You typically should specify <A HREF = "special_bonds.html">special_bonds 0 1 1</A> -to use this bond style. LAMMPS will issue a warning it that's not the -case. +<P>You typically should specify <A HREF = "special_bonds.html"">special_bonds fene</A> +or <A HREF = "special_bonds.html">special_bonds lj/coul 0 1 1</A> to use this bond +style. LAMMPS will issue a warning it that's not the case. </P> <P><B>Related commands:</B> </P> <P><A HREF = "bond_coeff.html">bond_coeff</A>, <A HREF = "delete_bonds.html">delete_bonds</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Kremer"></A> <P><B>(Kremer)</B> Kremer, Grest, J Chem Phys, 92, 5057 (1990). </P> </HTML> diff --git a/doc/bond_fene_expand.txt b/doc/bond_fene_expand.txt index 142766ff8..b12bb6de0 100644 --- a/doc/bond_fene_expand.txt +++ b/doc/bond_fene_expand.txt @@ -1,66 +1,66 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style fene/expand command :h3 [Syntax:] bond_style fene/expand :pre [Examples:] bond_style fene/expand bond_coeff 1 30.0 1.5 1.0 1.0 0.5 :pre [Description:] The {fene/expand} bond style uses the potential :c,image(Eqs/bond_fene_expand.jpg) to define a finite extensible nonlinear elastic (FENE) potential "(Kremer)"_#Kremer, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The {fene/expand} bond style is similar to {fene} except that an extra shift factor of delta (positive or negative) is added to {r} to effectively change the bead size of the bonded atoms. The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma + delta. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) R0 (distance) epsilon (energy) sigma (distance) delta (distance) :ul [Restrictions:] This bond style can only be used if LAMMPS was built with the "molecular" package (which it is by default). See the "Making LAMMPS"_Section_start.html#2_3 section for more info on packages. -You typically should specify "special_bonds 0 1 1"_special_bonds.html -to use this bond style. LAMMPS will issue a warning it that's not the -case. +You typically should specify "special_bonds fene"_special_bonds.html" +or "special_bonds lj/coul 0 1 1"_special_bonds.html to use this bond +style. LAMMPS will issue a warning it that's not the case. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Kremer) [(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/pair_eam.html b/doc/pair_eam.html index 1fb8315ca..c079ae01e 100644 --- a/doc/pair_eam.html +++ b/doc/pair_eam.html @@ -1,394 +1,396 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style eam command </H3> <H3>pair_style eam/opt command </H3> <H3>pair_style eam/alloy command </H3> <H3>pair_style eam/alloy/opt command </H3> <H3>pair_style eam/fs command </H3> <H3>pair_style eam/fs/opt command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style style </PRE> <UL><LI>style = <I>eam</I> or <I>eam/alloy</I> or <I>eam/fs</I> or <I>eam/opt</I> or <I>eam/alloy/opt</I> or <I>eam/fs/opt</I> </UL> <P><B>Examples:</B> </P> <PRE>pair_style eam pair_style eam/opt pair_coeff * * cuu3 pair_coeff 1*3 1*3 niu3.eam </PRE> <PRE>pair_style eam/alloy pair_style eam/alloy/opt pair_coeff * * ../potentials/nialhjea.eam.alloy Ni Al Ni Ni </PRE> <PRE>pair_style eam/fs pair_style eam/fs/opt pair_coeff * * nialhjea.eam.fs Ni Al Ni Ni </PRE> <P><B>Description:</B> </P> <P>Style <I>eam</I> computes pairwise interactions for metals and metal alloys using embedded-atom method (EAM) potentials <A HREF = "#Daw">(Daw)</A>. The total energy Ei of an atom I is given by </P> <CENTER><IMG SRC = "Eqs/pair_eam.jpg"> </CENTER> <P>where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I within the cutoff distance. </P> <P>Style <I>eam/opt</I> is an optimized version of style <I>eam</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by the <A HREF = "pair_coeff.html">pair_coeff</A> command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO was the original serial EAM MD code, written by the EAM originators. Several DYNAMO potential files for different metals are included in the "potentials" directory of the LAMMPS distribution. All of these files are parameterized in terms of LAMMPS <A HREF = "units.html">metal units</A>. </P> <P>IMPORTANT NOTE: The <I>eam</I> style reads single-element EAM potentials in the DYNAMO <I>funcfl</I> format. Either single element or alloy systems can be modeled using multiple <I>funcfl</I> files and style <I>eam</I>. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single DYNAMO <I>setfl</I> file or Finnis/Sinclair EAM file can be used by LAMMPS to model alloy systems by invoking the <I>eam/alloy</I> or <I>eam/fs</I> styles as described below. These files require no mixing since they specify alloy interactions explicitly. </P> <P>There are several WWW sites that distribute and document EAM potentials stored in DYNAMO or other formats: </P> <PRE>http://www.ctcms.nist.gov/potentials http://cst-www.nrl.navy.mil/ccm6/ap http://enpub.fulton.asu.edu/cms/potentials/main/main.htm </PRE> <P>These potentials should be usable with LAMMPS, though the alternate formats would need to be converted to the DYNAMO format used by LAMMPS -and described on this page. +and described on this page. The NIST site is maintained by Chandler +Becker (cbecker at nist.gov) who is good resource for info on +interatomic potentials and file formats. </P> <HR> <P>For style <I>eam</I>, potential values are read from a file that is in the DYNAMO single-element <I>funcfl</I> format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. </P> <P>Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. </P> <P>For style <I>eam</I> a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a single argument: </P> <UL><LI>filename </UL> <P>Thus the following command </P> <PRE>pair_coeff *2 1*2 cuu3.eam </PRE> <P>will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs 1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYNAMO code originally did it; you do not need to specify coefficients for these type pairs. </P> <P><I>Funcfl</I> files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam" suffix. A DYNAMO single-element <I>funcfl</I> file is formatted as follows: </P> <UL><LI>line 1: comment (ignored) <LI>line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>line 3: Nrho, drho, Nr, dr, cutoff </UL> <P>On line 2, all values but the mass are ignored by LAMMPS. The mass is in mass <A HREF = "units.html">units</A> (e.g. mass number or grams/mole for metal units). The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are Angstroms; I'm not sure of the units for drho - some measure of electron density. </P> <P>Following the three header lines are three arrays of tabulated values: </P> <UL><LI>embedding function F(rho) (Nrho values) <LI>effective charge function Z(r) (Nr values) <LI>density function rho(r) (Nr values) </UL> <P>The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. </P> <P>The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron density). The units for the effective charge Z are "atomic charge" or sqrt(Hartree * Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r*phi, in units of eV-Angstroms, via the formula </P> <PRE>r*phi = 27.2 * 0.529 * Zi * Zj </PRE> <P>where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. </P> <HR> <P>Style <I>eam/alloy</I> computes pairwise interactions using the same formula as style <I>eam</I>. However the associated <A HREF = "pair_coeff.html">pair_coeff</A> command reads a DYNAMO <I>setfl</I> file instead of a <I>funcfl</I> file. <I>Setfl</I> files can be used to model a single-element or alloy system. In the alloy case, as explained above, <I>setfl</I> files contain explicit tabulated values for alloy interactions. Thus they allow more generality than <I>funcfl</I> files for modeling alloys. </P> <P>Style <I>eam/alloy/opt</I> is an optimized version of style <I>eam/alloy</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>For style <I>eam/alloy</I>, potential values are read from a file that is in the DYNAMO multi-element <I>setfl</I> format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. </P> <P>Only a single pair_coeff command is used with the <I>eam/alloy</I> style which specifies a DYNAMO <I>setfl</I> file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: </P> <UL><LI>filename <LI>N element names = mapping of <I>setfl</I> elements to atom types </UL> <P>As an example, the potentials/nialhjea <I>setfl</I> file has tabulated EAM values for 3 elements and their alloy interactions: Ni, Al, and H. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff command: </P> <PRE>pair_coeff * * nialhjea.eam.alloy Ni Ni Ni Al </PRE> <P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni element in the <I>setfl</I> file. The final Al argument maps LAMMPS atom type 4 to the Al element in the <I>setfl</I> file. Note that there is no requirement that your simulation use all the elements specified by the <I>setfl</I> file. </P> <P>If a mapping value is specified as NULL, the mapping is not performed. This can be used when an <I>eam/alloy</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are placeholders for atom types that will be used with other potentials. </P> <P><I>Setfl</I> files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam.alloy" suffix. A DYNAMO multi-element <I>setfl</I> file is formatted as follows: </P> <UL><LI>lines 1,2,3 = comments (ignored) <LI>line 4: Nelements Element1 Element2 ... ElementN <LI>line 5: Nrho, drho, Nr, dr, cutoff </UL> <P>In a DYNAMO <I>setfl</I> file, line 4 only lists Nelements = the # of elements in the <I>setfl</I> file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the elements appear in the file. </P> <P>The meaning and units of the values in line 5 is the same as for the <I>funcfl</I> file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element pairings. </P> <P>Following the 5 header lines are Nelements sections, one for each element, each with the following format: </P> <UL><LI>line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>embedding function F(rho) (Nrho values) <LI>density function rho(r) (Nr values) </UL> <P>As with the <I>funcfl</I> files, only the mass (g/cm^3) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and units as in a <I>funcfl</I> file. </P> <P>Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). Unlike the effective charge array Z(r) in <I>funcfl</I> files, the tabulated values for each phi function are listed in <I>setfl</I> files directly as r*phi (in units of eV-Angstroms), since they are for atom pairs. </P> <HR> <P>Style <I>eam/fs</I> computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair <A HREF = "#Finnis">(Finnis)</A>. The total energy Ei of an atom I is given by </P> <CENTER><IMG SRC = "Eqs/pair_eam_fs.jpg"> </CENTER> <P>This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the element at that atomic site. </P> <P>Style <I>eam/fs/opt</I> is an optimized version of style <I>eam/fs</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>The associated <A HREF = "pair_coeff.html">pair_coeff</A> command for style <I>eam/fs</I> reads a DYNAMO <I>setfl</I> file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in <A HREF = "#Ackland1">(Ackland1)</A>. An example of such a potential is the same author's Fe-P FS potential <A HREF = "#Ackland2">(Ackland2)</A>. Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. </P> <P>For style <I>eam/fs</I>, the form of the pair_coeff command is exactly the same as for style <I>eam/alloy</I>, e.g. </P> <PRE>pair_coeff * * nialhjea.eam.fs Ni Ni Ni Al </PRE> <P>where there are N additional arguments after the filename, where N is the number of LAMMPS atom types. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style <I>eam/alloy</I>. As with <I>eam/alloy</I>, if a mapping value is NULL, the mapping is not performed. This can be used when an <I>eam/fs</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are used as placeholders for atom types that will be used with other potentials. </P> <P>FS EAM files include more information than the DYNAMO <I>setfl</I> format files read by <I>eam/alloy</I>, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair formulation of the EAM. </P> <P>FS EAM files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam.fs" suffix. They are formatted as follows: </P> <UL><LI>lines 1,2,3 = comments (ignored) <LI>line 4: Nelements Element1 Element2 ... ElementN <LI>line 5: Nrho, drho, Nr, dr, cutoff </UL> <P>The 5-line header section is identical to an EAM <I>setfl</I> file. </P> <P>Following the header are Nelements sections, one for each element I, each with the following format: </P> <UL><LI>line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>embedding function F(rho) (Nrho values) <LI>density function rho(r) for element I at element 1 (Nr values) <LI>density function rho(r) for element I at element 2 <LI>... <LI>density function rho(r) for element I at element Nelement </UL> <P>The units of these quantities in line 1 are the same as for <I>setfl</I> files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the file. </P> <P>Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of eV-Angstroms) as in EAM <I>setfl</I> files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. </P> <HR> <P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>: </P> <P>For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify a pair_coeff command with I != J arguments for the eam styles. </P> <P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> shift, table, and tail options. </P> <P>The eam pair styles do not write their information to <A HREF = "restart.html">binary restart files</A>, since it is stored in tabulated potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. </P> <P>The eam pair styles can only be used via the <I>pair</I> keyword of the <A HREF = "run_style.html">run_style respa</A> command. They do not support the <I>inner</I>, <I>middle</I>, <I>outer</I> keywords. </P> <HR> <P><B>Restrictions:</B> </P> <P>All of these styles except those ending in <I>opt</I> are part of the "manybody" package. They are only enabled if LAMMPS was built with that package (which it is by default). The styles ending in <I>opt</I> are part of the "opt" package and also require the "manybody" package. They are only enabled if LAMMPS was built with those packages. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Ackland1"></A> <P><B>(Ackland1)</B> Ackland, Condensed Matter (2005). </P> <A NAME = "Ackland2"></A> <P><B>(Ackland2)</B> Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). </P> <A NAME = "Daw"></A> <P><B>(Daw)</B> Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). </P> <A NAME = "Finnis"></A> <P><B>(Finnis)</B> Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). </P> </HTML> diff --git a/doc/pair_eam.txt b/doc/pair_eam.txt index d7d3553fd..46f0ce150 100644 --- a/doc/pair_eam.txt +++ b/doc/pair_eam.txt @@ -1,380 +1,382 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style eam command :h3 pair_style eam/opt command :h3 pair_style eam/alloy command :h3 pair_style eam/alloy/opt command :h3 pair_style eam/fs command :h3 pair_style eam/fs/opt command :h3 [Syntax:] pair_style style :pre style = {eam} or {eam/alloy} or {eam/fs} or {eam/opt} or {eam/alloy/opt} or {eam/fs/opt} :ul [Examples:] pair_style eam pair_style eam/opt pair_coeff * * cuu3 pair_coeff 1*3 1*3 niu3.eam :pre pair_style eam/alloy pair_style eam/alloy/opt pair_coeff * * ../potentials/nialhjea.eam.alloy Ni Al Ni Ni :pre pair_style eam/fs pair_style eam/fs/opt pair_coeff * * nialhjea.eam.fs Ni Al Ni Ni :pre [Description:] Style {eam} computes pairwise interactions for metals and metal alloys using embedded-atom method (EAM) potentials "(Daw)"_#Daw. The total energy Ei of an atom I is given by :c,image(Eqs/pair_eam.jpg) where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I within the cutoff distance. Style {eam/opt} is an optimized version of style {eam} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by the "pair_coeff"_pair_coeff.html command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO was the original serial EAM MD code, written by the EAM originators. Several DYNAMO potential files for different metals are included in the "potentials" directory of the LAMMPS distribution. All of these files are parameterized in terms of LAMMPS "metal units"_units.html. IMPORTANT NOTE: The {eam} style reads single-element EAM potentials in the DYNAMO {funcfl} format. Either single element or alloy systems can be modeled using multiple {funcfl} files and style {eam}. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single DYNAMO {setfl} file or Finnis/Sinclair EAM file can be used by LAMMPS to model alloy systems by invoking the {eam/alloy} or {eam/fs} styles as described below. These files require no mixing since they specify alloy interactions explicitly. There are several WWW sites that distribute and document EAM potentials stored in DYNAMO or other formats: http://www.ctcms.nist.gov/potentials http://cst-www.nrl.navy.mil/ccm6/ap http://enpub.fulton.asu.edu/cms/potentials/main/main.htm :pre These potentials should be usable with LAMMPS, though the alternate formats would need to be converted to the DYNAMO format used by LAMMPS -and described on this page. +and described on this page. The NIST site is maintained by Chandler +Becker (cbecker at nist.gov) who is good resource for info on +interatomic potentials and file formats. :line For style {eam}, potential values are read from a file that is in the DYNAMO single-element {funcfl} format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. For style {eam} a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a single argument: filename :ul Thus the following command pair_coeff *2 1*2 cuu3.eam :pre will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs 1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYNAMO code originally did it; you do not need to specify coefficients for these type pairs. {Funcfl} files in the {potentials} directory of the LAMMPS distribution have an ".eam" suffix. A DYNAMO single-element {funcfl} file is formatted as follows: line 1: comment (ignored) line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) line 3: Nrho, drho, Nr, dr, cutoff :ul On line 2, all values but the mass are ignored by LAMMPS. The mass is in mass "units"_units.html (e.g. mass number or grams/mole for metal units). The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are Angstroms; I'm not sure of the units for drho - some measure of electron density. Following the three header lines are three arrays of tabulated values: embedding function F(rho) (Nrho values) effective charge function Z(r) (Nr values) density function rho(r) (Nr values) :ul The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron density). The units for the effective charge Z are "atomic charge" or sqrt(Hartree * Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r*phi, in units of eV-Angstroms, via the formula r*phi = 27.2 * 0.529 * Zi * Zj :pre where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. :line Style {eam/alloy} computes pairwise interactions using the same formula as style {eam}. However the associated "pair_coeff"_pair_coeff.html command reads a DYNAMO {setfl} file instead of a {funcfl} file. {Setfl} files can be used to model a single-element or alloy system. In the alloy case, as explained above, {setfl} files contain explicit tabulated values for alloy interactions. Thus they allow more generality than {funcfl} files for modeling alloys. Style {eam/alloy/opt} is an optimized version of style {eam/alloy} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). For style {eam/alloy}, potential values are read from a file that is in the DYNAMO multi-element {setfl} format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Only a single pair_coeff command is used with the {eam/alloy} style which specifies a DYNAMO {setfl} file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: filename N element names = mapping of {setfl} elements to atom types :ul As an example, the potentials/nialhjea {setfl} file has tabulated EAM values for 3 elements and their alloy interactions: Ni, Al, and H. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff command: pair_coeff * * nialhjea.eam.alloy Ni Ni Ni Al :pre The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni element in the {setfl} file. The final Al argument maps LAMMPS atom type 4 to the Al element in the {setfl} file. Note that there is no requirement that your simulation use all the elements specified by the {setfl} file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when an {eam/alloy} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. {Setfl} files in the {potentials} directory of the LAMMPS distribution have an ".eam.alloy" suffix. A DYNAMO multi-element {setfl} file is formatted as follows: lines 1,2,3 = comments (ignored) line 4: Nelements Element1 Element2 ... ElementN line 5: Nrho, drho, Nr, dr, cutoff :ul In a DYNAMO {setfl} file, line 4 only lists Nelements = the # of elements in the {setfl} file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the elements appear in the file. The meaning and units of the values in line 5 is the same as for the {funcfl} file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element pairings. Following the 5 header lines are Nelements sections, one for each element, each with the following format: line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) embedding function F(rho) (Nrho values) density function rho(r) (Nr values) :ul As with the {funcfl} files, only the mass (g/cm^3) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and units as in a {funcfl} file. Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). Unlike the effective charge array Z(r) in {funcfl} files, the tabulated values for each phi function are listed in {setfl} files directly as r*phi (in units of eV-Angstroms), since they are for atom pairs. :line Style {eam/fs} computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair "(Finnis)"_#Finnis. The total energy Ei of an atom I is given by :c,image(Eqs/pair_eam_fs.jpg) This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the element at that atomic site. Style {eam/fs/opt} is an optimized version of style {eam/fs} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). The associated "pair_coeff"_pair_coeff.html command for style {eam/fs} reads a DYNAMO {setfl} file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in "(Ackland1)"_#Ackland1. An example of such a potential is the same author's Fe-P FS potential "(Ackland2)"_#Ackland2. Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. For style {eam/fs}, the form of the pair_coeff command is exactly the same as for style {eam/alloy}, e.g. pair_coeff * * nialhjea.eam.fs Ni Ni Ni Al :pre where there are N additional arguments after the filename, where N is the number of LAMMPS atom types. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style {eam/alloy}. As with {eam/alloy}, if a mapping value is NULL, the mapping is not performed. This can be used when an {eam/fs} potential is used as part of the {hybrid} pair style. The NULL values are used as placeholders for atom types that will be used with other potentials. FS EAM files include more information than the DYNAMO {setfl} format files read by {eam/alloy}, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair formulation of the EAM. FS EAM files in the {potentials} directory of the LAMMPS distribution have an ".eam.fs" suffix. They are formatted as follows: lines 1,2,3 = comments (ignored) line 4: Nelements Element1 Element2 ... ElementN line 5: Nrho, drho, Nr, dr, cutoff :ul The 5-line header section is identical to an EAM {setfl} file. Following the header are Nelements sections, one for each element I, each with the following format: line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) embedding function F(rho) (Nrho values) density function rho(r) for element I at element 1 (Nr values) density function rho(r) for element I at element 2 ... density function rho(r) for element I at element Nelement :ul The units of these quantities in line 1 are the same as for {setfl} files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the file. Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of eV-Angstroms) as in EAM {setfl} files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. :line [Mixing, shift, table, tail correction, restart, rRESPA info]: For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify a pair_coeff command with I != J arguments for the eam styles. This pair style does not support the "pair_modify"_pair_modify.html shift, table, and tail options. The eam pair styles do not write their information to "binary restart files"_restart.html, since it is stored in tabulated potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. The eam pair styles can only be used via the {pair} keyword of the "run_style respa"_run_style.html command. They do not support the {inner}, {middle}, {outer} keywords. :line [Restrictions:] All of these styles except those ending in {opt} are part of the "manybody" package. They are only enabled if LAMMPS was built with that package (which it is by default). The styles ending in {opt} are part of the "opt" package and also require the "manybody" package. They are only enabled if LAMMPS was built with those packages. See the "Making LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Ackland1) [(Ackland1)] Ackland, Condensed Matter (2005). :link(Ackland2) [(Ackland2)] Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). :link(Daw) [(Daw)] Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). :link(Finnis) [(Finnis)] Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984).