From d0d785e3a2c9922a0d9017c713d136c6a656136f Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 25 Aug 2011 16:17:31 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@6807 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Manual.html | 156 +++++++++++++++++++++--------- doc/Manual.txt | 187 +++++++++++++++++++++--------------- doc/Section_accelerate.html | 26 ++--- doc/Section_accelerate.txt | 26 ++--- doc/Section_commands.html | 2 +- doc/Section_commands.txt | 2 +- doc/Section_errors.html | 16 +-- doc/Section_errors.txt | 16 +-- doc/Section_example.html | 2 +- doc/Section_example.txt | 2 +- doc/Section_history.html | 10 +- doc/Section_history.txt | 10 +- doc/Section_howto.html | 104 ++++++++++---------- doc/Section_howto.txt | 104 ++++++++++---------- doc/Section_modify.html | 88 ++++++++--------- doc/Section_modify.txt | 91 +++++++++--------- doc/Section_perf.html | 2 +- doc/Section_perf.txt | 2 +- doc/Section_python.html | 32 +++--- doc/Section_python.txt | 32 +++--- doc/Section_tools.html | 2 +- doc/Section_tools.txt | 2 +- 22 files changed, 510 insertions(+), 404 deletions(-) diff --git a/doc/Manual.html b/doc/Manual.html index bb6be917ce..27fd5eb36f 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -122,49 +122,67 @@ it gives quick access to documentation for all LAMMPS commands.
3.5 Commands listed alphabetically
+
  • Packages + + +
  • Using accelerated CPU and GPU styles + +
  • How-to discussions -
    +

    Here are the subsequent topics discussed below, most of which are new +features that can be added in the manner just described: +

    +10.1 Atom styles
    +10.2 Bond, angle, dihedral, improper potentials
    +10.3 Compute styles
    +10.4 Dump styles
    +10.5 Dump custom output options
    +10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    +10.7 Input script commands
    +10.8 Kspace computations
    +10.9 Minimization styles
    +10.10 Pairwise potentials
    +10.11 Region styles
    +10.12 Thermodynamic output options
    +10.13 Variable options
    +10.14 Submitting new features for inclusion in LAMMPS
    +
    -

    Atom styles +
    + +

    10.1 Atom styles

    Classes that define an atom style are derived from the Atom class. The atom style determines what quantities are associated with an atom. @@ -192,7 +190,7 @@ modify.


    -

    Bond, angle, dihedral, improper potentials +

    10.2 Bond, angle, dihedral, improper potentials

    Classes that compute molecular interactions are derived from the Bond, Angle, Dihedral, and Improper classes. New styles can be created to @@ -216,7 +214,7 @@ details.


    -

    Compute styles +

    10.3 Compute styles

    Classes that compute scalar and vector quantities like temperature and the pressure tensor, as well as classes that compute per-atom @@ -244,9 +242,9 @@ class. See compute.h for details.


    -

    Dump styles +

    10.4 Dump styles

    -

    Dump custom output options +

    10.5 Dump custom output options

    Classes that dump per-atom info to files are derived from the Dump class. To dump new quantities or in a new format, a new derived dump @@ -277,7 +275,7 @@ half-dozen or so locations where code will need to be added.


    -

    Fix styles +

    10.6 Fix styles

    In LAMMPS, a "fix" is any operation that is computed during timestepping that alters some property of the system. Essentially @@ -355,7 +353,7 @@ quantities and/or to be summed to the potential energy of the system.


    -

    Input script commands +

    10.7 Input script commands

    New commands can be added to LAMMPS input scripts by adding new classes that have a "command" method. For example, the create_atoms, @@ -377,7 +375,7 @@ needed.


    -

    Kspace computations +

    10.8 Kspace computations

    Classes that compute long-range Coulombic interactions via K-space representations (Ewald, PPPM) are derived from the KSpace class. New @@ -397,7 +395,7 @@ class. See kspace.h for details.


    -

    Minimization solvers +

    10.9 Minimization styles

    Classes that perform energy minimization derived from the Min class. New styles can be created to add new minimization algorithms to @@ -416,7 +414,7 @@ class. See min.h for details.


    -

    Pairwise potentials +

    10.10 Pairwise potentials

    Classes that compute pairwise interactions are derived from the Pair class. In LAMMPS, pairwise calculation include manybody potentials @@ -445,7 +443,7 @@ includes some optional methods to enable its use with rRESPA.


    -

    Region styles +

    10.11 Region styles

    Classes that define geometric regions are derived from the Region class. Regions are used elsewhere in LAMMPS to group atoms, delete @@ -463,7 +461,7 @@ class. See region.h for details.


    -

    Thermodynamic output options +

    10.12 Thermodynamic output options

    There is one class that computes and prints thermodynamic information to the screen and log file; see the file thermo.cpp. @@ -492,7 +490,7 @@ by adding a new keyword to the thermo command.


    -

    Variable options +

    10.13 Variable options

    There is one class that computes and stores variable information in LAMMPS; see the file variable.cpp. The value @@ -532,7 +530,9 @@ then be accessed by variables) was discussed


    -

    Submitting new features to the developers to include in LAMMPS +
    + +

    10.14 Submitting new features for inclusion in LAMMPS

    We encourage users to submit new features that they add to LAMMPS to the developers, especially if diff --git a/doc/Section_modify.txt b/doc/Section_modify.txt index fc72b625e8..5ed8ef9219 100644 --- a/doc/Section_modify.txt +++ b/doc/Section_modify.txt @@ -8,7 +8,7 @@ Section"_Section_python.html :c :line -8. Modifying & extending LAMMPS :h3 +10. Modifying & extending LAMMPS :h3 LAMMPS is designed in a modular fashion so as to be easy to modify and extend with new functionality. In fact, about 75% of its source code @@ -72,30 +72,9 @@ the executable and can be invoked with a pair_style command like the example above. Arguments like 0.1 and 3.5 can be defined and processed by your new class. -Here is a list of the new features that can be added in this way, -along with information about how to submit your features for inclusion -in the LAMMPS distribution. - -"Atom styles"_#atom -"Bond, angle, dihedral, improper potentials"_#bond -"Compute styles"_#compute -"Dump styles"_#dump -"Dump custom output options"_#dump -"Fix styles"_#fix which include integrators, \ - temperature and pressure control, force constraints, \ - boundary conditions, diagnostic output, etc -"Input script commands"_#command -"Kspace computations"_#kspace -"Minimization solvers"_#min -"Pairwise potentials"_#pair -"Region styles"_#region -"Thermodynamic output options"_#thermo -"Variable options"_#variable :ul - -"Submitting new features to the developers to include in LAMMPS"_#package :ul - -As illustrated by the pairwise example, these options are referred to -in the LAMMPS documentation as the "style" of a particular command. +As illustrated by this pairwise example, many kinds of options are +referred to in the LAMMPS documentation as the "style" of a particular +command. The instructions below give the header file for the base class that these styles are derived from. Public variables in that file are ones @@ -107,12 +86,8 @@ LAMMPS expects. Virtual functions that are not set to 0 are functions you can optionally define. Additionally, new output options can be added directly to the -thermo.cpp, dump_custom.cpp, and variable.cpp files as explained in -these sections: - -"Dump custom output options"_#dump_custom -"Thermodynamic output options"_#thermo -"Variable options"_#variable :ul +thermo.cpp, dump_custom.cpp, and variable.cpp files as explained +below. :line @@ -135,12 +110,35 @@ command. :l If you add something you think is truly useful and doesn't impact LAMMPS performance when it isn't used, send an email to the "developers"_http://lammps.sandia.gov/authors.html. We might be -interested in adding it to the LAMMPS distribution. :l,ule +interested in adding it to the LAMMPS distribution. See further +details on this at the bottom of this page. :l,ule + +:line + +Here are the subsequent topics discussed below, most of which are new +features that can be added in the manner just described: + +10.1 "Atom styles"_#10_1 +10.2 "Bond, angle, dihedral, improper potentials"_#10_2 +10.3 "Compute styles"_#10_3 +10.4 "Dump styles"_#10_4 +10.5 "Dump custom output options"_#10_5 +10.6 "Fix styles"_#10_6 which include integrators, \ + temperature and pressure control, force constraints, \ + boundary conditions, diagnostic output, etc +10.7 "Input script commands"_10_7 +10.8 "Kspace computations"_#10_8 +10.9 "Minimization styles"_#10_9 +10.10 "Pairwise potentials"_#10_10 +10.11 "Region styles"_#10_11 +10.12 "Thermodynamic output options"_#10_12 +10.13 "Variable options"_#10_13 +10.14 "Submitting new features for inclusion in LAMMPS"_#10_14 :all(b) :line :line -Atom styles :link(atom),h4 +10.1 Atom styles :link(10_1),h4 Classes that define an atom style are derived from the Atom class. The atom style determines what quantities are associated with an atom. @@ -188,7 +186,7 @@ modify. :line -Bond, angle, dihedral, improper potentials :link(bond),h4 +10.2 Bond, angle, dihedral, improper potentials :link(10_2),h4 Classes that compute molecular interactions are derived from the Bond, Angle, Dihedral, and Improper classes. New styles can be created to @@ -210,7 +208,7 @@ single: force and energy of a single bond :tb(s=:) :line -Compute styles :link(compute),h4 +10.3 Compute styles :link(10_3),h4 Classes that compute scalar and vector quantities like temperature and the pressure tensor, as well as classes that compute per-atom @@ -236,8 +234,8 @@ memory_usage: tally memory usage :tb(s=:) :line -Dump styles :link(dump),h4 -Dump custom output options :link(dump_custom),h4 +10.4 Dump styles :link(10_4),h4 +10.5 Dump custom output options :link(10_5),h4 Classes that dump per-atom info to files are derived from the Dump class. To dump new quantities or in a new format, a new derived dump @@ -266,7 +264,7 @@ half-dozen or so locations where code will need to be added. :line -Fix styles :link(fix),h4 +10.6 Fix styles :link(10_6),h4 In LAMMPS, a "fix" is any operation that is computed during timestepping that alters some property of the system. Essentially @@ -342,7 +340,7 @@ quantities and/or to be summed to the potential energy of the system. :line -Input script commands :link(command),h4 +10.7 Input script commands :link(10_7),h4 New commands can be added to LAMMPS input scripts by adding new classes that have a "command" method. For example, the create_atoms, @@ -362,7 +360,7 @@ needed. :line -Kspace computations :link(kspace),h4 +10.8 Kspace computations :link(10_8),h4 Classes that compute long-range Coulombic interactions via K-space representations (Ewald, PPPM) are derived from the KSpace class. New @@ -380,7 +378,7 @@ memory_usage: tally of memory usage :tb(s=:) :line -Minimization solvers :link(min),h4 +10.9 Minimization styles :link(10_9),h4 Classes that perform energy minimization derived from the Min class. New styles can be created to add new minimization algorithms to @@ -397,7 +395,7 @@ memory_usage: tally of memory usage :tb(s=:) :line -Pairwise potentials :link(pair),h4 +10.10 Pairwise potentials :link(10_10),h4 Classes that compute pairwise interactions are derived from the Pair class. In LAMMPS, pairwise calculation include manybody potentials @@ -424,7 +422,7 @@ The inner/middle/outer routines are optional. :line -Region styles :link(region),h4 +10.11 Region styles :link(10_11),h4 Classes that define geometric regions are derived from the Region class. Regions are used elsewhere in LAMMPS to group atoms, delete @@ -440,7 +438,7 @@ match: determine whether a point is in the region :tb(s=:) :line -Thermodynamic output options :link(thermo),h4 +10.12 Thermodynamic output options :link(10_12),h4 There is one class that computes and prints thermodynamic information to the screen and log file; see the file thermo.cpp. @@ -469,7 +467,7 @@ by adding a new keyword to the thermo command. :line -Variable options :link(variable),h4 +10.13 Variable options :link(10_13),h4 There is one class that computes and stores "variable"_variable.html information in LAMMPS; see the file variable.cpp. The value @@ -507,9 +505,10 @@ Adding new "compute styles"_compute.html (whose calculated values can then be accessed by variables) was discussed "here"_Section_modify.html#compute on this page. +:line :line -Submitting new features to the developers to include in LAMMPS :link(package),h4 +10.14 Submitting new features for inclusion in LAMMPS :link(10_14),h4 We encourage users to submit new features that they add to LAMMPS to "the developers"_http://lammps.sandia.gov/authors.html, especially if diff --git a/doc/Section_perf.html b/doc/Section_perf.html index bf95445aa0..330d99407a 100644 --- a/doc/Section_perf.html +++ b/doc/Section_perf.html @@ -9,7 +9,7 @@


    -

    6. Performance & scalability +

    8. Performance & scalability

    LAMMPS performance on several prototypical benchmarks and machines is discussed on the Benchmarks page of the LAMMPS WWW Site where diff --git a/doc/Section_perf.txt b/doc/Section_perf.txt index 8a20a8209b..896d522cac 100644 --- a/doc/Section_perf.txt +++ b/doc/Section_perf.txt @@ -6,7 +6,7 @@ :line -6. Performance & scalability :h3 +8. Performance & scalability :h3 LAMMPS performance on several prototypical benchmarks and machines is discussed on the Benchmarks page of the "LAMMPS WWW Site"_lws where diff --git a/doc/Section_python.html b/doc/Section_python.html index ca2e40ee98..471fc0b5e1 100644 --- a/doc/Section_python.html +++ b/doc/Section_python.html @@ -1,5 +1,5 @@ -

    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section
    @@ -9,7 +9,7 @@
    -

    9. Python interface to LAMMPS +

    11. Python interface to LAMMPS

    The LAMMPS distribution includes some Python code in its python directory which wraps the library interface to LAMMPS. This makes it @@ -88,13 +88,13 @@ setup discussion. The next to last sub-section describes the Python syntax used to invoke LAMMPS. The last sub-section describes example Python scripts included in the python directory.

    -
    • Extending Python with a serial version of LAMMPS -
    • Creating a shared MPI library -
    • Extending Python with a parallel version of LAMMPS -
    • Extending Python with MPI -
    • Testing the Python-LAMMPS interface -
    • Using LAMMPS from Python -
    • Example Python scripts that use LAMMPS +

      Before proceeding, there are 2 items to note.

      @@ -134,7 +134,7 @@ LAMMPS wrapper.
      -

      Extending Python with a serial version of LAMMPS +

      11.1 Extending Python with a serial version of LAMMPS

      From the python directory in the LAMMPS distribution, type

      @@ -164,7 +164,7 @@ this, where you should replace "foo" with your directory of choice.


      -

      Creating a shared MPI library +

      11.2 Creating a shared MPI library

      A shared library is one that is dynamically loadable, which is what Python requires. On Linux this is a library file that ends in ".so", @@ -195,7 +195,7 @@ stand-alone code.


      -

      Extending Python with a parallel version of LAMMPS +

      11.3 Extending Python with a parallel version of LAMMPS

      From the python directory, type

      @@ -233,7 +233,7 @@ will be put in the appropriate directory.


      -

      Extending Python with MPI +

      11.4 Extending Python with MPI

      There are several Python packages available that purport to wrap MPI as a library and allow MPI functions to be called from Python. @@ -308,7 +308,7 @@ print "Proc %d out of %d procs" % (pypar.rank(),pypar.size())


      -

      Testing the Python-LAMMPS interface +

      11.5 Testing the Python-LAMMPS interface

      Before using LAMMPS in a Python program, one more step is needed. The interface to LAMMPS is via the Python ctypes package, which loads the @@ -402,7 +402,7 @@ Python on a single processor, not in parallel.


      -

      Using LAMMPS from Python +

      11.6 Using LAMMPS from Python

      The Python interface to LAMMPS consists of a Python "lammps" module, the source code for which is in python/lammps.py, which creates a @@ -594,7 +594,7 @@ Python script. Isn't ctypes amazing?


      -

      Example Python scripts that use LAMMPS +

      11.7 Example Python scripts that use LAMMPS

      These are the Python scripts included as demos in the python/examples directory of the LAMMPS distribution, to illustrate the kinds of diff --git a/doc/Section_python.txt b/doc/Section_python.txt index f914f9b451..172a00fdc5 100644 --- a/doc/Section_python.txt +++ b/doc/Section_python.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_modify.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_accelerate.html :c +"Previous Section"_Section_modify.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_errors.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -6,7 +6,7 @@ :line -9. Python interface to LAMMPS :h3 +11. Python interface to LAMMPS :h3 The LAMMPS distribution includes some Python code in its python directory which wraps the library interface to LAMMPS. This makes it @@ -85,13 +85,13 @@ setup discussion. The next to last sub-section describes the Python syntax used to invoke LAMMPS. The last sub-section describes example Python scripts included in the python directory. -"Extending Python with a serial version of LAMMPS"_#9_1 -"Creating a shared MPI library"_#9_2 -"Extending Python with a parallel version of LAMMPS"_#9_3 -"Extending Python with MPI"_#9_4 -"Testing the Python-LAMMPS interface"_#9_5 -"Using LAMMPS from Python"_#9_6 -"Example Python scripts that use LAMMPS"_#9_7 :ul +11.1 "Extending Python with a serial version of LAMMPS"_#11_1 +11.2 "Creating a shared MPI library"_#11_2 +11.3 "Extending Python with a parallel version of LAMMPS"_#11_3 +11.4 "Extending Python with MPI"_#11_4 +11.5 "Testing the Python-LAMMPS interface"_#11_5 +11.6 "Using LAMMPS from Python"_#11_6 +11.7 "Example Python scripts that use LAMMPS"_#11_7 :ul Before proceeding, there are 2 items to note. @@ -130,7 +130,7 @@ LAMMPS wrapper. :line :line -Extending Python with a serial version of LAMMPS :link(9_1),h4 +11.1 Extending Python with a serial version of LAMMPS :link(11_1),h4 From the python directory in the LAMMPS distribution, type @@ -160,7 +160,7 @@ If these commands are successful, a {lammps.py} and :line -Creating a shared MPI library :link(9_2),h4 +11.2 Creating a shared MPI library :link(11_2),h4 A shared library is one that is dynamically loadable, which is what Python requires. On Linux this is a library file that ends in ".so", @@ -191,7 +191,7 @@ stand-alone code. :line -Extending Python with a parallel version of LAMMPS :link(9_3),h4 +11.3 Extending Python with a parallel version of LAMMPS :link(11_3),h4 From the python directory, type @@ -229,7 +229,7 @@ will be put in the appropriate directory. :line -Extending Python with MPI :link(9_4),h4 +11.4 Extending Python with MPI :link(11_4),h4 There are several Python packages available that purport to wrap MPI as a library and allow MPI functions to be called from Python. @@ -304,7 +304,7 @@ and see one line of output for each processor you ran on. :line -Testing the Python-LAMMPS interface :link(9_5),h4 +11.5 Testing the Python-LAMMPS interface :link(11_5),h4 Before using LAMMPS in a Python program, one more step is needed. The interface to LAMMPS is via the Python ctypes package, which loads the @@ -397,7 +397,7 @@ Python on a single processor, not in parallel. :line :line -Using LAMMPS from Python :link(9_6),h4 +11.6 Using LAMMPS from Python :link(11_6),h4 The Python interface to LAMMPS consists of a Python "lammps" module, the source code for which is in python/lammps.py, which creates a @@ -588,7 +588,7 @@ Python script. Isn't ctypes amazing? :l,ule :line :line -Example Python scripts that use LAMMPS :link(9_7),h4 +11.7 Example Python scripts that use LAMMPS :link(11_7),h4 These are the Python scripts included as demos in the python/examples directory of the LAMMPS distribution, to illustrate the kinds of diff --git a/doc/Section_tools.html b/doc/Section_tools.html index 4e1228a21d..3f9efb0c7e 100644 --- a/doc/Section_tools.html +++ b/doc/Section_tools.html @@ -11,7 +11,7 @@ Section


      -

      7. Additional tools +

      9. Additional tools

      LAMMPS is designed to be a computational kernel for performing molecular dynamics computations. Additional pre- and post-processing diff --git a/doc/Section_tools.txt b/doc/Section_tools.txt index 5c3f7bf6a1..05a4fe65c0 100644 --- a/doc/Section_tools.txt +++ b/doc/Section_tools.txt @@ -8,7 +8,7 @@ Section"_Section_modify.html :c :line -7. Additional tools :h3 +9. Additional tools :h3 LAMMPS is designed to be a computational kernel for performing molecular dynamics computations. Additional pre- and post-processing